The latest buzz in social networking is microblogging—the next generation of blogging where people share their status, images, audio and video files with their friends without being verbose. When you microblog, you answer one simple question: “What’s happening?”
Some of us are already into microblogging, without quite realising that there is a term for the small text we enter in our IM clients and elsewhere to publish our status. And some of us are microblog addicts, already!
Many full-fledged social networking sites like Facebook, Orkut, Linkedin, etc, provide ways to microblog, though they’re all referred to by different names, such as ‘Updates’, ‘Status Update’, etc. There are also dedicated sites just for microblogging, like identi.ca, twitter.com, tumblr.com, present.ly, yammer.com and many more.
Many of us are comfortable microblogging using the service provider’s website, while others prefer desktop applications to satisfy their needs. Before we plunge into the different clients that exist for microblogging in GNU/Linux systems, let’s understand some microblogging terminology, with respect to the services provided by popular sites such as Twitter and identi.ca:
- follow – Anyone can follow any user. Users who are being followed can control whether or not someone can
- tweet – To tweet is to post a small text message of 140 characters or less in your account, which is usually related to what’s happening in your life. Many companies and individuals also tweet to market or advertise products, or simply share updates.
- timeline – This refers to a user’s tweets.
- Re-tweet – This is all about spreading the word. Just as you forward an interesting email to your friends, you can
re-tweet someone else’s tweet so that your followers also get the update.
- direct messages (DM) – This is like sending a private message to someone and only works if the person is following you.
- URL shortener – URLs are generally long. And since tweets can’t be longer than 140 characters, you don’t want
to waste character space by sharing a long URL. This is where URL shortening services like tinyurl.com, bit.ly,
is.gd, etc, come handy. With their help you can convert a 50-character URL to less than 10 characters.
With all that jargon from twitter-land out of our way, let’s start exploring the various clients available for tweeting from our desktops in a GNU/Linux system. Ranging from raw APIs to impressive-looking GUI, there are plenty of clients available for tweeting. In fact, if you are a Python developer, it won’t take much time to roll out your own twitter client!
Developed using Python and GTK+, Gwibber targets GNOME users. The initial development was started by the
Ubuntu community, but over time, it’s been available on most distros. It supports a number of services such as Twitter, Identi.ca, Laconica, FriendFeed, Facebook, Jaiku, Digg, Flickr, BrightKite, Qaiku and even has experimental support for OpenCollaboration. Naturally, it supports multiple-account configuration with these different services, simultaneously.
The setting up of accounts is straightforward. The user interface looks similar to an e-mail client in some senses, where different accounts and the related items are grouped together. The menus are simple enough and self-explanatory. And the best part is that almost everything you want from a microblogging client is available.
You can differentiate tweets from different microblogging services by assigning colours to each service, as you can see in Figure 1. Here, all tweets from Twitter have a light blue colour strip, and those from identi.ca have a light green strip. This is very handy when using multiple accounts from different microblogging service providers.
Just like your IM client, you can choose whether to minimise to tray or close Gwibber, on clicking the X. It also shows notification bubbles when new tweets arrive. Another good feature is the URL shortener support, which is still experimental at the time of this writing. Some URL shortener services you can choose from are cli.gs, is.gd, tinyurl.com, tr.im and ur1.ca.
Re-tweeting and replying is a piece of cake. In fact, tweeting/re-tweeting an update to multiple accounts is also possible.
Besides, it gives you fine grained control when choosing the time interval (in minutes) for auto-refreshing the timelines—either by typing the value or by sliding through the combo box. What else?The search interface helps you search for tweets.
Finally, support for themes means you can choose from a range of available themes or write one on your own to fit your desktop’s look and feel.
Twitux is another GTK+ based Twitter client that targets GNOME users. It has a very simple user interface that displays the timelines of those you follow. The best part is that it’s very easy to use. There is a way to filter the timelines. Some of the different timeline views available are public, friends, my, twitux, direct messages, direct replies, etc. Apart from these generic timeline views, it also has a menu item called ‘Friends’ in which all the users whom you follow are listed, which provides a way to filter and view an individual’s timeline.
GNOME integration is quite decent—the GNOME notifier updates you on new tweets, and GNOME Keyring manages
authentication credentials. Other features available in twitux are:
- Expanding messages
- Switching between showing the user name and real name
- Retrieval intervals can be configured (3, 5, 15, 30,60 minutes)
- The manual refresh of tweets
- A spell checker for your tweets
- Adding friends
- Sending direct messages
- Storing credentials and connecting automatically
- Sound notifications when a message is received
On the downside, Twitux only supports one Twitter account at a time. So, if you use multiple accounts and want a single client to manage them all, Twitux won’t fit the bill. Besides, it doesn’t have support features like viewing a user’s profile, retweeting,replying to messages and URL shortening.
gTwitter is yet another GTK+ based client which is still under development and supports only Twitter. Its GUI is inspired by the Mac client twitterrific (see http://iconfactory.com/ software/twitterrific). It runs like a GNOME applet where once the application is closed, it minimises to the desktop panel.
You can configure your Twitter account by right clicking the desktop panel icon and selecting the Preferences option. There are two views—a tweet view and a list view. Figure 3 shows the list view.
gTwitter allows you to watch the timelines of both your friends and the public. It caches the user profile pictures locally and displays it alongside a friend’s tweets. You can configure the refresh interval between 1 and 30 minutes. Manual refresh is also possible. There is still a long way to go for gTwitter and only those who want a simple GUI to post on Twitter should try this.
Guess all you KDE folks are getting worried? Well, fear not, because there’s a Qt4-based client called Qwit too. It supports Twitter, identi.ca and some other custom microblogging services like Laconica. Its user interface is simple and self-explanatory. The UI has tabs located on the left side of the app window vertically, in order to watch public/ friends’ timelines. The search functionality is included there. In fact, you can customise the UI according to your needs. If you are behind a proxy, then Qwit gives the required interface in order to configure your proxy settings too.
It supports multiple account configurations. URL shortening is also integrated and you can choose from either
tr.im or murl.kz. Qwit is specific on how connections are made to the online services—that is, http:// or https://. This is something I haven’t even found in Gwibber. One big disadvantage here is that you do not have control over the time interval to refresh the timelines. You can either configure it to auto-refresh or not to refresh. Thankfully, there’s a sync icon which you can use in case you are not satisfied with the time interval for automatic refresh.
This one is the icing on the cake for KDE users. It currently supports Twitter, identi.ca and custom Laconica-based services. Unlike Qwit, Choqok is tightly integrated with KDE. It uses KWallet for storing user credentials and new tweet notifications are made using the Knotify (although, it has support for libnotify also). Choqok has almost all the features you’ll expect, with a very pleasing and easy-to-use UI. You can configure multiple accounts, and when you do, each account occupies a separate tab horizontally on top. There’s a very cool feature in the list box that lists all your followers whom you can DM.
Just like the Web interface, when we mouse over any tweet, small icons appear for deleting, adding to favourites or re-tweeting messages! Choqok supports URL shortening with services like is.gd, 2tu.us and digg.com. Of course, there’s an option to search public timelines.
Besides, it’s even integrated with twitpic.com, which is Twitter’s cousin for posting picture updates quickly. Another interesting feature is its integration with Amarok—hit Ctrl+L and tweet what you’re currently listening to instantly, without keying in any character. Overall, it is fairly feature-rich, and a mature enough client for all KDE users.
All you command-line addicts must be wondering what’s out there for you. Well, there’s BTI, which is written in
C, and supports identi.ca and Twitter. Unlike the two we discussed earlier, this one isn’t a full-fledged application. What it does is “allow you to pipe your bash input to Twitter or identi.ca in an easy and fast manner to annoy the whole world.”
A sample run in the command line follows:
stylesen@vanji:~$ bti --version bti - version 023 stylesen@vanji:~$ bti --host twitter Enter twitter account: testsen Enter twitter password: mypassword tweet: This is a test tweet from #bti client. stylesen@vanji:~$ bti --host twitter Enter twitter account: testsen Enter twitter password: mypassword tweet: This is a test tweet from #bti client. <a href="http://www.opensourceforu.com/wp-content/uploads/temp-uploads/2010/06/BTI.jpg"><img class="size-full wp-image-3149" title="BTI" src="http://www.opensourceforu.com/wp-content/uploads/temp-uploads/2010/06/BTI.jpg" alt="Figure 6: Twitter.com screenshots shows the tweets from BTI" width="411" height="277" /></a>
As you can see in the snippet above, the password is not blanked out, which we generally expect from any other command line utility. I hope they fix it in future releases. BTI also supports a configuration file. You can place a .bti file in your home directory (~/.bti), which looks like the following:
# comments are allowed in the bti config file account=twitmaster password=mypassword host=identica # Example of a custom laconica installation #host=http://army.twit.tv/api/statuses logfile=.bti.log #action=update #user=gregkh #proxy=http://localhost:8080 #shrink-urls=yes
This saves you from typing your credentials every time you want to use a service. It has many command line options for tweeting. For example, you can shorten a URL using the — shrink-urls option. A shell script called bti-shrink-urls takes care of the shortening business.
tweet: This is a test tweet to test URL shortening http://www.google.com/ search?q=stylesen&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:en-US:unofficial&cli ent=iceweasel-a
Figure 6 shows the tweets from Twitter.com that we’ve posted using BTI. Anyway, there’s not much you can do using BTI besides posting your updates.
Twidge is another command line client and supports identi.ca and Twitter. It can be used in an automated way to post to the services, and can also be interactive. Twidge is easy to use and it’s highly customisable to fit your needs as well. It is mandatory to have the ‘twidgerc’ file in your home folder, in order to use this app. Twidge can create ‘~/.twidgerc’ automatically when you run twidge setup by interactively asking questions about your account:
stylesen@vanji:~$ twidge setup Welcome to twidge. We will now configure twidge for your use. This will be quick and easy! First, what is your usename? Username: testsen Welcome, testsen! Now I’ll need your password. Password: twidge has now been configured for you. <a href="http://www.opensourceforu.com/wp-content/uploads/temp-uploads/2010/06/Twidge.jpg"><img class="size-full wp-image-3150" title="Twidge" src="http://www.opensourceforu.com/wp-content/uploads/temp-uploads/2010/06/Twidge.jpg" alt="Figure 7: Twitter.com screenshot shows the tweets from Twidge" width="411" height="277" /></a>
There are lots of configuration parameters that could go into the configuration file. All of these are available in the
man pages or you can get the manual from http://software. complete.org/static/twidge/doc/twidge.pdf. A simple sample configuration file for Twidge is as follows:
[DEFAULT] password: mypassword username: testsen
A sample run to post on Twitter follows:
stylesen@vanji:~$ twidge update “This is a test tweet from #twidge client.” stylesen@vanji:~$ twidge update “This is a test for URL shortening from #twidge http://www.google.com/ search?stylesen&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:en-US: unofficial&client=iceweasel-a stylesen@vanji:~$
Figure 7 shows the posted tweets from Twitter.com. It supports URL shortening with tinyurl.com. You can
integrate it with your email system in order to send and receive updates in the form of emails. With the dmsend option, it is possible to send direct messages too.
Of course, this article does not give an entire list of all desktop clients available for microblogging—my purpose was to just discuss some of those I’ve used. In fact, all you Pidgin users might not need a separate app for microblogging—the ‘micro-blog purple’ plug-in can be good fun. Likewise, you can install the Echofon Firefox extension also. And well, it doesn’t stop there. If you know Python, you can cook up your own client with the ‘Python-Twitter’ module. Happy microblogging!