PersonalJava is the foundation for a new breed of interactive digital TV apps -- but how does it fit in with TCI's recent Windows CE announcement? Developers who have been trying to gauge Tele-Communications Inc.’s commitment to Java, based on the news last week that it would employ the language in its next-generation of digital set-top boxes, will get their answer with the API release, due in a couple of months, according to TCI officials.TCI also announces plans for Windows CEImmediately following TCI’s announcement that it would use Sun Microsystem Inc.’s PersonalJava software on its high-end set-top boxes to deliver applications to the home, TCI said it would power its digital set-top boxes with a slimmed-down version of Microsoft’s Windows operating system, known as Windows CE.While some in the industry view the technologies as competing, TCI believes PersonalJava and Windows CE can coexist on the same set-top device just as Java and Windows coexist on the PC, thereby offering developers a greater choice for writing applications. “Both pieces of software can coexist on one box,” said Dave Beddow, senior vice president of TCI, based in Englewood, CO. “On some boxes, Windows would serve as the underlying operating software, while Sun’s Java would reside with Windows as a Java `application management system’,” said Beddow.How TCI will use PersonalJavaSun’s PersonalJava is a platform for consumer devices, designed specifically for products connected to a network. With PersonalJava included in set-top boxes, consumers can download to their TVs, for example, a Java applet that provides for home banking, portfolio management, or home shopping.PersonalJava will be outfitted in TCI’s advanced digital set-top boxes, which are expected to be installed in each of TCI’s 10 million customer’s homes over the next three years. The first advanced boxes will be released early next year, said Bruce Ravenel, senior vice president of TCI Ventures Group. In contrast with today’s digital boxes for simple delivery of digital television, TCI’s advanced boxes will support computational and interactive capabilities, propelled by a high-performance CPU, significant memory, and an operating system that can run a variety of connected, broadband applications.The advantages of PersonalJava over Windows CETCI is using Windows CE as the operating environment, which, according to chairman John Malone, will be included in each of up to 11.9 million boxes it plans to deploy over the next several years. TCI will use a version of Windows CE specially developed for the television environment, with integrated support for Internet content and technology from WebTV Networks, now a subsidiary of Microsoft.For set-top boxes carrying more than 8 megabytes of RAM (required to run Windows CE), TCI will use PersonalJava on top of Windows CE or some other OS, Beddow said. PersonalJava utilizes less than 2 megabytes of RAM by comparison. “Not necessarily every box in the customer’s home will run PersonalJava software. [Although] it’s our ambition that we would have this platform available to every customer,” Ravenel said. “It’s safe to say we’ll probably have in excess of a million of these devices — the kind we’re deploying today — out there that don’t run PersonalJava software, and there could be more. But clearly, our goal, together with Sun, is to see an advanced, interoperable, connected platform evolve ubiquitously across our customer base.” Despite TCI’s grand endorsement of Windows CE, the company said it may use microprocessors and operating systems from additional manufacturers, in which case PersonalJava would be the necessary development environment for writing apps that run across the variety of systems. “Of course, the PersonalJava technology will allow us to have our applications remain independent of that specific selection,” Ravenel said.The exact configuration of Windows CE and PersonalJava and the version that winds up in TCI’s next-generation set-top boxes is not the version that is readily available today, Beddow said. It may be a subset or a superset of things that exist in the environment today, such as a cable version of Windows CE.“Developers need to wait until we make the final decision on what version of PersonalJava and Windows CE will run in the box,” Beddow said. “We have to ensure the versions of Windows CE and PersonalJava are compatible. Once we finalize the version running in the set-top box, then the APIs will be released in the form of a software developers kit.” By adopting the two distinct environments, TCI’s systems will be able to run a variety of applications, from IP telephony and streaming video and audio that are written to take advantage of the operating system kernel to TV programming guides, home banking, and commerce apps created with Java.“A lot of simple applications are better written to a language like Java than… to the OS,” Beddow said. “The developer has more flexibility, and the speed at which those apps run is less critical.” Moreover, Java allows developers to write applications more rapidly and ensures those applications will run identically on all devices, on TCI’s network, and the networks of other cable operators. Of course, Microsoft will sway those developers already familiar with the 32-bit Windows APIs, the same interfaces in Windows CE, to write applications that cater to the new home-based digital TV market.“This is an exciting time for developers. PCs have 40 percent penetration in the home, and the advanced set-top box will go into many more homes. The set-top platform is built on an understood API set and that enables developers to enter a whole new set of business,” said Steve Guggenheimer, group product manager for Microsoft’s Consumer Platform Division. Sun argues that Windows APIs are only one of perhaps a dozen real-time operating systems that could be employed in TCI’s set-top boxes, the clear message being that developers would not be limited to writing to one operating environment, and that a PersonalJava app will run on all of the operating environments without requiring developers to rewrite code.“With PersonalJava, the ISV community can write to a single platform,” said Curtis Sasaki, Sun product manager for Java in the consumer space. “Developers can write apps that run on the Internet and the new breed of consumer devices; they are not confined to set-top boxes.”Writing to the PersonalJava spec doesn’t require an entirely new set of tools the way writing to the Windows CE platform does, and applications written for WebPhone, for example, can be run on a set-top box, Sasaki said. With the diverse toolset available for Java, writing applications for the consumer market is not limited to traditional programmers. Graphics developers and content providers working for Disney and Discovery Channel, for example, also can write in Java using the latest drag-and-drop tools. Examples of applications built for the set-top box include channel management, which gives TV viewers access to different program guides based on their subscriber rate. Or smart cards could be used in conjunction with the set-top boxes to offer services and marketing promotions based on the value assigned to the card. Applications built to the PersonalJava spec are expected to be available this year, as the final code (the “1.0 reference implementation) was released to licensees in December 1997. Sun’s JavaSoft division has released a beta version of PersonalWebAccess, a JavaBean for building applications on top of PersonalJava, such as a Web browser for the set-top box or Web phone.“To us, PersonalJava is a critical standard platform for ISVs to write to,” Sasaki said. “This [TCI deal] is another way to solidify Java as a standard platform.”Karen Rodriguez, a freelance writer based in San Jose, CA, has been following the commercialization of the Internet and the progress of Java since its inception in 1995. Java