You are only browsing one thread in the discussion! All comments are available on the post page.

Return

BrikoX ,
@BrikoX@lemmy.zip avatar

Google killed XMPP momentum. And while Matrix has many issues it needs to figure out, especially the development being almost exclusively supported by a for-profit company, they seem to slowly (very slowly) work towards more independence.

Matrix did some things right. Going with JSON spec instead of XML, having Element as uniform cross-platform client, offering bridges as a way to stay connected with your family and friends without needing to convince them to move (XMPP offers transports, but they function entirely differently) and offering end-to-end encryption by default.

XMPP in true open source fashion doesn't have any uniformity from user perspective. Different ways to do the same thing on different clients, different clients on different platforms. That is a benefit for a savvy tech nerd, but it's a huge inconvenience for a non-techie family member or friend.

cyclohexane OP ,

Why is JSON better than XML? It's more modern, sure, but from technical perspective it is not objectively better right? Not something worth switching protocols for.

You mention XMPP has transports as opposed to Matrix bridges. I thought they give you roughly the same outcome. What's the difference?

samus7070 ,

The only things JSON has over xml is that it’s easier to write a parser for it and the format is less verbose and less complicated. There are extensions to JSON that can add features that xml has and the JSON spec doesn’t have. Overall the xml spec is bigger and has more features but that also makes it overkill for many of the cases that it would be used in.

BrikoX ,
@BrikoX@lemmy.zip avatar

Why is JSON better than XML? It's more modern, sure, but from technical perspective it is not objectively better right? Not something worth switching protocols for.

XML is unnecessarily complicated. By trying to cram everything into the spec, it's cumbersome and hard to parse.

You mention XMPP has transports as opposed to Matrix bridges. I thought they give you roughly the same outcome. What's the difference?

The goal is the same, but the way they archive that is different. For transport to work, you need an account on each platform you are using the transport on. It relays the messages through that account by mimicking the client. While bridges work by relaying the messages between rooms and not specific users.

My understanding is limited, so if you are interested, please do your own research.

cyclohexane OP ,

cumbersome to parse

Parsers have already existed for so long in every major language. Why need to worry about parsing?

And why need to worry about transports working differently if they achieve the same thing? They seem similarly convenient if I understood what you said correctly

oldfart ,

Additionally, libraries for XMPP exist in most languages, there is a varying degree of completeness, but they all do a good job of hiding XML from the programmer

poVoq ,
@poVoq@slrpnk.net avatar

Most Matrix bridges to commercial chat systems also require accounts on those networks. That's the only way to make them work on most of these systems.

I guess you are specifically referring to the Matrix to Discord bridge that does work like you describe, but a similar bridge has existed for XMPP to Discord in the past but is currently broken and unmaintained. The currently working XMPP to Discord transport does require you to puppeteer a personal Discord account, but that is rather because of a different focus of the used transport framework than any technical limitation of XMPP in that regard.

BrikoX ,
@BrikoX@lemmy.zip avatar

All platforms that don't have public API access will require a way to relay that information, but I was talking about the difference in how the messages are relayed. Matrix bridges work fundamentally on each platform/protocol having its own room and relaying the messages through the bridged room instead of the user as XMPP does. That's why you can relay the same messages to multiple rooms on Matrix, but can't do the same on XMPP.

poVoq ,
@poVoq@slrpnk.net avatar

No, that is only an implementation detail, you can easily do a very similar thing with XMPP group-chats.

In fact the way Matrix does it is a major limitation and the source of an endless amount of issues with their IRC bridge.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • selfhosted@lemmy.world
  • All magazines