The primary challenge of the Mobile API, which allows direct control of settopboxes through mobile devices, was twofold, First they are connected to a private network, not directly to the internet or the customers local network, and second they run a browser based middleware, which like any browser does not allow for push-based messaging.
Based on the XMLHttpRequest long polling technique, I created a messaging system using Erlang that enabled commands and information to be passed from the internet to over 60.000 settopboxes and back, while maintaining rapid response times.
A java based REST webservice provides the external API and combines various static data (such as program guides, channel logo’s and channel lists) with access to the erlang messaging system.