5 Twitter clients for Linux

Although Linux systems can, of course, handle the same browser-based Twitter clients as other operating systems, some users may prefer desktop clients.

There are a number of reasons for this: Local clients integrate with your system to provide a better notification experience, it's easier to access an application in the system tray compared to the one sandwiched between browser tabs and you have more control over your application environment.

Linux users who prefer local clients have a number of applications to choose from -- including a few that are new. In this article, I examine five free Twitter applications for Linux: Birdie, Choqok, Polly, Turpial and TTYtter.

I tested each on a desktop computer equipped with an AMD Sempron 145 processor and 1.7GB RAM, using 32-bit Ubuntu version 13.10.

Each client has its strengths and weaknesses: Some offer a great selection of features, others have a fine user interface. Is there a one that strikes just the right balance? Read on.

First released in March 2013 and developed by Ivo and Vasco Nunes, Birdie is a comparative newcomer. It is an open-source application built using GTK+ and GLib, and is licensed under version 3 of the GNU General Public License (GPLv3).

You can download and install Birdie using the instructions provided on its official website. While Ubuntu, Fedora, openSUSE, elementary OS and Arch Linux users can directly download premade packages, other users can download the source code and install the app accordingly.

What's new

The last update -- version 1.1 -- was a maintenance release that, according to its developers, fixed a few bugs, updated language translations and added better thumbnail support. Developers are working on a new and significant upgrade for version 2.0, but they don't yet have a specific date for its release.

What's good about it

Birdie has a nice, uncluttered user interface that focuses solely on tweets. Like Choqok, the client also has icon-based timeline tabs, but places them at the top of the window. It supports multiple accounts, image uploading, auto-completion for user names and hashtags, direct (private) messaging and Twitter user lists.

Birdie has a nice, uncluttered user interface that focuses solely on tweets.

A click on a Twitter handle displays the complete profile related to that account. Because the profile looks like a webpage, it makes it easy for you to unfollow, add or block the Twitter account.

You can easily retweet, reply or mark a tweet as favorite, using corresponding icons that appear when you hover the mouse pointer over the timestamp displayed on the right corner of each tweet block. The client also has the ability to display inline images.

Other considerations

At present, Birdie has several limitations -- although none of them are showstoppers. For example, the tweet compose box does not include an option to change accounts, and it pops up as a separate window. Imgur is the only image uploading service supported. There is no built-in URL shortener or auto spell checker. Also, the client isn't very configurable -- for example, it doesn't provide options to choose a custom browser or configure the update frequency interval.

Bottom line

The application has a smooth user interface but lacks advanced features and customization options, especially when compared to clients like Choqok. The fact that it has become popular despite being so new is impressive, but the reality is that in its current form, the client is average at best.

Choqok is a free/open source client that supports Twitter, StatusNet and Opendesktop.org. It derives its name from an ancient Persian word that means sparrow. Developed by Mehrdad Momeny and Andrey Esin, the software is licensed under GPLv3.

Choqok is built using Qt libraries, and hence integrates seamlessly with the K Desktop Environment (KDE). You can download the client directly from its official website. While Arch Linux, Kubuntu and Gentoo Linux users can directly download the binary packages, others can download the source code and compile accordingly.

If you are building Choqok from source code, make sure you have CMake 2.6, the KDE 4 library development packages, GNU gettext, the QJson library and the QOAuth library (version1.0.1 or later).

What's new

Release 1.4 supports Twitter API v1.1, and has new icons and splash screen. A "Mark timeline as read" menu item has been added to the tabs context menu, and Identi.ca support has been removed from StatusNet plugin. The new release also fixes some problems, including issues related to font size and URLs coming from the Konqueror Web browser.

What's good about it

Choqok's interface is the first thing that grabs your attention. By default, the main window contains four tabs: Home, Mentions, Inbox and Outbox. The tabs are represented by easily identifiable icons and are so close to each other that you can quickly switch among them.

