In the last issue of the Jabber Journal, I speculated that IETF approval of the core XMPP protocols would lead to even greater interest in building Jabber technologies. How right I was! All that interest has kept me even busier than ever, which is why it's been almost four months since the last Jabber Journal. I really will try to publish more often going forward (though the new Planet Jabber weblog aggregator is a good way to keep up on what's happening). But enough excuses -- on to the news!
The Jabber developer community has been busy this year. One standout seems to be the Gush client, which observers of the IM scene such as Stowe Boyd have been gushing about. Another client of note is JWChat, which is the first open web client for Jabber that has impressed me. It depends on an updated version of the old WebClientService that Jer coded up long ago, so right now JWChat works only with the jabber 1.4 server, but hopefully it can be reworked at some point to use the HTTP binding we're defining in JEP-0124. Another client that has made quite a splash of late is Lluna, which enables you to chat with people at websites you visit (sometimes called "co-browsing"). And naturally work continues on clients such as jabber.el (which works natively within Emacs), Psi (here it is sending math equations!), CJC (reputedly the best console client available, although centericq is also popular), and the next-generation version of Gabber (my longtime favorite client).
One surprising area of innovation lately has been integration of Jabber with Internet Relay Chat (IRC). There are now three IRC gateway projects underway: one built on top of the Xmpppy library (running at irc.jabber.org.uk), another created by Jacek Konieczny (running at irc.projecto-oasis.cx, a fine free server in Portugal hosted by 3GNTW), and a third that is native to the ejabberd server (running at irc.e.jabber.ru). Another option is JIG, a server-side component that enables any IRC client to be a Jabber client. These projects are all in the grand Jabber tradition of reaching out to other networks and enabling people to communicate no matter what technology or computing platform they are using. (Further illustration is jabber80.com, a Jabber server that is being run on port 80 especially for those "firewall-challenged" people who can't use port 5222.)
PubSub, too, has been the scene of much discussion lately. What is PubSub? It is a generic "design pattern" in software development that enables one person or application to publish information and other people or applications to receive notification that the information has been published (or receive the data itself). A good example is content syndication using RSS or ATOM: personally, I get notified in my Jabber client every time one of the weblogs I follow is updated -- the blogger publishes, and I get notified immediately. It's a powerful concept that could be applied to all sorts of information, not just weblogs (think weather, sports, news, system logs, and much more). The good folks at PubSub.com describe it well: "PubSub is like a search that never stops." And they're using the XMPP pubsub extension defined in JEP-0060, too. PubSub is yet another building block of what I call the real-time Internet. After all, why be forced to launch some website (Ebay, Slashdot, your favorite weblog) when you can be notified as soon as new content you're interested in becomes available? It's all about the need for speed.
In the next issue we'll talk about some of the other hot topics in the Jabber community, such as voice and video integration. But for now I'll leave you with a quote from Eric Allman, creator of the Sendmail server, as captured in one of the chatrooms we run for the IETF:
[20:44:29] <eric_allman> jabber rocks
Couldn't have said it better myself. :-)
--stpeter