XMPP Standards Update

13
XMPP Standards Update Peter Saint-Andre [email protected] 2007-06-06

description

A status update on Extensible Message and Presence Protocol (XMPP) technologies as of summer 2007.

Transcript of XMPP Standards Update

Page 1: XMPP Standards Update

XMPP Standards UpdatePeter Saint-Andre

[email protected]

Page 2: XMPP Standards Update

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

Page 3: XMPP Standards Update

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

Page 4: XMPP Standards Update

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.

Page 5: XMPP Standards Update

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

Page 6: XMPP Standards Update

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)

Page 7: XMPP Standards Update

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

Page 8: XMPP Standards Update

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.

Page 9: XMPP Standards Update

Rich Presence

• Activity

• Location (GPS etc.)

• Mood / state

• Other personal “events” (e.g., Atom feeds)

• Publish-subscribe transport

• Extensible via XML

Page 10: XMPP Standards Update

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.

Page 11: XMPP Standards Update

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

Page 12: XMPP Standards Update

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?

Page 13: XMPP Standards Update

Collaboration

• XSF works with organizations interested in extending XMPP

• Apple (Link-Local Messaging)

• Google, Nokia, OLPC (Jingle)

• JFCOM/SPAWAR (Distributed Chat)

• Join the conversation ([email protected])

• Ping me ([email protected])