|Home » Learning Curve
OS X: Twenty Years
Twenty-five years ahead of today.
Jason Snell, who's been writing for Macworld for a long long time, recalls an easily overlooked fact, namely that it's now twenty years since Apple's OS X first began shipping.
The arrival of NeXT, their operating system and their chief engineers, took place of course on 1 January 1997 when the ink dried on the 'merger'.
'Classic MacOS - the operating system before OS X - was built on a shaky foundation', writes Snell.
It's instructive to note that the 'OS' is still termed 'OS X' and not 'Mac OS X', being as the OS had little to do with anything 'Mac'. That the system had a 'shaky foundation' was nothing unique: all systems back in that day were 'shaky' in the same way. Because of memory constraints, they used 'cooperative multitasking', meaning every application and every process had to 'cooperate' to keep the system running. Should any thread anywhere lock up, the system would have to be rebooted.
[A nontrivial 'preemptive' OS needs to be able to handle at least 48-bit addresses. Ed.]
This changed in 1992 when Microsoft finally introduced their 'NT' system, authored by the team of Dave Cutler, formerly of Digital Equipment. Using the standard 'preemptive multitasking', one could now move an hour glass cursor beyond a 'busy' application window and see the standard cursor return. It would take Apple another five years to achieve the same.
But back then at Apple, as Snell remembers, 'clicking on an item in the menu bar and holding down the mouse button would effectively stop the entire computer from working'. Yes, as the system would be waiting for resolution of the mouse action.
Not to put too much of criticism at Apple here: Microsoft couldn't create their own 32-bit system either. They bought the Prism/Emerald system from Cutler and his 'tribe', but that deal was finalised by 1988.
Gil Amelio sat on Apple's board and he was a good choice. Amelio was a renowned 'corporation doctor', having rescued several major players from chaos and insolvency. When Amelio was asked to step down and assume the CEO role, the first thing he did was have the company install a new Apple computer in his office. The machine famously didn't work at all, so Amelio ordered a six-month moratorium on all production until he found out what was wrong.
Amelio's investigations uncovered scandalous attitudes within Apple. The Cupertino school system, one of Apple's most loyal customers, had announced their intention to purchase elsewhere in the future, all the while a middle-echelon Apple executive moaned 'if they get a machine that doesn't work, big deal, they can go buy a new one'.
The 'merger' began in January 1997. Apple paid $429 million for NeXT, NeXT technology, and the key NeXT engineers who thereupon took over Apple management. Steve Jobs was assigned the role of 'manager without portfolio', paid an estimated $200 million in Apple stock, and pressed to not sell any of it for at least half a year.
Apple made great strides in that first half year, although it was difficult for Amelio to hang onto legacy NeXT clients: they loved NeXT but were very suspicious of Apple which had a sordid history of dicking over their clients.
And Steve Jobs had secret plans of his own. Set for the 4 July weekend, when the informal 'half year' had just expired, Jobs sent in a broker's order to liquidate all his Apple stock, a move that sent Apple plummeting on NASDAQ. By the next workday, the board had convened, furious with Jobs, who was summoned to appear before them.
But Jobs was ready. In one of the classic moves of his career, Jobs turned a formal chastisement into a victory, walking out with the title of CEO. Jobs then walked directly into the office of Ellen Hancock and told her 'clean out, you're fired', then later told Amelio, who he'd just stabbed in the back, 'you're one of the most honourable people I've worked with'.
Jobs worked for a nominal $1 per year back then.
It should also be remembered that Amelio turned down Be because the price was too high - $250 million, or $179 million less than he would pay for Jobs' NeXT.
But Be was lacking in other ways as well. Yes, the interface was dazzling, but Be was anything but Internet-ready, and it lacked the security model that hallmarked the NeXT OS build atop FreeBSD. In that respect, NeXTSTEP was much more 'cutting edge'.
Despite acquiring a system that was already shipping to NeXT clients, Apple waited another five years before offering the system to their own clients, a mistake that was to prove decisive. By 1998 Microsoft had introduced Windows 98, followed by Windows 98SE ('Second Edition') a half year later, the effective 'KO punch' that once and for all established Windows at the top of the heap and made Bill Gates the richest person in the world. Apple let their golden opportunity slip between their fingers - they could have owned the market and the world would have looked a lot different today.
'What took so long?' asks Snell, and then offers as an explanation: 'The NeXT interface needed to be revamped to resemble MacOS in order to get Mac users on board with the new operating system.'
But not according to insiders at Apple that Rixstep had been in contact with. The aim of Steve Jobs back then had been to attract the Unix community - but yes, he was met by considerable opposition from the 'rank and file', something he was forced to admit over time that he could not change. The big money was not in legacy greybeards but in academia. Apple ultimately lost the loyalty of academia and the move into government, the expected followup, never happened either.
Snell doesn't seem to have much acquaintance with NeXTSTEP or OPENSTEP. Both these systems - and their interfaces - were superior even back then to what Apple offer even today. When Jobs once quipped that NeXTSTEP was five years ahead of its time, he should have said twenty-five years instead. And that mostly holds to this day. Those five long years weren't spent 'improving' things but mostly dumbing things down, and here Apple's infamous HI (human interface) group played a decisive (destructive) role.
- The NeXT menu system. Menus appeared, as if by magic, out of the left edge of the screen. This approach consumes much less screen real estate. Better still: the segments of each part of the menu were detachable. They could be yanked off and moved anywhere onscreen you wanted. And that's where they'd be the next time you launched the application. This brilliant approach essentially obviated the need for toolbars years before they were introduced by Borland and then Microsoft for the latter's Windows.
- The Dock. Especially as seen on later OPENSTEP iterations, this beast was nothing less than space-age and brilliant. It had tabs. So that you could invoke different tabs for different purposes. Obviously too sophisticated for what Apple's HI Group considered their average demented Apple user.
- The Three Window States. NeXT engineers really did their homework. They studied the behaviour of GUIs and narrowed things down to three and only three possible window states.
- Inactive. An inactive window in NeXT's OS was marked with a light grey title bar.
- Active But Not Key. A window that is part of the active application but is not receiving keyboard input is marked with a medium grey title bar.
- Active And Key. The window in an active application that is prepared to accept keyboard input is marked by a black title bar.
Those are the three possible window states. NeXT covered them all. Without even thinking consciously, NeXT users could instinctively know 'which is which and what goes where', to quote Anthony Hopkins.
But that was too much for the HI Group, according to insiders who spoke with this site at the time. That was perceived as 'too bewildering' according to the group, who somehow reasoned that '2' was more in reach than '3' for what they perceived as 'typical dumb Apple users'. Focus rings aren't always able to compensate either.
Those five long decisive years were spent on things like that, instead of getting a winning system to market and cutting Microsoft off at the pass.
Both Carbon and Classic were a waste of time. Objective-C is the flattest learning curve ever. It's not like C++ which is a jungle no one wants to enter. Objective-C can be learned in a single afternoon - for accomplished C programmers. The difficulty - if there ever was one - was that so few programmers in the 'Apple community' were adept at C, and C can take years to master properly. Apple traditionally used Pascal - something that caused more disruption in Cupertino itself - and there are a lot of bad habits associated with that language that take a long time to unlearn.
Which is all the more perplexing, as Carbon was pure C and not Pascal. But the structural changes to the NeXT system wasted even more time, as proven NeXT code now had to be further extrapolated to non-OO modules that would be accessible to Carbon as well. This retooling - resulting in what Apple called 'toll-free bridging' - took more time (and made the system more sluggish).
To wipe NeXT's influence away in one sentence whilst painfully pointing out that it's the core of all the OSes of Apple today...
'We're celebrating the operating system we still use, two decades later. But we're also celebrating the foundation of iOS, iPadOS, tvOS, and watchOS.'
What's unfortunate, but perhaps a minor point to some, is that Apple tweaked NeXT application architecture for the original iPhone but failed to do so for the computer OS. The original architecture readied applications for running on all platforms imaginable. That architecture did not include the subfolder 'MacOS' for obvious reasons. But once Apple completed their 'bait and switch' with the independent NeXT programmers they'd lured over on the promise of continued support for Windows, there was no reason to keep those subfolders. They disappeared with the iPhone. Had Apple wanted to keep open the option to be able to run their computer OS on Windows?
But what's left of the NeXT OS today is shambolic at best. Apple continue to waste too much time, both for themselves and for others, reworking what should not be touched, reformulating macro definitions which should be formulated correctly to begin with, and absolutely under no circumstances deprecated of all things. Developers can't properly concentrate on writing new code when so much of their time has to be spent rewriting old code because someone down one of Apple's long dark corridors changed their mind about something trivial. Nor should robust code be sacrificed because a mobile developer came upon a new slick way of doing something that might or might not work as well on the computer OS.
The move to Swift was an unmitigated disaster, but that can be the topic of another discussion.
IBM's System/360 is now 56 years old. It handled 32-bit memory-to-memory operations, something no personal system does even today. System/360 software runs even today on IBM's new z/Architecture machines.
Macworld: OS X: An act of desperation