Kaleida Labs
   HOME

TheInfoList



OR:

Kaleida Labs, Inc., formed in 1991 to produce the
multimedia Multimedia is a form of communication that uses a combination of different content forms, such as Text (literary theory), writing, Sound, audio, images, animations, or video, into a single presentation. T ...
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
Kaleida Media Player and the
object oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
scripting language In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
ScriptX that was used to program its behavior. The system was aimed at the production of interactive
CD ROM A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains data computers can read, but not write or erase. Some CDs, called enhanced CDs, hold both computer data and ...
titles, an area of major effort in the early 1990s. When the system was delivered in 1994, it had relatively high system requirements and
memory footprint Memory footprint refers to the amount of main memory that a program uses or references while running. The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size. In computing, t ...
, and lacked a native
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
version on the
Mac Mac or MAC may refer to: Common meanings * Mac (computer), a line of personal computers made by Apple Inc. * Mackintosh, a raincoat made of rubberized cloth * Mac, a prefix to surnames derived from Gaelic languages * McIntosh (apple), a Canadi ...
platform. Around the same time, rapid changes in the market, especially the expansion of the
World Wide Web The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
and the
Java programming language Java is a high-level, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Jav ...
, pushed the interactive CD market into a niche role. The Kaleida platform failed to gain significant traction and the company was closed in 1996. Kaleida was one of three joint ventures of the 1990s between Apple and IBM, including the
Taligent Taligent Inc. (a portmanteau of "talent" and "intelligent") was an American software company. Based on the Pink object-oriented operating system conceived by Apple in 1988, Taligent Inc. was incorporated as an Apple/IBM partnership in 1992, and ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
and the
AIM alliance The AIM alliance, also known as the PowerPC alliance, was formed on October 2, 1991, between Apple Inc., Apple, IBM, and Motorola. Its goal was to create an industry-wide open-standard computing platform based on the IBM POWER architecture, POWE ...
with
Motorola Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois. It was founded by brothers Paul and Joseph Galvin in 1928 and had been named Motorola since 1947. Many of Motorola's products had been ...
for the PowerPC platform. ScriptX was one of several similar software platforms that started at Apple in that timeframe. The SK8 system was also aimed at the multimedia market, although it evolved from what was originally a major upgrade to
HyperCard HyperCard is a application software, software application and software development kit, development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard com ...
. The Dylan programming language was a more full-featured platform, aimed at general programming not just multimedia. Development of all of these software projects ended at approximately the same time.


History


Formation

Announced in 1991, the company began operations in the summer of 1992 with
Nat Goldhaber A. Nathaniel "Nat" Goldhaber is an American venture capitalist, computer entrepreneur and politician. Goldhaber helped found Maharishi International University and was special assistant to lieutenant governor William Scranton III and founder an ...
serving as its first CEO. The company was staffed by hand picking members of Apple's
QuickTime QuickTime (or QuickTime Player) is an extensible multimedia architecture created by Apple, which supports playing, streaming, encoding, and transcoding a variety of digital media formats. The term ''QuickTime'' also refers to the QuickTime Pla ...
team, along with members from the big-iron content delivery side at IBM. Kaleida's corporate offices were located in Mountain View, California, at sites near the Shoreline Amphitheater on the east side of U.S. 101. Kaleida was one of the earliest companies to post a corporate website. The early model for the system was the Kaleida Media Player, or KMP. This was essentially a cross-platform interactive version of the
QuickTime Player QuickTime (or QuickTime Player) is an extensible multimedia architecture created by Apple, which supports playing, streaming, encoding, and transcoding a variety of digital media formats. The term ''QuickTime'' also refers to the QuickTime Pla ...
that would run on the
Apple Macintosh Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
,
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the List of IBM Personal Computer models, IBM PC model line and the basis for the IBM PC compatible ''de facto'' standard. Released on ...
clones, as well as
set-top box A set-top box (STB), also known as a cable converter box, cable box, receiver, or simply box, and historically television decoder or a converter, is an information appliance device that generally contains a Tuner (radio)#Television, TV tuner inpu ...
es and other platforms. It was intended to be a single universal multimedia system. On top of this model was the ScriptX
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
and
object library In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
, which allowed developers to make the media files completely interactive. According to statements made at the Digital World Conference, Goldhaber stated that ScriptX would allow developers to distribute their work on practically any device simply by “hitting a button on a screen and selecting ‘Save as ScriptX’."Janice Maloney
"A Multimedia Standard to Bring About ‘Universal Compatibility’"
, ''Digital Media'', July 1993
Grandiose statements were typical, with Goldhaber later stating that "It actually does have some genuine social importance." 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. He said Kaleida salaries are high and that the company has too many employees for its current stage of development". In early 1993, Goldhaber and the board started fighting over
stock option In finance, an option is a contract which conveys to its owner, the ''holder'', the right, but not the obligation, to buy or sell a specific quantity of an underlying asset or instrument at a specified strike price on or before a specified ...
s and whether the company should go public. On July 18, 1993, the company announced that Goldhaber was being replaced as CEO by Mike Braun, formerly of IBM. The company stated that Goldhaber would remain on the board in efforts to build industry partnerships, but blamed a lack of progress on this front, and Goldhaber's "hands off" management, as the main reasons for the switch. In parting, Goldhaber quipped that different cultures and political maneuverings at IBM and Apple doomed the company from the start.


