The 1990s were a rough decade for Apple. After a promising start in the 1980s, the Macintosh system appeared adrift. Apple’s attempts to develop a next generation operating system for its hardware were stalled. Joint efforts with IBM, Microsoft, Sun and others had failed, as had several internal projects, so when Apple acquired Steve Jobs’s NeXT company in 1995 to use as the core of their new system, it seemed a last ditch effort. Even after Jobs reassumed full control of the company in mid-1996, there were serious doubts whether Apple would survive long enough to release the new system to the public, let alone make it into a successful product.
Apple had needed a new operating system for two major reasons. The first was technical – the system was old and difficult to maintain. The second practical – users had grown to expect more than the old system could provide. The old Mac operating system (MacOS) had been developed in the early 1980s, at a time when hardware and software were vastly simpler. While they had successfully grafted on numerous new features and capabilities, the underlying core was much the same as it had been when it first came to market in 1984. Meanwhile, users expected it to do things it simply had not been designed to do – to run multiple programs at the same time, with good performance and stability. But the technical limitations of the existing system meant that adding such critical features as protected memory and preemptive multitasking was in essence impossible.
The initial attempt to turn NeXT’s OpenStep system into the next Mac operating system was not a success. Apple delivered a developer preview of the software, codenamed Rhapsody, in mid-1997. It was essentially a port of the OpenStep to current Macintosh hardware, with some user interface changes to make it more ‘Mac’-like, and a software compatibility environment for running existing Mac applications. But in order for Rhapsody to have a chance at success, Apple needed applications that could run natively. But making such applications essentially required writing new applications from scratch, as the programming model and APIs were completely different from the one used by existing MacOS applications. Needless to say, developers were not enthusiastic. Leading Mac software makers like Adobe and Microsoft balked, leaving Apple in a difficult spot.
Apple’s solution was clever. Rather than abandon Rhapsody entirely, they would add an additional option for developers called Carbon. Carbon would allow existing Mac software to be modified so that it could run on both the current MacOS and the next generation Mac platform, which by this point was being called MacOS X. Carbon constituted a refinement of the existing Macintosh application programming interfaces (APIs), so adapting to it proved vastly less difficult for developers than had rewriting for Rhapsody. The Rhapsody (OpenStep) APIs were kept, and renamed Cocoa. The compatibility environment, known as Classic, would remain for older Mac applications that could not be modified for Carbon.
Executing the new plan took a little time. Apple published the Carbon specifications and development tools immediately so that applications could be rebuilt for compatibility, but a feature-complete developer preview of OS X did not arrive until 2 years after Rhapsody in early 1999. On the upside, the new system offered an eye-catching new look and something approaching full functionality, including the long-lacking features of memory protection, preemptive multitasking and symmetric multiprocessing. This however was balanced out by extremely poor performance and a major user interface redesign that rubbed many of the existing Macintosh faithful the wrong way. OS X was not simply going to be an under-the-hood upgrade of the older MacOS system but rather an opportunity to remake the user experience from top to bottom.
The first public version of MacOS X shipped in early 2001. For the first year, Apple not only installed the old MacOS 9 alongside the new OS X on all of their systems, but actually defaulted to running the old software. Slowly though they began to chip away at the litany of complaints users had. Performance improved. Bugs were addressed. While the new user interface did not change much, many gradually reconciled to it. Perhaps most importantly, as applications continued to be updated, users began to be able to take advantage of the new system’s improved stability and multitasking.
When the MacOS X 10.1 update came out 6 months after the initial release, Apple felt sufficiently confident to switch new systems to boot up OS X by default. Thereafter, Apple maintained a steady 12-18 month release cycle as OS X rapidly achieved feature parity with its major rival, Microsoft’s Windows XP. Moreover, MacOS 9 development was stopped shortly after the release of OS X 10.2. Thereafter, older Mac applications could only be used through the Classic environment on newer Macs.
Buoyed by their entry in the digital music player business, the iPod, Apple did well in the early and mid 2000s. Indeed, OS X proved so successful that it began to attract back many of those who had switched to Windows in the 1990s, and to bring in new users as well. The combination of a Unix core and a Mac-like user interface, alongside good 3rd party application support proved popular both with consumers and computer geeks. Consumers and advanced users alike appreciated the stability, while the simplicity appealed to the former, and the Unix underpinnings to the latter.
Since then, there have been two major developments for OS X. The first, in 2005 was the transition to Intel-compatible microprocessors. Compared to the initial OS9-OS X change, the PowerPC-Intel x86 shift was smooth and rapid. It’s primary virtue was to allow Apple to provide competitively performing hardware, and to use commodity components. However, a side-effect was the demonstration of Apple’s strength and the ability of OS X to work (and work well) on new architectures.
The second and substantially more significant change for OS X has been the creation of iOS. Based on OS X, iOS is essentially a stripped down version designed for low-power handheld devices. Initially created alongside the iPhone smartphone, it was later adapted to the iPad tablet as well. While the two systems have different APIs, they use the same developer toolchain and offer fairly similar functionality in most areas. The incredible success of the iPhone and iPad means that the number of people using iOS on a daily basis is more than 10X the number who use OS X.
Beginning with MacOS 10.7 and even more clearly with the upcoming MacOS 10.8, we can see Apple beginning to adopt ideas and features from iOS and bringing them to MacOS X. Some of this is merely cosmetic, like the new ‘launcher’ added in 10.7. However, Apple has also brought in other changes, in particular beginning to lock down the Mac platform and hide a lot of the lower-level functionality. On iOS, there is only one reliably way to load applications, namely through the App Store. Every application on the platform must therefore be reviewed and approved by Apple. On the one hand this can be a pain for developers, as Apple’s review guidelines are opaque and often capricious. But for the general consumer it is a big win as well, as it not only takes away the complexity of software installation but it makes it very difficult for malicious programs to be installed in the first place, let alone executed. The ‘walled garden’ model that Apple has used with iOS is indeed restrictive, but it has shown that for many, a simpler ‘safer’ appliance-like device is preferable to a more complex, more error-prone computer.
The question now is where OS X will go in the future. While there are doubtless plenty of geeks who would like to see their pet features adopted by Apple, the reality is that OS X is mature software, without a lot of obvious holes. For Apple, that’s a good problem to have. Still, the massive success of the iPad, iPhone and iPod touch mean that Apple’s computer will increasingly be a secondary part of their business. For reasons of consistency and simplicity, they may well see iOS as the model to follow. The creation of the Mac App store, and the insistence that only applications in the App store be allowed access to their newest iCloud service is certainly a sign of the direction they are leaning. MacOS 10.8 will require application signing by default, making most forms of malware less effective, but also locking off most users from a huge array of applications. While this is a setting that can be changed, one suspects most will not. Many will not even be aware that they are missing anything.
In a sense, OS X is more ubiquitous than ever as its iOS incarnation is everywhere. But in another sense, the notion of an open, general purpose computing system is being increasingly marginalized. As people go more and more to appliance-like devices for the majority of their computing needs, it will be interesting to see how much of a niche there is for the geeks, tinkerers and hackers who have been responsible for so much of the industry’s current success. It would not be too surprising to see OS X assimilated into iOS entirely in 5 or 10 years, as people discover that their needs can be met with smaller, more targeted devices. My theory is that the age of general ‘do-everything’ computers is nearing a close, and we will be increasingly reliant on more specialized devices. But we shall see soon enough.