Tuesday, December 9, 2008

eJabberd for Instant Messaging


eJabberd Open Source Instant Messaging Server

Another "victim" in the ongoing saga of free open source software (FOSS) being hijacked by a commercial entity only to be later sent to the deadpool is Jabber, recently acquired by Cisco. A project begun in 1998 by Jeremy Miller (per wikipedia) and first released in 2000 as jabberd, Jabber quickly became the basis for the XMPP protocol standard. Probably the most well known adopter of XMPP is Google with the Google Chat software. Many other commercial software companies have also adopted the proven and well regarded XMPP standard for their own integrated messaging, VoIP and presence awareness applications.

Recently I had a customer discussion that centered around an issue with the lack of phone lines (in-coming and out-going) between their distribution centers. There were complaints coming in from the warehouses of busy signals during the peak times of the day. The initial discussion centered around the possibility of voice over IP (VoIP) being a way to solve the problem via provisioning more voice lines between locations. Ok, so not being one who carries around a hammer looking for nails, I asked a more obvious question - what the heck is everyone trying to call each other for at 4pm? The answer was "instant gratification", the warehouse people and order processing people needed quick answers so orders could be completed and picking tickets issued, so trucks could begin being loaded. Email was "too slow" to wait on those simple questions - so my obvious response was - so what about instant messaging. You'd have thought I asked someone to streak naked through the parking lot... no way, then people would be wasting time IM'ing their friends all day instead of WORKING, was the response. Ok, so I had to clarify, I wasn't talking about using AOL or Yahoo, etc., I was talking about implementing an in-house IM server. Response: "We looked at MS Messenger and IBM Sametime, and that's more than we want to spend on IM." Yes, the same people who wanted to throw a VoIP solution at a POTS line congestion problem that would have cost in the high tens of thousands of dollars were balking at spending $40k on IM. As usual, I had a suggestion: "So what about open source, maybe something like Jabber?" Again, a blank stare. I had to pinch myself to make sure I hadn't time warped back to 1998, but no I was again having the "open source is OK" conversation.

After a lengthy discussion I made the suggestion to download eJabberd and use Pidgin as the client for testing purposes. My reasoning for going with eJabberd is that for a customer like this, it would be best to have an option for a commercial support option for the software. With eJabberd that option is available from Process One among others. I'm not doing an ad here for them so just take that as a mention of an alternative. Anyway, just keep in mind that there are options out there to solve problems that don't have to cost a great deal of money.

Typically, if you can win the technology adoption battle via use of FOSS, then if you need advanced features later as user adoption matures, the money to move to a commercial package seems to magically appear where none was available before. The ISVs figured this out a LONG time ago by offering shareware or feature/function-limited freeware versions of their software. It used to be called the "puppy dog close" in sales school - get the client to own it, name it, care for it, feed it and love it, and you're guaranteed they'll have to buy food for it, get it shots, etc. It just never ceases to amaze me that internal IT departments still haven't figured out that they need to get the technology in the door and working and then proving usefulness to management only takes turning off the unauthorized project server and waiting for users to start hollering.

If you're in need of a good IM server, eJabberd is a great option. You can click on over to XMPP.org and see a list of other server options as well as a list of client options.