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. It consisted primarily of the OPENSTEP operating system ported to the Power Mac along with a new GUI to make it appear more Mac-like. Several existing 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.
Rhapsody was first demonstrated at the 1997 Worldwide Developers Conference (WWDC). There were two subsequent general Developer Releases for computers with Intel 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 (which shipped in 1999). No home version of Rhapsody would be released. Its code base was forked into Darwin, the open source underpinnings of Mac OS X.
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 Classic Mac OS's Finder were included, such as the column view, and would later make their way to Mac OS X'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 Mac OS X'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.
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 (Mac OS 7.6), Tempo (Mac OS 8), Allegro (Mac OS 8.5), and Sonata (Mac OS 9).