Living in an Alternative OS World

As the Microsoft Windows monopoly becomes ever more entrenched, the world seems to be becoming an increasingly more difficult place for a new operating system, or even some that have been around for a long time but have a limited share of the desktop PC market. Proponents of alternative operating systems seem to spend their time alternately griping about Windows’ grip on the desktop and asserting that it doesn’t matter all that much because they can get their work done with their OS of choice.

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
  • Standards

Software Availability

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:

Like it or not, today in the business world when someone sends you a document, it’s usually going to be a Microsoft Office document: Word, Excel, PowerPoint. Luckily, it’s not totally impossible at this point to read and write the Office file formats, so many alternative OSes have word processors and spreadsheet apps that will do a pretty good job of interoperating with the Microsoft Office-using world. Mac users can even use the real McCoy. The Mac version of Microsoft Office is, for now, still available and enjoys complete file compatibility with Office for Windows.

Microsoft is still in the driver’s seat here, though. They control the Office file format, and they change it from time to time, making headaches for developers who want to build apps that are compatible. It’s not outside the realm of possibility that someday Microsoft will design a new version of Office whose files are encrypted so only Microsoft applications can read them. With the DCMA, even the most rudimentary encryption would make it against the law to distribute an application that reads that format. Microsoft might not be able to get away with such a dastardly plan, but it illustrates the point that file exchange is a point of difficulty for the alternative OS. To be viable in the business world, every alternative OS must have office applications that speak Microsoft.

If your OS has a great word processor, it will probably also have a great file format that supports its great features. Maybe that file format will be based on a standard like XML, or maybe it won’t. But one thing’s for sure: if you want to send that file out into the world, you’ll have to save it in Microsoft Word, RTF, or Text before you do, and when you get it back, unless the formatting and other features exist in Word or RTF, that formatting will be lost. Microsoft Word users do not have this problem. They can choose from the pantheon of outrageous features for their document, and inflict them on other users without fear. Most non-Microsoft word processors will be able to read the file, but probably don’t support all the wacky features, so you may not see the file as the author intended. Now, users of older versions of Office also have this problem, so you’re not alone on this one. People who do not upgrade their Microsoft software regularly are almost as much of an enemy to Microsoft as you are.

I should also mention filesystems here, as any alternative OS will also need to know how to read from and write to all the common Windows filesystems too. That has not posed a problem for the Users of major alternative OSes like Mac and Linux in a very long time, though.

Standards

Probably the thing that Microsoft’s desktop monopoly gives them that makes alternative OS proponents the angriest is the ability to undermine standards. Let’s use HTML as an example, as it is the standard that Microsoft is in the best position to control. It’s also a good example because it’s a very badly abused standard. Microsoft wasn’t the first abuser either, Netscape was. The HTML standard simply evolved too slowly to satisfy web developers, who wanted to make pretty web sites, so Netscape developed non-standard tags to please developers. You can’t really fault them too much. I remember those days. It was really hard to make a non-ugly web site back then. But the fact that sites looked better with the Netscape browser drove people to that browser. And eventually many of the Netscape-initiated tags made their way into the standard.

When Microsoft set its sights on the browser market, it took notice that aggressive innovation and a fast and loose outlook toward the standards could propel a browser’s marketshare, and just as the early web era saw Netscape-only web sites, nowadays there are many sites that do not work well in any browser than Internet Explorer.

There have been various claims that Microsoft is in a position to undermine MPEG-4, DHCP, and even standards of its own creation like SMB. That Microsoft was attempting to undermine, or at least exercise some control over, the Java standard has been the subject of years of legal wrangling between Sun and Microsoft that continues to this day.

How this affects the alternative operating systems is clear: when standards evolve through neutral governing bodies, there’s a level playing field. When one company starts to push the standard around, then everyone else has to play catch-up.

Windows-in-a-Window

For those applications that you really need to run, many alternative operating systems have applications that allow some kind of Windows emulation. Many of these, like VirtualPC for Mac and VMWare or Win4Lin on Linux require an actual licensed copy of Windows that runs in parallel with your main OS. These applications work very well, though VirtualPC does not perform at full speed because it emulates the x86 on a PowerPC. Nevertheless, for the rinky-dink applications that we all occasionally run into they’re a good solution, except for the fact that to use them legally you must pay for a license to Windows. (Note: VirtualPC does come with a license to Windows, though that license inflates the price of what normally would be a $50 application to $200)

