Rhapsody (operating system)
This article is actively undergoing a major edit for a short while. To help avoid edit conflicts, please do not edit this page while this message is displayed. This message was added at 12:20, 6 February 2023 (UTC). This page was last edited at 22:28, 6 February 2023 (UTC) (4 seconds ago) – this estimate is cached, . Please remove this template if this page hasn't been edited for a significant time. If you are the editor who added this template, please be sure to remove it or replace it with {{Under construction}} between editing sessions. |
Rhapsody, with a drawing application and a QuickTime movie playing | |
| Developer | Apple Computer |
|---|---|
| OS family | |
| Working state | Historic |
| Source model | Closed source |
| Latest release | Developer Release 2 / May 1998 |
| Platforms | x86, PowerPC |
| Kernel type | Hybrid kernel |
| License | Only released to developers |
| Part of a series on |
| macOS |
|---|
Rhapsody is the development series of Apple Computer's next-generation operating system. Targeting only developers for a transition period, its releases came between Apple's purchase of NeXT in late 1996 and the announcement of Mac OS X (later renamed macOS) in 1998. Rhapsody represented a new and exploratory strategy for Apple, more than an operating system, and runs on x86-based PCs and on Power Macintosh. Its OPENSTEP[a] based Yellow Box API frameworks were ported to Windows NT for creating cross-platform applications. Eventually, the non-Apple platforms were discontinued, and later versions consist primarily of the OPENSTEP operating system ported to Power Macintosh, merging the Copland-originated GUI of Mac OS 8 with that of OPENSTEP. Several existing classic Mac OS frameworks were ported, including QuickTime and AppleSearch. Rhapsody can run Mac OS 8 and its applications in a paravirtualization layer called Blue Box for backward compatibility during migration to Mac OS X.
Background[edit]
In the mid-1990s, Mac OS was falling behind Windows. In 1993, Microsoft had introduced its next-generation Windows NT operating system, which was a processor-independent, multiprocessing and multi-user operating system. At the time, Mac OS was still a single-user OS, and had gained a reputation for being unstable. Apple made several attempts to develop modern replacements for Mac OS, which all failed, harming public confidence in the company, while Macintosh sales continued to decline. Apple's most promising next-generation operating system, Copland, was mismanaged and had to be abandoned in 1996. In response, Apple CEO Gil Amelio decided to acquire or license an already-built operating system from another company. Apple's executive team considered BeOS, NeXT's NeXTSTEP, Sun Microsystems' Solaris, and Windows NT, and eventually acquired NeXT in December 1996.[citation needed]
Announcement[edit]
Rhapsody was announced by Gil Amelio at Macworld SF 1997 on January 7,[1][2] and first demonstrated at the May 1997 Worldwide Developers Conference (WWDC).[3][4]
Apple initially planned to release a developer preview of Rhapsody in the third quarter of 1997. It would be followed in January 1998 by a consumer release codenamed Rhapsody Premier, containing a preliminary version of Blue Box. The full Blue Box would come in Rhapsody Unified, planned for mid-1998.[5]
Two key concern to Macintosh developers and users were whether Apple could deliver on its new operating system strategy, and whether existing Macintosh apps would remain compatible.[citation needed]
Pitch to developers[edit]
While classic Mac OS's application framework, the Macintosh Toolbox, relied on procedural programming techniques, Rhapsody would inherit NeXTSTEP's more advanced object-oriented frameworks and its developer tools, Project Builder and Interface Builder. Apple said that developing apps for Rhapsody would be far quicker and cheaper than developing for Mac OS or Windows, which the company hoped would incentivize developers to adopt the new platform, enable small teams of programmers to compete with larger developers, and lead to the creation of more innovative apps.[6][7][additional citation(s) needed] At Macworld SF 1997, Jobs said Windows NT's frameworks placed developers on the "seventh floor", while Apple's next OS would place them on the "twentieth floor", since OPENSTEP libraries would provide apps with functionalities that would otherwise need to be coded from scratch.[citation needed]
Pitch to users[edit]
Apple pitched Rhapsody to users by emphasizing its improved stability and responsiveness. For example, on classic Mac OS, incoming faxes could leave the machine frozen until the fax completes; and if an app crashed, it could take down the whole system, and require a reboot, potentially leading to data loss.[8][5] Additionally, Rhapsody would inherit NeXTSTEP's local network sharing functionality, and make it easy to share data across apps.[8] At Macworld SF 1997, Steve Jobs offered a teaser for Rhapsody by demoing NeXTSTEP, and showed off its ability to play multiple QuickTime movies stored on the local network, and to drag-and-drop still frames from a QuickTime window into a Mail compose window. He also vaunted NeXTSTEP's maturity by showing a list of large companies that had adopted it.[citation needed]
Planned transition from Mac OS[edit]
Apple's plan was to maintain compatibility with "most" existing Mac OS applications through Blue Box but require apps to be rewritten for Yellow Box to take advantage of Rhapsody's new features. Blue Box would run in a window, and support System 7 apps (Motorola 68k and PowerPC), but would only be able to support apps that did not need to communicate with the hardware. Throughout Rhapsody's development, Apple would continue to release major upgrades to the classic Mac OS, which would remain supported for several years after Rhapsody's final release.[5][1][9]
At the May 1997 WWDC, Apple announced that apps rewritten for Rhapsody (Yellow Box apps) would also be able to run on Mac OS through a compatibility layer. Apple also announced a similar compatibility layer that would enable Rhapsody apps to run on Windows.[10][4] A contemporary Wall Street Journal article observed that Rhapsody posed a chicken-and-egg problem: declining Macintosh sales made an app rewrite less appealing, but Rhapsody would be commercially unsuccessful without rewritten apps taking advantage of its new features. The same WSJ report also quoted several developers, who expressed skepticism about Apple's ability to deliver on its promises, after Copland's abandonment. Apple attempted to appeal to developers by emphasizing the fact that Yellow Box was much easier to develop for (with drag-and-drop interface design, for example), and could be used to create apps that ran on both Rhapsody and Windows.[4]
Also in May, Apple announced that Rhapsody would be released for Intel x86 processors.[4] Some commentators speculated that Apple could be planning to switch the Macintosh from PowerPC to Intel processors.[11][12] In a meeting with Michael Dell, owner of PC maker Dell, Steve Jobs demonstrated Rhapsody on Intel x86, and offered to license the operating system to Dell for distribution on its PCs. The deal failed, however, when Jobs insisted that all of its computers ship with both Mac OS and Windows so that consumers could choose the platform they prefer (which would have resulted in Dell having to pay royalties to Apple for every computer it sells), as opposed to Dell's preference that the choice of OS be a factory option.[13][needs context]
After Jobs informally replaced Amelio as Apple CEO in mid‑1997, the company grew quieter on Rhapsody, leading to speculation over its fate.[14][15] At the October 1997 Seybold publishing conference, Jobs announced that the transition would be more "gradual" than previously announced by Amelio, and that the transition would imitate Microsoft's Windows NT strategy, with an initial release as a server operating system, followed by a consumer release several years later.[14]
Architecture[edit]
Rhapsody combines NeXT's OpenStep object-oriented framework, NeXT's other frameworks (WebObjects, Enterprise Objects Framework), and Apple's Mac OS technologies (AppleScript, QuickTime Media Layer, ColorSync).[16]
It had a new kernel based on Mach, new subsystems based on BSD, and integrated a Java virtual machine. Its windowing system was based on Display PostScript, and its user interface was a blend of classic Mac OS's Platinum UI and of the OPENSTEP UI.[17]
Rhapsody is defined by a heavily modified "hybrid" OSFMK 7.3 (Open Software Foundation Mach Kernel) from the OSF,[18] a BSD operating system layer (based on 4.4BSD), the object-oriented Yellow Box API framework, the Blue Box compatibility environment for "classic" Mac OS applications, and a Java Virtual Machine.
Blue Box[edit]
Blue Box was a compatibility environment that allowed Rhapsody to run classic Mac OS apps. It was released after Rhapsody DR1, in the form of an application called MacOS.app that loaded Macintosh ROM files stored on disk. Initial versions only supported full screen mode and Mac OS 8, while lacking support for Mac OS applications that needed hardware access, or that relied on non-public Mac OS APIs. In Blue Box beta 1.0, networking was implemented through Open Transport, instead of Rhapsody's BSD sockets.[19]
Rhapsody's Blue Box environment, available only on PowerPC due to paravirtualization, provides runtime compatibility with Mac OS 8 applications. All virtualized applications and their associated windows are encapsulated within a single Blue Box desktop window instead of being interspersed with native Yellow Box applications.
Blue Box later became the Classic environment,[19] which remained in Mac OS X until Mac OS X Tiger, with support for Classic dropped in Mac OS X Leopard.
Yellow Box[edit]
Yellow Box was a development platform and runtime environment, which included most of OPENSTEP's frameworks. It was cross-platform and cross-architecture, with the ability to run on the PowerPC and Intel x86 architectures, as well as on Microsoft Windows. Yellow Box included three major frameworks: Foundation, Application Kit, and Display PostScript. It also included NeXTSTEP's Project Builder and Interface Builder development tools.[19]
Yellow Box had full support for preemptive multitasking, multithreading, and protected memory (which would have only been partially supported under the previous Copland project). Third-party apps would need to be rewritten for Yellow Box to take advantage of Rhapsody's new features. Apple promised to port its existing Mac OS technologyes to the new system, including QuickTime, AppleScript, Apple events, Open Transport, and OpenDoc.[5]
Yellow Box was later used as the foundation for Mac OS X's Cocoa framework.[19]
Developer releases[edit]
Apple issued two developer releases of Rhapsody for the PowerPC and Intel x86 architecture.[3]
Developer Release 1[edit]
Developers' reactions to DR1 was positive.[20]
Developer Release 2[edit]
User interface[edit]
Rhapsody's user interface was considered preliminary, with the developer previews focusing on the system's underlying architecture.[16] user interface was modeled after Mac OS 8's "Platinum" appearance, which had originated with the canceled Copland prototype. Developer Release 1 (DR1) does not have Mac OS's Finder, and has OPENSTEP's Workspace Manager, Shelf, and column view. The Shelf was eliminated in favor of OPENSTEP's Dock; and Finder was added, inheriting column view.
Reception[edit]
After the January 1997 announcement, tech columnist Walt Mossberg said the Rhapsody strategy "[made] buying a Mac a relatively risky investment" compared to buying a Windows 95 or Windows NT computer; third-party developers were already abandoning the Mac due to its shrinking market share, and Mossberg hypothesized that they would be unwilling to rewrite their apps for Rhapsody.[9]
Change in strategy[edit]
At WWDC 1998 held in May, Apple abandoned the Rhapsody strategy, stating that "not a single" third-party developer had committed to rewriting their apps for the new platform. Apple instead unveiled their Mac OS X strategy: classic Mac OS applications would not need a complete rewrite to run well on the system, which Jobs said could have taken as long as two years; instead, applications could run on Mac OS X with only "minor adjustments".[15] Apple also ported existing classic Mac OS frameworks into Mac OS X and developed the cross-platform Carbon API for Mac OS 9 and X as the transition layer.[21] Widely used Mac OS libraries like QuickTime and AppleScript were ported and published to developers. Carbon allows full compatibility and native functionality for both platforms, while enabling new features.[citation needed] Apple also announced that Adobe, Microsoft and Macromedia were on board with the new strategy, and had committed to releasing their applications for Mac OS X.[15]
Programmer Dave Winer celebrated the new strategy.[6]
Legacy[edit]
Though developers were expecting Rhapsody DP3,[inconsistent] Steve Jobs announced at the July 1998 MacWorld Expo NY that an improved version of Rhapsody would be publicly released as Mac OS X Server 1.0, which would bundle WebObjects, the QuickTime Streaming Server, and an Apache web server.[22][23]
Apple forked Rhapsody into Darwin, an open source operating system that is the foundation for Apple's modern commercial operating systems.[22]
Name[edit]
Rhapsody follows Apple's pattern through the 1990s of music-related codenames for operating system releases (see Rhapsody (music)). Apple had canceled its previous next-generation operating system strategy of Copland (named for American composer, Aaron Copland) and its pre-announced successor Gershwin (named for George Gershwin, composer of Rhapsody in Blue).[24] Other musical code names include Harmony (Mac OS 7.6), Tempo (Mac OS 8), Allegro (Mac OS 8.5), and Sonata (Mac OS 9).
Release history[edit]
Though Apple never released Rhapsody 5.2, some speculated that it was meant to be Rhapsody Premier.[citation needed]
| Version | Code name | Platform | Date | OS name | Darwin version |
|---|---|---|---|---|---|
| Rhapsody Developer Release 1 | Grail1Z1 | PowerPC | August 31, 1997 | Rhapsody 5.0 | — |
| Grail1Z4 | IA-32 (Intel x86) | ||||
| Rhapsody Developer Release 2 | Titan1T7 | PowerPC | May 14, 1998 | Rhapsody 5.1 | |
| Titan1U | IA-32 (Intel x86) | ||||
| Mac OS X Server 1.0 was also based on Rhapsody: | |||||
| Mac OS X Server 1.0 | Hera1O9 | PowerPC | March 16, 1999 | Rhapsody 5.3 | 0.1 |
| Mac OS X Server 1.0.1 | Loki1A2
(also labelled Hera1O9) |
April 15, 1999 | Rhapsody 5.4 | ? 0.2 | |
| Mac OS X Server 1.0.2 | Loki2G1
(also labelled Hera1O9+Loki2G1) |
July 29, 1999 | Rhapsody 5.5 | 0.3 | |
| Mac OS X Server 1.2 | Pele1Q10 | January 14, 2000 | Rhapsody 5.6 | ||
| Mac OS X Server 1.2 v3 | Medusa1E3 | October 27, 2000[25][26] | |||
Notes[edit]
- ^ Note the capitalization. "OpenStep" refers to the object-oriented API specification developed jointly by NeXT and Sun Microsystems, while "OPENSTEP" refers to NeXT's implementation of that specification.
References[edit]
- ^ a b "Amelio Pledges a Smooth Shift To New Mac Operating System". The Wall Street Journal. January 7, 1997. Retrieved February 5, 2023.
- ^ "Apple Announces Future Macintosh Operating System (OS) Strategy and Road Map". Apple.com (Press release). Apple Computer, Inc. January 7, 1997. Archived from the original on January 16, 1999. Retrieved February 15, 2015.
- ^ a b Singh 2006, pp. 27–29.
- ^ a b c d "Apple Tries to Woo Developers As a Crucial Conference Starts". WSJ. May 13, 1997. Retrieved February 5, 2023.
- ^ a b c d Fliegel, Tova; Gruman, Galen (March 1997). "What's Next for the Mac OS?". Macworld. pp. 32–37.
- ^ a b Winer, Dave (May 12, 1998). "Rhapsody Cancelled". DaveNet.
- ^ Feiler 1997, pp. xxiv-3.
- ^ a b Feiler 1997, pp. xxii–xxiv.
- ^ a b Mossberg, Walter S. "Sticking With the Mac Requires Patience and a Big Leap of Faith". WSJ. Retrieved February 5, 2023.
- ^ Gomes, Lee (May 13, 1997). "Apple Says Rhapsody Programs Will Run on Current Mac OS". Wall Street Journal. ISSN 0099-9660. Retrieved February 5, 2023.
- ^ "Apple Ships Early Version Of Rhapsody, Cuts Prices". Wall Street Journal. October 13, 1997. ISSN 0099-9660. Retrieved February 5, 2023.
- ^ "Apple Computer Says It Plans To Cut Number of Distributors". Wall Street Journal. November 4, 1997. ISSN 0099-9660. Retrieved February 5, 2023.
- ^ Guglielmo, Connie (October 6, 2021). "The Apple-Dell deal that could have changed history". CNET. Retrieved October 29, 2021.
- ^ a b Carlton, Jim (October 3, 1997). "Apple to Gradually Roll Out Rhapsody; No Quick Transition". WSJ. Retrieved February 5, 2023.
- ^ a b c Carlton, Jim (May 12, 1998). "Apple Kills Its Plan to Use Rhapsody As New Macintosh Operating System". Wall Street Journal. Retrieved February 5, 2023.
- ^ a b Feiler 1997, p. xxii.
- ^ Singh 2006, pp. 27–28.
- ^ Magee, Jim. WWDC 2000 Session 106 – Mac OS X: Kernel. 14 minutes in. Archived from the original on December 12, 2021.
- ^ a b c d Singh 2006, p. 29.
- ^ "Microsoft Unveils Mac Browser As Developer Meeting Continues". WSJ. Retrieved February 5, 2023.
- ^ Siracusa, John (April 3, 2008). "Rhapsody and blues". Ars Technica. Retrieved February 5, 2023.
- ^ a b Singh 2006, p. 31.
- ^ Beale, Stephen (September 1998). "Jobs Touts Apple Comeback in Expo Keynote". Macworld. p. 27.
- ^ Singh 2006, p. 24.
- ^ "Rhapsody Media - Identifying what media you have". Retrieved May 3, 2009.
- ^ "Rhapsody Timeline". Retrieved May 3, 2009.
Bibliography[edit]
- Feiler, Jesse (1997). Rhapsody Developer's Guide. AP Professional. ISBN 9780122513343.
- Singh, Amit (June 19, 2006). Mac OS X Internals: A Systems Approach. Addison-Wesley Professional. ISBN 978-0-13-270226-3.
External links[edit]
- Shaw's Rhapsody Resource Page
- Toastytech GUI Gallery — Screenshots of Rhapsody Developer Release 2
- GUIdebook > Screenshots > Rhapsody DR2 — Screenshots of Rhapsody (Intel version) and its components.
- "Apple shows off Rhapsody OS" — An article written shortly after Apple first demonstrated Rhapsody.
- "Overall summary on Apple Rhapsody: A User Overview" — An overview of Rhapsody's technologies.
- "Rhapsody" at OSData.com — Technical specifications on the operating system.
- First Impressions On Apple Rhapsody Blue Box, Beta Version 1
- TidBITS: Yellow Box, Blue Box, Rhapsody & WWDC
- Cocoa and the Death of Yellow Box and Rhapsody, By Daniel Eran Dilger, 2007-02-19, RoughlyDrafted