Rethinking the role of an embedded Internet client in digital set-top boxes

Submitted by:
Paul Chapple
Market Development Manager
Spyglass, Inc.

While a tremendous amount of attention has been paid to the concept and practice of integrating Internet functionality with the next generation of digital cable and satellite set-top boxes, only a limited picture of what is technically possible has emerged. By focusing almost exclusively on adding Web browsing capabilities, additional value-added and revenue-generating functionality has been overlooked. This paper will briefly examine how a traditional Web browsing implementation can be extended to serve as the basis of other interactive applications.

Within a digital set-top box it is possible, and, in fact, advisable, to design the embedded Internet client technology such that core functionality can be leveraged for multiple applications, including email, electronic program guides, on-screen billing, and Web browsing. As an example, the underlying architecture of Spyglass' embedded Web browser, Device Mosaic, has a well-defined API layer that cleanly separates the browser user interface from the application core, making it possible to add new application user interfaces that utilize the same core Internet technologies. These applications may be independent (standalone) or may be integrated with the Web browser. Because they re-use so much of the browser code, memory requirements are minimized, making the solutions ideally suited to the memory and processor constrained environments common in televisions and digital cable and satellite set-top boxes.

This approach differs significantly from traditional Web browser implementations where the browser user interface is so tightly coupled to the core that not only is it nearly impossible to add additional applications, but a developer's ability to customize the look and feel of the browser itself is also greatly limited. Furthermore, a significant factor in ensuring a consistent look across all types of embedded applications is the inclusion of a graphics library within the embedded client architecture. Spyglass includes a portable graphics library (Spyglass ThinGUI) to fill this role. While the value of such a graphics library is apparent, a detailed discussion of its capabilities is outside the scope of this paper.

An example of how Spyglass extends its browser technology to include email functionality will illustrate how a well-architected embedded Internet client can bring more than Web browsing to a set-top box.

Spyglass Device Mosaic

dmosaic_430.gif (11462 bytes)

Spyglass Device Mosaic is a high-performance Web browser that has a target code size of less than 400KB, enabling integration with a broad array of television platforms.

Spyglass Device Mail

dmosaic_dmail_430.gif (12257 bytes)

Spyglass Device Mail email technology can leverage much of Spyglass Device Mosaic's browser code, minimizing memory requirements and making both solutions ideal for the environments common in televisions and digital cable and satellite set-top boxes..

By using the API layer that separates the browser user interface from the core, it is relatively straightforward to create a new user interface that either incorporates email into the browser or acts as a standalone email application. Adding an IMAP or POP3 "protocol handler" to the browser core completes the email application. A handler is a Spyglass term for an independent, dynamically linkable software module with a well-defined API set. All Internet technologies, including HTML, XML, Java, SSL, and HTTP, are, or will be, implemented via handlers. (Again, handlers are a key component of the Spyglass solution, but are outside the scope of this paper.)

Relationship to the WEB CONTENT ENGINE concept

The concept of a Web Content Engine is central to a number of efforts, including OpenCable in the United States and DVB in Europe, aimed at keeping advanced television application development open. (The concept/design for a Web Content Engine has been described narrowly in the past as an HTML Engine. As the capabilities of the design far exceed simple HTML rendering, Web Content Engine is a more appropriate description.) By enabling software developers to easily add HTML content, HTML user interfaces, and easy access to the Web, a Web Content Engine significantly enhances a third party software developer's ability to create new and interesting applications.

While the email solution does not require it, the architecture discussed above is ideally suited for a Web Content Engine implementation. Moreover, the design also assures that the overall footprint of all HTML-based applications remains small.

Using Device Mosaic as an example, it is possible to access APIs and functionality for embedded Web applications including, but not limited to, browsers. Developers of advanced television services choose from a suite of Spyglass Internet technologies (handlers), and include those that need to be supported within the application configuration. Additional technologies may be easily integrated by supporting the documented interface and behavior of defined APIs.

A Web Content Engine is inherently flexible and provides a platform for numerous applications, including, but not limited to the following:=20

Spyglass Web Content Engine

htmlengine.gif (10505 bytes)

The Spyglass Web Content Engine is a derivative of our Web client technology, Spyglass Device Mosaic. The Web Content Engine is a component software development kit with exposed APIs that can provide functionality with various embedded Web applications.

The above list of applications/services is not meant to be exhaustive. Nor is the discussion of embedded architecture and Web Content Engines meant to serve as an implementation guide. Instead, this paper is intended to demonstrate that the true value of the Internet in the television environment may not be generic Web browsing, but rather, in using the tools and technology that have fueled the phenomenal growth of the online world to rapidly create new, varied, and custom applications.