4 ms·
I've actually had an idea in the back of my head for an extensible JSON IM/Presence system, maybe it's time to get to work on that. XMPP was never really meant
by snuxoll 13y ago
I've actually had an idea in the back of my head for an extensible JSON IM/Presence system, maybe it's time to get to work on that.
XMPP was never really meant to be in my opinion, it had a bunch of great ideas but it failed in implementation (choosing XML was a bad start).
- sneak 13y agohttp://xkcd.com/927/ http://xkcd.com/927/ Don't go down that path. Just write a library once to speak XMPP (or use an existing one) and then don't ever think about XML again. But please don't proliferate Yet Another Standard for a problem that was fully solved a decade ago. (XMPP also has well-defined standard ways of extending on top of it. Color inside the lines, not because they're good, but because it's worse to draw new ones unique to you.)
- snuxoll 13y agoExcept you can't ever 'not think about XML' when using XMPP, especially when working with it's "well-defined ways of extending on top of it" that completely destroy any sanity that XML is supposed to provide. If you're using XML without a sane schema you might as well be using some binary format because it's about as easy to work with. XML streams, are you kidding? Who thought that making an XML parser read a mal-formed document (because it's never a complete document until the stream ends!) was a good idea! You can't even use the standard XML parser in most languages without separating out the individual responses in the stream, which aren't delineated by anything sane like a newline, but instead by a closing tag, meaning you get to sit and parse XML as it comes in, waiting for the message to be closed (and lord help you if your code doesn't handle the possibility that you'll get sent malformed data). XMPP sucks, I'm sorry, it just does. XML is not the appropriate solution to use for anything with a persistent stream, it's got shitty error recovery and requires far too much work to parse correctly even when you can guarantee you have a completely well formed document before you even start parsing it.
- kalleboo 13y ago"If only we hadn't done XMPP in XML, then it would have all worked out!" Do you see how absurd that sounds? The problem is fundamentally different from a technical problem. The problem is that there's nothing in it from any of the big providers to support federation. It just causes them to leak users, which they don't want. The only reason Google ever support it was because for a while they were run by engineers instead of businessmen.
- snuxoll 13y agoXML didn't kill federation, it just formed the base of a poorly designed IM and presence protocol. Federation was a great idea, but you're right, it always ends up getting killed because people want to keep their users. Unfortunately too many businesses don't see that it's easier to keep customers when you provide them value, not when you prevent them from leaving.