That's pretty much WhatsApp. They use their own weird "Fun" version of XMPP with Signal's Noise protocol.
But they don't federate. Which I think is a pretty clear example of why not having one true solution isn't a technical problem, it's a political problem. Companies don't want to make it easy to compete with their products.