It’s as if the people involved with Matrix don’t really know what is available for XMPP, or have studied its history to see what is in store for their own efforts.
I have a friend that was seriously trying to create a service backed by Matrix. He saw it as a way to bring e2ee to more people. Yet recently, when I revisited XMPP and discussed it with him, the more I dig into XMPP, the more I’m scratching my head — why didn’t we just start with XMPP?
Instead, Matrix is an entirely different architecture with different tradeoffs which you may or may not agree with.
The main differentiators are:
* It's a protocol for replicating conversation history; not for passing messages.
* You get eventually consistent conversation history, as well as decentralised key-value store for metadata about the room.
* Rooms are entirely decentralised over the participating servers; there are no single points of failure/control in a room.
* It automatically heals after network partitions
* It's a single monolithic spec
* E2EE is on by default.
If anything, Matrix is more like NNTP than XMPP.
Now, you're welcome to dislike Matrix and build on XMPP (or SMTP or NNTP or SIP or MSRP or IRC or whatever other messaging protocol floats your boat) instead, but it's completely and utterly wrong to claim that Matrix is just a reinvention of XMPP by people who don't understand XMPP, or a marketing gimmick.
I didn't think about the replicated conversation history and did not know about the decentralized rooms (though looking back, I can see what you mean by that if XMPP rooms are tied to a JID). Those kind of properties seem to work better for some ideas of mine's, though there are others that XMPP still seem to be better for other ideas.
Standardization is much more important than which encoding is popular right now.
But still, XML is easily compressed, parsers are much faster than required for IM and XMPP servers and clients are much more memory and CPU efficient, XML or not.
When I looked into what it would take do commercial home servers, I found immature implementations that fall over while ejabberd has been battle tested on 2 million concurrent users on a single instance.
Best I can tell is that Matrix has better marketing. While Google is scaling back in XMPP for gtalk because of spam and lack of participation from other companies, Matrix is seizing mindshare as being newer and “better” and shinier. (And if they get big enough, it will also suffer from spam …)
I noticed that XML allows for pointing to custom schemas (vis semantic web) and feature discovery. It is what allows developers to iterate on extensions without breaking compatibility
As far as efficieny, XMPP powers some very large deployments: Apple Push Notifications, Google GTalk, even WhatsApp is a modified XMPP.