Aside from "XMPP is old" I don't see any reason to favour Matrix. I also don't see XMPP being around long enough to have a strong ecosystem that's constantly built on to be a bad thing.
From a #selfhosting perspective XMPP is far easier to run as well.
For E2EE they both use OMEMO.
And ofc it's in the name, XMPP is extensible.
Technically speaking I should say XMPP can and often does use OMEMO but can be used to implement literally any type of E2EE you want. You can outright port the full Signal Protocol to it and encrypt metadata if you modify the code a bit. You can even use PGP (although I view this as a legacy feature when OMEMO is more features, uses only ECC, and provides forward security).
@aspie4K Matrix is from one company that provides clients for all major platforms and manages community work. There is no such thing for XMPP. It‘s only thanks to the effort of some single persons that there now is some common sense about which protocol features to implement. Which is not for a long time. And only few clients do implement these features in an acceptable manner.
@patrick @aspie4K Hm, well. That's kinda debate of principles. Many projects out there only work because very few people garantuee their existence. And only few projects are able to do otherwise. XMPP would not have reached any reasonable attention without the work of Daniel Gultsch f.e. You could argue the same about Linux, Linus Torvalds and Red Hat…
@patrick @aspie4K I mean, did you read "This week in Matrix"? https://matrix.org/blog/category/this-week-in-matrix
That's (at least) at the level of what Red Hat/GNOME does: https://thisweek.gnome.org/
@letterus if as you yourself just said Matrix is one company making everything, wouldn't that be a point against Matrix being some kind of community lead ecosystem? Furthermore your statement about XMPP make it seem like it has much more claim to being an open ecosystem as opposed to one company just making everything.
@aspie4K #matrix is more modern, more hyped and more cohesive. People with deeper background are mostly bitching on XEPs. You don't have one robust set of functionalities you can rely on. Every server or client supports only subset of all xeps to some degree. So if you want more than simple plaintext chat, you sometimes run into issues. Specially with federation.
I personaly use #xmpp just because I hate how resource hungry matrix instance is and I like thing simple and minimal
@marian_mizik agree 100% about the inconsistent functionality across servers and clients on XMPP, that is a real problem and my primary complaint about it. This is also partly why I run my own server, to make sure it supports everything I need.
Matrix for sure is more hyped and therefore has more active users and development. But yeah Synapse is far more of a bloated server than something like Prosody which can be run on barely any resources at all.
@marian_mizik I appreciate the minimalism of XMPP as well, that's one of the main reasons I use it over Matrix.
@aspie4K Personally, I like both, and I am far, far from an expert on either, but:
2. Development seems to be advancing more quickly for #Matrix. The extremely regular releases seem to making really strong progress.
3. Adoption seems high. Many of the projects I'm interested in already seem to be active on Matrix.
@Blort all valid points and I do like some of the groups on Matrix, certainly a lot of active ones relevant to tech although I tend to access them via bridges.
Development is moving at an impressive speed for sure. I used it a couple years ago still felt like beta software. Tried it a year later and it already felt a lot more polished.
That said I'm also very happy with Conversations. It doesn't need loads of frequent updates. Already clean UX and functional.
@Blort @aspie4K Yes, you gain initial development speed by starting from scratch, collecting venture capital money and having a rather monolithic protocol, but in the long term it's better to improve and build on existing Internet Standards instead of constantly re-inventing something as basic as a chat protocol.
FYI @aspie4K Matrix has switched to Megaolm for a while now, which enables E2EE group chat. Its cross-device support is also more user friendly with key exporting/importing.
@cnx OMEMO can support E2EE group chats too but I do agree that management of multiple devices has better UX in Matrix.
@Unairedspecifics ah yes correct you are, they switched over from OMEMO a while back, forgot about that :)
@aspie4K The real issue is that many XMPP projects lack funding and often consists of one or two people working in their free time, whereas Matrix has a bunch of venture capital and a number of full time developers.
"Old" is not just about time, but also about UX.
I don't like Matrix at all, but it's close to current generation of messengers for genal audience.
@skobkin what's bad about the UX of Conversations? It looks pretty much the same as Signal, WhatsApp, Threema, etc and not all that different to Element really except less crowded. There's also other clients, some a fork of Conversations, that are designed with a more customisable UX. All the properly maintained ones people actually use have a modern feel.
> "The devil is in the details"
The same small details which make current proprietary messengers more friendly to the user.
For example how many years it took for XMPP to release XEP-0363? If I'm not wrong, it was released only in 2020.
Also if I'm not mistaken, Conversations still doesn't support it according to this page:
BTW, I had my XMPP server (ejabberd, then migrated to prosody) running in ~2007-2016, but I've shut it down because neither me nor other users were interested in it anymore.
@skobkin I certainly am not arguing with the fact that average users prefer centralised commercial services, my question was aimed at the FOSS crowd here who go for self-hosted decentralised solutions. We're a niche of course.
Tools shouldn't come before people. I'm a developer myself, I love FOSS (I'm writing this message from Linux right now), but it's unlikely that I'll be using some *messenger* if there is nobody there to send messages to.
XMPP has something to learn from Matrix which is closer to the people.
I dislike Matrix in a technical way, but I can't deny that it has much more chances to win general crowd sympathy than XMPP.
XMPP had it's chance in ~2010 when many companies were implementing their solutions using XMPP. But it talentlessly lost it being unable to change fast.
> question was aimed at the FOSS crowd here who go for self-hosted decentralised solutions.
Anyway. I'm that kind of person and I'm currently running Synapse on my server. I don't like it very much, but at least it solves a bit more "common people" problems than it creates (for now).
I was thinking about running Prosody again, but every time I'm stopping myself because I know that I'll have very few contacts in my roster comparing to other services. And there's almost no point in it because top five people I'm having conversations with wouldn't use it anyway.
And for situations when I need real privacy and security, I can use email with GPG encrypted data.
The situation around XMPP makes me really sad. But I'm trying to be realistic 🤷♂️
@skobkin but herein lies my question: aside from knowing more people who use it, what advantages does Matrix have over XMPP?
Not looking to pick a fight, it's a genuine question.
Fwiw I used to self-host Synapse but didn't know anyone else who used it. I do like some of the groups, but most of those have bridges with XMPP as well as centralised platforms like Telegram anyway so I use those more than I open Element.
> aside from knowing more people who use it, what advantages does Matrix have over XMPP?
I've just provided one example above. File transfer is much more user-friendly in Matrix. XMPP implemented something like that in 2020, but it's still not adopted.
To continue this I need to actualize my XMPP knowledge and check how other things like history synchronization, some MUC-specific features, notification stability on mobile devices etc. But I don't want to spend my time doing that right now because the only thing I'll get from that is the longer answer to your question.
So basically it's like I said: some small UX details. And don't get me wrong, I'm not praising Matrix because I hate Electron and it's UI make me want to throw up, but still.
@skobkin fair enough, these things do ultimately come down to personal preference anyway.
File transfers work fine for me using Conversations with a Prosody server. Last night I also had an hour voice call through that same setup, it was flawless and clear, setup was also very easy and quick (in terms of enabling it on my server, it's literally installing Coturn and setting a shared secret with Prosody).
When the pandemic first hit I also used Jitsi a lot which uses Prosody, was great.
The problem is "fine for me" isn't enough for everyone.
And I'm not talking about "isn't ideal" because you can't make anything ideal for everyone. But you can make it "good enough".
BTW, I'm encouraging the people I know to use Jitsi Meet instead of Zoom because for simple cases when you just need to have a simple call it's much more convenient. For enterprise usage with a lot of integrations it could be more complicated, but for general public Jitsi Meet is good.
@skobkin I'd argue XMPP is at the very least "good enough" for everyone... after all most of the population (of Europe, at least) uses WhatsApp instead of SMS. WhatsApp is nothing but a basic proprietary XMPP client. The biggest messenger in the world is just Facebook XMPP. If that's not "good enough for everyone" I don't know what is.
@skobkin very much agreed about Jitsi btw, much better than Zoom and very easy to get people to use it because it's just as easy to use, they just click on a link.
Enterprise is a different story, companies want SLAs. My employer uses Microsoft Teams which to be fair is perfectly sufficient. Way preferred to Zoom. Never had an issue with Teams.
Sorry, can't help repeating that this post is inaccurate, XMPP has had solid file transfer for many many years.
What you're saying about XMPP vs Matrix UX brings to mind the reasons I started Snikket though: https://snikket.org/about/goals/
The main difference I see in Matrix land is the existence of Element (the company and the app), which gives them resources (they've raised $millions) and consistency (they control the app development on all major platforms).
> has had solid file transfer for many many years
In my experience (which I had from ~2007 to 2016) it was bad. P2P transfers were working like shit and often required to manually change account settings to add proxy address.
Direct text-based transfers always weren't worth mentioning in real life.
Sending the file to the person who is offline or to the MUC was a problem too.
If you and me had such drastically different experiences, then it means that something is wrong with XMPP ecosystem. And that exactly was one of reasons I left it.
> the reasons I started Snikket
I can totally agree with these goals. The fragmentation and sporadic feature support from client to client and from server to server was one of reasons me and my friends are not using XMPP anymore.
I can only with you luck with such project and hope that it'll work because I'm not fond of what Matrix doing and how it's implemented.
A federated social network for aspies and other NDs to be themselves. Chat to others with ASD, ADHD, etc. Connect to the fediverse to bring in content from a whole network of niche sites and follow people who share your interests. Strict yet flexible privacy controls for your content with no ads or tracking.