• Laborer3652@reddthat.com
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      4 months ago

      I’ve become convinced that Matrix should have been built on top of XMPP. They went out of their way to create a protocol from scratch when we already had XMPP available and well developed. This turned out to be much more difficult than they anticipated, and they’ve had to make drastic changes to the api, spec, and server over the years. Matrix will never be a stable, finished product because they aren’t even sure what that looks like. They can’t even stick with a name for crying out loud. Dendrite? Synapse? Pick one and put all your effort behind it.

      The sifting sand base that Matrix is built on top of becomes really glatibg when you look at the clients and servers available for Matrix. Not one single third party app that I’m aware of implements every single feature offered by Element (the app). No other server is fully compliant with the API. And, Matrix is YET ANOTHER PROTOCOL that chat apps have to integrate with.

      None of that is to mention that the VC for Matrix is about to run out. Either Riot/Matrix/Element/Whatever is going to sellout and enshittify, or they’re going to stop existing and the entire protocol will be dead in the water. XMPP doesn’t have this problem.

      They should have built a beautiful XMPP app, slapped signal encryption on top, and called it a day.

      • Laser@feddit.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 months ago

        we already had XMPP available and well developed.

        XMPP as defined where?

        For privacy, I guess OMEMO is the current gold standard regarding XMPP; however, agreeing on a feature set between clients apart from the most basic stuff wasn’t always easy (and I guess it still isn’t).

        Also, I guess XML has fallen out of style for this kind of use case. Matrix is just JSON over REST, which I guess is kind of nice nowadays?

        XML kind of suffers the jack of all trades curse. If you just have two sides exchanging messages using a well-defined protocol, why go for something that offers schema definition, DTD, XSL transformation? These come with costs, and if you don’t use them, why XML in the first place?

        All of this combined with the fact that the communication model of XMPP and Matrix is different - XMPP closer to email where a server relays messages between clients while in Matrix, everything is a synchronized (?) room, even direct messages between two participants - would have required bending or extending the spec so much that it wouldn’t have been XMPP in the original spirit anyways. So instead, a new protocol was designed that incorporated a lot of lessons learned in the decade before it.

        You’re free to continue using XMPP, after all, bridges exist.