Talk with (virtually) anyone with Empathy

Chitchat


If you need information immediately, your best bet is to send an instant message. Empathy is the new instant messenger client shipped with Karmic Koala.

By Martin Streicher

Cathy Yeulet, 123RF

Off the cuff, I count nearly 10 ways I communicate daily with others: I receive letters by post, I receive phone calls and faxes, I participate in forums and blogs, I am deluged with email, and I monitor my favorite feeds. Every so often, an old acquaintance scrawls on my Facebook wall. And, increasingly, I receive SMS and MMS messages, tweets, and even the occasional wave.

If I had my druthers, I'd likely stick with only one or two mediums - say, the telephone and email - but those are insufficient. For example, I can't call a colleague in Australia in the middle of my day, because she's likely fast asleep. And although email is a great catch-all, it's consumed passively. Furthermore, email transmits the words but sometimes muddles the message.

It seems incredible that so many modern conduits are necessities. To transmit a contract, I send a fax. To participate in a discussion, I post an opinion to a forum. To review my spending, I visit a website. Add sources such as the newspaper, magazines, books, television, and satellite radio - well, suffice it to say, there's no shortage of information.

More and more, though, I rely on yet another form of communication: the instant message. Like the telephone, an instant message provides immediate feedback. Is my contact online? Busy? Typing a reply? Like email, I can send a missive, but the recipient is notified and prompted to reply by an alert. An instant messenger client is akin to a hotline.

Due to the competition and innovation, scores of instant messenger providers are out there, and most are incompatible. To keep in touch via instant messenger (IM), you must know to which "network" a contact is connected: AIM (AOL Instant Messenger), ICQ, MSN, or a choice of many, many others. If cellular phone calls worked like instant messenger protocols, we'd likely be armed with belts of telephones, like some latter-day, gadget-toting bandito.

Luckily, most IM protocols are open or well-documented, so it's possible to write software that connects to many services simultaneously. Ideally, IM services would exchange messages, but until then, "universal" clients at least centralize many otherwise disparate accounts in one place with a single user interface.

On Linux, Pidgin is a popular universal client and, until the very recent release of Karmic Koala, was the default IM client on Ubuntu desktop systems. However, Ubuntu 9.10 switched to Empathy [1], a Gnome-based application, largely because the standard Empathy client supports multiple messaging protocols, local network connectivity, file transfers, SIP, or Internet telephony, video chat, and Telepathy, an implementation of D-Bus. With Empathy and a Telepathy-enabled application, you can collaborate live with any of your instant messenger "buddies," provided your buddies have the same software. If you use Pidgin [2] (or Adium or others), Empathy will seem familiar and comfortable, and some of its additions make for a nice upgrade.

Have Some Empathy

As of November 2009, the latest version of Empathy is 2.28.1. The desktop version of Ubuntu 9.10 [3] comes pre-installed with Empathy but is missing some libraries to make the tool fully functional. (Specifically, IRC and SIP are not bundled by default in 9.10 but can be added after the fact.) If you're running an earlier version of Ubuntu or are running a server distribution, you'll likely need to add the software. To build Empathy from source, you need a suite of Gnome and Telepathy libraries. Or you can download and install the application as a binary from the Ubuntu package repository.

Independent of your Ubuntu version, the apt-get command in Listing 1 installs a complete Empathy application.

Listing 1: Empathy Installation
01 $ sudo apt-get install --install-recommends --yes empathy \
02   telepathy-mission-control-5 telepathy-gabble telepathy-butterfly \
03   telepathy-haze telepathy-idle telepathy-salut telepathy-sofiasip \
04   python-msn empathy-megaphone-applet libtelepathy-farsight0 \
05   python-tpfarsight galago-eds-feed python-galago \
06   python-galago-gtk msn-pecan

When you specify --install-recommends --yes, it installs all the optional components associated with Empathy and Telepathy [4]. (Initially I omitted those flags and wound up with a partially inoperable environment.) On my Linux development platform, which runs Ubuntu 9.10 Server and previously had no Gnome components, the install added a whopping 1GB of new code, reflecting the many pre- and co-requisites for Empathy and Telepathy.

Independent of your version or distribution, once you have Empathy, you can launch it by typing its name.

$ empathy

When Empathy launches for the first time, it presents an account wizard to create your online personas. Empathy supports the same services as Pidgin, as shown in Figure 1. The menu of options is quite extensive and includes the popular services Google Talk, AIM, Yahoo, SIP, and IRC.

Figure 1: Empathy supports all the most popular messaging services, including SIP.

