IRCv3 2022 Spec round-up
The issue I have with Matrix/IRC/IRCv3 compared to Discord is that they don't really work well with public communities.<p>Discord's server/channel/role system is amazing, and I don't know why everyone else isn't replicating it.<p>For instance, let's take the Pine64 Discord server. It has a grand total of 27 channels split into 10 categories (including top-level). Using Discord's permissions system, some of those channels are read-only like #announcements.<p>Pine64's server is also bridged to Matrix. Matrix requires every single channel to be bridged individually into their own Matrix chat, just look at this table (<a href="https://wiki.pine64.org/wiki/Main_Page#Chat_Platforms" rel="nofollow">https://wiki.pine64.org/wiki/Main_Page#Chat_Platforms</a>)! In fact, some of the channels aren't even bridged at all! Meanwhile on Discord, everything's all in one easy to use place. You just join the server, and that's it.<p>But what about Matrix spaces? Aren't those the equivalent of Discord servers? The issue is that rather than an integrated experience, Matrix servers are just a built-in version of the table I listed above. You still have to leave/join chats individually and it doesn't even have categories!<p>But that's all from a user's perspective, what about from a server admin's perspective? Discord's permission system is great and flexible, and Matrix's system is just kind of bad. In case you don't know Matrix's system from what i understand is basically: every user gets a permission level number, and users with certain levels can do certain things. That's it, no flexibility whatsoever.<p>Meanwhile on Discord, you can create roles which when given to users allow them to do certain things. Like anyone with a "Moderator" role can delete messages or ban people. But you could also make it so "moderators" can't delete messages, only ban people. And you can also make roles behave different on per-channel or per-category basis. You can even make it so users can't see a channel at all without a role (for instance, a server I'm an admin on has a #mod-chat channel and a #admin-chat channel).<p>Matrix's system just can't do that. And it really doesn't integrate with their Spaces system. There's no way to make it so only certain people can see certain channels in a Matrix Space. In fact, there's no way to manage permissions for an entire Matrix Space at all! It's limited to a per-chat basis.<p>And that long-winded rant is why I will stick with Discord.