Matrix is a protocol not a messenger. Hate to be that guy, but the difference is worth learning.
Protocols are like email, or torrents, or VoIP or www, they all run on the "internet" but are not the same.
Maybe you already know, but other readers may not.
Plus signal and matrix protocol implementing messengers don't suck, they are everywhere, element, signal, whatsapp, Google and Facebook messenger apparently..
Just platform uptake is hard due to network effect, but matrix and its tech has the biggest potential to break this with bridges imo.
Yeah so does Matrix but that doesn't mean everything Element adds as an extension magically becomes standardized.
As if every Matrix client supported all of it.
All of them support E2EE.
XMPP has voice and video calling
Source? Closest thing I could find is "Jitsi exists and uses XMPP under the hood"
Just as good as "not JSON based"
Obvious bandwidth reduction and ease of parsing aside I think JSON is better because it forces you to be intentional about how you add a protocol extension.
Actually in terms of integrations and bridges XMPP is better, it was built for that from the very beginning, when it was perceived that there'll be many-many proprietary IM networks and XMPP users will use bridges for those.
Sadly it's losing popularity, but I don't see Matrix popularity growing that fast or being that stable to say that it's more relevant.
Personally I don't like Matrix because all its clients I tried were for whatever reason very slow, fetching history was somehow a computatively-intensive task for them. So it's just purely user perspective.
But I've seen its API, and that seems very nice and easy to use.
While XMPP has that, eh, 2000s industrial feel with lots of XML and extensions with bland numbers. Still, it's now pretty clear which extensions are expected to be used by everyone, and it has nice clients like Psi.