Jingle bells, Jingle bells, Jingle all the way!
As announced last week, the Jabber Software Foundation (JSF) has been working with the Google Talk team and other industry leaders to define a technology for voice chat over Jabber, called Jingle. The Jingle framework provides a strong foundation for adding real-time collaboration features to Jabber/XMPP clients, made easier by Google's release of libjingle (an open-source library for Jingle development, licensed under a BSD-style license, thus making it appropriate for both open-source and commercial development). Over the next few months we will work to refine Jingle and define support for additional session types (such as video, gaming, and file sharing). Many open-source projects and commercial vendors have already committed to supporting the Jingle framework, so Jingle-based features should begin to appear in various Jabber/XMPP clients early next year. (By the way, Google has also become a financial sponsor of the JSF, which will help us provide some new services in 2006.)
Google isn't the only organization deploying Jabber-based services. For instance, just today came news that French radio station Skyrock has released SkyMessenger as the IM complement to Skyblog. The MXit and jabber.nu servers are providing very popular IM services to cell phone users all over the world. The meebo web-based IM service supports Jabber messaging. The Gizmo Project, offered by SIPphone, uses Jabber for its IM features. And these are just some of the more prominent public service providers -- naturally, many organizations continue to deploy Jabber servers internally, from academic institutions such as Duke University to major open-source communities such as KDE to most of the Wall Street investment banks to large portions of the U.S. military establishment. Although not all of these deployments connect to the open Jabber IM network that has been growing since 1999, that network too is becoming stronger through the efforts of the XMPP Federation. In fact, we think it's only a matter of time before full federation between all IM systems becomes a reality (more on that next time).
Part of what makes Jabber/XMPP technologies so attractive to so many organizations is the security and intelligence of the underlying technology. Although some researchers warn of the emergence of very destructive instant messaging worms and IM spam (often called "SPIM"), we have not yet seen such threats on the Jabber/XMPP network. Why not? It helps that Jabber servers are required to verify all messages they send to other servers and that reverse DNS lookups effectively prevent spoofed addresses. It also helps that Jabber/XMPP technologies are pure XML and thus not friendly to viruses and worms. A third reason is that the Jabber client "ecosystem" is very diverse. Unlike consumer-oriented IM services like AOL, MSN, and Yahoo or monolithic enterprise IM software packages like Microsoft's Live Communication Server and IBM's Lotus Sametime, Jabber is open by design. The result is an extremely wide range of Jabber clients, written in many different code languages for many different computing platforms. There are dedicated clients for mobile devices such as SmartJab for Microsoft Smartphones and Chatopus for PalmOS. There are cross-platform clients such as Gaim, Psi, Gajim, and Spark. There are single-platform clients such as Exodus and Pandion for Windows, Gossip and Kopete for Linux, Adium and iChat for MacOS, even Jabberwocky for Amiga (new version released yesterday)! How is a virus-writer to know which client to attack? We've made life quite hard for spammers and attackers. Really it's not very fair of us, is it? :-)
And it's not just the Jabber client ecosystem that's diverse, but the server, component, and library ecosystem as well. In addition to commercial server implementations from Sun Microsystems, Jabber Inc., Coversant, and Antepo, I count at least four major open-source XMPP server projects under active development: Wildfire, jabberd 1.4, jabberd 2, and ejabberd (which just celebrated its first fully XMPP-compliant release). The new palaver project offers an open-source groupchat component that competes with the venerable mu-conference component. And XMPP code libraries exist for all popular languages, and even some less popular languages like Common Lisp.
Developers also appreciate the fact that XMPP is at root an XML routing technology, not primarily an instant messaging technology. That's one reason we continue to see Jabber/XMPP protocols powering a variety of interesting applications. Examples include the Eclipse Communication Framework, the WiredReach content sharing platform (built using JXTA and XMPP), the Access Grid for group-to-group interaction across the Grid, the eBox Platform for corporate network management, even methods for transporting queries formatted using the SPARQL RDF query language. And it doesn't hurt that we have a geeky sense of humor. ;-)
Because of everything that's happening in our community, 2006 looks like it may be the biggest year yet for Jabber/XMPP technologies. But we'll talk about that more in the next Jabber Journal. Until then, Jabber on!
--stpeter