There are other problems with this approach. Whatever advantages of usability, performance, stability, or interoperability that attracts you to your alternative OS is counteracted completely when you use an application in this manner. You have to “leave” your own environment and temporarily inhabit the Windows world. And lastly, it’s an admission of failure. It’s tangible proof that you still need the mainstream OS to do your thing.

The Wine project on Linux (and Unix) attempts to implement the Windows API without Windows, but it won’t run all Windows software. So it’s a really exciting solution for those applications that it supports, but it’s no panacea for the software problem.

Running Windows-in-a-window is a handy option for the alternative OS user, but it’s sidestepping the issue.

One of the most commonly cited reasons that the business world would stridently resist moving to any non-Windows platform is that of familiarity. Windows may be difficult to learn and frustrating to use (as some assert), but everyone in the business world is already familiar with it, and perhaps more importantly, familiar with the look and features of the commonly used Windows applications, like Office.

It’s a source of ongoing contention, but many Linux-on-the-desktop advocates have chosen to respond to this issue by producing Windows-lookalike desktop themes and Office-lookalike applications. This provides an easy transition for corporate desktop users while opening them up to the wonderful world of Free Software. I think it’s a perfectly reasonable step, but opponents warn that one of the reasons we all want to use alternative OSes is because we don’t want our computers to look and act like Windows machines. Too much effort spent on making Linux work just like Windows takes away valuable effort from making it be better at being different.

I think it’s an overblown issue. I’ve worked for many companies big and small, and it’s clear to me that the majority of corporate computer users only have the slightest grasp of computer technology in the first place, and just barely know that you open the word processor by clicking on the big W icon. A company would benefit more my having a simpler standardized desktop that’s managed centrally and give the user less ability to screw their machine up by downloading spyware-ridden doohickeys from the internet than it does by having a system that’s familiar to the user. People can learn a new word processor or a new file management paradigm pretty easily, because most of them don’t know the Windows one all that well anyway, and those that do are probably pretty clever. I won’t get into an argument about the ROI of various platforms here, but I think that a little retraining won’t kill anyone and can be justified with lower system management costs.

That being said, I think that there’s very little chance that any alternative OS will make big inroads into the corporate desktop in the next few years. Corporations are conservative and can be short-sighted. They’ve made their commitment to Windows, and they’ll stick with it.

The Herd Mentality (No, not Hurd)

The corporate mentality brings up an important issue that’s central to the alternative OS vs. Windows debate: market share. People hear about Windows have ninety-something percent market share and they wonder how anyone can manage to get by on the table scraps of the few percent that’s left over. How can software developers make money developing for Mac or Linux, or (shudder) some other OS with less than 1% market share?

The reason that the corporate desktop is an important consideration here is that it’s important to remember that most of the PCs in use today are used by corporations, and a great many of them are in use as single-purpose terminals, such as in vast banks of PCs used in call centers for order entry or banks of screens displaying market data in trading rooms on Wall Street. Why they’re using a complicated and hard-to-administer full-featured operating system for such tasks is the subject of another essay, but they are. These computers are single-purpose terminals, sometimes with only one application installed on them. Most of the rest are identically-configured Microsoft Office workstations that have taken the place of the IBM Selectric typewriters that used to grace most every office desk once upon a time. It’s bad news for Apple and Red Hat that they’re probably from Dell or HP and mostly running Windows, but it’s not entirely accurate to include them in all of the marketshare numbers because these computers are not candidates for 3rd party software use.

If I develop an application that allows people to manage their genealogy or make and print-out templates for scrapbooking, is each of those PCs on Wall Street a potential computer that my application will be installed on? No. The percentage of Macs, for example, on the desks in the dens of people who might want to look up ancestors or make a scrapbook may be much higher than the 4% that the analysts report.

Furthermore, most of those numbers are based on easily-collected information, such as how many PCs (with a Windows license) sold that year. Analysts are as lazy as anyone else, and they don’t have access to magical data. So you add up all the PCs sold that year, compared to all the Macs, and compared to the handful of computers sold with other OSes pre-installed, and you have your marketshare numbers. Voila! How do they know how many people bought that PC (which you can’t really buy without a Windows license) and then installed Linux on it, or even DOS? They don’t. And those numbers only tell you how many of the new computers bought today run Windows. Truth is, home users keep their computers longer than companies do, and Mac and Linux computers can be used with current software much longer than Windows ones. So how do you measure how many out of the total number of computers being used today, regardless of when they were purchased, are running a particular operating system? It’s really hard.

