The document discusses the history and development of XMPP standards from 1999 to the present. It outlines the creation of the Jabber open-source projects in 1999, the formation of the Jabber Software Foundation in 2001 and the XMPP Working Group at the IETF in 2002 which formalized core XMPP standards. It also describes the current work of the XMPP Standards Foundation to develop extensions to XMPP through an open, consensus-based process and their collaborations with organizations to extend the protocol.
2. History
• 1999: Jabber open-source projects
• 2000: Jabber, Inc. (they pay me)
• 2001: Jabber Software Foundation (JSF)
• 2002: XMPP Working Group @ IETF
• 2004: XMPP RFCs (3920-3923)
• 2006: JSF => XMPP Standards Foundation
3. Source + Standards
• Not a typical open-source project
• Focus on wire protocols (XMPP)
• Multiple codebases (clients, servers,
libraries, components, plugins)
• Open source and commercial
• A plethora of implementations
• Interoperability via open standards
4. XMPP Standards Foundation
• Core XMPP standards formalized in IETF
• Many extensions not appropriate for IETF
• XSF: nimble, developer-driven standards
organization for XMPP extensions (XEPs)
• Not an industry consortium! Open like IETF
• Focus on rough consensus and running code
• Interop network, intermediate CA, etc.
5. Core Protocol (RFC 3920)
• Streaming XML over TCP/IP
• Client-server architecture
• Transport Layer Security
• Simple Authentication and Security Layer
• Strong identity (hard to spoof addresses)
• Full internationalization
6. Core Extensions
• HTTP Binding (XEP-0124 + XEP-0206) for
intermittent connections
• Stream Compression (via TLS or XEP-0138)
reduces bandwidth usage up to 90%
• Link-Local Messaging (XEP-0174) for
serverless communication mode
• Service Discovery (XEP-0030) and Entity
Capabilities (XEP-0115)
7. IM + Presence (RFC 3921)
• Contact lists
• One-to-one messaging
• Ubiquitous presence
• Authorization required to view presence
• Presence pushed out as changed (no polling)
• Lightweight formats for presence and IM
8. IM Extensions
• Chat State Notifications (XEP-0085)
• XHTML-IM (XEP-0071)
• Data Forms (XEP-0004)
• Advanced Message Processing (XEP-0079)
• Extended Stanza Addressing (XEP-0033)
• vCards, bookmarks, avatars, etc. etc.
9. Rich Presence
• Activity
• Location (GPS etc.)
• Mood / state
• Other personal “events” (e.g., Atom feeds)
• Publish-subscribe transport
• Extensible via XML
10. Jingle
• Lightweight extensions for one-to-one
multimedia session management
• Content: voice, video, app sharing, etc.
• Transport: UDP, TCP, etc.
• IETF’s ICE technology for firewall traversal
• Not a full telephony application!
• Google Talk, OLPC, Nokia 770/800, etc.
11. Chat (XEP-0045)
• Group chat “rooms” similar to IRC
• Stronger identity and authentication
• Superior ownership model (no takeovers)
• Room hosted at single service
• Working on distributed rooms
• May take to IETF for publication as RFC
12. Roadmap
• RFC revisions in progress (Draft Standard)
• Finalize Jingle core this summer
• Further strengthen security profile (spam
prevention, end-to-end encryption, require
channel encryption)
• Collaborative editing / whiteboarding
• Use chat rooms for multimedia control?
13. Collaboration
• XSF works with organizations interested in
extending XMPP
• Apple (Link-Local Messaging)
• Google, Nokia, OLPC (Jingle)
• JFCOM/SPAWAR (Distributed Chat)
• Join the conversation (standards@xmpp.org)
• Ping me (stpeter@jabber.org)