May 11, 2007

Gaim, er, Pidgin, finally hits 2.0

Author: Joe 'Zonker' Brockmeier

It's the release that Gaim users have been waiting for since December 2005. After seven beta releases, several interface revamps, and a name change, Pidgin 2.0 is finally available in the wild. It's an improvement over the Gaim 1.5 series, but it's disappointing that after all that time, voice support for instant messaging networks that support that feature is still absent.

Pidgin 2.0 is available as binaries for Fedora Core and Windows, and source code. The Pidgin Web site explains how the Pidgin developers decide which platforms get packages and which do not.

I decided to install Pidgin on Ubuntu 7.04 ("Feisty Fawn"), so I grabbed the source tarball, made sure I had all the dependencies I'd need by running sudo apt-get build-dep gaim, and ran the usual ./configure ; make ; make install command. Pidgin compiled without any problems.

Buddy List - click to view

Before starting Pidgin, I made a backup of the directory containing my Gaim preferences and logs (~/.gaim), as the developers recommend. Pidgin imported my settings without a hitch. My settings and logs from previous chats were copied over to a new directory, ~/.purple, so named for the libpurple library that is the core of Pidgin.

Pidgin has a slightly revamped feel. It looks much like the Gaim 2.0 beta series, but includes a new icon set and smiley set, and a new icon for Pidgin itself -- a purple bird with a cartoonish talk bubble. Oddly, Pidgin doesn't use that icon for the system tray, but rather a talk bubble and an icon designating your status instead. So, if you're available, Pidgin uses a green button and the talk bubble, and what I suppose is a clock icon with the talk bubble if you're marked as away. The old icon set looked, well, kind of cheesy; the new one looks clean and modern.

According to the project's Web site, Pidgin supports 14 protocols: AIM, Bonjour, Gadu-Gadu, Groupwise, ICQ, IRC, MSN, QQ, SILC, SIMPLE, Sametime, XMPP (Jabber), Yahoo!, and Zephyr. To put it another way, Pidgin supports every popular IM or chat protocol, and a few not-so-popular protocols as well, with the exception of MySpace's IM client. That may change, though, as implementing MySpaceIM is one of the Google Summer of Code (SoC) projects for Pidgin.

I don't have accounts for all of the services supported by Pidgin, but I've tested Jabber, AIM, Yahoo!, and IRC. Text chat works beautifully with all the services that I've tested. Unfortunately, Pidgin still lags on support for voice and video chat. A number of my contacts have microphones and webcams and use IM services such as Yahoo! Messenger and Google Talk that support voice and video chat. Unfortunately, Pidgin supports only text communication on those services, so I'm stuck with text chat. (Or using the native clients on Windows or Mac OS X, which doesn't thrill me either.)

Haste makes waste?

According to the NEWS file distributed with the Pidgin 2.0 source code, it was 972 days -- just a few months shy of three years -- between the time the Gaim developers started working on the 2.0 branch and the software's release date.

I'm also a bit disappointed with Pidgin's help offerings. The Help -> Online Documentation menu redirects the user to a Web page that (at least while I was writing this article) doesn't exist -- so users looking for help find a 404 message instead. Pidgin's GUI interface doesn't ship with inline documentation, so it's what's online or nothing. Pidgin does include man pages for the GUI and text-mode clients.

The last time I wrote about the 2.0 series, I took the new status selector tool to task for being overly complex. It hasn't really changed since that review, and I can't say that it has grown on me since then.

When you're signed in on multiple services, you can either choose to set them all with the same status -- away, available, do not disturb, and so forth -- or you can fiddle with custom status messages to set different accounts to different statuses. That's convenient if you really do want to set all of your accounts to one status, but a pain if you want to do something like set one account to away and the rest of your accounts to available.

I have several accounts that I use regularly -- IRC, Jabber (Google Talk and Jabber.org), AIM, and Yahoo! Depending on who I need to communicate with, and who I want to be able to communicate with me, I usually have IRC set to available, and may or may not want Google Talk, Jabber.org, and AIM to show as available. The Pidgin status system does not work well for this sort of thing. Perhaps a kindly developer will whip up a plugin that overrides this and gives users easy per-account control of status.

Pidgin custom status dialog - click to view

You can, through Pidgin's preferences, set Pidgin to use the status from its last exit when it restarts, or you can set Pidgin to apply a single status at startup.

Finch

The official 2.0 release splits the Pidgin project into three components: The libpurple library that is at the core of the project, the Pidgin GUI client, and the Finch text-mode client, formerly called Gaim-text.

Finch is a usable client if you want to do your chatting in text windows instead of a GUI, but it has no features that give it an advantage over using the GTK+ client. However, Finch should be gaining some functionality thanks to a Google Summer of Code project to overhaul the shortcut keys, add sound to events, add options to its buddy list, and improve its logging features.

If you plan to use Finch, check out Pidgin's Using Finch page and the Finch manpage.

Plugins

Pidgin 2.0 ships with a ton of plugins that extend the software's functionality. You can customize the formatting applied to IMs, hide join/part messages for chatrooms, apply "psychic" mode to detect incoming IMs, and much more.

In all, Pidgin comes with more than 20 plugins that modify Pidgin's behavior or add minor functionality to the client. Now that Pidgin 2.0 is out, I hope Pidgin will enjoy the kind of third party plugin development that Firefox sees with its extensions -- though that might require some refinement in the way that plugins are distributed.

There's a list of plugins on the Pidgin wiki that includes plugins not distributed or enabled by default. However, the method for enabling plugins isn't particularly user-friendly. While some of Pidgin's users may be comfortable building and installing software from source, most users are getting their software precompiled, and having to build plugins from source isn't going to work well for them.

It's slightly more polished, but Pidgin 2.0 isn't a big leap from Gaim 2.0beta6 that ships with Ubuntu or Gaim 2.0beta5 that ships with Fedora Core 6. If you're using Ubuntu or another distro that ships with a recent Gaim 2.0 beta release, there's not much reason to upgrade to Pidgin right away. However, I suspect we'll be seeing more rapid development now that the developers have the whole naming unpleasantness with AOL behind them.

Click Here!