Let’s not forget that the PC market is very big now. Even though at one point Apple was selling, let’s say, 8% of the new PCs in the world and is now only selling 4%, it’s still selling a lot more computers now than it did then. If it was possible for Apple to have a thriving and prosperous developer community back then, it’s still true today, more so. For old OSes that people cling to like Amiga or OS/2, sometimes the developers stick with the platform becauses while the userbase may be small, there’s no competition. Competition among Windows developers is fierce, so if you can make a living without it, it’s a good life.

So yes, Microsoft indeed has a powerful monopoly on PCs, but there is actually plenty of room for an alternative platform to thrive, but it must attain and maintain a critical mass. If Wal-Mart sells enough Linux PCs over a few years, the desktop Linux market will have grown enough for software vendors and hardware makers in that niche to take notice. If Apple can keep being from screwing things up too bad, then the platform will stay viable.

So how can new and alternative OSes thrive when the big bully on the block keeps getting stronger? When it becomes less and less likely that mainstream software developers will support a non-Windows platform?

The internet has already made a big difference, and if Netscape hadn’t been decimated, it would have made an even bigger difference. Many tasks that used to require a platform-specific application, like a loan calculator or a simple statistics engine, are now available via a web site. Sadly, web-based applications, though convenient, lack in usability in comparison to Windows-based apps, lacking cascading menus and having awkward refresh camability, though advanced web technologies ameliorate that somewhat. Ironically, but not accidentally, some web sites that use technologies that give web sites more Windows application-like properties are available for Internet Explorer only. Netscape was moving toward offering developer tools for its browser that would have made the (Netscape) browser the new operating system, with all simple applications running through the browser. I think that with the internet becoming more central to the computing experience, this will continue to happen slowly, but Microsoft has had a big victory in preventing Netscape’s intrusion into its territory.

There’s another barrier to makers of simple applications (like Tax Software) using the internet as a delivery vehicle instead of Windows-based applications, and that is that internet users have been accustomed to everything being free. People will go to the store and buy software for $50 when they would resist paying $50 to get the very same functionality from a subscription web service. This is changing little by little, but it’s a barrier to the producers of simple Windows applications moving 100% to the web. Luckily, the elimination of distribution issues and greedy middlemen allow producers to charge much less for their software but make more money. Eventually, I predict that most of the rinky-dink applications that currently only run on Windows will move to the web. Hopefully, not to IE-only web sites.

Truth is, most applications that people will need to run every day will have to be developed specifically for the platform that they’re running on, so in order for an alternative OS to be usable every day, there will need to be an active developer community, driven either by economic opportunity or idealism — probably a little of both. If the OS has really good development tools, that helps a lot. Microsoft will still be in the driver’s seat a bit, with its control over the Office file formats and aggressive “embrace and extend” behavior vis-à-vis standards, but again, an active developer community and good developer tools will lessen the negative impact on the average users of the alternative OS and help them work and play well with Windows.

For applications where a work-alike is not feasable, such as games and high-end video editing software, there isn’t really that much that the alternative OS proponent can do except try to run the Windows (or Mac) version of that program using some sort of emulation. If a platform becomes popular enough, the vendor might be persuaded to port it, but it generally takes a large and proven market for a vendor to make the investment.

Various cross-platform development environments have been introduced over the years, and have met with some success. Java has certainly come the farthest economically, especially on the corporate server (where incompatibilities between Unix versions have always been a headache). Java on the desktop hasn’t exactly reached its potential, partially, of course, because the last thing Microsoft wants to see is a successful cross-platform development environment for the desktop. Java isn’t really a development environment, but a separate platform that runs on top of the host OS. This is roughly true with successful open source platforms like Perl and Python.

Tools like Metroworks give developers some shortcuts to developing for both Mac and Windows, but one of the hallmarks of really good software is tight integration with the UI elements and features of the OS and other applications on the platform, so a one-size-fits-all approach to multi-platform development doesn’t produce good results. You’ll end up with the oft-maligned Microsoft Word 6 for Mac, which looked and felt like a Windows 95 application. Mac users were not impressed, and as a result, many users kept using MS Word 5.1 for Mac until Mac Office 2000 came out, created, as I recall, by all the ex-Apple employees that Microsoft lured away to staff its Mac software unit.

The point I’m trying to make is that user interface matters, and developer have to pay particular attention to a platform’s UI specifics when designing software. That’s one of the reasons that it’s rarely easy to port software from one platform to another, even if the underlying engine ports easily.

Conclusion

