Today we removed support for XMPP in Fanout Cloud.

Fanout’s XMPP functionality simply didn’t garner the adoption we were hoping for. It was never used at scale, and was mainly relegated to chat bots that needed compatibility with Google Talk. However, as Google phased out XMPP federation, such usefulness dwindled.


In retrospect, it seems kind of crazy that we thought anyone might need an “XMPP stanza CDN”, given that federated XMPP never saw widespread adoption beyond IM. We certainly didn’t build the feature based on demand. Our hope was that by supporting XMPP, we might help promote the protocol to a wider audience, such as developers of realtime APIs, realtime web-apps, or IoT.

Fanout’s XMPP capabilities were rather comprehensive:

  • Send arbitrary stanzas from custom domains, to subscribed XMPP addresses.
  • Gateway to HTTP. Incoming XMPP stanzas could be POST’d to a configured HTTP origin server.
  • Support for XEP-60 publishing of JSON blobs.
  • Fanout’s API was exposed via Ad-Hoc commands as well as a chat bot. This enabled doing things like sending data to a WebSocket connection from an XMPP address.

Few developers bought into this though, instead gravitating towards our HTTP and WebSocket capabilities.

As Fanout’s founder and a longtime XMPP contributor, it was hard to pull the plug. I still have emotional attachment to XMPP. But we have a business to run, and decommissioning the functionality means one less thing to worry about. We wish XMPP well, wherever it goes.