Hacker News new | ask | show | jobs
by bjoli 486 days ago
Oh, but people don't like XML.

XML means xmpp is awful apparently. I feel pretty alone in having a bad experience with matrix, but a good one with xmpp+omemo.

3 comments

AIUI (from talking to people who had to implement XMPP), the problem isn't that "XMPP is XML", the problem is that XMPP is XML done badly. An XMPP connection is essentially a giant XML document that's never closed, which most XML libraries tend to handle very poorly, so you often end up writing your own XML library to handle XMPP. With all of the pain that entails.
SAX parsers should have no issue with that, or? So is the pain that you're forced to use SAX parsing or roll your own?

At least the SAX parsers I've used allowed to get partial "subnode DOMs", which makes it quite easy to use in practice.

That said I've only parsed ~1GB XML files (no embedded binaries), not sure if that counts as large enough.

Yup. You can write xmpp parsers with thin wrappers around a push based sax parser. It is not hard, people are just not familiar with sax.

Sure, sax parsers have their limitations, but there are sax parsers that avoid the callback trouble by doing a tree-style fold over the XML structure instead of the linear fold over the XML stream. Not for the server, since it is not super efficient, but writing a client like that is easy peasy.

I found XMPP an absolute delight to work with and built all kinds of command-and-control messaging utils with it that allowed me the flexibility to use it as a chat service and RPC broker all at the same time, with bots as APIs. It was nuts but brilliant. Bring it back, I say.
Coincidentally I just got an XMPP server going and have a bunch of people happily chatting on it. Yeah it has its issues, but it's an open, well-defined protocol evolved over a long period of time. It won't disappear if its singular maintainer disappears (referring to both Signal and Matrix here).
whoa I totally did not get the memo on omemo this sounds great