October 24, 2006

A first look at Gaim 2.0

Author: Joe 'Zonker' Brockmeier

The Gaim 2.0 release is nearing its home stretch. The Gaim team released beta4 last week, with a number of new features and UI improvements. Gaim 2.0 is shaping up as a net improvement over Gaim 1.5, though some features have not changed for the better, and voice support for Google Talk is still missing in action.

Gaim 2.0 has been in beta for a while now, since last December to be specific. It may be some time before Gaim 2.0 final (or even beta4) filters down to the stable release of a distro near you. The Gaim project has released source tarballs and RPMs for a few Fedora Core releases, and a few versions for Windows as well. If Gaim packages aren't available for your distro, just download the source tarball, uncompress it, and run ./configure and then make as a regular use, and then make install as root or using sudo. However, before installing from source, be sure to uninstall Gaim if it's already installed on your system.

You may need to install a few development packages if you don't have them installed already. On Ubuntu, you can probably get all the dependencies you need by running sudo apt-get build-dep gaim, which will download the packages needed to compile Gaim.

Gaim 2.0 main window - click to view

Finally, back up your existing Gaim profile directory before you install a beta release. This should be the .gaim directory under your home directory. I've been running Gaim beta releases since last December and haven't had any issues at all, but it's still a good idea to back up your ~/.gaim directory, particularly if you keep a lot of chat logs and want to preserve them.

What's new in Gaim 2.0

Gaim's list of supported protocols has changed a bit in the 2.0 series. Gaim 2.0 continues support for AIM, Yahoo!, MSN, Groupwise, IRC, and Zephyr, but drops default support for Gadu-Gadu and Napster. According to the FAQ, the Gaim team has had a hard time keeping Gadu-Gadu functional since there's no maintainer for it, and noted it would be dropped from default builds if "things get too bad." You can choose to build Gaim with Gadu-Gadu support, but it's not on by default, and I haven't seen it in the FC6 or Ubuntu builds either. Gaim 2.0 also adds support for the QQ, Simple (SIP), and Sametime protocols.

Gaim has undergone a facelift since 1.5. Gaim's interface originally looked a lot like AOL's AIM client, but now it has its own look and feel. When you start up 2.0 for the first time, you'll see the Buddy List window and the Accounts window. After you define an account, Gaim will just start up with the Buddy List window. The initial login window is gone -- Gaim will automatically sign you in to whatever services you were using when you quit Gaim the last time.

Accounts has been bumped up to its own top-level menu item in the Gaim toolbar. Each account gets its own menu item, and each menu item has its own submenus with options that are defined by the protocol associated with the account. In addition to the standard menu items for editing account information within Gaim and enabling or disabling an account, IRC accounts can view the Message of the Day (MOTD) from the submenu, Jabber accounts have a menu item for changing passwords, AIM accounts can change the associated email address, and so on.

Gaim's Preferences dialog has been completely reworked, and much for the better. The old, somewhat confusing layout has been replaced by a tabbed Preference dialog. This is a lot more user-friendly, and it's much easier to find the options that you're looking for.

Gaim 2.0 preferences dialog - click to view

Plugins have been broken out into their own configuration dialog, rather than being part of the preference dialog. Each Plugin has a toggle button to enable or disable it, and there's a Configure Plugin button for any option that has additional options.

Gaim 2.0 comes with a familiar collection of plugins, most of which were available in the 1.5 series. The Log Reader plugin is new; it allows you to read IM logs from Adium, MSN Messenger, and Trillian. This might be useful for users who are on non-Linux platforms and trying to convert to Gaim.

One of the plugins that I've had the most fun with is the Psychic Mode plugin. On several networks, this will notify you when someone starts typing a message to you before they've actually finished composing the first message. This only works if the person has the "notify buddies that you are typing to them" option turned on, but from what I can tell, most IM clients seem to make this the default, and most people don't bother to change it. When your friend starts to compose an IM to you, Gaim will pop up a chat window with their screen name and the message "You feel a disturbance in the force." It's probably a bit immature, but I have enjoyed freaking out a few less tech-savvy acquaintances by pre-emptively IMing them before they can finish composing their message. Do this once, they'll wonder what's up. Do this three or four days in a row, and it will definitely weird out some folks.