Describe each account in the dialog box that resembles Figure 2. For each messaging service you use, choose the provider from the menu of choices and fill in your credentials. When done, choose No, that's all for now and click Forward. If your machine lacks a keyring to store your account passwords, create one and continue.

Figure 2: Create an online persona with the account wizard.

The Empathy interface is much like other clients of its ilk. The main window is shown in Figure 3. At the top of the window, you can reflect your availability, and the rest of the central panel is a list of your contacts, each with his or her own status (green for available, red for unavailable), status message, image, and icons that denote whether a contact can chat via audio or video. If you have a lot of contacts, you can switch to alternative presentations and orderings from the View menu. To initiate a chat, double-click on the name or icons associated with the contact.

Figure 3: Empathy organizes all your contacts into one convenient list.

Chat Like It's the Nineties

In addition to one-on-one chat, Empathy also supports Internet Relay Chat (IRC). Although you can send private messages through IRC, its predominant use is group chat. The countless IRC groups (née chat rooms) each have a special interest. Regularly, I lurk in the #rubyonrails room on Freenode; others exist for Telepathy, Ruby, and local user groups, just to name a scant few. IRC is invaluable if you need assistance with a knotty problem. Many groups are active 24 hours a day, as people wake and sleep following the path of the sun.

Like IM, you have an identity on an IRC network. If you don't have a registered identity, you can assume and even change you temporary identity, as long as the identity you choose is unused. However, to ensure no one masquerades as you, even innocently, it's best to register an official identity on each IRC network you use regularly.

To register, first create an IRC account, then choose one of the IRC networks, such as Freenode, which hosts many of the most popular groups. Next, choose a nickname, enter your real name, and click Connect. As an example, I might fill in the dialog as shown in Figure 4.

Figure 4: In the Accounts dialog box, you can create multiple IRC network accounts.

Next, join a room by clicking Room | Join, select the IRC account you just created, and fill in the room name to which you want to connect. For example, to connect to the Rails chat room, type #rubyonrails (Figure 5) and click Join. In a moment, the "room" opens in a new window, with the participants on the right and the chatter on the left. A text box appears at bottom - that's where you type messages to others and commands to the IRC server.

Figure 5: Each IRC network offers many groups, akin to chat rooms, to discuss issues and ideas.

To register your IRC nickname, click in the text area and type this command, replacing mypassword and myemail@example.com with a strong password of your choice and your email address, respectively.

/msg nickserv register mypassword myemail@example.com

On receiving your request, the NickServ "bot" sends a confirmation message to your email address. Just follow the instructions to confirm your new nickname. Once you have a nickname established, you can modify your IRC network account to login with your nickname and password to protect your identity.

Other Tricks and Travails

Empathy has features comparable to Apple's iChat, too. For example, you can send a file to a contact and share your screen with another person. Like Bonjour support, you can also find other Empathy users on your local network if you create a People Nearby account.

Empathy also provides themes to customize the look of the program, and it creates transcripts of (written) conversations so you can refer to a previous chat if need be. The transcript viewer has search options that quickly narrow your collection to a set of messages. In this way, you can limit by account and date or search for a term. Figure 6 shows the transcript viewer in use.

Figure 6: In the transcript viewer, you can search for particular messages.

Also, you can use your SIP account via Empathy. Additionally, certain applications enable bonus features if Empathy is running concurrently; check the Empathy project page for an updated list. For example, you can collaboratively edit an AbiWord document with a contact in your list.

Empathy has a few shortcomings, too. For example, it is not as polished as Pidgin, but neither Empathy nor Pidgin are as polished as Adium on Windows and Mac OS X either. Adium now includes Twitter feeds, too, which deprecates the need to run a standalone Twitter client such as TweetDeck or Twitterrific.

Empathy also lacks a SIP phone book, making the SIP feature inconvenient to use. The development team is planning to address this shortcoming soon. Perhaps the most confounding oversight, though, is the need to install additional software on Karmic Koala to make Empathy robust. Depending on your requirements, you might want to postpone adoption of 9.10 until this issue is addressed or continue to use Pidgin in the interim. Pidgin installs with the command:

$ sudo apt-get install pidgin

Nonetheless, Empathy is promising, and I do prefer how it organizes contacts. iChat, for all its virtues, maintains a separate list of contacts for each account. iChat does not yet support IRC either. When you want instant feedback and your friend the expert is disconnected, you can often turn to IRC for help.

Who knows how many forms of communication will spring up in the next year? Whatever the number, I hope for a little Empathy to help me keep up.

INFO
[1] Empathy:http://live.gnome.org/Empathy
[2] Pidgin:http://www.pidgin.im/
[3] Ubuntu:http://www.ubuntu.com/
[4] Telepathy:http://telepathy.freedesktop.org/wiki/