An brief introduction to XMPP.

What with WhatsApp, WeChat, Hangouts, Telegram, and Facebook Messenger, not to mention a lot of others, do you ever get tired of all the apps you have to run, just to keep in touch?

Jeremie Miller did. And that was back in 1998, when none of the services I mentioned even existed. Others did, though.

Jeremie solved this problem by making yet another messaging service, just for himself. The difference was that this one was open, which means that anybody is allowed to see how it works and copy it. Better still, when different people made their own chat servers, they could let people on one server connect to people on the other. He called his invention jabberd, and the language it used to connect was called Jabber.

Jabber messages worked the same way as email. So one person could have the Jabber ID barko@jabber.org on the jabber.org server, while another person had a chat.me Jabber account called sagch@chat.me, and they’d still be able to talk to each other. In fact, they could even be using the same app. That’s because, since the Jabber language was open, anyone could make a Jabber app and use it on any server they like. No using only WhatsApp’s app for WhatsApp and only WeChat for WeChat’s chats. Any Jabber app can be used regardless of the server — just like how you can use Thunderbird, Outlook Express , or iMail for any email, without worrying about whether it’s Gmail or Yahoo or Hotmail or anything else.

One big difference between Jabber and email is that Jabber is much faster. That’s because Jabber lets two people connect to each other directly, without a server in between.

Normally, when you send an email, it travels like this:

But Jabber lets you send them like this:

Of course, if your friend isn’t online at that time then the message will go to your friend’s server instead and be delivered next time your friend signs in. But if you are both online, it lets you do a lot of fancy things that only your apps know how to do, even if your server doesn’t. Or even if it does.

Jabber was very successful, and lots of people started using it. And, because it was open, they could also begin improving it and adding more features. Eventually, they decided to get it officially recognised by the Internet Engineering Task Force (IETF) which has set other standards including SMTP for sending email, HTTP for loading websites, and TCP/IP for the Internet itself.

Because a lot of good protocols seem to be acronyms ending with a “P”, Jabber was also renamed, to “XMPP”. That stands for “eXtensible Messaging and Presence Protocol” — where “protocol” means “language that different kinds of computer use to talk to each other”; “presence” means “finding out whether a person is online or offline”; “messaging” means “for sending messages”, and “extensible” means “can be modified to add cool features like secret messages and even simple videogames”. But you’ll probably be happy just calling it XMPP.

XMPP is still very much in use today — and you can use it, too! Visit xmpp.org to get started. Or wait till next week, if you’re patient enough.


Have something to say? At Snipette, we encourage questions, comments, corrections and clarifications — even if they are something that can be easily Googled! Or you can simply click on the heart below, so we know you liked reading this.

This article was originally published in Sirius #240 5–18 March 2017 “Solar Ambulance”. All Jabber IDs given are made up, so please do not try to chat with them.