In theory you could even make that interoperable with WhatsApp i( in the EU) since the DMA makes that mandatory, I am not aware if anyone who did it though.
https://developers.facebook.com/m/messaging-interoperability...
It is, at least, intentionally designed that way, for better or worse.
You can get per-conversation sync by joining multiple clients to the conversation.
It's one of those things where you'd probably want to be less secure and always sync to all devices.
XMPP is very efficient and delightfully simple to use and administrate. I never tried E2EC with it, but there are options on the clients, like OMEMO. It has limited federation.
The simplest server IMO is Openfire, but offers range from Lua-written Prosody to the extremely expensive Isode servers that can do complete federation, HF radio XMPP and probably coffee and pizzas too.
Omemo I heard of. from what I read it’s a solid alternative to Signal’s protocol. Is it easy to use? Is there something we can just run the server, spin up some users and have them easily dm each other?
Any recommendations?