But how will we ever choose what car to buy and drive with all this choice.. it's too much..Operating systems and environments are different enough that if cars truly were built the way we build our software there would be far fewer cars and they'd be a lot more expensive. The key to ubiquity is the interface, and the simpler the better. All cars come with the following common user interface:
Or maybe, the user can focus on the device and features it provides rather than the embedded OS. The people who will focus on the embedded OS are not usually the type that are scared by choice.
- Ignition or starter (true on/off)
- A steering wheel
- A break pedal on the floor
- An accelerator pedal on the floor
- A gear selection
- Gas (or petrol) gauge, indicating full to empty
- Rear-view and driver side mirrors
But what about user environments and the operating systems that host them? Let's do a quick run down of today's operating systems:
- Windows (in all it's versions)
- Windows Mobile
- Win 3x
- Win 9x
- Win NT
- Win 2k
- Win XP
- Palm OS
- Mac OS X
- iPhone/iTouch embedded Mac OS X
- Linux Mobile
And that is the lesson the auto industry learned at the start of the twentieth century, and made absolutely sure they never forgot. Not only do car companies have to compete with other car companies, but they need to convince customers to trade up. And the only way that they can do that is to make sure that (1) the new cars are at least as good as the old cars, and (2) that Ma and Pa Kettle don't have to learn anything different at all to drive the new and shiny car just like they drove their old trade-in klunker. Violate either of those and you will not sell cars. Or at least not enough to survive.
If us software folks made our user interfaces along the same lines then we really could compete with Microsoft and Apple. And that leads to some interesting consequences. We Linuxers like to point out the superior merit of our favorite OS and our favorite desktop environment. As do Windows and Apple fanatics. But if we all stuck to the same user interface and truly competed on merit, then how successful would we really be? I have some partial answers that will anger just about everybody:
- If we had truly interchangeable operating systems for our hardware, then there would be churn that would make the mobile industry look timid by comparison.
- In a world of real competition, Vista would be seen by all as the unmitigated disaster it truly is. Right now, because of Microsoft's monopoly on the desktop, they can ship 100 million 'somethings' and charge good money for it, then claim success with Vista as well as billions in gross receipts per quarter. But in a world of real competition, without the special contracts with computer manufacturers, said computer manufacturers could pick another OS and UI and install it in place of Vista on new machines, and wouldn't that have a powerful effect on Vista and Microsoft? Do you think for one minute that Microsoft would have waited as long as they did to release Vista SP1? Do you think Vista would have taken as long as it did to appear? Do you think Vista would have even seen the light of day? Real competition has a poweful Darwinian effect on products and services in markets where there is competition. The weak truly do not survive.
- Mac OS X has its supporters, and it's continuing success is based on both hardware and software, deftly integrated, from one manufacturer: Apple. Apple has successfully re-invented itself as the true alternative to Windows by providing the complete package. Jobs has long recognized that limited standards loosely adhered to results in a wide ranging user experience (from mediocre to truly horrible). This is a good observation. The problem is Jobs solution. While many complain (and rightfully so) about Microsoft's monopoly at the software level, Jobs has extended control into hardware, and with the iPhone SDK, even into how new applications are written and accepted for use on the newest platforms. But if Apple were truly open and could be interchanged with Windows or Linux on x86 systems, do you really think it would succeed? It probably would as an OS, but the mystique and the buzz would be considerably diminished. And one thing is for certain. If the operating systems were truly interchangeable across the Mac hardware platform as it would be across any other x86 hardware platform, then the premium hardware price Apple currently commands would be under severe pressure to go down. And Apple literally can't afford that.
- Linux, Linux, Linux. And Linux. Linux is so fragmented across its various distributions, let alone its various desktop environments, that to say Linux would succeed would be to ask "which one?" Right now Linux has an official 0.6% of the desktop environment. Linux is doing much better on mobile devices such as cell phones and in the cheap ultra-portable market, such as Asus' Eee, but that's because the manufacturers picked one and only one distribution to support (or they created one from scratch, furthering fragmentation). One thing is for certain. In a truly competitive market there would be far fewer distributions and there would have to be a lot more consistent quality across the board, especially with regards to hardware support. I've run too many recent releases where hardware that worked just fine in an earlier release suddenly stopped working in the next. Quality, especially at the driver levels in the kernel and X, is the Achilles heel of Linux.