It's been a heady week for Bill Gates. As Microsoft stock hit a new all-time high, he was hailed on the front page of the International Herald Tribune as the superstar of the World Economic Forum at Davos, eclipsing mere heads of state, enthralling the audience with geeky details of how Office 97 would fuse desktop, Internet, and Intranet into a seamless whole. Afterward, Bill was invited to a lengthy tête-à-tête with French President Jacques Chirac, whose central bank chief, Jean-Claude Trichet, said the week before that Europe's economic crisis could best be solved by “more Bill Gates in Europe”.
What's a crusty contrarian to make of all this?
I think Microsoft have peaked. Do I subscribe to the fantasy that the Java gang or US$500 network computers are going to displace Windows? That OS/2 will Warp into Number One? That Apple will become the NeXT de-facto standard? That in a year or two disgusted Windows users will be lining up to buy Linux? Of course not—I am a contrarian, not crazy. Microsoft's rapid growth has been fueled by taking over more and more sectors of the PC business and gaining effective control of standards so that, once the engine is up to speed, competitors cannot keep up with Microsoft's development and marketing capabilities. Nobody can outspend Microsoft, even in a narrow sector, once Bill decides he wants to own it. Microsoft have been able to dominate the sectors of the industry they deem strategic by deliberate rapid change, often coordinated among multiple products. Since no other vendor has similar control over operating systems, development tools, and applications, Microsoft are alone in being able to do this.
It is now possible to discern the technological vision Microsoft have for their customers in the years to come. It will be a COM-mediated world of ActiveX (which, of course, will continue to be re-named once or twice a year to embody whatever buzz word is on the tip of the industry's collective tongue) components, flitting here and there across networks, interacting in sophisticated and subtle ways with each other's methods, accessing databases hither and yon and components everywhere with DCOM, all under the benevolent supervision of an evolved NT which embraces objects in its very kernel.
But this is complete bullshit, and it will never work, at least not very well or for very long. Why? Because the underlying architecture lacks even the most rudimentary security and configuration control mechanisms required for a distributed system of such complexity. Academic and industrial computer scientists have invested a great deal of effort into this problem, and have come to understand at least some of the requirements. Microsoft have none of them, and these are not things you can retrofit—at least not without discarding one's entire investment to date and doing everything over. Now, this is something Microsoft have been very willing to ask of their customers, but there comes a time when the lost investment becomes so great customers refuse to accept it. Do they bolt to another vendor? No, they simply stop updating their systems, continue to use the software they have which gets the job done quite well, thank you, and begin to bank the productivity gains which come from not throwing everything out and retraining users on something new every two years. In the 1960s and 70s, many IBM 360/370 sites ran DOS for years and years because it got the job done, and because the pain of “upgrading” to the hardware requirements and the reprogramming required for OS/360 was simply not something they could afford, nor did the benefits justify it. I think we're reaching that point with Microsoft's PC software.
Anecdotal ground truth: in the last month, I have attempted to
install 32-bit updates to three separate commercial Windows
applications I have been using for three years or more, each a
best-seller in its market, all bearing the Windows 95 logo, and
claiming full compatibility with Windows NT 4.0, which I am running.
Three times I have failed to get the update to work. In the most
recent case, an update to the bank order-entry software I use, which
does nothing other than display forms and write files, modified
thirty-seven files in my
C:\WINNT directory tree (without asking for
confirmation first), then crashed when attempting to import the
database from the previous version with a numeric error code from
ODBC. Customer support for problems like this in these enlightened
times seems to have converged onto the All Purpose Answer: “Reformat
your hard drive, then re-install Windows and all your applications”.
I have a life which does not leave me adequate free time to play
system administrator, continually repairing damage inflicted by
Microsoft. So, I think I'll just stay with what I have, thanks. And
I think I am not alone.
When I look at Microsoft's current product line (which I avoid doing as much as possible, I must confess), the problem is not that it lacks features—God, most of it has way too many features for its own good, and I suspect 90% of the users never discover nor use a majority of them—but that it is bug-infested junk. What users need is not ActiveXYZ, the NanoGenetic TransSpecies API, etc., etc., endless etc. but software which works properly and does not crash. Jamming 1.5 megabytes of roach-motel USER and GDI code into the kernel of NT 4.0 to “improve performance” shows Microsoft lack the basic competence and/or willingness to provide a reliable operating system. And that has been a solved problem since the 1960s. Now they're going to sell us a global distributed component model secure multi-platform multi-media object oriented operating system. Right.
I think we're approaching a pause, where the pain of staying on the
treadmill outweighs any possible benefit. I wish it were possible to
measure the pain, anguish,
and lost productivity resulting from
Windows applications installing a mismatched set of DLLs in users'
WINDOWS directory. The distributed component world will
be just like that, only thousands of times worse. I think users will
simply stay with what they have, and Microsoft will be unable to push
more down their throats.
When you consider how much the PC hardware industry has been driven by upgrades needed to run new Microsoft releases, the consequences of this go well beyond the software industry. Also, Microsoft's stock multiple envisions growth continuing at the present rate. A mature market, where sales plateau and product lines become stable, does not sustain a P/E greater than 50. By comparison, Washington State's other near-monopoly, Boeing, trades at 34 times earnings, and IBM at 14.
Absent a colossal strategic blunder (which is possible, but unlikely in the extreme), I don't see Microsoft falling. But I think we'll soon experience a kind of plateau in the PC world that resembles the mainframe business in the 70s or minicomputers after DEC and Data General had staked out their territory.
The technological frontier will not close, but it will be somewhere other than the PC software business. In terms of my 1989 nanotechnology screed, I think PC software is moving from the “Oh Wow” to the “Oh Well” stage. Microsoft may succeed in continuing to grow by diversification into media ventures and plush toys: but will see revenues from PC software transition from exponential growth to cyclical performance tracking the overall economy which is typical of mature industries.
I'm certainly not about to run out and short a huge block of Microsoft stock—momentum often carries a trend much further than rational calculation justifies. But it will be interesting to observe how what Microsoft have in the pipeline is accepted, and how the landscape of the PC market will shift if and when users conclude, “Enough, already”.