Rhapsody (operating system)


Rhapsody was the code name given to Apple Computer's next-generation operating system during the period of its development between Apple's purchase of NeXT in late 1996 and the announcement of Mac OS X in 1998. At first more than an operating system, Rhapsody represented a new strategy for Apple, who intended the operating system to run on x86-based PCs and DEC Alpha workstations as well as on PowerPC-based Macintosh hardware. In addition, the underlying API frameworks would be ported to run natively on Microsoft Windows NT. Eventually, the non-Apple platforms were dropped, and later versions consisted primarily of the OPENSTEP operating system ported to the Power Macintosh, along with a new GUI to make it appear more Mac-like. Several existing "classic" Mac OS technologies were also ported to Rhapsody, including QuickTime and AppleSearch. Rhapsody could also run Mac OS 8 in a "Blue Box" emulation layer.

History

Rhapsody was announced at the MacWorld Expo in San Francisco on January 7, 1997 and first demonstrated at the 1997 Worldwide Developers Conference. There were two subsequent general Developer Releases for computers with x86 or PowerPC processors. After this there was to be a "Premier" version somewhat analogous to the Mac OS X Public Beta, followed by the full "Unified" version in the second quarter of 1998. Apple's development schedule in integrating the features of two very different systems made it difficult to forecast the features of upcoming releases. At the 1998 MacWorld Expo in New York, Steve Jobs announced that Rhapsody would be released as Mac OS X Server 1.0. No home version of Rhapsody would be released. Its code base was forked into Darwin, the open source underpinnings of macOS.

Design

Defining features of the Rhapsody operating system included a heavily modified "hybrid" OSFMK 7.3 from the OSF, a BSD operating system layer, the object-oriented Yellow Box API framework, the Blue Box compatibility environment for running "classic" Mac OS applications, and a Java Virtual Machine.
The user interface was modeled after Mac OS 8's "Platinum" appearance. The file management functions served by the Finder in previous Mac OS versions were instead handled by a port of OPENSTEP's Workspace Manager. Additional features inherited from OPENSTEP and not found in the classic Mac OS Finder were included, such as the Shelf and column view. Although the Shelf was dropped in favor of Dock functionality, column view would later make its way to macOS's Finder.
Rhapsody's Blue Box environment, available only when running on the PowerPC architecture, was responsible for providing runtime compatibility with existing Mac OS applications. Compared to the more streamlined and integrated Classic compatibility layer that was later featured in Mac OS X, Blue Box's interface presented users with a distinct barrier between emulated legacy software and native Rhapsody applications. All emulated applications and their associated windows were encapsulated within a single Blue Box emulation window instead of being interspersed with the other applications using the native Yellow Box API. This limited cross-environment interoperability and caused various user interface inconsistencies.
To avoid the pitfalls of running within the emulation environment and take full advantage of Rhapsody's features, software needed to be rewritten to use the new Yellow Box API. Inherited from OPENSTEP, Yellow Box used an object-oriented model completely unlike the procedural model used by the Classic APIs. The large difference between the two frameworks meant transition of legacy code required significant changes and effort on the part of the developer. The consequent lack of adoption as well as objections by prominent figures in the Macintosh software market, including Adobe Systems and Microsoft, became major factors in Apple's decision to cancel the Rhapsody project in 1998.
However, most of Yellow Box and other Rhapsody technologies went on to be used in macOS's Cocoa API. Bowing to developers' wishes, Apple also ported existing Classic Mac OS technologies into the new operating system and implemented the Carbon API to provide Classic Mac OS API compatibility. Widely used Mac OS libraries like QuickTime and AppleScript were ported and made available to developers. Carbon allowed developers to maintain full compatibility and native functionality using their current codebases, while enabling them to take advantage of new features at their discretion.

Name

The name Rhapsody followed a pattern of music-related code names that Apple designated for operating system releases during the 1990s. Another next-generation operating system, which was to be the successor to the never-completed Copland operating system, was code-named Gershwin after George Gershwin, composer of Rhapsody in Blue. Copland itself was named after another American composer, Aaron Copland. Other musical code names include Harmony, Tempo, Allegro, and Sonata.
VersionCode nameDateOS namePlatform
Rhapsody Developer ReleaseGrail1Z4August 31, 1997Rhapsody 5.0IA-32, PowerPC
Rhapsody Developer Release 2Titan1UMay 14, 1998Rhapsody 5.1IA-32, PowerPC
Rhapsody Premier1998Rhapsody 5.2PowerPC
Mac OS X Server 1.0Hera1O9March 16, 1999Rhapsody 5.3PowerPC
Mac OS X Server 1.0.1Hera1O9April 15, 1999Rhapsody 5.4PowerPC
Mac OS X Server 1.0.2Hera1O9+Loki2G1July 29, 1999Rhapsody 5.5PowerPC
Mac OS X Server 1.2Pele1Q10January 14, 2000Rhapsody 5.6PowerPC
Mac OS X Server 1.2 v3Medusa1E3October 27, 2000Rhapsody 5.6PowerPC