Choqok's main window contains four tabs -- Home, Mentions, Inbox and Outbox -- represented on the left by easily identifiable icons.

Choqok supports multiple accounts, auto spell check, custom browser (in other words, choosing a specific browser for opening links) and various image uploading services. Icons that let you retweet, reply and mark a tweet as a favorite appear as you hover the mouse pointer over profile images. The client lets you add a custom prefix for retweets, and also lets you customize its color scheme, including the default color, the color of an unread post and the color of your own posts.

It provides two ways to compose a tweet. The first is through an embedded text box that sits above the section containing tweets; the other way is through a "Quick Post" button that is at the top-left corner of the window.

Both approaches have advantages. While you can use the Quick Post to select an account (in case you use multiple accounts) and an image uploading service, the text box lets you abort if you accidently press enter and post the tweet.

And while most Twitter clients display profile information whenever a user's handle is clicked, Choqok goes beyond that. For example, if you click on @Computerworld, you get a host of choices like: Who is Computerworld, Posts from Computerworld, Replies to Computerworld, Including Computerworld, Open profile in browser, and other actions like Write to, Follow and Block.

Choqok not only has a built-in URL shortener, it also displays the complete URL when you hover the mouse pointer over the shortened URL. This helps you decide beforehand whether to visit the link or not.

Choqok clearly distinguishes between your and the other tweets. It displays your profile image towards the right and text towards the left, while all other tweets are displayed in the opposite manner. It also displays the name of the Twitter client used to send each tweet.

Then there are plugins through which you can extend Choqok's functionality; some of them come already enabled. For example, there is a plugin to filter unwanted posts, another one lets your friends know what music you are currently listening to, and more.

Other considerations

Choqok counts all the new tweets and puts the number over each tab icon. While this may be handy for some folks, if you find the numbers irritating, there are two ways to remove them: Either you click each tweet individually (which is not feasible if there are a lot of tweets) or you click a "Mark timeline as read" icon (there is also a "Mark all timelines as read" option). That works, but I would have preferred a setting that eliminated the numbers altogether.

The client cannot display inline images and lacks a multi-column layout (like the one Turpial has) -- both drawbacks to the way many users work with Twitter. Lastly, Choqok is basically a KDE application, which means that it'll probably look a little out of place in a GNOME-based system.

Bottom line

Choqok offers pretty much everything one could desire from a Twitter client. It's feature-rich, easy to use and highly customizable. Coupled with the fact that it provides useful plugins, this client is definitely worth trying out.

Polly is a free and open-source Twitter client that is written in the Python programming language and licensed under GPLv3. It is the brainchild of Brazilian developer Marcelo Hashimoto.

You can download Polly's source code from its official Launchpad page.

What's new

Compared to its initial release, the latest release 0.93.11 contains only a handful of fixes. According to the site, these include a new icon theme together with "fixes for Fedora packaging, some link optimizations, and the addition of an internal keyring module to avoid incompatibility with recent distros."

What's good about it

Polly's user interface is similar to that of Turpial, which means that it supports multi-column layout. But one thing that immediately grabs your eye is its ability to display inline images, something Turpial can't do.

Polly supports both multi-column layouts and inline images.

Unlike Turpial, the tweet compose box is collapsible, and integrated within the main window. The client offers basic features like multiple accounts, auto-completion of nicknames, auto spell checker and URL shortener. It also supports three image uploading services: img.ly, TwitPic and Telly (formerly Twitvid),

While basic operations like reply, retweet, delete and favorites are available in the form of icons, other operations like edit-and-retweet can be done through a right click on the tweet. You can also configure stream refresh time, number of recent posts and notification settings

You can create different columns based on tweets, users, lists, messages and worldwide trends; it also provides category suggestions like news, sports, music, TV and more.

Another striking feature of Polly is its ability to show notifications with tweet details, a feature most of the clients described here do not offer. This is really helpful, as you can decide whether to take any action or not by just looking at the notification.

