Avid Matrix and Firefox user here, obviously not that active a member of the community… I just wanted to point out a crucial difference between Matrix and the other options.
And that is, Matrix is built to be an open, federated network. If you have a Matrix server and allow it to federate, you can talk to anyone on any other federated Matrix server. You can use a single account to chat in a bunch of different communities… and you can self-host your own server and still fully participate in any chat on any other server.
This is vastly different than any other option.
The others are like AOL, Prodigy, CompuServe back in the day – you could send emails to other users of the same service, but in the early days you could not send to someone on a different service. Matrix is SMTP for chat – it lets you chat across networks.
Rocketchat was considering implementing Matrix to allow federation some time back – I don’t know if this is still happening, but the point is, with Matrix I don’t need to have an account for Mozilla, a different account for KDE, yet another account for the other open source projects – I just open Riot and can see all of them.
If you’re doing a closed, silo’d, non-federating service, the points in this thread are relevant. If you’re willing to consider an open chat system that invites collaboration across projects, Matrix wins hands down…
My opinion anyway!