// HACKER NEWS — CYBERSECURITY
Jabber/XMPP: How Do We Gain Traction?
When I first installed Signal in the second half of 2023 to stay in touch with a few friends who had recently switched, it did not support message edits. This completely broke the way I used instant messengers. At that point, editing messages was a widely deployed feature across other instant messaging clients. Conversations had supported it since February 20161 and I had acquired a habit of typing a message, sending it, and only then reading it again and checking for typos. The lack of such an essential feature caused me to send incomprehensible messages, making the app almost unusable for me. Signal forced me to adapt and change my habits.
Signal did eventually introduce message edits in late 20232, but to this day the app suffers from quirks and bugs that annoy me regularly: Notifications for incoming messages are occasionally unreliable. Incoming calls can’t be answered when my phone is in Do Not Disturb mode, even though the call shows up in the chat. And single-emoji messages that are supposed to render as one large emoji sometimes just don’t.
I understand that Signal is open source. I understand that the cryptography is state-of-the-art. I understand that Meredith Whittaker is a very charismatic person. But sometimes I’m left wondering if the vocal advocates of Signal have actually used the software for an extended period of time.
The reason I keep using Signal despite all of that is that there are people who are important to me that I can only reach on Signal.
A frequent argument against the Extensible Messaging and Presence Protocol (XMPP) is that the baseline feature set is too small and the number of extensions too high. Matrix is a publicly documented but proprietary API, which in many ways is a direct competitor to XMPP. It was allegedly created to address those exact shortcomings of XMPP3 and it can be argued that Matrix did achieve that. There is one reference implementation available for most platforms—in fact over a decade into its existence it’s still difficult to find anything but the reference implementation—and by all accounts it provides a decent user experience. For something that is supposedly objectively better than XMPP, we would expect significantly higher user counts. So let’s look into that. Getting user numbers for federated systems is difficult or even impossible by design, but we can look at publicly available download numbers of the respective Android clients. At the time of writing, Conversations has ~310K downloads on Google Play while Element X sits somewhere between 500K and 1M4. If we want to be charitable towards Element X, we could assume it has about three times the downloads of Conversations. That’s more, but not by orders of magnitude. If we look at download stats from F-Droid5, the gap narrows even more to 630K for Conversations versus 940K for Element X. Not even double! And a similar ratio could easily apply to the Google Play stats if we take an uncharitable reading of Element X’s 500K–1M range. These metrics are imperfect in countless ways, but they certainly don’t obscure the one or two orders of magnitude needed to claim that Matrix is substantially more popular than XMPP.
Delta Chat, which in some recent feature comparisons6 wins over XMPP and prides itself on being beginner-friendly and consistent across platforms, is doing—according to F-Droid download stats—even worse than Conversations.
Maybe I’m biased when it comes to instant messaging products, but the pattern of federated solutions struggling to gain traction despite polished interfaces and complete feature sets extends to Mastodon as well. Mastodon currently doesn’t lack any major features that would stop anyone from using it—at least not compared to what Twitter had to offer during its heyday—yet Mastodon’s user numbers are a rounding error compared to mainstream platforms7.
In a 2022 test, Stiftung Warentest, Germany’s leading consumer advocacy organization, compared 30 messenger apps and put Skype in second