Refocus and release

Following Goldhaber's ousting, the company's focus was narrowed. Plans to build a system for set-top boxes was officially abandoned in April 1994. Kaleida's mission from then on was to complete and support the ScriptX language and multimedia object library, which by this point were very late. Kaleida sought to bundle the KMP as system software with new personal computers. At the same time, CD-ROM developers could ship the KMP with content to support existing Windows and Macintosh systems. As part of the new focus, the company was downsized, with layoffs representing about 20 to 25% of the workforce.Ray Valdés
"What's up at Kaleida?"
''Dr. Dobbs Developer Update'', September 1, 1994
In late 1993 and early 1994, the company's objective was for the Kaleida Media Player to run on a reference platform consisting of either a 25 MHz Motorola 68030 or a 25 MHz Intel 80486 processor running with 4 MB of random access memory. Such a system was typical of the installed base at that time, and most new computers were shipping with a read-only CD-ROM drive. Toshiba, which had supported Kaleida's set-top box effort, became a minority stakeholder. Throughout its brief history, Kaleida maintained cross-platform development efforts for Windows (both Windows 3.1 and Windows 95), the Macintosh (supporting both the 68000 and PowerPC platforms), and OS/2. The ScriptX development kit and the 1.0 version of the Kaleida Media Player were finally released on December 19, 1994, now considerably late. 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". However, performance was another issue entirely. The 1.0 version of the KMP required 3.3 MB of RAM on Windows and 2.9 MB on the Mac, and this was for the basic runtime only, not the actual content that ran on it.Stephan Somogyi
"Kaleida's ScriptX: It's late but ahead of its time"
''Digital Media Perspective'', December 23, 1994
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. Moreover, the system was not released in
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
format, although by this point the PPC had already formed the high end of the Mac lineup for eight months.


Changing market

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 becoming clear that the
World Wide Web The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
would be delivering many of the lightweight interactive systems that were previously delivered in CD-ROM, and while video and similar high-bandwidth systems were not yet suitable for the Web, they did not need the development environment or interactivity offered by something like Kaleida. 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. Goldhaber had mentioned this on many occasions, describing the upcoming "war" for multimedia. After Netscape's public offering early in 1995, many software developers recognized that the browser itself would pose a challenge to Windows, and that the browser would become a multimedia platform in its own right. The standalone platform to attack Wintel now existed. Kaleida then started an effort to deliver objects over the Internet and deliver Web content. Most potential Kaleida developers had been taking a wait-and-watch approach to the system, waiting for Kaleida to solve performance problems and ship a more stable version of ScriptX. However, the company had not been able to demonstrate a system that ran acceptably in less than 16 MB of RAM, which was at that time the "high end" of the market.
Macromedia Macromedia, Inc. was an American graphics, multimedia, and web development software company headquartered in San Francisco, California, that made products such as Adobe Flash, Flash and Adobe Dreamweaver, Dreamweaver. It was purchased by its riv ...
's
Director Director may refer to: Literature * ''Director'' (magazine), a British magazine * ''The Director'' (novel), a 1971 novel by Henry Denker * ''The Director'' (play), a 2000 play by Nancy Hasty Music * Director (band), an Irish rock band * ''D ...
and associated Lingo program took advantage of the vacuum to establish a strong market. Meanwhile,
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
was promoting its new
Java programming language Java is a high-level, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Jav ...
as a Web-dedicated system designed specifically to run on even the smallest platforms.


