Jabber/XMPP: How Do We Gain Traction?

Source: gultsch.de
82 points by inputmice 4 hours ago on hackernews | 103 comments

Signal Sucks, Actually

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.

Orders of Magnitude

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.

Feature Comparisons

In a 2022 test, Stiftung Warentest, Germany’s leading consumer advocacy organization, compared 30 messenger apps and put Skype in second place after Signal8. This was barely three years before Microsoft announced plans to retire Skype altogether9. And even in 2022, the writing was already on the wall, because nobody had thought about Skype in about a decade.

For the tech-literate and enthusiasts, it’s easy to fall into the trap of trying to quantify what makes a messenger ‘good.’ They build elaborate comparison matrices tracking dozens of technical criteria across various apps10, but user adoption clearly isn’t decided by who has the most features or the prettiest interface. If there were such a thing as an objectively good messenger, we wouldn’t see regional differences, with LINE dominating Japan and parts of Asia, WhatsApp dominating (Western) Europe, and iMessage being a de facto standard in the US.

There are only two features people actually care about: reliable message delivery and the ability to reach their friends.

Network Effect

The network effect—making a messaging app only as valuable as the number of friends already using it—is so overwhelming that even Big Tech is unable to overcome it. Google failed countless times to establish an instant messaging product. Facebook, with the power of an already established social network behind it, failed and had to buy one for $16 billion11. In more recent news, NVIDIA acquired Hugging Face, a platform notorious in some circles for hosting open-source AI models tuned for non-consensual intimate imagery (NCII)12, for $12.9 billion. NVIDIA could have easily vibe-coded a similar platform with feature parity to Hugging Face in the better part of an afternoon. But they didn’t buy Hugging Face for its remarkable features. They bought it for its users.

I don’t feel bad about failing to create a successful instant messaging app if warehouses full of software developers and trillions of dollars in market cap are unable to do it either. There wasn’t anything particularly unique or special about WhatsApp. It’s survivorship bias. We simply don’t hear about the many failed competitors unless they fail in a very public way, like Google Talk, Google Hangouts, and Google Duo.

There is a myth in capitalism that hard work will pay off. In reality it’s basically impossible to win at capitalism and get rich unless your parents are already wealthy or you get extremely lucky. A slightly more nuanced (if borderline neoliberal) take that I subscribe to is that you can increase the surface area for luck to strike. You still have to be incredibly lucky, but you are not going to sell your shitty website to NVIDIA for $12.9 billion if you never created a website in the first place. Beating the network effect works much the same way.

So how do we increase the surface area for luck to strike?

Visibility

When trying to beat the network effect, increasing the surface area simply means visibility. Every time Jabber/XMPP enters the public eye, the response is rarely one of outright dismissal or a fundamental disagreement with the idea that communication should not be controlled by a single company. Instead, the typical reaction is “I didn’t know this existed” or, more commonly, “I didn’t know this was still around,” combined with a mental image of an ICQ-era client. Demonstrating that XMPP provides a modern instant messaging experience on par with its Big Tech rivals can make a real difference.

There is every reason to be skeptical of appeals to individual responsibility. It’s unreasonable to expect individuals to combat the climate catastrophe by taking the train instead of flying if decades of austerity politics have nearly destroyed the rail network and left trains an unreliable, overly expensive mess. When it comes to visibility, however, an appeal to individual responsibility is fair: the cost of creating that visibility is often negligible.

On a small scale, this can be as simple as adding your XMPP address to your website or Mastodon profile, or putting a [ Share via XMPP] button on your blog posts. With a little more effort, you can write about your experiences with XMPP or share the cool stuff you are building on top of it. Or take the creative route: record a short skit explaining the benefits of open protocols over walled gardens13. Another great way to build visibility is to seek out local events and conferences—not necessarily just tech-related ones—to talk about the project. You don’t need to be an expert; sharing a user’s perspective and explaining why digital independence matters to you is more than enough.

Even more important is the impact people with an existing platform can have. If you run a publicly funded podcast that takes listener questions via WhatsApp and Signal, accept them via XMPP too. It costs nothing to install an XMPP client on the same device already running the other two apps, and you probably don’t even need approval from a superior. YouTube and Nebula content creator TechAltar1415 sets a great example by inviting questions for his weekly FAQ via Mastodon, giving the platform a natural shout-out whenever he answers one on air.

The same applies to publishing content: if you send newsletters or updates via email and messaging apps, do it via XMPP as well. Sending one-way XMPP messages through an HTTP API is easy to integrate into existing systems16.

Finally, if you host an influential tech podcast and give Meredith Whittaker a platform17, consider mentioning XMPP once in a while too. It’s fine to disagree on the current practicality or readiness of XMPP, but we can surely agree that open, federated platforms are the ultimate goal. We can argue whether Signal is a step in the right direction or a detour, but we should all be able to agree that it’s not the final destination.

Give It a Shot

Signal doesn’t actually suck. It’s fine. It gets the job done. It lets me communicate with my friends. We are quick to dismiss a new thing after two minutes of trying it out just because it doesn’t meet our expectations. This is especially true if we are pressured into something instead of following intrinsic motivation. We obsess over the little things that ultimately don’t matter. However, if we earnestly give it a shot, we get used to it. We adapt.

So I invite you to read my essay, 25 Years of Digital Independence18, on why we need federated systems and open standards. More importantly, I invite you to give Jabber/XMPP a shot19. Maybe you’ll even discover a feature or two that makes Jabber unique and that you’ll miss every time you try something else afterwards20.