3 ms·
Matrix is a protocol. It doesn't have a UI as such. I guess a more useful question could be "why isn't Revolt using Matrix?"
by 3np 3y ago
Matrix is a protocol. It doesn't have a UI as such. I guess a more useful question could be "why isn't Revolt using Matrix?"
- neltnerb 3y agoYes, that was what came to mind for me. My Element UI has organizations (servers) and rooms and people in them, surely Matrix would support all the features this has as well? Perhaps you used it before this was supported. Or maybe Matrix has some issue I don't know about, which is a more interesting question. Element seems to have both video and audio chat, but leaves a lot to be desired on the UI side sometimes. I can definitely imagine the more the merrier when it comes to open source UIs for open protocols.
- sureglymop 3y agoI can say a few things as someone who has been running a matrix server as a slack alternative in a company for a while now. Element does not have an "administration" ui. Synapse has an extensive admin API, but element so far has not created a ui for it. This can make it hard to use for example in a business because a lot of compliance and security related aspects are hard to control and dial in. Another thing is that quite often, users don't familiarize themselves with the encryption model. They create a key but then lose it and all their chat histories with it (especially non technical users). Well, because everything is encrypted, a server admin can't see or recover their messages when that happens. There may be some privacy concerns when federation is turned on, such as user profiles leaking or unwanted users joining rooms they shouldn't be able to in a server. Again, these things are all addressed by Matrix/Element but they are an issue because users don't familiarize themselves with it enough. Element are developing something new called Element Call, which is a Jitsi alternative that uses the Matrix protocol. So far it's in early development and not very usable for self hosted servers yet. There is not a lot of administrative control really. If two users just spam each other in a room it will fill up storage and of course the server admin can't check what these people are writing. Another thing that can trip people up or make Element hard to use in a company is that the Element clients have certain defaults. For example, the video calls by default use a pre-defined Jitsi instance. Other aspects also use external service by default, even if connected to a self-hosted server. That is pretty much a nightmare if there are compliance/privacy concerns and a company wants to host everything in house. What's really pleasant is how verbose and easy to understand the matrix protocol is. It's quite easy to create bots, send messages over the API etc. So it can be easily integrated into other business processes.
- conor- 3y agoThe client-server API in Matrix doesn't really allow for the nested "server with channels" paradigm that something like Discord follows. There's the Spaces [0] API but it's not really meant for creating "servers" (servers as Discord labels it, meaning a top-level room or thing that contains children voice or text rooms) and as such there's no easy way to have any type of per-"server" RBAC or other permissions that Discord's model provides because of the Room + Power Level paradigm Matrix follows. There's also difficulty with enforcing recursive operations, e.g. in Discord you can just kick/ban somebody and they are removed from the top-level (Server) and all child channels- but there is not really a way to perform any such operations with Matrix without a lot of hacking around and writing custom app services. [0] https://spec.matrix.org/latest/client-server-api/#spaces https://spec.matrix.org/latest/client-server-api/#spaces
- logicprog 3y agoThis is precisely my issue, yes
- 3np 3y agoDid you try https://github.com/matrix-org/mjolnir https://github.com/matrix-org/mjolnir ?
- conor- 3y agoYes I have. Mjolnir is not really suited for the problem I am describing because: A) you need to create an account for the bot and provide an access token (which is cumbersome to obtain). In Discord that type of moderation of users works ootb. B) There is no mechanism for role-based permissions. In Discord, you can create a role and assign specific permissions to that role which can control different rooms, etc. in your server. That is not possible in Matrix currently even with Mjolnir or custom app services because of how power level mappings work. It's a problem I'm interested in solving but it would require MSCs drafted to alter the Matrix spec to create a new permissions model and will have extremely far reaching implications for homeserver implementations.
- 3y ago