Kaleida Labs - Java and The Internet

Java and The Internet

Although computer and software companies were early users of the Internet and the World Wide Web (WWW), most companies in the early 1990s did not anticipate its rapid adoption by consumers. Outside of universities and the computer industry, very few companies or individuals had access to high-speed, broadband networks. Kaleida had been founded partly as an authoring environment for applications based on CD-ROMs. But the product life cycle of CD-ROMs, which had been heralded for years as a content delivery system, turned out to be surprisingly short.

By 1995 it was clear that CD-ROMs for content delivery in applications would soon give way to delivery over a high-speed network. In early 1995, Kaleida Labs demonstrated the ability of ScriptX to support distributed objects over the Internet, and to serve dynamically generated web content (see ScriptX and the World Wide Web: Link Globally, Interact Locally). By late 1995, however, the directors of Kaleida realized that the direction of multimedia development had shifted, and that Sun Microsystems’s Java language was better positioned than ScriptX to take advantage of the Internet.

Java has many similarities with ScriptX. Like ScriptX, it is an object based language with elements of syntax that are similar to C and C++. Java classes support a limited form of multiple inheritance through interfaces, and the Java runtime environment utilizes a garbage collector for memory management with a "tracing" architecture similar to that of ScriptX. Both Java and ScriptX translate programs into a platform-independent bytecode.

Unlike ScriptX, Java is not a pure object system, and has primitive data types. In contrast with ScriptX expressions, Java programs are always written inside a class definition, and return either a value or void. This makes Java code much easier to secure, to protect from tampering and malicious interference. Java was able from the beginning to support multi-processing as well as multi-threaded applications, and thus was naturally scalable. These features, and other attributes of Java, made it more suitable for a distributed and networking environment than ScriptX.

Although both ScriptX and Java were designed as platform independent virtual machine environments, their philosophy and implementation were quite different. The Kaleida Media Player was a complex interpreter that required several megabytes to run, and Kaleida never achieved effective performance on a system with less than 16 MB of random access memory. By contrast, Java was designed to run compiled bytecode on a stripped down virtual machine that could be implemented on virtually any 16-bit or larger processor. In this way, Java could be used anywhere from handheld devices or consumer appliances to mainframe computers.

In 1995, Java was being demonstrated mostly as a runtime environment for small applets, as code that could be embedded in web pages and downloaded to run in the browser. Sun Microsystems provided detailed specifications for Java, released many classes in open source, and aggressively formed alliances to distribute it and share its development with other companies throughout the computer hardware and software industries.

Read more about this topic:  Kaleida Labs