by Jean-Louis Gassée
Once upon a time, operating systems used to matter a lot; they defined what a computer could and couldn’t do. The “old” OS orchestrated the use of resources: memory, processors, I/O (input/output) to external devices (screen, keyboard, disks, network, printers…). It’s a complicated set of tasks that requires delicate juggling of conflicting constraints, and every OS handled them differently—or not at all. In those days, the OS was married to the hardware and only a handful of “wizards” with Electrical Engineering degrees—and a deep understanding of circuitry—understood (and invented, and protected) the arcana of OS construction.
Over time, the secrets of these illuminati leaked out. About 20 years ago, the OS lost its mystery. We had learned enough about writing an OS kernel that it became a college-level topic and a Christmas break hack.
Today, there’s only one operating system: Unix. (Okay, there are two, but we’ll get to that.) This is why I contend that the OS doesn’t matter—or that we need to take another look at the word’s content, at what we mean when we say ‘Operating System’.
When RIM decides to go with QNX for its upcoming tablet, the PlayBook, tongues wag. After calling its Blackberry OS the “best of breed” (a tired markitecture phrase), RIM is surrendering to reality: The “proven OS” foundation proved to be unfixable. Because of the layers of software silt that had accumulated over the years, the edifice couldn’t be modernized. Better to quit and make a fresh start. QNX is based on a Unix OS for embedded applications that dates back to 1982(!) when it was first released for the Intel 8088 microprocessor.
The same thing happened at Apple…twice. The Apple ][ OS (or lack thereof, purists will say) couldn’t be brought up to modern standards, so the Macintosh had to be built on a fresh foundation. The original Mac OS foundered on its own beachhead and was replaced by OS X. Based on the Mach kernel, OS X is another Unix derivative, co-authored at CMU by Avie Tevanian. Mr Tevanian improved the system during his tenure as head of software at NeXT and was instrumental in convincing Apple that their purchase of NeXT would breathe new life into the company.
Open the Terminal application on a Mac and what do you see? A noble and worthy Unix “shell”, a program that geeks use to interact with the OS. Terminal uses the bash shell (for Bourne Again Shell. Created by Brian Fox, bash is based on the sh shell, which was invented by Stephen Bourne. Unix mavens love their word-play acronyms).
And now we have the Apple iOS, an OS X derivative that uses bits from the same kernel.
The list goes on. We have the spiritual children of Unix living inside the Cloud, powering the millions of Linux servers running at Google, Facebook, Amazon…
The only exception is Windows. Initially built on top of DOS, Microsoft painstakingly added version after version, always striving for backward compatibility while, at the same time, adding new features. It didn’t always work well (who wants to remember Windows Me and Vista?) but it worked well enough because Microsoft never gave up. They fixed mistakes that they claimed didn’t exist, and now we have the well-respected Windows 7. (Inevitably, critics will say that Microsoft wouldn’t have gotten away with such a tortuous path if it weren’t for its vigorously enforced monopoly.)
Windows will live on — in a PC industry now at a plateau. But otherwise, in the high-growth Cloud and smartphone segments, it’s a Unix/Linux world. We need to look elsewhere to find the differences that matter.
The technical challenges have migrated to two areas: UI (User Interface, or the more poetic—and more accurate—UX, for User Experience) and programming tools.
Now that all “system functions” are similar, the game for hardware and software makers is to convince the user that his/her experience will be smooth and intuitive. Your device will walk on water (with the programmer right under the surface), catch you as you fall, make sure you don’t get your feet wet.
For the developer, what we now call the OS must supply ever-growing expressive power—think a fife versus a twelve-keyboard organ. To wield that expressive power, the programmer needs software tools. The industry uses acronyms such as API (Application Programming Interface), IDE (Integrated Development Environment) or phrases such as Application Frameworks. They define the rules and conventions—which ideas are allowed and how to express them—and the software tools that programmers need to develop an application.
This is today’s OS. User experience. Development tools.
One last element that is and isn’t the OS: This new creature called an App Store (or Marketplace, depending upon the…OS). In my non-technical view, the App Store must be considered part of the OS totality, part of its gestalt. Applications have always been in a feedback loop with the OS. A program can only do as much as the OS allows it, so it played tricks to create multi-tasking, to allow smooth audio/video playback. These “tricks” were incorporated into the OS (and the hardware—think GPU), which then bred another generation of apps that wanted more, and so on.
The App Store genre, invented or not in Cupertino, is now part of that loop, a killer OS component, one that deserves a Monday Note of its own.