- cross-posted to:
- privacy@lemmy.ml
- linux_lugcast
- cross-posted to:
- privacy@lemmy.ml
- linux_lugcast
Highlights include Sliding Sync (instant login/launch/sync), Native OIDC (industry-standard authentication), Native Group VoIP (end-to-end encrypted large-scale voice & video conferencing) and Faster Joins (lazy-loading room state when your server joins a room).
I will get shit for writing that, but Matrix in its current form shouldn’t have seen the light of the day, nor should have been let to spread with close to no technical scrutiny and based on empty promises/hype like it did.
Just to be clear, I’m absolutely encouraging, in fact, actively promoting federated alternatives to things like WhatsApp, Messenger, Signal, Telegram, …
But I don’t believe for a second that the foundations on which Matrix is built make sense, can be made to work well in practice, nor represent a problem worth spending so much time and effort solving. This article does a good job at introducing the “behind the scenes” of the protocol: https://telegra.ph/why-not-matrix-08-07
The whole history of Matrix can be summarized as:
“let’s do this because it’s cool”
“shit, it’s hard/slow, but we will figure it out”
“I have a breakthrough, here comes a new version of the protocol/client/…” (the ecosystem reboots)
(rinse and repeat)
Matrix has seen more incompatible reincarnations of itself in the last 5 years than XMPP in the last 20. Arathorn, its lead contributor and evangelist will keep apologizing, promising that this time they have their stuff in order, that whatever buzzword will solve this or that aspect of the problem, while the elephant still is in the room. You practically can’t tell apart arathorn’s messages of 2015 from those of 2022 and that would be funny if it wasn’t so sad.
IMO Matrix is broken beyond repair, while XMPP is quietly used by millions of users. I wish Matrix could carry its own weight and be so unambiguously better that we wouldn’t need competing alternatives there. To me, the better XMPP is XMPP itself, and I’d be happy to elaborate on that.
I agree in theory, but in practice my experience with Matrix has been infinitely better than with XMPP:
Matrix may be technically complex, but at least it has managed to keep its ecosystem together. Whenever I’ve faced an issue with my server, all I needed to do was upgrade synapse. The “millions of users” in XMPP are mostly all on their own silos, while I am yet to have an issue where I want to chat with someone on Matrix but couldn’t because their client/server was not compatible with mine.
Yep, I’m absolutely appreciative of the good work put together by the Matrix folks on the client side, element is overall okay (although slow, quirky, unstable, …) because of fighting a misguided and unstable server and protocol.
To answer your points:
https://siskin.im/
I would argue that https://movim.eu/ is at least as good as element web. https://conversejs.org/ does the job to bridge across native clients.
What is there to set up? The experience is very comparable to Signal and al. What did you find painful?
How so? It depends on the client, but on Conversations it’s a matter of clicking on + → “Create private group chat” or “Create public channel”. In gajim it’s + → “Create group chat”
For calls to work, you need to use a stun/turn server (like everything everywhere else, including Matrix, Jitsi Meet, …). If you self-host, and you have a recent ejabberd, it’s configured out of the box and you just have to open server ports.
Another way to put it, is that matrix is technically so complex that only a single party can afford to develop and maintain a working implementation. The documentation is lacking and alternative implementations are incompatible in effect. This isn’t a sustainable situation (that those who define the standard are the ones implementing it) and we have started to see the cascading effects of that with the bitrot of the IRC bridge with libera.chat for instance.
it’s funny because I’ve never experienced that in the XMPP world where the protocol is so stable that you can just S2S/C2S with decades-old servers seamlessly, whereas failing to update synapse for a matter of weeks guarantees compatibility issues. And I’m not even talking about 3rd party implementations like conduit for which incompatibilities is a guarantee.
@u_tamtam @pezhore It’s not like XMPP doesn’t have issues. Finding a combination of clients and servers to get a coverage of the XEPs you want is quite an exercise. MUCs are painful, especially if you want to join from multiple clients. Cross-device trust between accounts for E2EE AFAIK still requires each device to trust all the other devices manually. Matrix has many more multimedia features.
True, but the problems you mention really are a thing of the past (I’d like to get your feedback after using latest versions of maintained clients), and message delivery across multiple devices and networks does, in my experience, work much more seamlessly and reliably than on Matrix (I mean, there must be a reason why google is using XMPP behind the hood to push every single notification on every single Android device on earth, right?).
And those are client/polish issues anyway, delivering messages at enormous scale has been a solved problem in XMPP for two decades, the protocol hasn’t changed, essentially, but Matrix still hasn’t found a solution to their self-inflicted problem: https://telegra.ph/why-not-matrix-08-07
XMPP - now that’s a name I haven’t heard in a long time. I thought the woke Google chat federation and subsequent drop pretty much killed it off - but I’m glad to be wrong.
Are there XMPP based group chat/Matrix/Discord alternatives?
There is whole social network built on top of it. https://movim.eu
XMPP itself is the alternative, and the client you use shapes the user experience. If you want something that’s comfortable for large chat rooms and dealing with a handful of them on desktop, gajim is hard to beat IMO, if you want something web, movim and conversejs are good alternatives :)
@pezhore @u_tamtam Your question may require a bit of specifying. Discord is a product and a platform. XMPP and Matrix are protocols. So, uh, it’s a bit like asking whether there are any SMTP or IMAP alternatives to Google Groups? There are *many* servers and clients and supporting bots and libraries that do many things. What specific things are you interested in, to narrow it down somewhat?
Well, I’m slight embarrassed. I think that was part of my confusion about Matrix - it seemed to me that it was both a protocol and a platform. That colored my memory of XMPP too. IIRC, Jabber was the client and protocol before the protocol was renamed to XMPP.
As for what I’m interested in - I’m not sure. I don’t really use discord save for a few Patreon follows; my friends use a group Signal chat. I think maybe I’m interested in recapturing the old IRC feeling of finding a chat room and just “hanging out”? I suppose I could always dig out my Irssi client config and just join Freenode again.
(Ye gods, wtf happened here to Freenode/Librachat?)
@pezhore The confusion is somewhat warranted, since matrix.org is the main/largest instance of Matrix the protocol, using Synapse the server, and having web access via Element the client.
For just text chat, anything will do. Matrix has the bonus of having a liberachat gateway, though it’s had issues recently.
But, the experience is somewhat different. [1/n]
@pezhore XMPP and IRC (to my knowledge, which very well may be outdated) are quite similar - you join a room from a client, you get a nickname, maybe a few lines of history, you chat, you close your client or lose connectivity, you don’t know anymore what’s happening there. You want to join from another client, that’s a separate session, with a different presence and name on the channel. Your clients don’t share history etc. [2/n]
@pezhore With Matrix, depending a bit on channel settings, your account joins the room and gets either all history or starting from the point of joining. And your account is in the channel. Regardless of what clients you use, and how many of them you use, and whether they’re online at the time or not, it’s your server keeping track of what’s going on in the channel, and keeping history of it, so you have one presence and same view regardless of type and count and connectivity of clients. [3/3]
That’s not true in the case of XMPP: upon reconnecting, any modern client will request from the server enough messages to recreate the missing history (of course it’s up to you/the client to put a limit to that if you want).
I think even IRC(v3) is taking that route.