There's the oft-quoted automobile analogy, with its many variations, that compares Windows to some utilitarian but boring and unreliable car while the quoter's OS is portrayed as a Ferrari, a Tank, or some kind of wonderful hybrid with all sort of features that make it compare favorably to the old standby. It's a fun exercise, but the car analogy doesn't get at the real issue.
Since most software developed today is developed only for Windows, the average computer user would be frustrated to use an alternative OS. They don't want to come across software (and hardware) that appeals to them but not be able to run it.
The computer industry is not like a highway system where anyone can build a car to run on it. There's no cute analogy to explain the conflict, because it's somewhat unique to the software industry. But it didn't happen by accident. There has been an active struggle for dominance over thirty years. That struggle will continue, and it will change as the PC becomes less important as a computing device, but if you want to use a PC today, you have to confront the Microsoft monopoly.
Why does the Windows monopoly matter?
- Software availability
- File exchange
Writing software for desktop PCs is not the surefire path to wealth untold. Some people make a lot of money at it, while others just waste their time. It's hard to write good software, and it's even harder to get it into the marketplace ahead of your competitors so you'll make good money. Let's not even get into providing support. Writing software for multiple platforms just multiplies your problems. I'm sure that many software developers are glad that someone has developed a desktop monopoly, because it makes their jobs easier. They just write software for Windows. Sure, it's not the best platform, and they have to deal with a maze of backward compatibility issues, but at least they can focus their efforts on the latest versions of Windows. So it goes without saying that most of the commercial software for desktop PCs will be for the Windows platform only.
Now, your typical new or alternative OS, the circa 1998 BeOS for example, will have a core contingent of software developers writing all the basic software applications, like web browsers, text editors and word processors, and the like, so the average user of this alternative OS will be able to do all the basic things they need to do, and demand will generate supply, as developers build software to serve their own needs and those of their clients. If it's a really good platform with a vibrant community of users and developers, the software will be really good. Mac users often note that while there may be, for example, fewer FTP apps available for their platform than for Windows, there will still be several, and they will all be good. In the case of FTP apps, the worst one on the Mac may be as good or better than the best one on Windows. So life is grand for the alternative OS user.
But here comes the problem. Let's say that the only provider of high speed internet access in your area requires a proprietary Windows application to connect to its service. Let's say that your employer requires you to use a specific Windows application to access the company VPN and check your email. Let's say that a nifty hardware device that you want to use does not have a driver for your alternative OS. I don't even need to go on, because everyone reading who has ever tried to use an alternative OS for everyday productivity has come across this.
If your particular alternative OS has a particularly large userbase or a particularly rabid developer community, this will be a smaller problem, because more applications will be available, or more hacks and workarounds will be circulating on the internet. But even the biggest of the alternative OSes have their problem areas. Playing DVDs on Linux is possible only by using illegal software or special hardware because decoding the DVD encryption requires a special license. Joe Random Developer can not just write a DVD Player application for legal reasons. Other applications are built to specifically allow access to a company's proprietary services, and therefore can not be created for alternative OSes without cooperation from the company, which is not commonly given.
A company I worked for used to use an online survey service whose reports could only be read with a little Windows app of their making. I had two computers on my desk, Mac and Linux, so unless I emulated Windows (more on that later), I couldn't read the reports. Once something becomes popular enough, like the AgantGo service for handhelds, they'll eventually come out with a Mac client. But the fear deep in every Mac user's darkest depths is that one day the marketshare will slip enough so that will no longer be true.
When companies do give support to a 3rd party developer for an alternative platform, the support often comes after the software is available for Windows users. Such has been the case with Linux drivers for the latest video cards. Other times, a service like AOL Instant Messenger will be opened up to 3rd party developers, but perhaps without all the features possible that the in-house-built clients have because the company wants to keep some services for themselves.
Other times, having an alternative to the application you want isn't enough. If you want to play the latest hit game "Car Crash III: Total Oblivion," having a few Tetris clones available on your platform will be little comfort.
Every platform needs a word processor, and almost all of them have one. However, these days a lot of people need not just a word processor, but they need Microsoft Office specifically. Why? This leads us to our next topic: