So why isn't Apple copying this obvious path to success? The answers lie deeply buried in thirty years of tech history involving Apple, Microsoft, NeXT, Sun, HP, ARM and others.
The Rise of Windows
By 1990, Apple was one of the few independent system makers left standing. PC makers looked to Microsoft to deliver new software that could match Apple's look and feel and ease of use. The third version of Microsoft's efforts to copy the Mac, Windows 3.0, was the first to sell in any quantity, and the first to actually be bundled with new PCs.
Even though Microsoft had started work on Windows before Apple had delivered the Mac, Windows 3.0 was still far behind Apple's product, despite being a half decade late. PC vendors were still stuck having to buy it however.
The History of NeXT
Steve Jobs left Apple in 1986 to build his vision of the future of computer systems; his ideas differed dramatically from what executives at Apple wanted to do with the Mac.
NeXT wooed researchers and engineers from Apple and other companies. In the end, NeXT decided that no existing system--including the mid 80's PCs and Macs--had the hardware capacity to run the kind of software it wanted to build.
Complaints from Apple regarding the poaching of its top engineering talent resulted in an agreement that kept NeXT from competing against the Mac in the consumer end of the market. That left NeXT to sell its systems to higher education and corporate customers, at workstation prices.
Above that, NeXT built its own object oriented development frameworks, along with a display system based upon Adobe's PostScript language. NeXTSTEP incorporated a balance of solid industrial best practices and experimental new technology that had never been delivered to the mainstream before.
The hardware it ran on did the same. NeXT hardware incorporated specialized digital signal processors, more RAM, and greater graphics capacity than all but the highest-end workstations. It also made use of new magneto-optical discs to provide a middle ground between floppies and the hard drive.
However, that high price tag, along with its oddball discs and inability to run much existing software, kept NeXT from making serious inroads into the mainstream.
As the raw power in PCs began to catch up, NeXT abandoned its own hardware efforts and ported NeXTSTEP to the new Intel 486 PCs. By that time, however, Windows was already deeply intrenched, and PC vendors were bound to exclusive contracts that forced them to sell copies of Windows for every PC sold. That destroyed any potential for rival operating systems.
NeXT also tried to position itself as a workstation software vendor, porting its operating system to run on Sun SPARC and HP PA-RISC workstations. As a replacement OS, NeXTSTEP required users to choose between their existing, native applications, and a full NeXT environment. This didn't work for a lot of workstation and PC users.
The History of OpenStep
As a result, NeXT decided to pare down its offerings further. After dropping its own hardware, it next rendered its own core operating system optional, delivering just the development frameworks and operating environment of NeXTSTEP to run on top of a variety of host operating systems.
NeXT first partnered with Sun to deliver an operating environment that would run on Sun's Solaris instead of NeXT's Mach/BSD. This new product was called OPENSTEP. HP joined in to support OPENSTEP for its own HP-UX operating system, and NeXT also ported the environment to run on top of Windows NT, rather than replacing Windows entirely, in a product called OPENSTEP for Enterprise.
At a time before Linux had widely popularized the idea of being free and open to a mainstream audience, NeXT was offering a free and open version of its core assets, assets that GNU open source developers also recognized as a potential user environment for GNU/Linux. GNU planned to pair the Linux kernel and the GNU userland with the OpenStep windowing environment, resulting in GNUstep.
The incredible potential offered by OpenStep promised to bring the world an open, advanced, interoperable development system that everyone could use, from Windows shops to open source developers to high end workstation vendors. Instead, the supporters of OpenStep all suddenly abandoned the project as if it were the Tower of Babel.
Sun, the early backer, yanked its support when its own Java project began to garner attention. Just prior to dumping NeXT, Sun had bought up one of the main NeXT developers; its abandonment sealed the fate of Lighthouse Design, locking up a significant chunk of NeXT's unique software and throwing away the key.
NeXT turned its attention to porting OpenStep into a web application server tool, where server-based OpenStep applications could deliver their results as dynamic web pages to remote clients. That product was WebObjects; while it was slowly gaining popularity as a powerful tool, it faced increasingly strong competition as interest in the commercial web began to skyrocket.
Apple Buys NeXT
In the final days of 1996, Apple bought up NeXT for its core operating system. Apple executives were impressed with the modern features of OPENSTEP, and hoped to quickly migrate Mac users to the new system running on Apple's own PowerPC hardware.
The company also planned to continue selling OSE to Windows NT users, and possibly expand the number of platforms available to OpenStep development. Apple began calling OpenStep the Yellow Box.
Apple's plans to deliver OpenStep met the same failure as NeXT's. The PC industry didn't want options, it wanted Windows. Sun just wanted to sell Java.
Dell and other vendors turned up their nose at WebObjects after it became associated with Apple, leaving the company with fewer Enterprise customers than NeXT had.
Meanwhile, Mac users and developers demanded that Apple maintain the Mac OS rather than replace it with some new and foreign system. Apple had initially hoped to port OpenStep to the Mac OS, but quickly realized that the existing System 7 was not up to the task.
It would have all the features of NeXTSTEP, but also a modernized set of the classic Mac OS APIs which would allow Mac developers to do minimal work to get their existing applications to realize full use of the new power of the system.
The History of Mac OS X
Between buying NeXT in the final days of 1996 and the first commercial release of Mac OS X in 2000, Apple scrambled to rework the existing Mac OS 7.6 to have something to sell in the interim.
Extraneous hardware and software product lines were slashed to the core, resulting in a highly simplified Mac hardware lineup. The new Apple released revised versions of System 7: Mac OS 8 and 9.
It still took several years to get to the point where Mac OS X could be released in beta. The new OS was based upon the original NeXTSTEP, not the OpenStep specification shunned by the rest of the industry. That's because Apple didn't have its own OS to run OpenStep upon, and the system was dependent upon technology licensed from Adobe and others; in order to repurpose NeXT's technology for the mainstream Mac market at low cost, those dependancies had to be removed.
NeXT's Mach/BSD core OS had grown stagnant during the years of OpenStep, so Apple had to bring things up to date. Fortunately, the BSD code base had been separately maintained by open source developers, so Apple could incorporate a decade of modern, proven technology updates into its own system without writing everything from scratch. That left Apple the resources to update NeXT's object oriented frameworks, called Cocoa, and incorporate a polished version of the Mac OS libraries, called Carbon.
Apple also greatly expanded its own application development, with a suite of consumer apps and a fleet of pro apps. This experience pushed more practical support for development into the OS.
In 2005, Apple announced a surprise: Mac OS X had retained support for multiple hardware architectures that had been used by NeXT to rapidly target new business. Within six months, Apple began shipping Intel based Macs, and within a year was able to transition its entire product line.
The History of ARM
As an encore, Apple most recently announced that its new iPhone would also run a version of the operating system. The iPhone is neither PowerPC nor Intel based. Like the iPod line--and the Newton, most PDAs and handheld games, and 75% of the world’s other 32-bit embedded devices--the iPhone uses chips based on the ARM processor architecture.
DEC licensed the ARM architecture to create an ultra low power, fifth version of the processor series called the StrongARM. Apple incorporated this new processor into the last Newtons: the MessagePad 2000 series it released in 1997.
Intel acquired DEC's StrongARM business and renamed it XScale; those processors have since powered mobile devices including the RIM BlackBerry, Palm's Treo and other PDAs, Pocket PC devices such as the Dell Axim and Compaq iPaq lines, and music players including the Creative Zen.
It Should Come As No Surprise
Given Apple's decades of involvement with ARM, and its existing use in the iPod, it's no surprise that Apple is advertising for iPhone engineers with ARM experience. The real surprise at Macworld Expo was that the iPhone would run a version of Mac OS X, which Apple is apparently referring to as simply OS X.
Of course, given NeXTSTEP's history as a highly portable operating system, and Apple's recent, rapid migration to Intel, it really shouldn't be a surprise that the company chose to port Mac OS X to ARM, either. Doing so allows Apple to develop a single code base, and rapidly port high level technologies across its product lines.
OS X vs WinCE
Microsoft originally delivered Windows NT across several processor architectures, including Intel, MIPS, Alpha, and later PowerPC. However, it determined that support for various architectures was too difficult, and demand outside the PC was not sufficient to warrant it. Since Windows 2000, it only supports Intel processors.
That means Microsoft has to maintain two separate operating systems, while Apple's use of OS X across platforms is nearly identical. A follow up article will look at how OS X can fit into the iPhone, and how OS X portability relates to iPhone software. But first, is there any chance of Mac OS X for generic PCs?
PC OS X: Nope!
The idea of Apple releasing Mac OS X to run on industry standard PCs seems to make a lot of sense on the surface. After all, wouldn't Apple be better off selling tens of millions copies of software, rather than around 6 million Macs every year?
The obvious problem is that retail copies of Mac OS X would come at the expense of Mac hardware sales. Apple not only earns a higher manufacturing profit on its Macs compared to most PC makers, but it also makes a retail profit on all Macs sold through its online and retail stores.
In addition, Mac hardware sales are accompanied by software sales, retail accessories, and service plans such as AppleCare and .Mac, all of which generate far more profit than a software box. Why would Apple give up its entire business, which is outpacing the rest of the industry in both growth and profits, to become a software vendor dependent on the whim of other hardware makers?
Converting into a software company was something NeXT already tried. It didn't work back then, and the failure of Linux on the desktop today--a free product--suggests that there isn't money to be made in trying to sell a retail desktop operating system for PCs.
If Microsoft were selling a large number of retail copies of Windows at around $300, it would not be reporting that 80% of its Windows revenues come from those ultra cheap OEM licenses.
Apple is simply much better off riding its increasing wave of hardware sales. If there were any need to continue arguing the point, it could be pointed out that much of the value in Apple's offerings come from hardware and software integration.
When running Mac OS X on a PC, there is no support for features unique to Apple hardware, such as two finger clicking and scrolling; features such as Firewire Target Mode don't work either. The retail profits on software would be quickly eaten up by increased PC support costs and efforts to support a far wider range of drivers.
Apple is unlikely to ever offer Mac OS X to Dell and HP for the same reason that NeXTSTEP was originally paired with custom hardware: it makes it much easier to ensure things work flawlessly. The failure of NeXT's own attempts to become a software company have been inherited by Apple as a historical warning. Apple itself also took a stab at licensing to cloners, with disastrous results.
Next Articles:
This Series