Modern digital TV client applications
UI applications into modern STBs: approaches and best practice
From interface generation point of view, all modern STBs for digital TV services are divided into 1) so-called browser-based - they are built on top on browsers which are a part of STB system software (i.e., Opera, Mozilla, Ant, Fresco and others) - in this case, UI (User Interface) visualization is performed by Java Script code which is executed into a browser; or 2) based on specialized software platform which is built-in into STB - in this case, UI visualization is performed by executable code (applications).
UI applications based on open universal interface components
Even in today's tough integration between mobile phones and data networks, Internet and data-based services, there is no any valuable samples of UI and basic call function implementation on HTML or JavaScript - all mobile phone vendors use special system software which is simple, fast, useful, and reliable.
UI applications into STBs shouldn't also be bulky and work on-top on unusual basis (browsers, etc.). First of all, UI client applications should provide simple, fast and reliable access to all key digital TV services, they shouldn't 'freeze', but they should have powerful instruments of adding new interactive services and APIs for integration with all other solution components which work inside or outside STBs (i.e., Internet access, communication services, etc.).
Those applications combine cross-platformed development simplicity with advanced presentation capabilities, and they not only work fast and look good, but they might be rapidly customized.
Modern SmartLabs' UI applications are based on universal cross-platform graphical engines (Qtopia and GTK+) which support a wide range of client devices, i.e. STBs, mobile multimedia devices, digital players, communicators, mobile phones, etc. They have a long list of instruments for building user interfaces from prebuilt components with 2D and 3D functionality, and they also have an object language to create new interface elements which immediately become available for all types of client devices where UI application might be installed.
Thus, once created, the UI might be easily transferred to different end-point devices. It allows to move UIs to any new device within one technology (say, IPTV), and it also allows to build hybrid solutions (IPTV, DVB, 3G, WiFi, etc.) assuming that subscribers will use the same interface experience regardless ways they have to access services.
SmartLabs' UI application features:
- UI application works very fast in terms of navigating or browsing lists, changing forms/screens, redrawing interface elements - all those actions take about 40ms even at 'slow old' STBs (at the same time, boxes is surely playing video). This speed allows users to navigate through client application assuming 100% native and expected response from the UI - big difference from browser-based UIs and proprietary UIs.
- UI application rapid development and transition to other boxes - UI application might be easily transitioned to new devices, in some cases, it took just few days...
- Presentation capabilities - i.e., animation, 2D, 3D, scrolling lines, flying objects - are 1. possible, 2. easy to add, 3. works fast. It allows to make even slow box to looks like modern game consoles.
- UI application is middleware independent. The server-side middleware and UI applications are developed the way to separate server functions from user interface presentation. To communicate with server-side middleware, UI application uses http (https) transport and XLM data format which is designed according ITU-T recommendations and standards. It means that any middleware in the market which support those standards may communicate with UI application in order to deliver, say, EPG, list of services, etc.
- UI application is module-based. In case of any changes or new functionality, no necessary to upload the hole application to STBs.
Browser-based UI applications
It's well accepted that key advantages of browser-based UI application which service providers might expect are rapid UI development and customization as well as reuse of prebuilt interface components. However, last few years of solid long-term experience with browser-based application shows that 1) browser-based UI applications are not so rapid in development as expected, and 2) a browser has serious limitations when trying to use comprehensive visualization mechanisms (2D and 3D objects, interface component movement, etc.).
Those two factors - slow interface motion (delays in changing screens, navigating through channel or content lists, etc.) as well as primitive animation capabilities - are not convenient for subscribers who got used to getting all visual and usability benefits from latest mobile phones or game consoles (PS3 or xBOX) interfaces. Also, despite that fact that browsers are declared to be similar, they work differently on different STBs, and service providers should spend a lot of time and efforts to unify UI on all STBs they use.
And, expected easy-to-use interface make-up 'html like' and on-the-fly data update on STB side turn into complicated JavaScript coding which, again, hits interface speed as well as a speed of interface development.
UI applications based on proprietary software
There are application vendors on digital TV market who offer client applications based on proprietary software, and this software is usually compatible with just several STBs and, usually, within one digital TV technology (i.e., only IPTV or DVB). Obviously, in this case, all serious customizations are possible by vendor's technical resources only. Those facts limit service providers with new services time-to-market as well as create dependencies to proprietary solutions.
