Matrix is a decentralised encrypted chat protocol on which you could build something like Zulip, except decentralised and end-to-end encrypted.
Element is the actual app being trialled here, which feels more like Slack and/or Signal than Zulip. The point is that you get something you can selfhost while also interoperating with other deployments… while also encrypting the data end-to-end with Signal protocol.
Federation can feel like "just a feature" but the E2E encryption (also in group chats) is a reason for Matrix to exist and a big reason why it's so slow.
> on which you could build something like Zulip
I hope that at some point a focus of the Matrix project will become why this isn’t being done. A better developer experience would supercharge the ecosystem, IMO.
Matrix should be the default for anyone building a chat app, but for some reason it’s not.
Yeah I would love to see a new professional application based on Matrix, Element is buggy, other apps lacking too.
I'm sure you could do some of Zulip's features on top of Matrix.
But for what it's worth, as Zulip's lead developer, every time I'm looked at whether we could have built Zulip on top of Matrix, it just feels impossible to me. And a big part of it is the architectural decisions Matrix made to support a decentralized E2EE social network, which are not required for a self-contained chat system like Zulip or Slack (which can still be bridged with other chat systems). Permissions enforcement, performance, and lots of other details really benefit from the more focused goal, where we've explicitly decided we're not building a generic distributed network architecture and are not competing with WhatsApp.
That said, I think it's great that we have multiple OSS chat systems with different strategies that are targeting different collections of niches!
I will never understand why so many organizations entrusted the communications fabric of their organization to Microsoft and SalesForce Cloud services over the last decade. If an organization can succeed in escaping Teams or Slack to Element/Matrix, that's great, even if it's a use case where Zulip would be a better end-user experience for their requirements.