In Matrix, E2EE isn't enabled by default[1], and the option to enable it is in fact marked with a warning that it comes with potentially unwanted side-effects. This isn't the same, and the arguments that call recommending Telegram for E2EE encryption disingenuous apply to Matrix/Riot recommendations too.
One other issue I have with Matrix is the fact that they're in the process of completely rewriting their reference implementation in Go despite the fact that - as far as I remember - the first one, in Python, isn't entirely complete[2]. Combined with the app-bridge song and dance[3] there's too much in flux for me to recommend in good conscience.
Finally, and perhaps most importantly (speaking as a "regular" user - the type needed to achieve mass adoption), the client is horrendous. This is especially apparent when compared with Wire, but I'd go as far as saying it's apparent even when compared with some IRC clients. At least Signal's UI/UX is passable. Encryption didn't catapult Telegram to 200 million monthly users. A slick UI, a half-decent UX, and some good marketing did.
The difference is that there is no way to even enable encryption on Telegram desktop clients.
Edit: Aside from that, while the Telegram UI is nice, it doesn't even try to compete with the interfaces commonly found in IRC clients (i.e. no bubbles, one or more lines per message, can actually fit more than a handful of messages without scrolling, and so on... see qwebirc).
1) So it’s true that Matrix is still in beta and E2E is not yet on by default on private rooms (but we’re working on it).
2) Synapse (python impl) is however “complete” (for implementing the Matrix 0.3 spec at least, and newer stuff) and has been for several years. We should spell this out better in the README.
The reason for Dendrite (go impl) is to escape the python GIL and switch to a multidb/multiwriter architecture to keep up with the load on massive HSes like matrix.org’s.
3. I have no idea what the “app-bridge” song and dance is that you’re complaining about: bridges are one of the most powerful and fun bits of Matrix. Perhaps you don’t like the config used to provision them? I’m not sure how this impacts normal users.
4. You may need to give more info on why you feel Riot is “horrendous” so we can fix specifics :)
One other issue I have with Matrix is the fact that they're in the process of completely rewriting their reference implementation in Go despite the fact that - as far as I remember - the first one, in Python, isn't entirely complete[2]. Combined with the app-bridge song and dance[3] there's too much in flux for me to recommend in good conscience.
Finally, and perhaps most importantly (speaking as a "regular" user - the type needed to achieve mass adoption), the client is horrendous. This is especially apparent when compared with Wire, but I'd go as far as saying it's apparent even when compared with some IRC clients. At least Signal's UI/UX is passable. Encryption didn't catapult Telegram to 200 million monthly users. A slick UI, a half-decent UX, and some good marketing did.
1. Your link - https://about.riot.im/security/
2. https://github.com/matrix-org/synapse#introduction
3. https://github.com/matrix-org/matrix-appservice-bridge