There was no entity preventing XMPP from thriving, if the community really wanted XMPP, we would have had XMPP everywhere.
But honestly, as someone who ran and tried to use XMPP for many years, the entire protocol was an unmaintained divided mess. And the XEPs didn't help, they felt like hacky workarounds to keep an old protocol up-to-date with the modern needs.
Matrix feels very consistent, specially in the client side. I have all the modern features one could have wanted (E2E encryption, video and audio calls, file sharing, proper synchronization across multiple devices, etc) working out-of-the-box across all my devices. This was almost impossible to achieve with the XMPP clients existent nowadays.
And people don't complain (much) because, for chat especially, they have had years of conditioning that leads them to accept (and expect) that communication with their online contacts depends on installing multiple apps from multiple vendors and sharing their data with those vendors on whatever terms the vendors decide.
Google killed the xmpp momentum by gettimg scared of Facebook around 2010. and adopting the 'walled garden' approach.
And seeing how fixated matrix zealots on JSON superiority over XML as a format, I don't think Matrix will ever mature to a point to have problems faced by real federated protocol with multiple implementations of both clients and servers.
The last time I heard, there weren’t two JSON parsers that actually accepted the same language, so I’m not sure there’s an existence proof to back this statement up. :-)
XML is more complicated, but if we want to compare apples to apples, it’s only due to the white space sensitivity. (dtd, schema, etc don’t have analogous technologies in the json world, and at least xpath is a standard, unlike jq).
You're supposed to use an off-the-shelf XML/JSON parser, not write it yourself.
That's basically a description of ActivityPub that wraps HTML in JSON!
<body> markdown text </body>
XML was a hype in 1999, when XMPP has been invented and JSON was a hype fifteen years later. When people invent protocols they just use what is trendy in the moment.
Check this active member of the community. Also folks on this very page claim how xml consumes much more resources
Regards SOAP I tend to agree to you. Beyond the Basic profile it was a hassle to interop.
XML is not popular because it's complex. Escaping is hard. XML bombs make it unusable in its raw form.
Fundamentally, XML doesn't give you data structures that look like the ones you use in your application logic. You have to transform your data into something that makes sense in XML, then transform it back. With JSON (and other formats) the data structures that you're given are present in almost every programming language. You don't need to model your data differently for transit or storage than you do in your application logic.
Average Joe Dev does not reach the impedance mismatch you mention correctly.
The whole XML hate thing is symptomatical for the staged this-vs-that discussion we endure in today's forums.
I guess there are those document representation schemes that everybody hates on, and those that nobody uses ;)
I agree with the rest though.