An open protocol can also lead to an inconsistent user experience.
In the year 2016 I still have no idea how to send an image from one XMPP client to another and be sure that the sending side will receive it.
In modern closed-off systems this is braindead simple.
Part of this is due to how fragmented XMPP is, which I would again argue is due to its openness.
> What? No, if my colleagues and I all decide to use ${CLOSED_CHAT_SERVICE}, the user experience is generally going to be consistent.
But even in email, if a group of people decide to use only Gmail web interface for example, the user experience is going to be consistent for them as well.
The underlying detail about email being an open protocol will be transparent to them.
In fact, an email client could be designed to implement instant messaging — by sending messages as emails — and if two people both use that same client, the experience would be indistinguishable from an IM service!
You'd still have a conversation history, you'd still have offline delivery, you'd still be able to send graphics and animations and audio attachments and anything else that HTML can render.
(I get that current email protocols may not be lightweight/efficient enough for rapid delivery of a large amount of short messages though.)