Another feature that I like in 2.0 is the ability to override incoming formatting. I've chatted with a few folks on AIM who've changed font size and color into something almost wholly unreadable; it's almost the textual equivalent of trying to have a conversation on a cell phone with someone who mumbles. By turning off the "Show formatting on incoming messages" option under the Conversations tab in Gaim's preferences, that won't be a problem anymore.

File transfer seems to be improved in this version as well. I've tried file transfer before with Gaim, between Gaim and other folks on the AIM network, and it never has seemed to work. This time around, the file transfer seems to work fine. I logged two accounts into AIM at the same time and sent a few files back and forth, and then tried it with a user on the AIM network using the Windows AIM client. The files went through just fine each time.

Gaim-text

The 2.0 release includes a text-mode version of Gaim that will suit users who prefer not to sully their machine with GUIfied applications, but want access to all the IM protocols that come with Gaim. Gaim-text was written as part of the Google Summer of Code, and still has a few rough edges, but it's good enough for day-to-day use.

Using the text mode is easy enough, once you get the hang of the shortcuts -- which are all prefaced with Alt, so it's simple enough to memorize them. The Alt-n shortcut takes you to the next Gaim window, Alt-c closes a window, and so on.

The gaim-text manpage has a list of the shortcuts, though the man page is missing one shortcut that you will probably need: Alt-a is used to bring up the options window to get to the accounts, preferences, and so forth. It would also be nice to have an Alt-h or Alt-? shortcut to bring up a list of the available shortcuts.

Gaim and gaim-text share the Gaim profile, so if you take gaim-text for a spin, you don't need to redefine your accounts or preferences to use gaim-text. Just start it up, and you should be good to go.

If you want rodent support, you can enable it in the Gaim Ncurses Toolkit (GNT) configuration file, ~/.gntrc, by adding two lines:

[general]
mouse = 1

The only gripe I have with the text-mode version is that gaim-text doesn't prompt you before logging out. If you press Alt-q it exits immediately and dumps you back to the command line. It's a little too easy to miss Alt-w (window list) and hit Alt-q if you're not blessed with tiny, keyboard-friendly fingers. While I was testing gaim-text I managed to quit without meaning to at least twice.

"One size fits all" doesn't

Gaim 2.0 isn't a total improvement over the 1.5 series. While I like most of the changes in this version, I really don't like the new status system. I use Gaim to sign into AIM, three Jabber accounts, IRC, and Yahoo!'s IM network. I use IRC and and one Jabber account for work, and I mostly use AIM, Yahoo!, and the other Jabber accounts for personal communication. This means that there are times I'd like to be available on IRC, but marked "away" on AIM and the other Jabber accounts.

Gaim's complex account status setup - click to view

Gaim 2.0 is saddled with a non-intuitive "one-size-fits-all" status marker. You can configure per-account status by creating a custom status message -- but this is somewhat unintuitive, and requires a lot more work on the user's part than necessary. Gaim 1.5.x allowed you to set status for each account in a fairly straightforward manner, and I miss that.

The Gaim folks should also relabel the "disable" menu entry to "offline," and revert to the old-style Account dialog from the 1.5 series that allows you to designate whether an account should be signed in automatically at startup. Right now, Gaim doesn't have that option anywhere that I can see, and simply logs you back in to whatever services that you were logged into when you quit Gaim the previous time. I might be logged into six different services when I quit Gaim, but only want to automatically log into one when I restart Gaim.

Finally, I'm disappointed to see that Gaim still doesn't have voice support for Google Talk. This would be a big plus for Linux users, since Google doesn't provide a client for Linux.

Despite these complaints, Gaim is still my preferred chat client, and probably will be for some time. It has nearly all of the features I want in a chat client, and supports all of the protocols that I need to use -- and then some.

Click Here!