Set-top boxes: the real network computer?
Sun Microsystems, Oracle and IBM developed a number of NCs based on the Java platform. Even Microsoft took note and proposed the Windows Terminal based on Microsoft Windows. These desktop replacements met with resistance from many and have not dominated the industry as Ellison had hoped. Critics argued that NCs are not as powerful as desktop PCs and skeptical users were just not ready for the culture shock of storing all of their data remotely. The poor performance of first generation NCs and slow network connections have led some to conclude that NCs are dead. While pundits debated the merits of PCs vs. desktop NCs, a consumer equivalent of the NC has silently taken center stage: the cable TV set-top box.
Cable TV set-top boxes have been in use since the inception of cable TV. First generation cable boxes were no more than an a tuner which supplemented the tuning range of conventional television sets. Even after televisions with cable ready tuning were introduced, cable boxes were still necessary for controlling access to pay-per-view and other supplemental programming, like HBO. Newer, more sophisticated cable boxes decoded scrambled channels and gave cable companies efficient control of services. Unfortunately, a poor security model created an underground economy of illicit cable TV decoders which allowed any cable subscriber to receive any channel without paying premium service charges. Some cable companies fought back by downloading new software into cable boxes hoping to exploit subtle differences between legitimate boxes and bootleg units. A technical chess game ensued between cable companies and underground cable box makers, each trying to gain the favor of the viewing public.
Cable companies needed more secure cable boxes. They also considered supplying additional interactive services like programming information, electronic commerce and content not yet envisioned. Around the same time, researchers at Sun Labs were writing software for the new set-top box strategy. Sun's James Gosling developed what is now the Java platform to solve some of the problems he encountered during early software development with C++ -- although, for political reasons, Gosling's platform, then known as Oak, became a solution looking for a problem. Interactive set-top boxes themselves were a great idea, but never reached critical mass. Independently, on another continent, Tim Berners-Lee developed a simple yet powerful networking protocol along with a document format. It was known as the World Wide Web and became one of the most important developments in computing history. It subsumed everything cable companies had hoped to deliver with interactive set-top boxes.
The Web presented fantastic possibilities and opportunities. Unfortunately, popular Web-browsing software runs on desktop computers, which are flexible and powerful machines, but a little too complex to manage for the average consumer. Installing, configuring and upgrading software is not what consumers look forward to when they buy an appliance. What the consumer needs is an appliance as simple to use as a television set or a telephone -- not one that overshadows the legendary complexity of setting the clock on a VCR.
Cable companies quickly realized that the Web was not a challenge to their once lofty set-top box goals. The Web perhaps was a catalyst by demonstrating the viability of networked, electronic content. The cable companies also realized that all those underground cables to millions of homes could be used to deliver Web content at high speed. All that was needed was a set-top box that could understand Internet protocol and support Web browsing software. Proprietary software could be developed, but an open standard is more consistent with the Web paradigm. TCI, a leading cable company, has chose the Java platform for use in set-top boxes. With Java, any developer can extend the functionality of a set-top box by writing Java applets.
Java is an attractive solution for set top boxes. Java byte code can run on any microprocessor. Intel x86 processors dominate desktop computers, but embedded systems like set top boxes may use any number of different processors. Choice of processor in embedded systems is dependent on factors such as cost, performance and footprint. For these reasons, platform neutrality is crucial to success. Java security features like byte-code verification and digital signatures will help to reduce the proliferation of bootleg set-top boxes that give non-subscribers access to restricted programming. Some consumers may not like this, but cable companies will look forward to recovering lost revenue. Another attractive feature of the Java platform is the ability to support dynamic content in the form of applets. Applets have seen limited use on the Web due to network bandwidth constraints, this is not the case with cable. Cable data rates are easily tens times greater than telephone modems.
It appears that technology has come full circle. Java was developed for embedded systems like set-top boxes, but languished for non-technical reasons. Network computers solve many of the problems needed to take computing to the masses, but has not seen adoption for cultural reasons. The combination of Java with the network computing concept may make the set-top box as important as desktop computers in the years to come.
Madhu Siddalingaiah is a consultant with an interest in emerging technologies like Java. He is the author of the "Java How-to" and co-author of "Java API for Dummies Quick Reference." Madhu is contracted to teach and develop corporate training courses through Learning Tree International. Before Java, Madhu specialized in satellite instrumentation, communications receivers and 3D graphics. When Madhu is not working, he may be found flying helicopters and playing drums, but not at the same time. Contact Madhu at: firstname.lastname@example.org.