2 ms·
Once I get it working, I love it, but there's two problems I've always had with getting XMPP working from a programming/developing standpoint, both of which kep
by thwarted 18y ago
Once I get it working, I love it, but there's two problems I've always had with getting XMPP working from a programming/developing standpoint, both of which kept it from going mainstream sooner:
1) there were very few docs that explain the terms (roster, what a conference server is and why that is different from your regular connect server) in the context of other messaging protocols (AIM, for example). Yeah, I know now that "roster" is the equivalent of the buddy list, except it's not because there are operations that can happen on the roster and it's not complete clear which component maintains the roster and a lot of roster operations can happen asynchronously (due do its distributed nature) even when you're disconnected. None of this was obvious.
2) The docs that did exist, even for abstraction libraries, talked about creating XML stanzas and the XML stream and all the different XML namespaces (none of which were explained well enough to know when you would use 'em) and XML this and XML that. I don't want to write XML, I want to connect to a server and send and receive messages. That it is XML stream based is beside the point--and this was always touted as the reason that XMPP was so awesome, but we all know that it got caught up in the XML hype of the period in which it was conceived.
Eventually, libraries started being written that provided the correct level of abstraction for developers rather than protocol designers. Last one I used was Net::Jabber::Bot (cpan), which was okay, but there's still a lot of data extraction from partially cooked XML structures.