I’m looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?
Xmpp seems way easier to host, requiring less resources, has many more options for clients, and is simpler and thus easier to manage and reason about when something goes wrong.
So what’s the deal?
@cyclohexane I can only speak from my personal experience having hosted both XMPP and Matrix for friends/family before.
Ran XMPP (eJabberd) for round about 10 years and it never really was a trivial process, neither for me as admin nor for my friends/family with regards to parcipating.
Basically, back then, I had to manually extend eJabberd with a bunch of XEPs (namely push notifications, message carbons and message archive) to increase the useability and user convenience to even stand a chance getting people on board and able to use the system. The client ecosystem was not quite there yet either - Conversations for instance had just come around to shaping up for android, Gajim for cross-platform was pretty fine though.
Let’s not talk about E2E encryption either: GPG - not a chance, OMEMO was just coming around as well and was not yet very reliable.
Matrix on the other hand was quite the breakthrough for me as an admin with regards to user acceptance. I do believe that a big part of that comes from the concerted effort to have a unified client (Element) available on any platform - web, fat clilent, mobile client.
By now there’s also a ton of cross chat platform bridges which also greatly serves as a “selling point” towards users. And most imporantly, again in my humble opinion, the required technical knowledge barrier for users is just not comparable to XMPP.
Don’t get me wrong, I’ve learned so much as an admin setting up and hosting XMPP and for a short while I even had a PoC going at work to try and advocate the protocol, but in the end Matrix feels like a worthy successor to me.
It allows me to convince “normal users” to use a federated, self-hosted and free chat platform reliably - and that’s what mostly matters to me :wink:
You might want to try Snikket for XMPP then. Really streamlined hosting experience all out of the box. But Ejabberd also improved massively in that regard and their Docker images and deb/rpm repos pretty much work out of the box these days.
I host both Ejabberd and Synapse since some years and while I can see how self-hosting Synapse is a bit more approachable for first time self-hosters since it uses mostly web-technology under the hood, Ejabberd has been much less of an headache to maintain over the years. It pretty much just works and uses very little system resources (contrary to Synapse, even though it has improved a bit in that regard lately).
Edit: OpenPGP is supported by some XMPP clients for many years and OMEMO is significantly less problematic than Matrix e2ee in my experience. Matrix is a never ending stream of forced key resets and “message could not be decrypted” if you use it with the official web-client.
Prosody is also really easy.
Does snikknet federated properly? It’s weird they don’t seem to mention XMPP anywhere on the site
Yes it does. It really is just a pre-configured Prosody server, made by one of the core Prosody developers.
Snikket does not mention XMPP intentionally as their entire reason for existing is that it is supposed to be XMPP for people that don’t care what XMPP is. They laid out that reasoning in a blog post a while ago.