There’s a good reason for application developers to only write for Windows, but Windows is far from being the perfect operating system. We’ll continue to strive for something better, but while we’re striving, we all have to get some work done. For that, we’ll need software. The power that Microsoft has over the software industry is undeniable, but there is still room for alternative OSes to thrive and stake out a big enough market to make developing software worthwhile. It’s not the overall percentage that’s so important, but the real number of users who might potentially buy or use a particular software product.

The internet, with its capability to replace many small applications and act as a means of distribution and support for small software developers has probably been the salvation of the alternative OS, since Microsoft’s monopoly would be even more powerful without it. Linux, for example, would probably barely exist were it not for the community of developers who discovered and developed it using the internet to connect with each other. The internet will probably continue to undermine the importance of any particular platform and become the de-facto “operating system” of the computing world, though Microsoft will fight this to its dying breath.

The desires and dreams of computer users will ultimately prevail over the crass demands of corporate accounting, however, and if we demand ever-better, ever-more-interconnected computing devices, then there will always be space for alternative platforms at the leading edge. Some of our favorites may succumb and perish, but others will evolve and thrive. It will be exciting to see what the next 30 years will bring.

80 Comments

  1. 2003-02-19 6:30 pm
  2. 2003-02-19 6:31 pm
  3. 2003-02-19 6:43 pm
  4. 2003-02-19 6:47 pm
  5. 2003-02-19 6:56 pm
  6. 2003-02-19 7:12 pm
  7. 2003-02-19 7:18 pm
  8. 2003-02-19 7:47 pm
  9. 2003-02-19 7:52 pm
  10. 2003-02-19 7:54 pm
  11. 2003-02-19 7:55 pm
  12. 2003-02-19 8:00 pm
  13. 2003-02-19 8:00 pm
  14. 2003-02-19 8:04 pm
  15. 2003-02-19 8:19 pm
  16. 2003-02-19 8:21 pm
  17. 2003-02-19 8:21 pm
  18. 2003-02-19 8:28 pm
  19. 2003-02-19 8:28 pm
  20. 2003-02-19 8:34 pm
  21. 2003-02-19 8:44 pm
  22. 2003-02-19 8:47 pm
  23. 2003-02-19 8:49 pm
  24. 2003-02-19 8:51 pm
  25. 2003-02-19 8:52 pm
  26. 2003-02-19 8:56 pm
  27. 2003-02-19 8:58 pm
  28. 2003-02-19 9:00 pm
  29. 2003-02-19 9:00 pm
  30. 2003-02-19 9:07 pm
  31. 2003-02-19 9:10 pm
  32. 2003-02-19 9:11 pm
  33. 2003-02-19 9:16 pm
  34. 2003-02-19 9:23 pm
  35. 2003-02-19 9:35 pm
  36. 2003-02-19 9:41 pm
  37. 2003-02-19 9:47 pm
  38. 2003-02-19 9:56 pm
  39. 2003-02-19 9:57 pm
  40. 2003-02-19 10:07 pm
  41. 2003-02-19 10:14 pm
  42. 2003-02-19 10:22 pm
  43. 2003-02-19 10:36 pm
  44. 2003-02-19 10:48 pm
  45. 2003-02-19 11:14 pm
  46. 2003-02-19 11:14 pm
  47. 2003-02-20 12:11 am
  48. 2003-02-20 12:54 am
  49. 2003-02-20 1:42 am
  50. 2003-02-20 1:50 am
  51. 2003-02-20 2:02 am
  52. 2003-02-20 2:06 am
  53. 2003-02-20 2:09 am
  54. 2003-02-20 2:10 am
  55. 2003-02-20 2:25 am
  56. 2003-02-20 2:43 am
  57. 2003-02-20 4:05 am
  58. 2003-02-20 4:19 am
  59. 2003-02-20 4:38 am
  60. 2003-02-20 5:23 am
  61. 2003-02-20 6:17 am
  62. 2003-02-20 6:40 am
  63. 2003-02-20 6:44 am
  64. 2003-02-20 6:47 am
  65. 2003-02-20 7:37 am
  66. 2003-02-20 7:45 am
  67. 2003-02-20 8:20 am
  68. 2003-02-20 9:25 am
  69. 2003-02-20 10:25 am
  70. 2003-02-20 11:58 am
  71. 2003-02-20 12:26 pm
  72. 2003-02-20 12:44 pm
  73. 2003-02-20 12:55 pm
  74. 2003-02-20 1:45 pm
  75. 2003-02-20 4:15 pm
  76. 2003-02-20 5:17 pm
  77. 2003-02-20 5:24 pm
  78. 2003-02-20 8:47 pm
  79. 2003-02-21 1:36 am
  80. 2003-02-21 6:18 am