There’s a surprising amount of negativity in here. Matrix is great for me. I’m happy to see the improvements. I’m also happy to hear the team is approaching sustainability. Matrix isn’t perfect but it has only improved in the 5 years I’ve been using it. I’m looking forward to what they can do in another 5 years.
Every new release or "This week in Matrix" post I check to see if Discord style detailed permissions and voice channels get added and every time I get disappointed. I fear it'll never be added at this point due to the funding issues. I hyped it up to all of my friends who stick to Discord that "One day" it'll compete with Discord and we, and millions of others can all finally be happy. I hope that day will come, but my hope is fading.
What would you say the delta is between Element's current video-rooms and Discord-style voice-rooms (if you go and mute video for everyone), ooi? The only reason Element hasn't implemented precisely the same UI as Discord is because it's not (currently) trying to be a Discord competitor, but more a "run your own encrypted Teams alternative", given that's what Element customers are asking for right now, and we're having to follow the money to try to get sustainable. However, what we're trying to do is to ensure that Discordish features still work, despite having to focus more on Teamsish features.
In terms of permissions: I'm a bit surprised that folks feel limited by Matrix's freeform hierarchy of permissions. Every user can have a 'power level' from 0 to 100, and you can then customise the threshold required for literally permission (e.g. you need power level 54 or higher to kick users, or whatever). The only difference with Discord is that Discord lets you pick entirely arbitrary combinations of permissions (e.g. have one user able to kick but not ban, but another user able to ban but not kick, or whatever). How useful really is this in real life usage though?
I'm trying to work out whether the problem is if Element's UI for configuring permissions is too basic, or whether folks really do need a full RBAC permission matrix, and if so, for what use case?
In my experience with running Discord servers you setup a couple of hierarchical roles (admin, moderator, user etc) when you first setup the server and never again.
However I'm constantly adding new roles which are really just groups of users. I would say 90% of all the Discord roles I've ever created have no permissions associated with them at all and just exist to ping a group of users (or act as a tag for bots).
Maybe that's served by a different feature in Matrix for user groups. If so, that's still not quite as useful, because sometimes later on you decide the group needs a permission (e.g. a casual gaming group has grown enough to justify having it's own channel).
The power level model of permissions feels to me a bit overly simplified. It’s so easy to imagine scenarios where you need exceptions to the rule of permissions existing on a single axis that it seems very limiting from the outset.
The idea of ever increasing and overlapping scopes I don’t think maps well to most people’s mental model of who should be allowed to do what. People mostly want to define an arbitrary role; admin, user, team leader, whatever, and just pick what that role is allowed to do in isolation. It’s marginally more work to setup initially picking all of the permissions again, but it removes all of the overhead of having to monitor what permissions are being adopted from lower scopes on the power level axis.
I also think the power level system makes it much harder to “refactor” permissions for specific roles without affecting permissions for everyone “above and below”
the discord style permissions are simply easier to understand. it's classic role based. you define the roles, and assign the roles to users. matrix permissions forces a hierarchy that is awkward and more difficult to apply because i have to force permissions into a hierarchy. on discord i don't have to think about the hierarchy.
The official client is clunky and being electron on the desktop doesn't make it better. Messengers live and die on UX. Since it's an open protocol alternative clients exist of course, but are often not feature complete. Things are often slow, especially with large group channels with lots of messages.
If you host a server yourself - it's great that you can! - you'll try the official implementation, synapse — ...and discover that it's a resource hog. Things got a bit better with some streaming sync protocol or something like that, but last time I looked it up that was still experimental and the server is still a chonker. Again, alternative servers exist, again the problem with feature parity.
I feel like the protocol is bloated as well, but I didn't dive into it too much to have a good opinion on that.
When choosing a messenger, I go to Signal for security, to IRC for simplicity and to Telegram for UX. I never thought "Oh let's use Matrix"...
From time to time, I go and check if there's a stable non-Electron Matrix client available - Qt would be nice. Thus, I'm still on IRC. I've tried participating in some bridged Matrix channels, but the IRC bridges I've encountered were super annoying. All messages come from one user, the bridge. Very often, the same message gets repeated twice or more, for some reason. I guess Matrix has no limit on usernames, so some users have names that are more than a line long. It's all very tedious.
The QT client for Matrix is called Nheko: https://nheko-reborn.github.io/
There's a client in just about every toolkit. Just takes a cursory internet search...
There's also a really great Gtk client called Fractal from GNOME; it uses the same matrix-rust-sdk as Element X: https://gitlab.gnome.org/World/fractal.
Meanwhile the plan for Aurora (Element X Web) is to run it in Tauri or similar to placate all the Electron-haters: https://github.com/element-hq/aurora
There is also Neochat from KDE, not fully featured like Element and E2E Encryption still experimental the last time I checked, but it is a nice alternative if you want a non-Electron client.
One of the big problems is that folks judge Matrix based on the legacy Element apps, which have now been succeeded by Element X: https://element.io/blog/we-have-lift-off-element-x-call-and-... etc. Element X kicks ass, in my (very biased) opinion: it's a super-speedy Rust core with fancy SwiftUI and Compose native UI layered on top. It radically outperforms any other encrypted messenger i've used in terms of UI perf and usability.
However, because it's a rewrite, it doesn't quite have feature parity with the old apps, which are now over 10 years old: Threads is in beta; Spaces haven't landed yet, and Widgets aren't implemented yet. Therefore, we have to keep the old app around for users/customers who depend on those.
As a result, >80% of the people who say "Matrix sucks" are actually talking about bad experiences on the old Element mobile apps - rather than better client Element X or indeed Matrix clients from other folks.
There's also a large set of people who got bitten by encryption problems, almost all of which were fixed by Sept 2024.
Finally, there's folks who got bitten by the sad history of bridging in Matrix: IRC bridging used to be relatively okay; the team then got very stretched due to lack of funding; we tried to land a major PR to improve its architecture; the PR introduced bugs; Libera got very upset; we tried to fix things but failed to do fast enough. As a result, bridging to Libera in particular is awful these days, using adhoc bridges which funnel all traffic through a single user, with no ability to join arbitrary IRC channels on demand or use Matrix as a bouncer.
These days, the priority at Element is providing a self-hosted, decentralised WhatsApp and Teams replacement for governments... and once we get sustainable doing that, we'll be able to spend time building community features once again.
You're probably right that it's the UX of the OG Element that was the original problem people got hung up on but Element X isn't actually a relevant answer until it's usable, regardless of how much better it sounds like it will be on paper. A secondary problem people got hung up on was the endless parade of "you're just using the wrong client, try ${this}" and then finding it was missing half the things that they were told Matrix can do.
I'm still optimistic about Matrix but I am a bit worried that it has lost a lot of steam because of this UX history.
> One of the big problems is that folks judge Matrix based on the legacy Element apps, which have now been succeeded by Element X
Which is mobile-only. Element's UX on desktop is still a joke.
> These days, the priority at Element is providing a self-hosted, decentralised WhatsApp and Teams replacement for governments... and once we get sustainable doing that, we'll be able to spend time building community features once again.
In other words, you don't have the community's best interests in mind, but we should rest safe because you'll have their best interests in mind at some point in the future, maybe.
> In other words, you don't have the community's best interests in mind, but we should rest safe because you'll have their best interests in mind at some point in the future, maybe.
I'd argue that by having spent >10 years building out Matrix and Element as open source, we've demonstrated that we have the FOSS community very much in mind. But we'll only be able to continue doing that as our day jobs if we can pay our salaries, and the way to do that appears to be to sell enterprise Matrix distributions to Governments. Once we get financially sustainable doing that, we'll be able to focus more on the community again.
> Not very reassuring.
Au contraire, mon capitaine; I find it very reassuring that Element might finally be approaching a position to keep working on improving Matrix indefinitely :D
Well, it looks like my overly cynical response wasn't warranted. Best of luck in your future endeavours and I hope you manage to get the money you need without locking too many features behind enterprise Matrix.
EDIT: I do still find issue with the claim that Element X is the solution to every UX problem though. Sure, you've begun experimenting with a web version of it, but it's still in the very early stages - it's not exactly production-ready.
It's been years of seeing Matrix posts being made on hn here (and founder - that is you - enthusiastically replying to comments; which is actually nice that you still care) and even that is long after I finally gave up on it realising it is (and now it seems was never even planned to be) a communication tool for the "masses" or end users - you know - you, I and our friends and family... kind of.
Reason? It is still "work" to even try to start using Matrix and yes I tried the kicks-ass-new-swift-client and it seems to be just another dull almost useless iOS messaging app which was done as a proof of concept of an open source project with very high values and goals and completely missing the point of usability and what people need and where smartphone messaging is today.
Also by the way - how many has it been? Matrix -> Riot -> Element.. is it changing again now?
> 80% of the people who say "Matrix sucks" are actually talking about bad experiences on the old Element mobile apps
Maybe 100% of times you are missing the point why people think that way by just assuming this?
> self-hosted, decentralised WhatsApp and Teams replacement for governments
Well, I do hope you realise that "Govt as the entity" per se that would not use these apps - but "the people" (which actually kinda comes back to you, I, and our friends) in those governments will use those apps and services.
No one is going to use Matrix that doesn't have privacy-focused contact forcing them to because the privacy benefit of the slight inconvenience is something almost nobody cares about. Things that are non-issues to someone who read the online Matrix documentation becomes a mountain to a middle aged mom who taps through errors without reading them and is used to things "just working" in the way Apple products just work, not the way Linux just works.
If you log into multiple devices, you have to go through a verification process to verify the new device. You may need to backup and restore your encryption keys manually or all your messages will be "Unable to decrypt message". Keeping multiple clients open simultaneously is supposed to have one client request the keys from the other client, but this either takes a while or doesn't always work. I have a contact with an unverified device (so all his messages show up with a warning) who refuses to fix it because all the other messengers just work by logging in. This is on top of people being upset that you're adding one more app to their menagerie of texts, Facebook, Whatsapp, Telegram, Discord, etc.
I use Matrix with my close contacts but I can't imagine anyone ever saying "Damn, I'm going to use this instead of Discord now!"
Because the product design people there seem to focus on an enterprise use case where the client is pushed out with a custom config to devices, instead of catering to end consumer usages.
I assume this is caused by the company that does the Matrix development getting its revenue from such customers.
I get the impression it is more designed to be a Slack replacement than a Signal or WhatsApp replacement, which is a shame.
In terms of permissions: I'm a bit surprised that folks feel limited by Matrix's freeform hierarchy of permissions. Every user can have a 'power level' from 0 to 100, and you can then customise the threshold required for literally permission (e.g. you need power level 54 or higher to kick users, or whatever). The only difference with Discord is that Discord lets you pick entirely arbitrary combinations of permissions (e.g. have one user able to kick but not ban, but another user able to ban but not kick, or whatever). How useful really is this in real life usage though?
I'm trying to work out whether the problem is if Element's UI for configuring permissions is too basic, or whether folks really do need a full RBAC permission matrix, and if so, for what use case?
However I'm constantly adding new roles which are really just groups of users. I would say 90% of all the Discord roles I've ever created have no permissions associated with them at all and just exist to ping a group of users (or act as a tag for bots).
Maybe that's served by a different feature in Matrix for user groups. If so, that's still not quite as useful, because sometimes later on you decide the group needs a permission (e.g. a casual gaming group has grown enough to justify having it's own channel).
The idea of ever increasing and overlapping scopes I don’t think maps well to most people’s mental model of who should be allowed to do what. People mostly want to define an arbitrary role; admin, user, team leader, whatever, and just pick what that role is allowed to do in isolation. It’s marginally more work to setup initially picking all of the permissions again, but it removes all of the overhead of having to monitor what permissions are being adopted from lower scopes on the power level axis.
I also think the power level system makes it much harder to “refactor” permissions for specific roles without affecting permissions for everyone “above and below”
and even harder to leave Discord now when a lot of users invested in Nitro fancy emoticons and profile enchantments
I really want to love matrix but at least last time I tried it, the app was very noticeably more clunky and featureless.
I do see what people are talking about in reference to the voice channels though, even though I can't stand them.
I think hierarchical permission systems are awkward. Role based is easy to understand and setup, even if more complex technically.
Well, also because Ido is the superior language. But also inertia, yes.
If you host a server yourself - it's great that you can! - you'll try the official implementation, synapse — ...and discover that it's a resource hog. Things got a bit better with some streaming sync protocol or something like that, but last time I looked it up that was still experimental and the server is still a chonker. Again, alternative servers exist, again the problem with feature parity.
I feel like the protocol is bloated as well, but I didn't dive into it too much to have a good opinion on that.
When choosing a messenger, I go to Signal for security, to IRC for simplicity and to Telegram for UX. I never thought "Oh let's use Matrix"...
Meanwhile the plan for Aurora (Element X Web) is to run it in Tauri or similar to placate all the Electron-haters: https://github.com/element-hq/aurora
However, because it's a rewrite, it doesn't quite have feature parity with the old apps, which are now over 10 years old: Threads is in beta; Spaces haven't landed yet, and Widgets aren't implemented yet. Therefore, we have to keep the old app around for users/customers who depend on those.
As a result, >80% of the people who say "Matrix sucks" are actually talking about bad experiences on the old Element mobile apps - rather than better client Element X or indeed Matrix clients from other folks.
There's also a large set of people who got bitten by encryption problems, almost all of which were fixed by Sept 2024.
Finally, there's folks who got bitten by the sad history of bridging in Matrix: IRC bridging used to be relatively okay; the team then got very stretched due to lack of funding; we tried to land a major PR to improve its architecture; the PR introduced bugs; Libera got very upset; we tried to fix things but failed to do fast enough. As a result, bridging to Libera in particular is awful these days, using adhoc bridges which funnel all traffic through a single user, with no ability to join arbitrary IRC channels on demand or use Matrix as a bouncer.
These days, the priority at Element is providing a self-hosted, decentralised WhatsApp and Teams replacement for governments... and once we get sustainable doing that, we'll be able to spend time building community features once again.
I'm still optimistic about Matrix but I am a bit worried that it has lost a lot of steam because of this UX history.
Which is mobile-only. Element's UX on desktop is still a joke.
> These days, the priority at Element is providing a self-hosted, decentralised WhatsApp and Teams replacement for governments... and once we get sustainable doing that, we'll be able to spend time building community features once again.
In other words, you don't have the community's best interests in mind, but we should rest safe because you'll have their best interests in mind at some point in the future, maybe.
Not very reassuring.
Actually, we span up Element X on web a few weeks ago and are currently figuring out how to transplant EW's view layer (which is fine) onto matrix-rust-sdk (which is more than fine): https://matrix.org/blog/2025/06/05/this-week-in-matrix-2025-... etc.
> In other words, you don't have the community's best interests in mind, but we should rest safe because you'll have their best interests in mind at some point in the future, maybe.
I'd argue that by having spent >10 years building out Matrix and Element as open source, we've demonstrated that we have the FOSS community very much in mind. But we'll only be able to continue doing that as our day jobs if we can pay our salaries, and the way to do that appears to be to sell enterprise Matrix distributions to Governments. Once we get financially sustainable doing that, we'll be able to focus more on the community again.
> Not very reassuring.
Au contraire, mon capitaine; I find it very reassuring that Element might finally be approaching a position to keep working on improving Matrix indefinitely :D
EDIT: I do still find issue with the claim that Element X is the solution to every UX problem though. Sure, you've begun experimenting with a web version of it, but it's still in the very early stages - it's not exactly production-ready.
Reason? It is still "work" to even try to start using Matrix and yes I tried the kicks-ass-new-swift-client and it seems to be just another dull almost useless iOS messaging app which was done as a proof of concept of an open source project with very high values and goals and completely missing the point of usability and what people need and where smartphone messaging is today.
Also by the way - how many has it been? Matrix -> Riot -> Element.. is it changing again now?
> 80% of the people who say "Matrix sucks" are actually talking about bad experiences on the old Element mobile apps
Maybe 100% of times you are missing the point why people think that way by just assuming this?
> self-hosted, decentralised WhatsApp and Teams replacement for governments
Well, I do hope you realise that "Govt as the entity" per se that would not use these apps - but "the people" (which actually kinda comes back to you, I, and our friends) in those governments will use those apps and services.
Anyway, good luck.
If you log into multiple devices, you have to go through a verification process to verify the new device. You may need to backup and restore your encryption keys manually or all your messages will be "Unable to decrypt message". Keeping multiple clients open simultaneously is supposed to have one client request the keys from the other client, but this either takes a while or doesn't always work. I have a contact with an unverified device (so all his messages show up with a warning) who refuses to fix it because all the other messengers just work by logging in. This is on top of people being upset that you're adding one more app to their menagerie of texts, Facebook, Whatsapp, Telegram, Discord, etc.
I use Matrix with my close contacts but I can't imagine anyone ever saying "Damn, I'm going to use this instead of Discord now!"
I assume this is caused by the company that does the Matrix development getting its revenue from such customers.
I get the impression it is more designed to be a Slack replacement than a Signal or WhatsApp replacement, which is a shame.