Closure

By late 1995 it was clear that ScriptX had lost its momentum in the market, even though the company was on the verge of shipping ScriptX Version 1.5. In November 1995, Apple Computer and IBM announced the closure of Kaleida Labs, effective in January 1996. The parent companies announced that they would ship ScriptX 1.5 anyhow. Future development of ScriptX would move to a group inside Apple Computer, and Apple offered jobs to most members of the ScriptX engineering team. ScriptX Version 1.5 shipped almost concurrently with the closure of Kaleida Labs, in January 1996. By shipping ScriptX, Apple and IBM met contractual commitments they had made to developers and avoided legal difficulties. Ultimately, only two multimedia content projects ever shipped using ScriptX 1.5. One was a CD-ROM version of the Swedish National Encyclopedia,
Nationalencyklopedin (; "The National Encyclopedia" in English), abbreviated NE, is a comprehensive contemporary Swedish-language encyclopedia with several hundred thousand articles. It is available both online and via a printed version. History The project was ...
, developed by Linné Data of Gothenburg, Sweden. The other was an interactive music title
Robert Winter's Crazy for Ragtime


After Kaleida

Within a few months, development of ScriptX withered away inside Apple, and the remaining employees had either migrated to other jobs at Apple, or had left for other companies in the industry. The Director application remained a major force in the multimedia market for a time, but was supplanted and then replaced, by
Flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * The Flash, several DC Comics superheroes with super speed: ** Flash (Jay Garrick) ** Barry Allen ** Wally West, the first Kid Flash and third adult Flash ...
. 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.


Description


ScriptX

The principal software architect of ScriptX was John Wainwright, an Australian-born computer scientist. 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. Objects in C uses preprocessor directives to simulate an object system within the libraries. The library features more than 240 classes, many of them designed to support multimedia and create customized user interfaces. Common data structures such as arrays and linked lists were implemented as
collection class In computer science, a container is a class or a data structureEntry ''data structure'' in the Encyclopædia Britannica (2009Online entryAccessed 4 Oct 2011. whose instances are collections of other objects. In other words, they store objects i ...
es in the library. ScriptX is an object oriented scripting language, using design elements from "Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C++, and Pascal". With Smalltalk, it shares the concept of classes, objects, and inheritance, but also features multiple inheritance in both classes and objects, and dynamic binding of objects at runtime. ScriptX has no primitive data types; even integers are defined as objects. All objects are instances of a class, and classes are instances of a MetaClass object. As in LISP, there are no statements, and every line in a ScriptX program is an expression that returns a value. ScriptX uses
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclable ...
running in a separate thread to handle memory, and features an object store for permanent collections. 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 ''Dr. Dobb's Journal'' (often shortened to ''Dr. Dobb's'' or DDJ) was a monthly magazine published in the United States by UBM Technology Group, part of UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the fi ...
'', noted that, "a key ScriptX feature is a ''Clock'' class, which provides facilities for synchronizing timed sequences of actions required by multimedia apps."Ray Valdés
"Introducing ScriptX"
''Dr. Dobb's Journal'', November 1994
Following the closure of Kaleida Labs, Wainwright became the principal architect of MaxScript, a scripting language for
3D Studio Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capab ...
that has been used to process content for gaming and 3D applications such as the
Maxis Maxis is an American video game developer and a Division (business), division of Electronic Arts (EA). The studio was founded in 1987 by Will Wright (game designer), Will Wright and Jeff Braun, and acquired by Electronic Arts in 1997. Maxis is ...
Sims programs. It closely resembles ScriptX.


