This is a small rant about XMPP protocol 🙂
As a user I see problems with basic stuff like emoticons, encryption, conference – nothing works perfect and out of the box.
Yes… XMPP allows most of things I need.. but they do NOT work OUT OF THE BOX nor on all platforms.
As a developer, XMPP is not that open, and it is horribly complicated.
Jabber (and XMPP) are protocols, that, together with entire “ecosystem” around it (applications that implement this protocol, various add-ons, etc) allowed a nice, open source, alternative in world om IM.
But still – XMPP seems to lack many things. I can not say it satisfies my own needs; and probably as well needs of many other user groups.
What I would expect from full IM solution:
- open source and ported to other platforms, also embbed/cellphones/etc
- option to use emoticons but also to disable them for given conversation
- transfer files
- option to send ALERT (bell)
- logging the conversations
- encryption, also with OpenPGP, as well as with one time password
- conferences – group chat
- easy creating, joining group chats
- all above must work as well in group chat version (except it applies to all members)
- status, also invisible, description
- list of users that can be searched
- list of contacts stored on server
- easy options to ignore given contacts or group, or hide from them etc
- storing of all messages on server while offline
- robust protocol, nothing gets lost even if connection brakes or computer crashes
- voice chat and conferencing. also with video
- all of above must JUST WORK, without f-ing with gazilion applications, of which all not fully implement protocol or have own quirks and problems
Jabber seems to fail if we want to use all of the above needs.
Even when discarding audio and video, simple text chat needs a lot more to fullfill my goal.
In addition, as a developer, I would like…
- to have simple protocol…
- to not have to send huge amounts of XML to say “hi.”
- to have nice ready to use implementations that are really usable (free for commerciall use, also in popular languages like say C, C++, including servers that implement all functions etc)
XMPP/Jabber fails imho because:
- the above things “work” .. in theory, or in some applications (where other things do NOT work)
- there is no ONE SINGLE GOOD implementation (also open and portable)
- even there is NO ONE PROTOCOL! Read about XMP extensions… imho this is just chaos.
Overall, I would say that XMPP fail to provide (at least) ONE, good an UNIFORM platfrom, because XMPP is too extensible, while forgetting of need to select important futures and implement them fully and in a polished way.