oreilly.comSafari Books Online.Conferences.
Articles Radar Books  

Jabber Works: Here's How

by Derrick Story

I was introduced to Jabber at the O'Reilly Open Source Convention in July 2000. The notion of an open messaging system based on XML sounded like a great alternative to the proprietary battles currently raging. The possibility of using a single Jabber client to chat with friends and co-workers on AIM, IRC, and ICQ seemed even better.

But every time I mentioned this great new hope for messaging to my developer friends, I was greeted with, "Yeah, well, it sounds good. Too bad it doesn't work."

I was actually beginning to believe that it didn't work myself -- that is, until I sat down and began to play with a couple of Jabber clients. Jabber does work -- but setting it up isn't the most intuitive process in the world. Plus, the clients and servers have improved a great deal over the last two months. If you had trouble a while back with Jabber, you may want to give it another spin.

To help you toward that goal, I've listed a few popular Jabber clients and outlined their basic set-up. On the second page of the article, I discuss AIM and IRC -- including screen shot displays of the WinJab client in action.

The key to success: understanding transport modules

Related Articles:

XML Messaging with Jabber

Peer-to-Peer Makes the Internet Interesting Again

News -- view a week's worth of Jabber news via Meerkat.

More from the P2P DevCenter Previous Features

The most important words in the Jabber vocabulary are "transport modules." Essentially, they are plug-ins to the Jabber server that enable communication with non-Jabber systems such as AIM. Currently there are transports available for not only AIM, but ICQ, IRC, MSN, and Yahoo!.

When you first log on to a Jabber server, the default messaging system is basic Jabber (e.g., DexStory@jabber.com). That's great if all of your buddies only use Jabber. But if you fire off a message to your AIM pal, he'll never see it ... that is, until you activate the AIM agent in your client.

If you log on to a Jabber server that has the AIM transport module enabled (such as jabber.com), and if you've activated the AIM agent in your Jabber client, then you can chat away with your AIM buddy. In fact, he'll never even realize that you're using a different messaging software.

I'll cover how to specifically enable the various transports later in this article. The main issue here is that if you've tried using Jabber before, and were unsuccessful, this might be the reason why. (The other major cause of failure was that early Jabber clients and servers had performance problems.) The irony is that the transport modules are part of the very genius that enables Jabber's power.

Jabber clients

The second misconception often bandied about was that Jabber only supports Windows clients. Fortunately, that statement is also untrue. At the moment there are a total of 10 Jabber clients for Windows, Linux, Macintosh, and Newton. You can review and download the current list of clients at jabbercentral.com's client page.

That being said, some of the clients are certainly easier to use than others. Here's a brief look at some of the ones we've tested at O'Reilly. Please note that all of these clients are still in beta. (In other words, give 'em a break!)

  • JabberIM (Windows) -- A solid client that provides basic messaging functionality. Made available by the Jabber.com folks.
  • WinJab (Windows) -- Possibly the most sophisticated Windows client enabling messaging and RSS headlines functionality. Well-designed, strong performer. Written by Peter Millard.
  • Jabbernaut 0.5b3 (Macintosh) -- Greener than JabberIM and WinJab with a much less polished UI. If you're Mac only, this is your choice. If you work in a multi-platform environment, then I'd use the Windows or Linux clients for the time being until Jabbernaut matures.
  • Gabber 0.7 (Linux/Unix) -- A GNOME client that is solid, but it still needs more features. Provides good messaging functionality however.

Since WinJab operation is covered throughout this article, it doesn't need any further explanation here. I was interested in the Linux client, however, and I contacted one of our developers who's tried Gabber to get his views on its performance. He reports:

"The GTK interface is quite clean and fits in nicely with other GNOME apps. It's pretty self explanatory.

"I had no problem hooking into my AIM, ICQ, and Yahoo pager accounts. I've not been able to succeed in getting the IRC hookup to work, which is a major showstopper for me. One critical feature also missing is "Ignore User." I've found that my ICQ account gets spammed quite frequently: Having windows popping up while I work with spam messages is unacceptable.

"My verdict on Gabber: a good start, but needs more features before I'd run it on a daily basis. I'm sticking with IRC for now."

At this point I think it's too early to discuss the Mac client, Jabbernaut, in much detail. I could get it to work for jabber.com chat and for AIM too. But its feature set is still primitive and needs refinement. I'm sure we'll see improvement in the coming months.

The basic set-up for WinJab messaging

Since Jabber clients work more or less the same, I'm going to walk through the basics of the WinJab set-up, which you can download from jabbercentral.com.

  • Save the executable file to your hard drive, then launch it. WinJab will then be available under Start/Programs/WinJab.
  • Launch WinJab and you'll soon be greeted with a configuration dialogue box. Click "new account" and start with these settings:
    • xProfile: [Create a name or just use "Default"]
    • Server: jabber.com (unless you have a specific server in mind}
    • Port: 5222
    • Username: {I recommend the same user name you have for your other messaging services}
    • Password: {you know the drill}
    • Resource: {WinJab works fine}
    • Priority: 0 {works fine}
  • Send a message to another jabber.com user by clicking on the "open a chat window" icon, typing in his Jabber name, then clicking the send button.
  • If you don't know the Jabber name for a friend that you know has a Jabber account, go to "Roster," choose "Search for User," then "Search via Jabber User Directory." Type in the first and/or last name of the person you're looking for, and Jabber will list all of the registered users matching those criteria.
  • At this point you're up and running with basic Jabber messaging. You have a number of options you can set in the preferences window. An excellent guide to helping you set those preferences correctly is Peter Saint-Andre's WinJab HowTo page.

Pages: 1, 2

Next Pagearrow

P2P Weblogs

Richard Koman Richard Koman's Weblog
Supreme Court Decides Unanimously Against Grokster
Updating as we go. Supremes have ruled 9-0 in favor of the studios in MGM v Grokster. But does the decision have wider import? Is it a death knell for tech? It's starting to look like the answer is no. (Jun 27, 2005)

> More from O'Reilly Developer Weblogs

More Weblogs
FolderShare remote computer search: better privacy than Google Desktop? [Sid Steward]

Data Condoms: Solutions for Private, Remote Search Indexes [Sid Steward]

Behold! Google the darknet/p2p search engine! [Sid Steward]

Open Source & The Fallacy Of Composition [Spencer Critchley]