PubSubbing

2006-04-24

As promised, I'll start to do a better job of describing what I work on all day in the wonderful world of Jabber / XMPP. Mostly I define protocols -- the bits of XML that Jabber clients, servers, components, bots, and other entities send back and forth over the wire to communicate. One protocol that I've been focusing on since the beginning of the year is something we call publish-subscribe or "pubsub" for short. The Jabber Enhancement Proposal ("JEP") that defines pubsub is quite large. It was originally authored by Peter Millard, who several years ago (while a member of the Jabber Council) volunteered to write a spec that would harmonize a variety of approaches that different developers had proposed. No offense to Peter, who did yeoman's work on the spec, but it needed some editorial revisions and a bit of an overhaul based on implementation experience. Given the size of the spec, it's taken me a while to get it ready for prime time, but the forthcoming version 1.8 is a lot cleaner and easier to read than 1.7, thanks in large measure to comments from the Wildfire team (check out their article for a friendly introduction to pubsub). It's amazing to me how long it can take to really get a protocol spec into shape, but I suppose it shouldn't be a big surprise since I tried to cover all the error flows and edge cases and such (with lots of examples -- "we put the example in example.com" and all that). In any case I hope that the Jabber Council will move forward on approving this (major) revision sometime in the next few weeks. We may even want to push out an unofficial last call (not strictly necessary, but I think advisable in this situation given the scope of the changes).


Peter Saint-Andre > Journal