An Overview of Twitter Clients for Linux
Micro-blogging sites are everywhere these days. There's Jaiku, FriendFeed, Pownce, Tumblr, and Identi.ca, to name a few. For many, though, the original micro-blogging site is the best: Twitter. It certainly has the biggest userbase, if nothing else. If you don't know what micro-blogging is and how it is different from regular blogging, check out one of the many online Twitter introductions.
One thing that has helped Twitter become as popular as it has is the Twitter API. For users of Twitter, this ability for nearly any developer to create applications that work with the service means that in addition to posting via a browser or my cell phone, I can post from a score of different Desktop applications.
Here are some of the Twitter applications for Linux. They fall into three groups: native Linux applications, Firefox Extensions, and AIR applications.
Native Applications
TwituxTwitux is a native Gnome client for twitter. The version that is in the Ubuntu 8.04 repositories is out of date and partially broken, and it may be that way in the application repositories for your distribution, so be sure to check the Twitux home page for the latest version. To install the source, first install required libraries, and then perform the standard "./configure; make; make install" steps. On my Ubuntu 8.04 box this meant doing the following:
sudo apt-get build-dep twitux sudo apt-get install libsoup2.4-dev wget http://downloads.sourceforge.net/twitux/twitux-0.62.tar.bz2 tar -jxvf twitux-0.62.tar.bz2 cd twitux-0.62/ ./configure make sudo make install
After installation completed there was an entry for Twitux under Applications > Internet. The program can also be launched from the command line with 'twitux'.
The user interface for Twitux is spartan yet functional. The various timelines are available under the View menu. The application preferences and account settings can be accessed from the Settings menu. The Twitter menu has options for creating new tweets, sending direct tweets to friends, following someone, and refreshing. As far as I could see, there aren't any options for marking tweets as favorites or re-tweeting a old tweet. To reply to a tweet, you simply double-click it in the timeline.
gTwittergTwitter is a Twitter client built using the Mono libraries. If it is not in your distribution's application repository, then it can be downloaded as either source, or a Mono binary from the project website. In order to run or compile gTwitter, you need to have the mono libraries installed. Refer to your distribution's documentation for how to do this. On Ubuntu, installing the needed libraries was automatic as part of the 'apt-get install gtwitter' process. On systems that use Yum, the process should be similarly automated.
gTwitter is even more minimal than Twitux. This is partly due to the application being in beta. But some of the minimalism is on purpose. It eschews a menu bar altogether and forces you to right-click on its notification area icon to get to the Preferences window, for example. Some planned features, such as sending direct messages, are not yet implemented as of this writing. There also does not seem to be a way to reply to tweets at this time. You can do it manually from the chat-like entry box at the bottom of the main window, but a shortcut button of some kind would be nice.
Firefox Extensions
TwitKit, TwitterFox, and TwitterBarThese three extensions let you interact with Twitter right from Firefox. They can all be installed from the Firefox Add-Ons site. TwitKit and TwitterFox offer similar functionality, but in different ways. TwitKit loads as a sidebar. TwitterFox, on the other hand, installs itself as a "t" icon in the right corner of the Firefox status bar. The main window is opened and closed by clicking on the icon. When new tweets arrive, TwitterFox displays them as pop-up messages similar to the pop-up message that appears when a file finishes downloading. Of the two, TwitKit is more fully featured with more timeline views and shortcuts for replying to tweets and marking tweets as favorites.
TwitterBar is an extension that works well alongside any Twitter client. Instead of being a client to read Twitter posts, it provides a simple way to post what website you are currently viewing to your Twitter timeline. What it does is add a small dot to your Firefox location bar. When you hover your mouse over the dot it turns into a plus button. Click on it and you are prompted to enter in your Twitter login information. The URL is then posted to your timeline with "Currently Browsing:" tacked on before the link. For good measure it runs the URL through the TinyURL URL shortening service beforehand so that you don't have to worry about really long URLs getting chopped off due to the 140 character limit of Twitter.
AIR Applications
The rest of the applications I'll be covering are built using Adobe's cross-platform AIR environment. For more on AIR, and how to install it, see "An Introduction to AIR". For whatever reason, AIR seems to be the environment of choice for developing Twitter applications, and the most advanced Twitter applications are found here. They are all installed via the Adobe AIR Application Installer, and all of them work with the Linux Alpha version of AIR.
twitterAIRtwitterAIR is one of the first Twitter applications released using AIR. This is a serviceable app, but somewhat lacking in features when compared to other Twitter clients. With the exception of TweetDeck, it also has the largest screen footprint of any of the Twitter apps I've seen, which may be a good or bad thing depending on your preferences.
SnitterThis attractive Twitter application is nice looking and has good features, but it is a bit buggy, and crashed on me several times during testing, so I can't recommend it. The instability is likely due to the alpha nature of AIR for Linux, so as new versions of AIR are released, the issues should go away.
TweetrThis is one of the few AIR applications to use native window borders, and the only Twitter AIR client I came across that does so. As such, it will fit in better with native Linux applications. It also has a good mix of features including shortcuts to reply to tweets, and send direct messages. You can also specify in which corner of the screen the pop-up notifications of new tweets appears.
TweetDeckTweetDeck is a Twitter client for addicts. Instead of viewing a single timeline at a time, this AIR application lets you view them side by side in multiple columns. You can also create custom columns for different people you're following. For example you could create a "Family" group that will just display tweets from family members, an "Office" group that just displays tweets from co-workers, and a "Linux" group that just displays Tweets from Linux-related sites and people who regularly tweet about Linux.
TweetDeck is easily the largest Twitter client, screen-real-estate-wise. But it is also one of the most full-featured clients out there. If you are becoming overwhelmed by the number of tweets you're receiving and need some way to make sense of the chatter, TweetDeck is the tool you'll want to use.
twhirlThis is one of my favorite Twitter applications. It is not only one of the most full featured Twitter clients out there, it is also stable and easy to use. Twhirl can also connect to Pownce, Jaiku, Identi.ca, and FriendFeed. It can also connect to your Seesmic account but you can't post videos to it directly from Twhirl.
Twhirl includes shortcuts for marking favorite tweets, replying, direct messaging, searching for users, and much more. This is the application to beat and the one I used as the yardstick to compare all of the others.
PostyPosty is similar to TwitterBar in that it is not designed as a regular Twitter client. Instead it is a program that you use to post to Twitter. It goes a lot further than TwitterBar though. Posty's main trick is that it lets you post to Twitter, Jaiku, Pownce, Tumblr, Identi.ca, and FriendFeed simultaneously. This is very useful for those of us who have accounts on two (or more) of these services. You can post to one or all of them by simply checking and unchecking the various services.
The only downside that Posty currently has is that it forgets my login information when it closes and I have to re-enter it every time I launch it. To be fair, this is not the fault of Posty, but rather an issue with the Linux alpha version of AIR. Specifically, the Linux alpha doesn't support secure local storage, the feature Posty uses for storing passwords properly. Once that feature is added to AIR for Linux I will probably use posty more than I do (and my various micro-blogs will be updated more often as a result). In fact, with the exception of Tweetr, all of the AIR applications mentioned here forget login credentials (username and password, or just the password) when they are closed because they use this missing feature. I guess the real question is, if Tweetr is not saving my password securely the 'standard' way, how is it saving it?
Other Clients
There is something about Twitter that has captured the hearts of developers world-wide. It seems like there is a new Twitter client released or "works-with-Twitter" website or service introduced every other week. Even though I would have liked to include them, there are other Twitter applications out there that for one reason or another could not be in this article. The biggest no-show is Spaz. This open-source AIR application utilizes features of AIR that are not yet supported in the Linux version of the AIR runtime. Because of this, you get the following error message when you try to install it:
The .air file is not actually damaged, it's just that AIR for Linux doesn't know what to do with some of what it sees in the package. This error will go away once the Linux version of AIR reaches feature parity with AIR for Windows and MacOS X. Adobe's time line for this is sometime towards the end of 2008. From what I saw when I tried Spaz for a few minutes on a friend's iMac, it is a very nice Twitter client, as good as Twhirl in nearly all respects.
The Winner?
It's hard to pick a clear winner here.
Of the two native applications, I like Twitux best. It's simple, but it works well. The two Firefox extension clients are OK, but I'm not the type of person who always has Firefox open and in view, so using them regularly is probably not going to happen.
As far as the AIR clients are concerned, my favorite is Twhirl. It has the most advanced set of features of any of the clients and it works with other micro-blogs to boot. I do like TweetDeck, but I'm not enough of a Twitter addict to really make use of all of its features, as fancy as they are.
The two non-clients — TwitterBar and Posty — are both keepers. They work alongside the various Twitter clients instead of directly competing with them. Posty's trick of simulataneously posting to all of my micro-blogs is a real plus.
Give the various clients a try and see which ones you prefer. There's no shortage out there, so you're sure to find something that you like.