Messaging Mayhem

The contemporary landscape of instant messaging is a mess. Multiple, siloed and proprietary messaging applications dominate, with the very real potential for deplatforming, censorship, advertising, and other ugly problems which are simply unacceptable in our modern world of digital ubiquity. Nor can text messages take up the slack, given carrier charges and the difficulty of getting phone number-based text messaging to work on multiple platforms.

XMPP is an open standard that is federated like email, is end-to-end encrypted and includes group, voice and video call support. And you do not need a telephone number or two-factor authentication to get started with matrix chat either, just like email. I self-host an XMPP server under this domain.

XMPP is not dependent on the closed and locked-down ecosystems of iOS or stock Android. In contrast to unfederated Signal (which seems to steal all the enthusiasm), you can self-host your matrix chat account. It also does not depend on a single company, which has been the Achilles’ heel of WhatsApp and Telegram.

As long as we depend on a plethora of different messaging apps for our communications, our phones will be clogged, our conversations fragmented, and our pocketbooks will need to pay for telephone service. Utilizing matrix chat avoids these issues entirely.

For those of you still unconvinced on why you should switch to XMPP from unfree messaging apps, read on.


Why each alternative to XMPP isn’t worth it

Any argument for any siloed or unfederated IMing protocol based on ease of use, accessibility, or simplicity has to run up against the existence of email, which is ubiquitous. Yes, siloed messaging apps these days include voice and video call capability as well as text, but that is like saying that original email clients didn’t include HTML message capability and so were “inaccessible” to “regular” people who expect “user-friendly” (read: flashy and bloated) messages, emojis, motion effects, etc..

If you don’t want to run your own XMPP server, that’s fine, you can use a server run by someone else. There is nothing wrong with getting someone else to run your server. But just because your grandmother may think running a server is “hard” or your boyfriend thinks managing his own encryption is too difficult, doesn’t mean that someone with legitimate privacy or security concerns and/or the necessarily will and skills should be forced to use GMail or Google Wave, or ProtonMail, or iMessage. Like email, you don’t have to run your own custom domain or find a privacy-friendly paid provider if you are fine with someone else snooping on you and want everything to “just work.”

And yes, I know Google Wave doesn’t exist any more. Abandonware another problem which could befall AOL messenger or YouTube chat or Google Hangouts because they are siloed proprietary software.

WhatsApp

WhatsApp is run by Meta (formerly Facebook), which has about as abysmal a record as a company can get in privacy. WhatsApp also deplatforms people routinely, for the usual any or no reason. If you run your own XMPP server, that can happen if you anger your domain registrar and hosting provider (or ISP if hosting at home), but it is a lot harder (plus there are more companies to chose from.) XMPP is also a open protocol, which means you can self-host a server (like I do) and tweak it to your heart’s desire, adopt your own choice of security protocols based on your actual needs, and not have to pay a licensing fee.

Telegram

Unencrypted normally, “secret chats” have an unfree encryption protocol. Requires a phone number with SMS capability to register in account, also blocks VoIP numbers or quickly closes accounts attached to a VoIP number. Desktop clients exist, but some third-party clients (e.g. the client in GNU Emacs) can trigger moderation or account closures. Cannot register in at least some third-party mobile clients, as the company requires you use the official app to create a new account. Desktop clients cannot access “secret chats” and are do not show notifications if someone tries to begin a “secret chat” with you.

WeChat

Unencrypted, unfederated, heavily subject to censorship and ready MSS surveillance because the company which owns WeChat is very cooperative with the Chinese intelligence community.

Signal

Unfederated and siloed. Also, dependent on mobile phone apps; even though desktop clients exist, you still need an Android or iOS app to use Signal, and every once and a while you have to reconnect the desktop app with the mobile app. Finally, certain features are unavailable on desktop.

Threema

You have to pay money for an account; with XMPP, there are plenty of gratis servers to chose from. As with Signal, the desktop clients are dependent on a mobile app for one of the two duopoly mobile operating systems. Even more than Signal, if your Android or iOS phone is not currently on, you can’t use the Threema client on your desktop.


Federated alternatives (and their issues)

Delta Chat

Delta chat is a client for email which makes it seem like instant messaging when being used. I have nothing against the delta chat client, but email does not include audio or video calling. Further, certain providers such as ProtonMail simply do not work with the Delta chat client, while mainstream email providers like Yahoo! or Yandex Mail can be rate-limited. The delta chat client integrates Jitsi meet for live videotelephony, but videotelephony is not a part of the email protocol and so the integration does not apply if anyone else is using another email client, or webmail.

Delta chat is creative and has some advantages as out-of-the-box, use-what-already-exists thinking, but email isn’t designed around instant messaging like XMPP is. The protocol is still the same, and so encryption is not automatic and dependent on the OpenPGP standard, which deserves plenty of praise for emails but isn’t really suitable for group chats compared to the OMEMO encryption of modern XMPP. PGP makes a lot of sense for emailing an attorney, foreign spy, or journalist a sensitive message or documents, but it is a real pain to use on multiple devices, when messages need to be forwarded, or when more than two people are in a conversation.

In summary, delta chat is a client, not a protocol, server, or ecosystem. If you like delta chat, by all means use it. It certainly better than Outlook. But, being a client, it doesn’t cover everything. XMPP does.

Matrix chat

Matrix chat requires far more resources than an XMPP server to run. It also does not really provide anything XMPP doesn’t already: XMPP can do voice and videocall just like matrix chat. The XMPP ecosystem is also far more decentralized than the Matrix ecosystem in practice, with more servers and clients available. Also, while there are multiple matrix chat servers, only Synapse covers the full range of features of the matrix protocol, and Synapse is extremely memory-hungry compared to XMPP.

The argument that the greater diversity of XMPP server and client software and the lack of dominance of any of either in its ecosystem, in contrast to matrix, where the Synapse server and the Element client dominate substantially, is pretty much the same fallacious argument as to how GNU/Linux is at a disadvantage when contrasted with some proprietary system like Windows or macOS due to the presence of many GNU/Linux distributions. And it isn’t even really true, because there are still different matrix clients and servers from which one may chose. Matrix chat isn’t immoral or bad, but it doesn’t really offer any features you can’t get on XMPP with less computing power and more options.

If you tell your uninformed father-in-law to get a matrix chat account, he will still probably come to you asking you which client to install and where to sign up for an account. Alternatively, he could get an account on any server and install a client with fewer features than element. Again, this is pretty much the same as email: If someone is technically naive, you can just tell them to create an account with whatever provider, or simply create an account with login credentials for them and tell them to log in. Likewise, with both XMPP and matrix chat, you just add in the step that the person install a specific client to access their account (if there is not web client.) If the person is technically-inclined, they will figure these things out themselves.


XMPP can replace any other messaging protocol in a way really no other alternative can. It requires no phone number, face scan, or age verification to use. It is more secure and robust than any other protocol, and light as a feather compared to matrix chat. It doesn’t shovel your data at the MSS, NSA, or FSB. XMPP won’t change the colour of your chats because a Big Tech company is arrogant and unironically elitist. Say no to hype: Chose XMPP, chose sane, practical freedom available to anyone.