I understand and value the idea of self-hosting or federation to decentralize services, but Signal is currently my most used chat app for the sole reason that I can tell a friend to go download it and it just works. Supporting self-hosted servers or federation doesn’t necessarily mean that the UX has to be bad, but for small organizations I think the radical focus on a specific experience is the best way to make a good product, and if this is the sacrifice that was made so that we could have a simple, reliable, private messenger then I’m happy with that tradeoff.
As an example, chat protocols/implementations like Matrix have a lot of potential, but the foundational decisions around decentralization mean that it takes way more work to make it seamless to use. You can’t download a client and start chatting immediately, you need to think about what server to connect to, and that’s already enough of a barrier to make it a no-go for a lot of the folks I regularly chat with who just don’t care enough about privacy/FOSS to put in the effort.
I’ve noticed for my North American friends it’s easy to convince them to move to Signal (from SMS or Messenger), but my European friends are all pretty entrenched in WhatsApp. On one hand WhatsApp is certainly more secure, but on the other we can’t really trust a closed source implementation (and they’ll still collect metadata which makes me uncomfortable).
I’m just glad I don’t have to use SMS anymore honestly