Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence and collaboration.

To understand what this really means, let’s go on a journey from P back to X…

P — Protocol

XMPP is a protocol; a set of standards that allows systems to talk to each other. XMPP is used widely across the web, but is often unadvertised. The protocol (or standards) are looked after by the XSF (link).

P — Presence

The presence indicator tells the servers that you are online / offline / busy. In technical terms, presence determines the state of an XMPP entity; in layman terms, whether you are there and ready to receive messages or not.

M — Messaging

The ‘messaging’ part of XMPP is the ‘piece’ you see; the Instant Message (IM) sent between clients. XMPP has been designed to send all messages in real-time using a very efficient push mechanism; whereas existing web based mechanisms often make many unnecessary requests introducing network load, and are consequently not real-time.

X — eXtensible

Defined in an open standard and using an open systems approach of development and application, XMPP is designed to be extensible. In other words, it has been designed to grow and accommodate changes.