XMPP is the Extensible Messaging and Presence Protocol standardized by the IETF. This standard provides the framework for doing anything you want to do with chat, and more. Why is XMPP (formerly known as Jabber) not the mainstream chat protocol? Actually it is. It is the most secure messaging standard: battle-tested, independent, and privacy-focused. And it is the protocol behind Google Hangout and WhatsApp uses a variation of XMPP. But XMPP is more than just that.
XMPP has three strengths: extensibility, vendor-independence, and openness.
XMPP Weaknesses
XMPP also has three weaknesses: extensibility (there is no clear “right way”), vendor-independence (no big pusher), and openness (there are many projects out there, but rarely a focus on excellence).
There are proposals to address the first weakness (e.g., Daniel Gultsch: “The State of Mobile XMPP in 2016” or Dave Cridland and Sam Whited: “XEP-0286: Mobile Considerations”). The second and third have been neglected for many years, but now several are working on it (notably Conversations, but also Monal or ChatSecure).
XMPP Strengths
With the weaknesses taken care of, let’s focus on the strengths:
The openness and vendor-independence allows us to create products that extend the functionality of existing software. For example, JSXC [6] provides a basis for add-ons to web applications. Plugins exist for ownCloud/nextCloud (with an optional local XMPP server included, for easy bootstrapping), the Ilias e-learning platform, the SOGo groupware, or the Diaspora* Online Social Network.
These combinations allow you to chat while collaboratively editing documents, discuss problems you have understanding part of a lecture [1]Automatic MUC creation for every lecture coming soon., or respond to an email via video or text chat. That is added value we can leverage. And there are probably other integration ideas out there, waiting to be implemented with a few lines of code.
Best of all, the users can continue the chat after leaving the web platform, on their desktop or mobile device.
In many scenarios, the federation concept (a fourth advantage) comes much more natural than in centralized approaches. This comes in as a natural for Diaspora*. But it also allows for cross-institution collaboration (very active in German research and education institutions) while keeping the identity.
The use of multiple federated identities (maybe I should add a fifth advantage?) also allows you to separate friends and family from work and the rabbit breeding association or public office you are also associated with. You can switch these identities on and off during different parts of the day, something the centralized approaches which typically enforce a single identity (the mobile phone number).
XMPP is far from dead, but as any standard, it needs to be pampered and nourished and we daily need to breathe new life into it, continually living and improving it with our ideas, hopes, and excitement.
One response to “XMPP: Chat with a Future”
After Conversations on Android and Gajim on Windows/Linux, we now have ChatSecure on iOS with OMEMO support: https://chatsecure.org/blog/chatsecure-v4-released/