Kaleida was one of three joint ventures of the 1990s between Apple and IBM, including the Taligent operating system and the AIM alliance with Motorola for the PowerPC platform.
Kaleida's corporate offices were located in Mountain View, California, at sites near the Shoreline Amphitheater on the east side of U.S. 101.
This was essentially a cross-platform interactive version of the QuickTime Player that would run on the Apple Macintosh, IBM PC clones, as well as set-top boxes and other platforms.
On top of this model was the ScriptX programming language and object library, which allowed developers to make the media files completely interactive.
"[3] Goldhaber's flamboyant style, expensive company payroll, and lack of obvious progress led to negative stories in the press.
One executive who described that "the company has spent about $20 million in its one year of existence and that Apple and IBM are loath to continue spending money at that rate.
The ScriptX development kit and the 1.0 version of the Kaleida Media Player were finally released on December 19, 1994, now considerably late.
[8] Nevertheless, reviews were generally positive, calling it "remarkable for its ease of use" and stating that the core "classes that provide a high common denominator feature set for ScriptX-based development".
[9] To put this in perspective, a mid-range Mac of the era was the LC 475 which shipped with only 4 MB of RAM standard, of which the OS used a significant amount.
Kaleida had also been formed, to some degree, to offer an alternative to the Wintel platform for what at that point appeared to be an emerging market in the CD world.
[11] Meanwhile, Sun Microsystems was promoting its new Java programming language as a Web-dedicated system designed specifically to run on even the smallest platforms.
[11] By shipping ScriptX, Apple and IBM met contractual commitments they had made to developers and avoided legal difficulties.
Early versions of Flash are in many ways a clone of ScriptX, using a small plug-in runtime with an event-driven language and similar resource requirements.
ScriptX was implemented in C, using an extensive library called Objects in C that Wainwright had developed before joining Kaleida, and sold to the company at its inception.
ScriptX supports multi-threading but not multiprocessing, and offers scripting control of lower level operating system features such as events and concurrently running threads.
Early multimedia development tools lack techniques for synchronizing presentations, except by polling the operating system's own clock.
Ray Valdés, writing in Dr. Dobb's Journal, noted that, "a key ScriptX feature is a Clock class, which provides facilities for synchronizing timed sequences of actions required by multimedia apps.
"[13] Following the closure of Kaleida Labs, Wainwright became the principal architect of MaxScript, a scripting language for 3D Studio Max that has been used to process content for gaming and 3D applications such as the Maxis Sims programs.
This code is responsible for forwarding trackDrop messages between objects, and illustrates a number of uncommon features of the ScriptX language.