Giving Up on Element & Matrix.org: The Matrix.org network has great potential, but after years of dealing with glitches, slow performance, poor UX, and one too many failures, I’m done with it.
The Matrix.org network has great potential, but after years of dealing with glitches, slow performance, poor UX, and one too many failures, I’m done with it.
After five years of using Matrix.org/Element as my primary communication platform, and rooting for it, and promoting it, and enduring its many quirks, I’ve decided to move on (or rather back). Despite promising ideals and growing institutional adoption, the network remains slow, unreliable, and confusing for everyday users. Development feels directionless, client and server projects are fragmented, and the user experience still lags far behind my expectations. A recent incident that essentially broke my own community channel on the Matrix.org homeserver was the final straw: I’m heading back to XMPP.
I don't think Discord is great. But it's better than dealing with "Unable to decrypt message" on every message I get. It's better than being unable to properly search a channel, or server. It's better than the slow mess that Element (and other matrix clients as well!) are.
Hot take: Erlang/OTP is renowned for handling ridiculous numbers of concurrent users and has been battle-tested for decades in distributed systems, especially in comms platforms. To this day, I cannot comprehend why Matrix.org chose to use Python and Node.js of all things, instead of Erlang, or more recently, Elixir. This feels like such a low-hanging fruit in terms of architecture design, yet Matrix.org,
This explains so much. Why in the world is matrix not built on OTP??? Discord got this correct, right at the start. They went all in on Elixir and Rust and ho-boy, you can tell.
The enshittification reaper is coming for Discord; the writing is on the wall, they are planning an IPO this year. The draw is that it isn't Discord and that you can own and control the data produced by your organization (or peer group), and have reasonable control over how the platform is changed. Now if none of that appeals to you then you probably aren't the target audience.
I never understood the draw of matrix.org as a service, the ideas originally driving matrix's development back in 2017 or so was to be to Discord/Slack/Teams what Lemmy is to Reddit.
That stuff does appeal to me, but Zulip has done it better for a very long time now. Matrix, while decentralized, really provides nothing else besides pain. Organizations don’t usually care about federation. They want a single chat app that they control and they’re ok if it’s FOSS.
Like, if I’m an organization I’m choosing Slack or Zulip 100% of the time. If I’m playing games with my friends I’m choosing Discord. There really aren’t good alternatives. Everything else sucks incredibly badly.
Erlang maybe a better tech choice, but it's still a pretty bad take. Tons of much larger scale applications built on either njs or python. I certainly don't think that tech choice is what's killing Matrix. Maybe one could argue general incompetence or lack of experience on the developers though
I don’t really think there’s any massively large scale messaging apps built on node or python that function well. Node has a decent connection limit, but there have been thousands of articles written on all the difficulties you will have with that and getting it to actually perform at that level. Yes it will run, but not well. Python just isn’t even close to node, so I’m not gonna bother with that. OTP was built for this. The matrix org might have been able to get it to work with Python or node eventually but when you’re building an application that needs to be easily maintained by the open source community with as few architectural decisions as possible, it’s just not gonna work out unless you’ve chosen the right tool for the job to start with.
Edit: Zulip (the best oss chat app I’ve used) is written in Python and typescript but it’s not built for anything other than single org use. For single org use you’re not going to have tens of millions of messages a day.
Every year or so I try Element again and the experience is just bad. As an IRC alternative for quickly joining some random chat to ask a question, it's fine. As a day-to-day chat app it's miserable, I also don't understand why it's forcing encryption woes on the user by constantly nagging about it.
The mobile app used to force me to re-enter my password every now and then so I don't forget it, and since I deleted the app I'm now unable to access encryption settings on the web version because I'm forced to verify this device by using another device I was logged in at, but that's fine because I didn't have anything worth saving. I did a reset of my account, except that doesn't work: I got an error "Failed to allow crypto identity reset".
It's such a hassle. I also hate that you can be in a server but most rooms will be hidden and you have to join them manually which is so counter-intuitive!
I don't like choice was made to try to create a centralized matrix.org service to try and be a discord, Matrix makes sense when self hosted for an organization or peer group that needs messaging while owning the platform it is distributed on. Admittedly a bit niche, which is probably why a centralized big main instance was produced on what should have been a fully federated platform.
Marrying the protocol to its most well funded client was also a huge mistake, a lot of what element does is propriatary to element making alternative frontends functionally unsupported. Matrix is very confused about what it wants to be.
That being said, i use it as a self hosted alternative to discord for me and my friends; anyone who gets added to the platform receives a light education about how the encryption key management works. Just about every discussion channel created is deliberately made an unencrypted room. I desperately wish they made the high stakes encryption an optional thing that you only enable when needed. Encryption by default can be configured per server, but the reputational damage is done and the settings are at a sysadmin level, so matrix.org is just fucked
I'm not sure what better choice there is if you want strong decentralization/federation... every attempt so far has been met with moderation woes whose solution is just.. more centralization (mjolnir/shared ACLs/blocklists/etc.).