Whatever ends up winning is going to need:
- Native clients on all major platforms
- Full support for all the fun little extra's like emoji's, reactions, gifs, file transfers etc.
- True multi-device support that doesn't require any sort of forwarding from another device
- Group chats
- Searchable history
- Your full history to automatically load when you log in on a new device (manually transferring isn't going to be an acceptable solution)
- No concept of selecting a server or anything. Users need to be able to just log in with a username/password and carry on.
- E2E encryption that doesn't sacrifice the user experience
Anything missing from this list? Also, does Matrix support all of that? Last time I checked Matrix out it seemed clunky and confusing (especially for non-technical users) and it was missing a ton of the 'basics' that people expect out of a chat app.