For various reasons, I found myself using Jabber at work recently … there are actually several Jabber servers inside the corporate firewall (which of course, don’t federate with each other), but none of them can connect to the outside world … and the restrictive proxy server at work only allows HTTP traffic through, and blocks all the major IM client servers and even IRC networks by name as well, so there’s no use running instant messenger or IRC clients.
However, Jabber is an interesting beast. Federation means that it doesn’t really matter what Jabber server you connect to, you can chat with everyone … and “transports” allow you to use Jabber to chat with all your AIM, Yahoo!, MSN, ICQ, and even IRC buddies (although IRC transports are few and far between for some reason).
But anyway, this article isn’t about proxies or transports … I’m just writing to share my experiences with a few Jabber clients. I have a few fairly specific judging criteria which may not apply to your world, so just be aware of that as you read my experiences below, and feel free to suggest alternatives that I haven’t considered.
- I want to connect to multiple Jabber servers — the one my boss uses inside the firewall, and one or more outside the firewall.
- I need SSL support so that I can feel like my conversations are reasonably private.
- I need really good “group chat” support — my main use for this is IRC
- I’d prefer a native windows client: I try to avoid Java, and although Gtk/Qt/Tk/WxWindows are okay, they have this “look” about them that’s just wierd, plus I have had some issues (ok, crashes) with the Glade version of Gtk on Windows.
I’ve tried Psi and Pandion, Exodus/WinJab, Jabbin, Gajim, Soapbox (Pandeon again, what the hey?), Pidgin, Miranda …
Lets get the obvious stuff out of the way: Pidgin and Miranda can do Jabber, but they don’t really like doing other stuff through jabber, because their specialty is doing everything themselves. If you want to connect straight to AIM/Yahoo!/MSN/IRC and Jabber, they’re great, but otherwise … I find Pidgin ugly on Windows, so I would pick Miranda of the two, unless of course … the Pidgin guys get their act together and get libJingle working so you can voice-chat with google-talk users.
Psi and Jabbin are actually one and the same. One of the wierdest moments I had when testing was when I fired up Jabbin and it knew all about my servers and connections already. The only difference is the icons, and the fact that Jabbin is distributing “libjingle“http://code.google.com/apis/talk/about.html and thus, voice-chat support and interoperability with Google Talk. If you want voice-chat with your Jabber, this is probably your best bet, considering the Google Talk client is terribly under-featured and doesn’t support transports. Psi, in and of itself is probably one of the two best Jabber clients around, in my opinion, with possibly the best support for transports around, with full support for non-standard registration forms with help messages on them and everything. The one thing it’s not very good at is multi user chat (MUC): it can’t even tell you who the moderators are, nevermind allow you to control a room (eg: mute or kick people).
Pandion and Soapbox have a much more complete MUC implementation, and in general, Pandion is a very well done client, with a fit and polish to it on Windows™ that the cross-platform implementations can’t really achieve. The coolest thing is that you can bookmark multi-user chat rooms and the app will re-join them automatically each time you start it. The problem is that it can only connect to one server at a time, so it’s useless to me (although hypothetically, you can run two copies). If you only need one Jabber server, you should deffinitely check out Pandion.
Exodus/WinJab is one of the older Jabber clients, descending from WinJab, and it’s also the most widely recommended Windows Jabber client, not only do most groups that run their own Jabber servers suggest Exodus for Windows clients even though they suggest Adium for Mac (let me just say, the Mac users are getting the better deal), but even Adobe recommends it. Exodus has excellent support for older Windows platforms and supports SASL and TLS and groupchat, but it’s generally boring visually, even though it has tabs… It’s also the only one of these whose web-site is blocked on our corporate proxy, so I didn’t play with it much (I did get a copy from someone else inside the company).
Gajim I what I’m actually using right now. It’s completely cross—platform, being written with the GTK+ widget set and there are binaries available for most platforms, the downside of which is that it doesn’t feel quite right in Windows due to the GTK widgets having wider margins than they should. Gajim has excellent multiuser chat (which is why I’m using it) plus “bookmarks” for frequent chat rooms, and although it doesn’t auto-rejoin them, they’re only two or three clicks away. Gajim also has decent support for proxies, but there’s a trick to it, which is that although it asks for the proxy on the account creation page, it doesn’t seem to use that information, so once you’ve created the account you have to go into the Accounts dialog (Ctrl+A) to modify the account and go to the connection tab to add your proxy. The one significant problem I ran into is that Gajim’s support for service discovery is lagging a bit, so when you go to register for something like the PyIRCt transport you get this empty form with 5 or 6 text boxes, and no hints as to what goes where. I actually had to bring up Psi and connect to bring up the same registration dialog in Psi, where it’s not only labelled, but each text box has a help tooltip which explains what it is for.
I wish I could explain the disconnect between the service browsing and MUC support in these various clients. I guess the best explanation is probably related to the fact that the Jabber spec is still under near constant development, and the addition of MUC to supplant the old “groupchat” may be the main cause. The good news is both Psi and Gajim (in my opinion, the most advanced of these clients) are under active development, and Psi has MUC support scheduled for release 0.12 (they’re working on 0.11 betas now). The bad news is that Jabber keeps pushing more and more new features into the spec (like Google Talk’s jingle protocols) there’s a lot of things that are cooler than proper MUC support to distract developers .
For those of you who are new to Jabber, let me point out that this is hardly a complete list. You should check the Wikipedia page on Jabber Clients and the “official list with screenshots at Jabber.org”:http://www.jabber.org/software/clients.shtml.
Similar Posts:
- None Found
thanks very much for your shared experience.. very useful!
nice writeup — your link to gajim should be .org, not .com