TVgui is a customizable user interface based on BitRouter’s patented XSM technology. It is flexible and can be used to implement any type of user interface. It has been used in over 22 million DTA devices worldwide to implement user interfaces for cable receivers developed by Technicolor and Arris. TVgui has also been used to implement user interfaces for ATSC coupon converter devices.
TVgui includes the following pre-existing features, called ViewPorts:
- Audio Selection
- Auto Scan Selection
- Caption Preferences Selection
- Caption Service Selection
- Channel Edit Selection
- Channel Information
- Channel Selection
- EPG Detailed Program Information
- EPG Grid Selection
- Image Viewer Selection
- Parental Controls Selection
- Password Entry Selection
- Signal Meter Selection
- Skin Selection
- Time Options Selection
- Volume Selection
- CableCARD Information
- CableCARD Service Selection
- CableCARD Debug Level Selection
- Channel List Selection
New features are always being added, as needed. TVgui also allows “processing instructions” that allow the XML code to call directly into ‘C’ or C++ APIs.
- The GUI is described in XML, just like skins for mobile devices. This allows the look and feel to be changed without changing or recompiling the program’s source code.
- XSM allows for a very compact description of “look and feel”. The complete user interface for an ATSC converter box can be defined in around 2,000 lines of XML and a typical DTA’s UI is around 15,000 lines of XML. That is the entire source code an OEM or ODM needs to modify.
- The XML file, combined with images and fonts, provides complete control over the UI’s look and feel.
- XSM allows control over event handling such as remote control key press, front panel key press, timeouts, menu option highlighting, etc.
- The XML skin is converted to a binary form using PC based tools provided by BitRouter. Only the binary form of the XML is stored in a device’s Flash memory. This makes TVgui very responsive to user input.
- XSM based UIs provide IP protection by not requiring release of source code and APIs.
- XSM based UIs utilize hierarchical state machine building blocks that can be reused across product lines.
The diagram below shows a high-level block diagram of how TVgui interfaces to BitRouter’s stack products. The yellow blocks below can be replaced to change a product’s look and feel:
|XML||Completely describes the GUI. It must follow the Data Type Definition (DTD).|
|Images||PNG and JPEG format images can be used for background images and menu items. Other image decoders can be added as required.|
|Font(s)||Typical TV receivers in North America use eight basic fonts mandated for digital closed captioning plus one UI font. Other fonts can be added as required.|
|TVgui DTD||The Document Type Definition to be followed by the XML.|