Extensible Messaging and Presence Protocol
プレゼンスデータのオーバーヘッド : 一般にサーバ間通信の70パーセントがプレゼンスデータで、そのうちの60パーセント近くが冗長であるので、現在 XMPP はプレゼンスデータを複数のレシピエントへ転送する際に大きなオーバーヘッドがある。この問題を緩和する新しいプロトコルが考えられている。
インバンドによるバイナリデータの転送は非効率 : XMPP は単一の長い XML ドキュメントとして符号化されるので、バイナリデータはインバンドで転送する前にまず Base64 でエンコードしなければならない。このため巨大なバイナリデータ(例えば、ファイル転送など)はアウトオブバンドで転送するのがもっとも良く、インバンドによる通信は制御用に用いる。最も良い例は XMPP の拡張プロトコルであるJingle(英語版)(XEP-0166)である。
ジェリミー・ミラー(英語版)は1998年に Jabber テクノロジーに取り組み始め、1999年1月4日に jabberd(英語版) の最初のバージョンをリリースした。初期の Jabber コミュニティはオープンソースソフトウェアに焦点を当てており、主に jabberd の開発をしていた(2000年5月にバージョン1.0、2000年10月にバージョン1.2、2001年2月にバージョン1.4を発表)が、一番の成果は XMPP プロトコルを作ったことである。
1999年から2000年に開発された初期の Jabber プロトコルは XMPP の基礎となり、XMPP は RFC 3920 と RFC 3921 として公表されている。(IETF の XMPP Working Group による規格化の際に主に変わった部分は、伝送路の暗号化用に TLS の追加と認証用に SASL が追加されたところである。)XMPPはよく SIMPLE (インスタントメッセージングプロトコル)(英語版) の競合相手とみなされる。SIMPLE は Session Initiation Protocol (SIP) プロトコルを基礎とする、インスタントメッセージングとプレゼンス通知の標準プロトコルである。
XMPP をベースにした最初の IM サービスは Jabber.org であり、1999年以降連続稼動していて XMPP のアカウントをフリーで提供している。1999年から2006年2月まではサービスに jabberd を使用していたが、それ以降は ejabberd(英語版) に移行した。(どちらもフリーソフトウェアのサーバアプリケーションである。)2010年1月には Isode Ltd.