I’m probably older than many here and have used messaging systems since UNIX “talk” and “write”. Commercial IMs such as icq, msn, yahoo, google chat, WhatsApp, signal. Federated and open systems such as irc and Jabber.
I have tried to jump into Matrix, but it is terrible. The resource usage is crazy, the user experience (even for an expert like myself) is incredibly bad, I lose messages, federation breaks all the time, and it doesn’t even bring anything new to the table regarding features! I cannot recommend it to anybody, not even my nerd friends!
Curious, I dived down into its specifications, and it is clear that the people who designed it didn’t learn anything from past systems. They just wanted to create a new and shiny messenger: “theirs” — cue in XKCD 927
I understand the push for a “modern” messaging system (xmpp is from the late 90s, during the hype of xml, etc) but Matrix, while “modern” in the sense of recent, is definitely worse than the previous alternatives. It is plain unusable. I wish I was wrong. I have used it for 3 years waiting for improvements but it is simply broken by design.


I unfortunately can’t find a link to the article from a few months ago, but reading about the protocol and its development definitely makes it look like using it for a chat server was an afterthought. IIRC the protocol was good for keeping “events” in sync across multiple servers, and that was the entire intent, there was nothing chat-specific about the protocol.
And TBH after reading that, the “move fast and half-ass things” approach explains a lot of other symptoms. Synapse server is not a memory hog like it was in 2020 anymore, but does zero cleanup, and does not have an admin panel to do so yourself. Until 2-3 years ago, there was no official admin panel, just API calls (very inconsistent at that). And some cleanup (state_groups_state table) needs to be done directly on the DB! The client was generally fine, although timely notifications and attachments were an issue for some people. Onboarding was complete garbage. I give Vector/Element credit for having a consistent web/Android/iOS app though.
But now with ElementX/2.0 “rollout”, it’s a mess. Synapse is now part of corporatesque “suite”, where each module is de-facto required. Element “Classic” is not maintained anymore, while ElementX does not have feature parity and is much slower than Classic for me.