XMPP IoT Anti-Patterns
geekplace.eu
geekplace.eu
XMPP is not just an IM protocol, it's also usable (and used) for machine-to-machine communication...
XMPP classically runs over raw TCP, but can also run over HTTP, and there's a newish proposal for XMPP-over-websocket.
Protobuf, bson, json, etc. are all good building blocks that nonetheless require you to reinvent message/framing semantics. Why not use a premade protocol that already has that figured out, like XMPP, or AQMP, or MQTT?
The vendor in the example had the right idea by picking a protocol designed for this kind of thing, instead of trying to roll their own. They could've used it better (hence the blog post), ie. more idiomatically and over TLS.