|Home » Resources » Rants
Eight Years, Three Months, Four Weeks, One Day
Week of May 20, 2005
It was expected.
Eight years, three months, four weeks, one day: that's how long it took the dweebs in Cupertino to fully ruin what was once a straightforward, elegant, and eminently secure operating system.
It was expected.
NeXTSTEP/OPENSTEP was a simple scheme: run a space-age GUI on top of a microkernel implementation of FreeBSD. The microkernel, known as MACH, was a good addition: it added a layer of stability to the OS, outsourcing tasks to userland. If the code's going to crash, it's going to crash in the task - not the OS. The code fails; the OS survives; the user benefits.
Thanks to Jean-Marie Hullot, the NeXTSTEP programming environment was, already twenty years ago, light years ahead of anything found even today, and the choice of language showed the system designers understood the value of the work of Alan Kay and his Learning Research Group at the Xerox PARC.
But that was up to the end of 1996. In December of that year Apple, in increasing financial difficulty and unable to themselves create the 32-bit successor to their 'MacOS', decided to offer Steve Jobs, CEO and principal owner of NeXT Software, to pay off all his considerable ($429 million) debts if he would return to Apple along with his 300+ NeXT engineers and NeXTSTEP. Jobs accepted the offer.
NeXTSTEP had by this impasse evolved into an open specification known as OPENSTEP. The GNUstep organisation work with this specification to this day. The NeXTSTEP GUI and Objective-C are closely intertwined and one cannot exist well without the other - and yet when used together they represent an undeniably unbeatable combination.
The prospect that developers all over the world would have access to this technology was very welcome, but shortly before Jobs trekked back to Cupertino the 'ownership' of the Objective-C language passed from Stepstone and Brad Cox to NeXT and Jobs, and ever since then NeXTSTEP itself has remained closed and proprietary, with only GNUstep today having any true roots in the original system.
When merging with Apple in January 1997, Jobs and NeXT should have immediately released their NeXTSTEP for the PowerPC. Immediately. Such a product could have reached the market in a matter of weeks, at most a few months. And they should have also made a version available for x86. But they did neither.
It would take them eight years to get a watered down and only partially viable product out the door. The ostensible reason for this delay was to placate the Mac users, approximately 25 million in number and an irrelevant demographic to say the least.
Reaching 25 million is small time; reaching the all told 600+ million computer users world wide makes more sense. Even Bill Gates realised this long ago and told Jobs he should licence his system to the world and rule it. Jobs, intent on owning and controlling everything himself like a little dweeb, ignored the recommendation and the rest is, as they say, history - or the lack thereof.
NeXTSTEP is not what it used to be. NeXTSTEP used to be a clean and clear interface to FreeBSD. You have a system call represented in NeXTSTEP? All you do is call on to the underlying Unix - that's it and no more.
NeXTSTEP used to run on a vanilla Unix file system. After all, if you're going to run Unix, you can hardly run a file system that's not Unix. Or so one would think.
Flying in from the Planet Groovy, the diehards of 'Mac thinking' and 'Mac design' started to make their presence again felt in Cupertino after the merger with NeXT, delaying the release process and corrupting an eminently usable design.
MacOS wasn't something third party vendors liked looking at anyway. There might have been interesting ideas in there, but those ideas were not good in the final analysis and subsequently did not spread to the rest of the industry. The Apple engineers were never rocket scientists either, struggling for years pushing a square peg in a round hole so big boss Steve was happy with the look of his product.
But you can't build operating systems that way, and time and again the Apple crew were made painfully aware of this, and in the end, after failing classically with both OpenDoc and Copland, had to admit defeat: they'd ruined their own operating system to the point where they couldn't make it work anymore - they desperately needed a new operating system to ruin instead.
They got it.
Everyone's heard how the Mac represents the ultimate in user friendliness, but over the years that claim became the biggest lie the computer industry's ever heard. The Mac certainly had its 'intuitive icons and folders' and yet Tim Berners-Lee did not choose a Mac to develop his World Wide Web - he choose a NeXT machine instead.
And Apple users, for each successive release of their beloved operating system, experienced more system crashes, not fewer, and continually found more and more caveats to 'simple system use' to the point that with the final release, MacOS 9, the system couldn't be left running (idling) overnight, as it would crash all by itself, untouched; the user had to manually configure the amount of RAM each application was allowed to use [sic], the user had to watch for so-called kernel extensions on startup (which more often than not crashed the machine), had to do something arcane called 'rebuilding the desktop', and so forth and so on ad nauseam.
And in the New Millennium where even Windows 9x was multitasking and a semblance of 32-bit secure computing, MacOS - thanks to the brilliant Apple engineers - was still a 16-bit 'cooperative multitasking' phantasmagoria.
Even the graphics themselves became ridiculously overdone - a propensity Apple have repeatedly demonstrated a weakness for over the years: a fetish for overworked overly ornamented desktop objects that comes off as downright ugly.
The beauty of NeXTSTEP in the above context is that the 'skin' of the GUI is completely independent from the code used to run the system. It's perfectly possible to quickly replace one 'skin' with another.
Running as it did on FreeBSD with a MACH microkernel, NeXTSTEP was also very stable - and in fact marginally more stable than the other Unix distros such as Linux where 'kernel panics' are not at all as unknown.
Apple had everything to win and nothing to lose with putting NeXTSTEP on the market immediately after January 1997. By December of that year, well before Microsoft came out with Windows 98, Apple could have had a nice secure 32-bit OS to beat the pants off the market leader - and the world as we see it today would have looked a lot different.
There is no question that Unix is inheriting the computing of the planet. From the outset a multiuser system, it has what it takes in the 'Internetted Age'. Even when computing all alone on a kitchen table, the connected user must be running a system capable of multiuser functionality - otherwise that user will be toast.
Unix has that capability; Windows does not and never will.
Linux will work, but Linux takes a great effort to set up. Linux has no direct affiliation with hardware manufacturers.
IBM however do. IBM are today again a totally hardware oriented company. They've sold off their PC division (but have a controlling interest of course) and are concentrating on selling server and networking hardware solutions to businesses. IBM discovered there's just no money anymore (if there ever was) in the 'PC' business.
[IBM still sell more personal computer units than Apple who are currently experiencing a dramatic boom - and yet IBM regard such a market share as insignificant whilst Apple beat their chests in pride.]
The money's in hardware. Steve Jobs once said NeXT would be either the last computer company able to sell both its own software and its own hardware or the first that couldn't. He was right.
The operating system, today as way way back in the mists of time, is no longer relevant. Software is no longer seen as something on its own. People buy 'computers' - they don't buy hardware and then software. [Some do, but this is transitional only.]
IBM push Linux on all their computers. Linux is free. Linux support is not free, but then again IBM support was never free. IBM support is always very expensive. But IBM support is very good - the best in the industry.
IBM sell computers. The operating system and add-on applications just follow along at no additional cost.
Apple could sell computers too. And what with their having their own operating system to test their computers with, could still offer the best 'turnkey' option in the business.
And they could licence their NeXTSTEP/OPENSTEP as well. Putting this on the market would mean more people would see it, try it - and for all Apple know would in the end decide it was great but ran best on hardware that was Apple's own. Score again to Apple.
Apple would win by integration - by open cross-platform compatibility. So that their OS and their hardware worked seamlessly with other Unix distros out there. So that users could connect Apple workstations to Linux LAN servers and vice versa.
But to do all of the above Apple would first have to gut what's left of NeXTSTEP and return it to its former glory. They would have to bury resource forks forever, bury HFS forever, bury the Mac toolbox (Carbon) forever, re-rig all the APIs so they work on any platform as before, rip AppleScript out - in short, untangle all the 'Mac' things that have ruined OS X over these past eight years, three months, four weeks, and one day.
Steve Jobs once asked John Sculley, then VP of Pepsico, if he wanted to go on selling sugared water the rest of his life or have a chance to change the world.
Steve Jobs should be asked if he wants to go on selling sugary dweeb toys the rest of his life or if he really is out to change the world as he says.