The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. The xmpp.org technology pages provide more information about the various XMPP “building blocks”. Several books about Jabber/XMPP technologies are available, as well.
The core technology behind XMPP was invented by Jeremie Miller in 1998, refined in the Jabber open-source community in 1999 and 2000, and formalized by the IETF in 2002 and 2003, resulting in publication of the XMPP RFCs in 2004 (see the history page for more details).
Although the core technology is stable, the XMPP community continues to define various XMPP extensions through an open standards process run by the XMPP Standards Foundation. There is also an active community of open-source and commercial developers, who produce a wide variety of XMPP-based software.
Choices of XMPP server
- Prosody - we use Prosody, a Lua based server with easy setup and small footprint
- Metronome - simpler to use fork of Prosody
- MetaJack - complete article
- drop.io's new real-time web-app - powered by Strophe
- Learn to Make XMPP Powered Web Apps at JSConf 2009
- XMPP extensions
- Prosody - the XMPP server we use
- MOVIM - a new social network built on XMPP
- Google Wave - an XMPP-based Google project that got shelved
- Wikipedia:Message-oriented middleware
- jabberd2 - the most complete implementation of the XMPP protocol and extensions written in C
- Chesspark Design Details - chesspark.com extends XMPP
- XMPP: Complexity vs Sophistication - metajack article
- XMPP is better with BOSH - metajack article