Maybe not a popular opinion, but they should let the Matrix die altogether so something better can replace it.
Maybe not a popular opinion, but they should let the Matrix die altogether so something better can replace it.
IETF standard, massivelly used (video-games https://xmpp.org/uses/gaming/, IM https://xmpp.org/uses/instant-messaging/, social...), modern features, managed by a fundation with a good ecosystem and plenty of alive projects: https://xmpp.org/software/ .
Yes its not perfect, yes there's still things to improve, but the clients are there, working, on many platforms. The server-S (yes several of them!) as well, they can scale, they can adapt to many use cases.
Matrix did a few things better than XMPP (the Spaces/Servers things, that XMPP is still figuring out), but for most of the rest... well.
Oh and there's also many bridges on XMPP, maintained by different projects, and they don't need 100K$ to stay alive :)
Anyone telling me "actually nvm, I'm switching from Matrix to XMPP again" won't get me to replace the chat app that I keep just for this one person plus 2-3 others with another experimental, broken, soon to be replaced chat app, they'll get a link to Signal and an invite to send me a letter if they don't want to use that.
Matrix seems reasonably usable for 1:1 channels at least, and I've also successfully used it for groups, including ones bridged to discord and IRC.
I literally have no single person to talk to on XMPP. The software names you mention all trigger flashbacks of horrible experiences, with my last experience even worse than my recent experience with Element, and unless they have been rewritten from scratch, I wouldn't be willing to install them again. At least I can run Element in a browser tab where it can't pwn my system...
There seem to be three incompatible standards for e2ee on XMPP, the latest being https://xmpp.org/extensions/xep-0384.html which is marked "experimental". I've never seen OpenPGP used, OTR was a compatibility nightmare, and I think by the time OMEMO started to be a thing XMPP started to stop being a thing.
I used to have a couple 1:1 Matrix chats with friends where I was trying to bridge the whole "different OS" issue for E2EE chat. Neither of them use Matrix anymore, and we were all having issues with Signal (my account is still b0rked). It was just too much hassle. So I mean, the anecdotes go both ways here.
(that said, a web-based client has the aspect that an exploit could be inserted at any point with only a page restart necessary, whereas a native client would need updating; but hopefully you update your client, lest you start missing out on new protocol features!)
There are a gazillion clients for Android, mostly forks of Conversations implementing slightly different extensions, but like the upstream they fail at being enjoyable to use. I have not found a decent desktop client as of my last attempt.
I seriously think that XMPP is one of the best examples of why the "write protocols, not apps" approach has failed. Without an actual, complete and cohesive reference implementation, that others follow with theirs, there will always be a fragmentation like this, which will always ruin any attempt at mainstream adoption.
And there's plenty of inconsistencies across matrix clients too: some don't support displaying spoilers and so get spoiled (incl. Element X android); most (incl. Element) don't have a way to send spoilers outside of whole-message spoilers or manually writing out the HTML. Thread support is flakey. Some clients insert a newline every 70-or-whatever chars, which is supposed to be ignored by proper HTML parsing, but some things don't. Off the top of my head.
Apparently they are unable or unwilling to moderate and prevent spam, even on arguably probably the first channel a large part of their potential users would join first.
That evaporated any remaining interest I had in it.
Even PGP was easier to adopt en-masse than this.
But I can see why bad experiences in the past would stick.
Element is the only piece of software where logging in and out (I don't want to be permanently logged in) proved to be too much of a challenge - I was regularly losing encryption keys on different devices.
If you are ever at a point where you have no active sessions (aka “devices”) then other clients will not be able to send you the keys to decrypt their messages.
This is one of the many ways to get “unable to decrypt” errors in Matrix.
It's still so clunky and so difficult to get off the ground. To start, E2E key verification just wouldn't work on Element X; she had to install Element, verify my key there, and go back to Element X.
That would be easy to overlook if the UI felt responsive and snappy, but it doesn't. It feels far from native. I don't know if it's Electron under the hood--I haven't checked--but it sure feels like it. It feels unresponsive in the same way as a stereotypical bank app, like walking through Jello. Maybe it's a protocol issue; I'm not sure.
I've got a nice, powerful homeserver running, waiting for love, but it will continue waiting until such time as there's a responsive client. Every month or two, I upgrade it and give it another shot, but I always end up back on a mix of Telegram, WhatsApp, Slack, and Discord. None of my work or social circles are willing to make the switch when it feels so slow.
If I'm using a mobile app, chances are I'm on-the-go. I probably have a slow, high-latency, or otherwise unreliable connection. It's possible it comes down to protocol differences that hinder UI responsiveness.
Edit: As a test, I just sent a message from my phone while on a cell connection with good service. Hitting the send button felt unresponsive: it took a bit for the message to appear in the chat history (maybe 100-200ms). That's on a stable 300 Mbps connection mere miles from my homeserver.
For contrast, Telegram doesn't wait to clear my text area. I can queue further messages to send even if my first hasn't gone through. Same for Slack and Discord.
The first msg does take a little longer to clear the composer, but it’s barely noticeable. And as the recording shows, it queues up msgs fine if the first hasn’t gone through.
How does this compare with what you’re seeing?
If I search for Element on app stores I still get the old app first (with millions of installs, vs. tens of thousands with Element X), and https://matrix.org/try-matrix also still points people to the old app. So I'm confused what "past" you're talking about :)
Similar situation with Dendrite BTW, it's been in beta forever, and the only private Matrix community I ever was a part of ditched it because Synapse was too much of a resource hog, and there's no clear migration path.
It doesn’t have threads or spaces yet; threads are underway currently; spaces will follow.
Dendrite on the other hand has been relegated to an experimental server; we didn’t have bandwidth to do both Synapse and Dendrite so focused on improving Synapse instead, which has steadily become less of a resource hog. Guess we should provide dendrite->synapse migration paths.
And surprised to hear Dendrite is now just experimental and not the future anymore. The README and FAQ on GitHub give no indication of that at all, maybe start there?
That looks to be a snafu. It’s featured on https://matrix.org/ecosystem/clients/ for instance.
> And surprised to hear Dendrite is now just experimental and not the future anymore. The README and FAQ on GitHub give no indication of that at all, maybe start there?
Yup, the readme needs to be updated and that’s with me.
That said, ElementX's video and audio calls work really well. If you added the ability to ring people's phones, so I don't have to first negotiate people into the chat using text messages or a phone call, I could see using it instead of FaceTime.
Another example: Matrix HQ is always notoriously slow. Just now I opened it and there are no messages ... none. No spinner. Just a note at the bottom saying "27 room changes." I waited for at least 10 seconds. Force quit the app, reload, and the messages are there.
What platform are you using that performs so much better than mine?
I suspect you are hitting perf issues on Android due to lack of caching (which bite Android way more than iOS due to JNA being way slower for calling the rust-sdk than Swift’s rust bindings). This should be fixed by https://github.com/matrix-org/matrix-rust-sdk/issues/3280, which as you can see from all the checkboxes is making progress.
This is good news! Put ElementX on the desktop, make the UI less weird, fix the room key sharing bugs (I last saw "message couldn't be decrypted" last month), and Matrix could really become something.
Thanks for correcting my misconception.
Can I check which platform you are doing the comparison on with Discord? Is this on the iPad or Android?
EX on iOS should be at least as smooth as Discord.
> fix the room key sharing bugs (I last saw "message couldn't be decrypted" last month),
This should also be fixed; i hit undecryptable messages way more on whatsapp and signal than I do on Matrix these days. If you hit them, please report them on both sender and receiver as we jump on each one at high priority (which thankfully we can afford to do these days, given they are rare.)
A group of friends and I have been using Matrix for a couple of years now (web, Android, iOS, maybe some native clients (not sure here)) - and it's just been working. So maybe we're just using it somehow differently but we've all been quite happy with it.
The only oddities I'd noticed was when joining a massive channel, and people posting from the @matrix.org homeserver instead of their own or this small community one.
- Very slow for a chat client. Startup, input lag etc
- Continous popups to verify/authenticate. I was never able to complete this process to to some combo of bugs, or the difficulty level being beyond me.
- Synchronization bugs between desktop and mobile clients; messages would be missing for some people, or on some devices. Or the messages would show, but edits not reflected.