Archive for September, 2005

Jabber + Punjab + JWChat = almost what I’m looking for

Friday, September 9th, 2005

A couple people commented on my project idea for instant messaging over HTTP. After looking at the open source IM market in more depth I’ve found that the pieces I was looking for are actually all there, mostly.

  • Jabberd 2 – an open source XMMP server implementation. There are also some great extensions (called transports) like PyAIM-t and PyMSNt that allow your server to interface with other IM providers. Any jabber server would probably do, but I liked the looks of Jabberd 2 best. Adopting an already existing IM server will save a bunch of time trying to design and write a backend for my project.
  • Punjab – an open source HTTP jabber client interface. Kind of like a session-intelligent proxy between the statelessness of the HTTP and the statefullness of XMMP. Version 0.6 is is the latest release, but it has a couple problems. I’ve had more success going with the latest code from CVS. Even that has some issues though, mostly that it does not implement JEP-0124 completely, and binding connections simply get turned into polling connections with a very fast (read instantaneous) polling rate. This problem is where I’m currently focusing my efforts.
  • JWChat – an open source browser based chat client. No ActiveX or Java required – 100% Javascript, which is native in all major browsers. Along with Apache on the server side to proxy requests to Punjab it works pretty well. Not really a fan of the appearance currently, but that is easy to change.

So, even though it appears nobody had really ventured into exactly the space I was thinking about, there are enough tools out there that I can pretty much construct my idea out of pre-existing code. Progress is being made, but it isn’t ready for public yet. Punjab seems to be the most important piece of the puzzle to me and it still has a couple show stopping bugs (but I think I know how to fix them – except for the scalability problems). Once I get it patched I’ll release the patches and a guide to build your own HTTP to Jabber to AIM/MSN/Y!/etc setup.