4 ms·
> Ask me about Rhapsody sometime I'd actually love to hear what you think about rhapsody, a quick google search doesn't tell me too much about it
by samtheDamned 5y ago
> Ask me about Rhapsody sometime
I'd actually love to hear what you think about rhapsody, a quick google search doesn't tell me too much about it
- kmeisthax 5y agoIn very, very short terms, Rhapsody is Apple's Windows 8. In order to explain why that comparison makes sense at all, I first need to go over some basics. After shipping the original Macintosh in 1984, Apple's investors got really mad about how the computer wasn't selling, and more or less forced Steve Jobs out of the company. Jobs decided he was going to build another computer company called NeXT, which was going to out-engineer Apple and make the next big thing. It didn't actually work out that way, but conveniently for Steve, Apple had been mismanaged into the ground and drowning in technical debt. So Apple basically bought NeXT because OPENSTEP (previously NeXTSTEP; at this point Steve was trying to turn it into a cross-platform API) was a functional operating system and all of Apple's attempts at System 8 (including asking IBM to finish Copland, which is another boondoggle called Taligent) weren't. So, right when Apple announced the NeXT buyout, they also announced that the next version of the Macintosh's OS would be built on top of OPENSTEP, with all existing Macintosh software running in a fullscreen "Blue Box" VM. The "Yellow Box" would hold new software written to the OPENSTEP APIs, and these apps were properly memory-protected. (Context: At this point in time all System 7 apps ran in kernel mode with separate segmented heaps. It's exactly as bad as it sounds.) This new OS was code-named "Rhapsody", and it even came in an Intel port that would install and run just fine on most PCs (albeit without the Blue Box). Apple's plan was basically to continue the NeXT business as-is, with some quick rebrands (including rebranding the Windows NT port of OPENSTEP as "Red Box") and hastily-written compatibility bridges so that Macintosh users wouldn't be completely left out in the cold. Users were anticipating the new OS, but developers were utterly furious that they were being told to basically abandon all of their software and rewrite it to this entirely different and far more complicated API. They called the Blue Box the "penalty box", because they felt punished for staying loyal to the Mac. I call Rhapsody "Apple's Windows 8" because it basically tried the same thing Windows 8 did a decade later: foisting a technically superior but entirely incompatible API on developers who weren't interested in any of it. Some might disagree because, well... Apple never actually shipped what they announced. A year after assuming control of Apple, Jobs would come up on stage again and announce that Rhapsody was "cancelled". Instead they'd build an entirely new OS called Mac OS X, built exclusively for the Mac, with three new subsystems; "Cocoa" (OPENSTEP APIs), "Classic" (Mac Toolbox APIs), and now "Carbon"; the latter being specifically intended for quickly porting existing Macintosh software to OSX without rewriting your app. This made developers a lot happier and saved the entire transition. In the meanwhile, because Mac OS 8 was terrible for running servers on, Apple would ship another """unrelated""" OS called "Mac OS X Server", which was literally just the cancelled retail release of Rhapsody with some extra server applications bundled in. It even called itself Rhapsody in uname. If you're wondering what happened to the Intel version of Rhapsody, well... not counting the two developer releases before Rhapsody's faked death, Apple would maintain Intel ports of everything up until actually announcing a proper developer transition from PowerPC to Intel years later. Just as proof of how much Apple had learned their lesson of how not to handle a developer transition, Carbon would actually get ported to Intel, and there were Intel OSX apps that needed it. It was ultimately removed only in macOS Catalina.
- samtheDamned 5y agoThanks, I've never heard of this before so it was cool to learn about.
- Camillo 5y agoThe funny thing is that Carbon was based on the modified Toolbox APIs that were intended for Copland! There used to be a header with a big comment block telling the whole history. AFAIR, they had tried changing the System 7 APIs so they could run on a system with memory protection, then they gave up because Copland had failed (and I think part of it was a mandate to be able to use the System 7 API _without_ changes, which was impossible), then Mac OS X came along and the comment changed to "we're doing this after all, lol".
- GeekyBear 5y agoAfter Apple bought NextStep to serve as the basis of their next gen OS, Rhapsody was a developer preview that was a reskinned NextStep running on Mac Hardware. Existing Macintosh software could be run under emulation, and the original plan was that everything going forward would need to be rewritten using the NextStep APIs. (All those NS frameworks still used on iPhones and Macs today) Eventually Apple decided they would have to create an additional set of APIs (Carbon) based on the existing Macintosh APIs that would allow software vendors an easier path forward. Developers could adopt Carbon with much less effort and eventually transition to the NextStep APIs as part of a future large scale rewrite. Carbon never transitioned to 64 bit, so those NextStep APIs did eventually become the default for native software.