Example

The following code illustrates the unique syntax of the ScriptX language. It is part of a class that handles mouse tracking in a larger program written by
Don Hopkins Don Hopkins is an artist and programmer specializing in human computer interaction and computer graphics. He is an alumnus of the University of Maryland and a former member of the University of Maryland Human–Computer Interaction Lab. He in ...
.Don Hopkins
"TrackService: Yet Another Event Handler for ScriptX"
Kaleida Labs
The sendTrackDrop method sends a trackDrop message to another object. method sendTrackDrop self service target x y data doit -> ( local coords := new Point repeat while (true) do ( if (canObjectDo target trackDrop) then ( return (trackDrop target service x y data doit) ) else ( coords.x := x coords.y := y local t := findFirstAtPoint target coords if (t

empty) do return false x := x - t.x y := y - t.y target := t ) ) ) This code is responsible for forwarding trackDrop messages between objects, and illustrates a number of uncommon features of the ScriptX language. Of minor note of interest is the := assignment operator, like that of Pascal. Variables are marked local to determine their
scope Scope or scopes may refer to: People with the surname * Jamie Scope (born 1986), English footballer * John T. Scopes (1900–1970), central figure in the Scopes Trial regarding the teaching of evolution Arts, media, and entertainment * CinemaS ...
. This is the opposite of most modern languages, where "local" is the default scope, and such a declaration would be redundant. In conventional languages the scoping visibility is defined by the location in the
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
file - variables declared inside a method are local to that method, those defined outside methods or other declarations are global to the class (or program). This lack of file-based scoping is a base feature of the ScriptX language and others like it, notably Dylan. In conventional languages like
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, classes and similar constructs are defined within a single file, or at least a "master file". Scope is defined by the file system and the code's location within it. In contrast, in ScriptX any method can be defined on any class in any file. In this example, the method sendTrackDrop is being applied to the Tracker class, and can be placed within any file that will be accessed during runtime. This allows programmers to organize their code by class or by functionality, at the cost of some extra syntax.


References


Further reading

* Kaleida Labs Inc. (1994). ''Scriptx Architecture Guide''.
Addison Wesley Addison–Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson plc, a global publishing and education company. In addition to publishing books, Addison–Wesley also distributes its technical titles ...
. . Documentation accompanying ScriptX Version 1.0. * Kaleida Labs Inc. (1994). ''ScriptX Core Classes Reference''.
Addison Wesley Addison–Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson plc, a global publishing and education company. In addition to publishing books, Addison–Wesley also distributes its technical titles ...
. . Documentation accompanying ScriptX Version 1.0. * Kaleida Labs Inc. (1996). ''ScriptX Architecture and Components Guide''. Documentation accompanying ScriptX Version 1.5. * Kaleida Labs Inc. (1996). ''ScriptX Core Classes Reference''. Documentation accompanying ScriptX Version 1.5. * Kaleida Labs Inc. (1996). ''ScriptX Language Reference''. Documentation accompanying ScriptX Version 1.5. * Kaleida Labs Inc. (1995). ''ScriptX Technical Overview''.


External links


ScriptX overview page
* Hierarchical encapsulation of instantiated objects in a multimedia authoring system including internet accessible objects. (Patent is now assigned to
Quark, Inc. Quark Software Inc. (founded 1981 in Denver, Colorado) is a privately owned software company which specializes in enterprise publishing software for automating the production of customer communications. The company's original goal was to "create ...
)
List of patents still currently assigned to Kaleida
{{Authority control American companies established in 1991 American companies disestablished in 1996 Apple Inc. partnerships Companies based in California Computer companies established in 1991 Computer companies disestablished in 1996 Defunct software companies of the United States Former IBM subsidiaries 1991 establishments in California