Some people have been saying that Rhapsody is dead, and that Apple is changing their strategy, again. I don't think so. This is exactly what and where Apple should have gone, which is why most developers are happy and aren't riled. But some of the public may be confused.
Remember, I, and many others, have been talking (occasionally) about converging the YellowBox and BlueBox and bringing both forward. That is all that Mac OS X is -- that strategy. But it is not the elimination of anything, nor taking anything away.
Killing the Mac OS was just not going to happen. Apple has it's entire past built on that legacy code, and there are over 12,000 Mac Apps. There are many Mac developers, and it is still a cleaner, more organized, and easier to use, set of API's (1) than Windows. Why throw all that away? The answer is, they won't, and wouldn't.
(1) An API means Application Programmer Interface. It is a routine, or collectively a library of routines, that programmers use to make programs. Switching API's is a lot of work.
It would take a year or two for developers to port to YellowBox (OpenStep), and what would those companies do for revenue in the mean time? Forcing them all to convert at once, and forcing users to replace all their software at once is a way to guarantee the failure of your OS, and company. So Apple planned to transition people to YellowBox (the better way to write new apps) through the use of BlueBox (the ability to run older apps on the new System). But BlueBox does not add any functionality to the OS, and Steve has been telling us for nearly a year now that, "The MacOS is not going away". For it to not go away, it has to be brought forward. Up or out. You either improve or die. So we knew Apple was going to have to offer something during this transition that could take years or even a decade. (Remember, people are still running DOS application and the first Windows came our well over a decade ago).
The Carbon strategy is just Apple telling developers how they are going to bring MacOS forward. The answer was pretty simple. They are going to eliminate a few thousand of the "bad" API calls, and replace them with better ones. Great. Developers will be able to bring their applications forward, and take advantage of new technologies (Protection, Threading, and so on). But Apple is NOT going to throw away all the old apps, Mac OS X will have a blue box to run old Apps (MacOS 8 and before) -- they just may not call it that. Those older Apps will just not take advantage of the newer technologies -- so there are reasons for developers to "fix" them.
Developers are not going to have much trouble upgrading their Apps to Carbon. Adobe and others are talking man days or man weeks -- not team-years like to change everything to YellowBox. This guarantees that Microsoft, Adobe and others don't lose their investments, and that Mac OS X will continue to have the best software.
So the evolution will be simple; Mac OS evolves into Carbon, and into the future via Mac OS X (which implements Carbon). Perfect for all the apps and developers out there. And of course, they get what they were promised all along with Copland. But this way of implementing it, by NOT trying to be 100% compatible, helps guarantee it success, plus they get to use a percentage of the code written for Copland -- those few remaining parts and concepts that haven't already been used in Mac OS 7.6, 8.0, 8.1 and soon 8.5. As I've been saying all along, Copland is not dead -- it just changed it's name and its development strategy. Almost every Copland technology (from a user perspective) has been leveraged. This is smart, and valuable, and shows that the money was not completely wasted.
Now some people think that Rhapsody and YellowBox are dead. They are wrong. YellowBox is the way people will develop Apps in the future. I don't have millions of lines of MacOS code. If I was writing a new App, even though I know the MacOS well, I would rather write in YellowBox.
YellowBox is an Object Oriented API (Framework) (2) that rides on top of a lower level API's. That those lower level API's change from Display Postscript and Unix to MacOS to Windows to Solaris is irrelevant. It was doing for 5 years what Java promises to do in the future. (Actually Java does it, just not well... yet.)
(2) An Object Oriented API, called a Framework, is better for most things -- primarily it is easier to program and isolate bugs. They usually have more stuff "done" for the programmer -- so it takes less to achieve the same ends. That is why developers who know both, prefer frameworks.
YellowBox is not dead. YellowBox is the future. YellowBox was the key to Rhapsody -- but Rhapsody was more than YellowBox. So what was Rhapsody? Rhapsody was a strategy for the convergence (and implementation) of the following things:
So Apple has not changed anything. Rhapsody is coming out this Fall, and is delivering everything they promised for next year, and then some. BlueBox compatibility is way ahead of schedule, and they have converged the Mac and NeXT Step user experiences faster than people thought possible.
But Apple also learned that to bring YellowBox forward, they need more cutting edge technologies as well. Including things like QuickTime, new drawing, better 3D rendering, a more versatile file system, better Fonts, and so on. They need good low-level API's to build better high-level API's (Frameworks) on top of. So YellowBox needs to ride on top of many of the MacOS API's. So Apple went back, and made sure to FURTHER the MacOS (with Carbon) and further the YellowBox -- both converging in Mac OS X.
To quote Steve Jobs, "Rhapsody doesn't go far enough, Apple needs to go further". That is NOT saying that Apple is killing Rhapsody, they are just going beyond it. Apple said specifically that they are using Rhapsody and YellowBox technologies to make Mac OS X.
So the evolution of YellowBox will be simple; YellowBox is implemented in Rhapsody, which gets evolved into what can be called Rhapsody Plus -- which is Mac OS X. This is perfect for the current YellowBox (OpenStep) developers. Rhapsody is not dead -- it is just prepared to grow into Mac OS X.
Mac OS X
So what is Mac OS X? 100% PowerPC Native, very fast, G3 optimized, fully buzzword compliant OS, with all the latest technologies and the future of both MacOS and Rhapsody. Look at these release paths:
Remember the things that made Rhapsody into Rhapsody? They are still there:
There may be some confusion by users and in the press. But developers get it.
If I have a huge code base (Application) written for the Mac OS, I can't always afford to just throw it all away to move into the future. Apple is preserving that investment by bringing the best MacAPI's forward. In fact, if I write for the Carbon (Mac) API's, my Apps will continue to run on Mac OS 8 (and Mac OS 9).
Mac OS API's are great low-level API's -- but low-level API's are not the best way to be productive. Some people will keep using them, because that is what they know, have huge investments or they are afraid to change, or have requirements that go beyond what the YellowBox can deliver -- but not everyone will. In fact most new people will not need the MacOS API's. YellowBox will allow 95% of the functionality of the Mac API's (or more than 95% in practical usage), but Yellow Box only requires 20% of the programming effort to achieve the same ends. Also YellowBox developers will be able to deliver their Apps, as native programs, on both Mac and Windows as well. Programmers will rarely need to go "deeper" -- but Apple is guaranteeing to further the Mac OS API's (through carbon) so that depth is there.
Both Mac technologies (YellowBox and BlueBox) are converging into one unified technology (Mac OS X). This is so that Mac users don't have the configurability hell of dealing with WinNT vs. Win95 (OSR1 vs. OSR2) vs. Win98 vs. Win3.1 vs. WfW vs. DOS. In the Mac world there will be Mac Applications. Some will use different technologies (MacAPI's, the Carbon subset of MacAPI's which ads features, or YellowBox API's which has similar features) -- but users wont have to know the difference. Their Apps will just work.
Apple is calling it "Evolution into Revolution". They are going to evolve their way into a dramatically different System. There are two paths to get there, but all roads lead to Mac OS X. By furthering the MacOS with Carbon, developers can still make great Mac Apps. By furthering the YellowBox with Mac OS X, new Apps will get even better. Developers can even mix and match and use Yellow Box and MacAPI's (and Java, and probably Unix API's) as needed. This is the best of all worlds approach, with very few compromises. It is not a change in Apple's strategy -- just a refinement, that takes us further than before. But be warned -- this is not the last change in Apple or the industry. Next year, Apple will refine it more and probably be planning for Mac OS 11, and so on. Progress marches on, and so must we -- but developers now know (more than ever) that Apple is marching in the right direction, and they are trying not to leave anyone behind.