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?
Xmpp is old and has no traction. Matrix is new and there are many people believing in it. There is a lot of money put on matrix. A lot of people want matrix to succeed. Especially companies, agencies and governments love matrix. Jumping on a train that already moves forward is easier than trying to push a standing train.
With xmpp, or signal I’ve got all my messages on my device. Distributing the info to other devices is difficult. With matrix everything sits on the server and distributes the info to the clients. That’s like my file cloud, or my photo cloud or my music server, or my document server. Everything is saved centrally on a server and all is independent of the consumer device. I can use multiple devices and everything sits on the server. That’s great for me as a user, it’s easy.
Xmpp is scattered which is great on one hand but matrix development is moving very fast. Xmpp can’t compete with that.
What’s the advantage of xmpp over signal for the end user?
Wut
I don’t think you can pick out any one reason. XMPP is very old and has extensions for a huge variety of features. Many people have experience with older versions which had many major missing features (such as strong multi-device with offline support and server-side history) and a lot of the “hype” has died out long ago.
Matrix is new and made a lot of decisions that really helped its popularity.
- Having a HTTP-based client-to-server protocol makes web clients very easy to make.
- It is based on sync and merging rather than messages which moves some difficult problems (like multidevice and server-side history) into the core protocol meaning that it works well out of the box.
- Having HTTP based protocols make hosting it familiar for many people.
- The “default” Element clients have lots of features out of the box, features that for a long time were not always present on XMPP servers or clients. This gives a more consistent experience.
We will see what the history holds. Matrix is still very new and maybe the hype will die out and we end up moving back to XMPP. Or maybe something new. Overall I don’t think there are major fundamental differences. I think Matrix making graph sync the core primitive to build off of was a good idea, but in practice I don’t think it matters much.
You say that XMPP is much lighter. But I think that is mostly due to Synapse not being very efficient. Other implementations are fairly light. Even then my Synapse is using fairly small amounts of resources. You should also check that you are making an apples-to-apples comparison with large rooms, media and message history like you would typically see in a common Matrix server.
deleted by creator
Show me a docker compose file which I can simply start and don’t have to mess around more than deploy it, and I will discuss xmpp more often.
Here is a docker compose: https://snikket.org/service/resources/docker-compose.yml
You only two configuration options in the config file: domain and email.
OK, I’ll give it a try. Thanks.
I’ve tried Snikket a few years ago. Nice project. 👍
I’m trying out another extremely lightweight nostr relay
Many people have not used XMPP in years or never and go by hearsay of outdated information.
Matrix on the other hand had several million Euros of venture-capital to fund a marketing campaign.
Holy shit, that explains how this piece of embarrassment has conned actual people into using it.
This makes matrix even less attractive to me lol. But you’re right, that’s a very good point.