Another plus: The app's developer seems to be quite active on Twitter, which indicates that it shouldn't be difficult to get Polly-related queries answered.

Other considerations

As of now, Polly's biggest limitation is that it's still in an early stage of development, which means that it's not completely stable. Some features like "change profile image" aren't yet implemented, and when I accidently clicked on one of them, the app froze; the same thing happened with features like search and create lists.

Bottom line

Assuming that the buggy features will be fixed soon, there isn't much missing from Polly. Although I can't recommend the app for any kind of professional use because it's still unstable, home users can give it a try, and contribute to its development, if possible. Polly is headed in the right direction, but it has a long way to go.

When talking about any kind of Linux application, it's hard to ignore command-line alternatives. While this may sound strange to some, some users still love using the Linux command line and, if you are one of them, TTYtter is the client to look for.

TTYtter, which was developed by Cameron Kaiser, is a simple Perl script with all the functionality of a full-fledged Twitter client. The setup, in particular, is very easy for experienced Linux users: All you need to do is to download the script from the project's home page, make it executable and run it.

An important thing to remember while downloading the script is to make sure that the version of is 2.1.0 or later, as earlier versions are not compatible with Twitter API 1.1. In addition, the setup also requires Curl and Perl 5.8.6 or later to be installed on your system.

The client uses OAuth as the default authentication method, which means that once it is set up, it will never ask for authentication details to log in. The software is licensed under the Floodgap Free Software License (FFSL).

What's new

There's actually nothing new: The last release, 2.1.0, dates from December 2012; according to the developer, there won't be any more. But despite the lack of updates, this is still in circulation among command-line users; for example, a port called Texapp offers a version for a social networking service called App.net.

What's good about it

Although it's a command line-based client, TTYtter's functionality is in no way limited. The client supports almost anything you'd want in a Twitter client, including direct messaging, replying to tweets, threading, favorites, retweets, geolocation support, following and leaving users, tracking keywords and hashtags, list management and list timelines, command history and substitution, and multiple accounts.

Although it's a command line-based client, TTYtter's functionality is in no way limited.

Basic tweeting is very easy, once the client is up and running. All you need to do is to type in your tweet and press enter -- that's pretty much it. The console window is automatically updated with the latest tweets; if you want, you can change the update time interval using the "-pause=[time-in-seconds]" command-line option. (All the command line options are listed here.)

TTYtter also provides its own built-in commands that you can use for various purposes. For example, if you want to avoid tweeting something accidently, you can use the "/set verify 1" command to turn on the verification functionality. Here, "set" is the built-in command, "verify" is the function and "1" is used to enable the functionality.

Any text that begins with a forward slash (/) is recognized as a built-in command. So if you want to tweet something beginning with /, you need to put another slash before it. For example, "/hi there" should be tweeted as "//hi there."

You can also customize TTYtter by using extensions. For example, you can write extensions for adding new commands, changing the way errors are reported, and more. The command line client is flexible enough to run in either interactive (default) or daemon mode.

The command line client can also be configured to display very large alerts on the screen, and to send selected tweets and direct messages to your iPhone.

One of the striking advantages of TTYtter is that it can be used to fire tweets from within shell scripts, cron jobs and so on, which is next to impossible with a GUI-based Twitter client. Also, if Twitter is blocked in your office, you can connect to your home computer using SSH and start using the service through this command line client.

Other considerations

While TTYtter is feature rich and has lots of advantages, there are some shortcomings as well. Obviously, it doesn't support inline pictures and videos. And despite being a command-line client, it requires a browser to log into Twitter and get an OAuth key during its initial setup.

It does support multiple accounts but you have to maintain different keyfiles, each corresponding to an account, as only one account token can be stored per keyfile. To switch between accounts, you have to use the -keyf command line option with the corresponding keyfile name. Overall it's not a major drawback, but it's not as easy as selecting a different account from a drop down menu.

