RE: Every problem we have with XMPPJuly 20th, 2025
In reply to: Every problem we have with XMPP
As a long-time user and advocate of XMPP, I've set up a server for Worlio members and contributed to the Prosody server implementation. I find XMPP exceptionally convenient and stable, making it my preferred choice for instant messaging.
I'm clearly a big fan of the protocol, but that doesn't mean I am blind to the many problems it has faced. It's not perfect, and the client implementations turn away a lot of potential users. Ultimately, though, I think all of its issues could be solved, and I'm working my way toward at least providing solutions.
This is a reply to somebody who has not done any of that.
XMPP is an old protocol. Not as old has email, but older than more modern things like Matrix and Discord.
Right off the bat, we're greeted with a meaningless statement, almost as if it is implying that old is bad. This is a fool's argument, as there are many critical things we use today in some capacity that are old. HTTP is old, NTP is old, SMTP and IMAP are old. Nobody is saying any of these are perfect, but they aren't bad.
With age and ongoing maintenance, XMPP has matured through continuous fixes and enhancements. Its extensible standard, built on a robust framework, ensures adaptability and future-proofing.
Lack of users and communities
Problem
This is one of the most important points. We use instant messaging mostly to communicate with others, but one can’t do that when there are no others to communicate with. There are a quite a few small communities on XMPP, but the largest MUC (group chat) listed on search.jabber.network (The Lighthouse) only has 1k members, and it looks to be bridged with Matrix. The 2nd largest MUC (the YuNoHost support chat) can’t be joined at the time of writing, and is also bridged with Matrix. In the past, it was only joinable when certificate validation was off. 3rd place is the chat for soprani.ca, which makes the JMP VOIP provider, and seemingly Cheogram.
Like all major platforms, XMPP started with a small user base. Popular services grow through advocacy, discussions, and community engagement. Despite its longevity, XMPP remains less known than assumed—I only discovered it shortly before hosting my own server.
There are a lot of factors I think played into why this might be, but that isn't the point. People usually stick to platforms they're happy with, and the biggest chat right now is Discord. Regardless, this isn't a protocol issue, and the author knows this:
SolutionTo be fair, this can’t really be fixed by the protocol. The main problem with adoption is that XMPP does not offer all the features that Discord and such have. In theory, presence could be extended even beyond what Discord can do, but no clients actually do this. Gajim can broadcast the currently playing song, and Psi+ can show it, but that’s really all.
As I explained, the main problem seems to be the knowledge of it, and people aren't going to move messaging services without a really good reason, especially considering the lacking client implementations. There are already too many users stuck to each other on Discord and Matrix, and only slowly does XMPP gain any.
And this mention of "features" seemingly lacks an understanding of what XMPP is. XMPP is extensible, with an ever-updated and extensive collection of standards by the XMPP Standards Foundation (XSF) branching off the main RFC 6120.
That isn't all done by salary either; the majority of the work is by volunteers. That means these people have decided to help work on XMPP for the better in their own free time, and most of them have been doing it for decades. They help propose new standards, contribute to clients and servers, and build services utilizing XMPP. What have you done to help improve XMPP besides complain?
ClientsThis section is rather opinionated.
I'm not even going to comment on this section. It is exhaustingly well-known in XMPP that the clients are lacking, but it doesn't look like that will be the case for very long. There has been a surge of developers starting work on their own recently, and I look forward to their work.
XMPP is TCP-basedProblemXMPP is based on TCP at its core. This makes it really hard to do web development for XMPP. RFC 7395 makes stuff a lot easier, but not every server actually supports RFC 7395.
This is a made-up problem, especially now. A majority of servers already support and advertise BOSH and WebSocket for enabling seamless web integration. Suggesting HTTP (also TCP-based) as a superior alternative does nothing but misrepresents both protocols' purposes.
A lot of people who favor HTTP seem to think they can make everything under it, but that completely ignores the purpose behind HTTP, and hacking together alternative protocols isn't going to make it much better. HTTP is intended for documents, and it excels at documents, nothing else.
ConclusionWe really want to like XMPP, but it’s just not catching up to modern stuff.
Throughout this entire blog post, the issue of XMPP "not being modern" keeps being brought up, but it is never explained what that means. If we're talking about clients, there do exist some "modern-looking" clients, even if they're not that great. If we're talking about features, the specification keeps getting more extensions, along with recent XEP-0444 (Message Reactions) and XEP-0461 (Message Replies). XMPP is not exactly looking like the future, but it isn't that far behind either. Only somewhat recently have the standards for creating a compelling IM protocol and service been rapidly developing.
This blog post falls short, offering exaggerated, subjective complaints rather than substantive critiques of XMPP. It overlooks genuine challenges with the protocol, fixating instead on trivial issues like 'web development' and 'modern features.' This isn’t a meaningful analysis—it’s a wish list for features the author desires.
I strive to remain open to XMPP's criticisms and accessibility challenges, recognizing that not everyone shares my technical background. My goal is to contribute to the protocol's improvement, addressing real issues proactively. Complaints alone achieve nothing.
|