It took us 'only' 2.5 years to build a good XMPP client for iOS (which we plan to release this month, finally), and while building it we had to break down XMPP down almost to a core and replace most of its components with better thought through solutions that account for real life scenarios.
We had to throw away MUC garbage, do push notifications differently, make different video calling, etc. - and that requires modifications on the server-side. Now it works acceptably, just some rather little quirks/bugs remain. It is no coincidence that not one released XMPP client today can be called 'working'.
However, to make it work _really_ great we'll have to do 'break' XMPP even further and rethink how presences work. Currently, they are a major pain.
Snikket is building on and improving (pushing upstream whenever possible) existing projects in the ecosystem, not starting from scratch. The smooth invite-based onboarding flow for example originated from Snikket work, and is now upstream in Conversations and other clients are adopting it too.
I've been working with and on XMPP for 15 years, and have no illusions about the challenges we (or any fully open decentralized messaging system) face in today's world. However we can never give up on free, open and interoperable technologies.
Snikket is aimed at people who primarily just want an out-of-the-box self-hosted secure messaging service. "XMPP" is not a feature for this crowd, but the benefits of XMPP are (federation, free choice of client software, etc.). For the same reason Mozilla doesn't advertise Firefox as a "HTTP client", the Snikket marketing is focused on features and not how the underlying tech is implemented - what we do, not how we do it.
The fact that Snikket is built on XMPP is not something we aim to hide however, it's discussed in [1] for example. It's just not what we lead with when introducing the project to general users.
Many good open-source projects fall into a trap of their developers marketing their project in a way that they would want to see it marketed to themselves. The truth is that nobody outside certain internet communities cares about open standards. They should, of course, but they don't realise it. We're trying to reach these people with Snikket.
It's early days and there's still some way to go, but the current release (server + Android client) is receiving excellent feedback from those using it.
The next primary focus is iOS. There are several XMPP clients available on iOS, but none yet fit the bill. That's where most of the work ahead lies for the coming months.
[1]: https://snikket.org/