Good question, we get this asked a lot (usually in relation with companies such as PubNub or Pusher.io). It&#x27;s different in a number of ways:
 - it&#x27;s compatible with any number of protocols (we call them transports). Currently, we support websockets, APNS and GCM. MQTT could easily be added as a transport protocol for subscribing to channels
 - it also handles data aggregation (for example if you have a large number of updates on an object in a short amount of time, the system will aggregate them and send only the relevant updates to the subscriber)
- it&#x27;s more open (in my opinion) as it&#x27;s designed to enable developers to swap out one component for another (and writing a thin adapter for it if it&#x27;s not already available). This should also mean that the whole system can be better optimized depending on the workload type and use-case.