Encryption is just a tip of the iceberg here.

There are several major problems with Signal:

- it is not that private after all since it requires a phone number. Yes, you can override this by using some virtual throwaway number if you are geeky enough but your account will be associated with this phone number anyways.

- as a consequence you _will_ receive spam from bots fanning out messages to phone numbers. You can’t restrict your social circle to allow only chosen people or let’s say people only from your contact list to message you.

- Signal protocol is probably great from the e2ee perspective but it is not federated and unlike XMPP you cannot spin up your own server and have full control over it.

- Since the end product is not a protocol or a framework or a platform it is a product that is run by other people who you can only trust albeit you can verify and audit source code by yourself(or by hiring someone to do it on your behalf). And I am sure you cannot run an end-to-end audit of the whole Signal platform to verify that what they actually run has been built from the source code you have audited.

- Since it is centralized, Signal is prone to censorship in those countries that decide to fight it. This leads to introducing workarounds like this https://signal.org/blog/run-a-proxy/ to help people circumvent limitations in affected regions and territories.

The solutions for the most of the issues you are describing comes with great usability costs. It is already hard to make non-tech people to switch from WhatsApp.

> The solutions for the most of the issues you are describing comes with great usability costs.

What costs? Element (a popular Matrix client) has recently improved their onboarding greatly!

https://element.io/blog/all-aboard-better-ftue-for-less-wtf/

It really is just as easy to onboard to Element as Signal these days, the UX has come a long way. And you'll never have the move them again, because you can choose any client you like.

That's very good to hear. I use Element a lot, but I found it very difficult to get non-technical friends and family to use it. A better onboarding experience is a real step in the right direction.

Another constant stumbling block is this whole "verify session" business. No one understands what it means. I understand technically what it does but I can't explain why it is so important that it keeps popping up all the time. It creates a constant sense of "something isn't right here but I don't know what to do".

I hope this was fixed as well.

Yep, it's definitely been frustrating in the past. The number of iOS Element bugs was overwhelming at times too. It's a lot more stable now, but the bubble layout still isn't the default - I think that's what most people expect from a personal messenger. I'm looking forward to seeing what the Rust rewrite [1] brings for performance/stability.

FluffyChat also has quite nice UX and a bubble layout by default, but threads are still a while off [2]. On iOS it worked flawlessly through the iOS 16 betas while Element had some show stopping bugs, a couple of my friends moved over if they were on the beta.

I haven't had any friends ask me about the verify session buttons. I don't see any prompts on latest iOS Element but it's still too prominent on Element desktop for my liking.

SchildiChat [3] is my daily driver and feels more friendly than Element on desktop (unified DMs & group chats, no verify UX, chat bubbles), but it doesn't have any update mechanism built in, so I'm wary to recommend it to non-technical friends. It was also my goto recommendation on Android before the Element redesign.

I'm confident the ecosystem is moving in the right direction though, and so thankful for the amount of choice.

[1]: https://github.com/vector-im/element-x-ios [2]: https://gitlab.com/famedly/fluffychat/-/issues/881 [3]: https://schildi.chat/