As you know, there&#x27;s a lot of good in XMPP. The part that I think causes the most difficulty is that it&#x27;s based on XML. I don&#x27;t mean this in the typical knee-jerk XML bashing sense. It&#x27;s just that XML is ill suited for a stream-based protocol.<p>XML is amenable to extensibility, with its innate namespacing features. But this also made it difficult for beginners to use well and was easy to get wrong. The XML decision was really just a consequence of the times in which it was developed. It was a natural choice. If it were done again, it would be REST-based and use JSON as the data format.