Bottom line

If you are a system admin or a seasoned Linux user who spends most of the time working on command line, TTYtter is an easy and quick way to access Twitter.

Turpial is a GUI-based, open-source client for Twitter and pump.io. Named after the national bird of Venezuela, the software is written in Python and released under the terms of the GPL v3.

The client, which was developed by Wil Alvarez along with a group of other programmers, is built using graphics libraries GTK+ and PyGTK, and hence integrates seamlessly with GNOME and Xfce desktop environments. The project is divided into two parts, the front end (the Turpial UI) and the back end (the libturpial library).

You can download the client directly from its official website. While Fedora, Debain, Ubuntu and Arch users can follow the instructions given on the website, users of other Linux distros can download the source code and compile accordingly.

What's new

Release 3.0 contains many updates, fixes and new features. For example, an issue that occurred while closing the app from tray icon menu is now fixed, an issue with using apostrophes is also fixed, pic.twitter.com is now the default service to upload images, there is now support for list names with hyphens and more.

What's good about it

Turpial supports multi-column layouts, which means that you can divide its screen into multiple columns to monitor tweets in parallel. At present, it supports five columns: Timeline (the default), Replies, Directs, Sent and Favorites. In addition, it also supports multiple accounts, letting you log in and switch among accounts easily.

The client also provides a way to schedule tweets via the Dubbed Messages Queue, which lets you add your tweets to a queue; each tweet is then sent out after a certain time period, the default being 30 minutes.

Turpial lets you customize update frequency, statuses per column and queue frequency. It also provides various services such as Twitpic, img.ly, pic.twitter.com and more, to shorten URLs and upload images, and also lets you set up your favorite Web browser to open links.

Turpial provides auto-completion of nicknames, which means that it gives you related suggestions as you type Twitter handles. This comes in handy, especially when the names are long or have to be typed in frequently.

The client uses your system's built-in notification system to alert you, which saves you from checking the client window again and again. Below every tweet there are icons for retweet, quote, reply, delete or mark the tweet as favorite, which let you perform basic Twitter actions easily.

Other considerations

When Turpial loaded for the very first time, it froze at the startup screen. After a bit of Googling, I figured out that it was due to the fact that libturpial needed to be upgraded. I downloaded libturpial 1.7.0 and manually installed the new version.

Apart from the library issue, there are some other areas where Turpial falls short. For example, images are not displayed inline, the tweet compose area pops up as a separate window rather being a part of the main window, notifications do not include any information apart from the number of new tweets and there is no auto spell checker.

Bottom line

Turpial is a decent Twitter client that is customizable and offers some great ease-of-use features such as multicolumn layouts. Although the client falls short in some areas, it does pretty much everything the average Twitter user needs it to do.

Conclusions

Each Twitter client reviewed here has its own pros and cons.

TTYtter is definitely not for end users. Rather, it's for pros like system administrators who may do a lot of work using command-line interfaces. Although it provides a great mix of features and customization options, the fact that everything is command-based could be a deterrent for many.

Although promising, Polly and Birdie are still works in progress. Although these are the only two clients reviewed here that display inline images, the feature doesn't make up for the fact that Polly is buggy and Birdie seems to be quite minimalistic. However, I really liked Birdie's user interface, which looked comparatively more professional and easy to use.

Turpial is a good Twitter client, offering all the basic Twitter functionality along with a decent level of customization. But that's not enough to beat Choqok. Not only does Choqok offer a bucket full of features, but it allows customization of the color scheme, tool bar and more. It's definitely the winner in this batch of clients.

Himanshu Arora is a software programmer, open source enthusiast and Linux researcher. Some of his articles have been featured in IBM developerWorks and Linux Journal. He (along with some like-minded friends) blogs at MyLinuxBook.

Copyright 2017 IDG Communications. ABN 14 001 592 650. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.