Matrix’s client UX is improving a lot, there is the Cinny client that mirrors Discord’s layout perfectly. The issue with Matrix is its protocol, which faces scaling issues because each instance joining the network is supposed to replicate the entire Matrix network, which will make it difficult for small hobbyists to add instances without crumbling under the load when the network gets too big. There is another Discord-like alternative, Revolt which is self-hostable and uses its own protocol but doesn’t have federation yet.
This is not true. Data will only be sent to your homeserver if a user on your homeserver joins a room on another server. And only the data for that room is sent, not the whole network. The room data only contains all state changes, and a small amount of recent messages. The amount of state changes is the biggest problem.
Matrix protocol does have a giant problem regarding spam joins though, which make a complete instance basically unusable. Last time I talked with people related to the protocol they didn’t want to or know how to fix it, because the need to verify all room state changes.
Thanks for the information. I set up a Matrix instance with a friend before and noticed it had significantly more resource usage than expected of a little chat client, then someone else explained that Matrix was trying to discover all of the other nodes on the network so I assumed it was true. What causes so many state changes to be generated?
Matrix’s client UX is improving a lot, there is the Cinny client that mirrors Discord’s layout perfectly. The issue with Matrix is its protocol, which faces scaling issues because each instance joining the network is supposed to replicate the entire Matrix network, which will make it difficult for small hobbyists to add instances without crumbling under the load when the network gets too big. There is another Discord-like alternative, Revolt which is self-hostable and uses its own protocol but doesn’t have federation yet.
This is not true. Data will only be sent to your homeserver if a user on your homeserver joins a room on another server. And only the data for that room is sent, not the whole network. The room data only contains all state changes, and a small amount of recent messages. The amount of state changes is the biggest problem.
Matrix protocol does have a giant problem regarding spam joins though, which make a complete instance basically unusable. Last time I talked with people related to the protocol they didn’t want to or know how to fix it, because the need to verify all room state changes.
Thanks for the information. I set up a Matrix instance with a friend before and noticed it had significantly more resource usage than expected of a little chat client, then someone else explained that Matrix was trying to discover all of the other nodes on the network so I assumed it was true. What causes so many state changes to be generated?
Makes sense, after all matrix multiplication is O(n2).
What do you mean replicate the entire network, does it include all messages on all instances?
So it would be like Lemmy if everyone was subscribed to everything on all instances?
Nah it only replicates joined rooms-
I tried Cinny recently, but unfortunately it was a buggy mess that kept crashing and I couldn’t even login to my account. I ended up going with Nheko.