"Where do you want to go today?" ask Microsoft's advertisements. The company tries to make people believe that its programs are at the cutting edge of technology. How much truth is there in this?
From this point of view, there are really two different types of people, with a huge gulf between them. On the one hand, there are people who know very little or nothing about computers, and who are easily fooled by Microsoft's advertising campaigns that are almost subliminal advertising. On the other hand, you have knowledgeable computer users, that is, people who can look under the hood to see how its programs work. These people all agree that Microsoft programs are very poorly designed. If you look at the history of the company, this mediocrity has a logical explanation: as we saw earlier, the company is not at all reaching for excellence, but merely for the bottom line.
Let's take a brief look at the development cycle for a computer program. The first thing software companies develop is a prototype. After the prototype has been touched up a little inside the company, they reach what is called the alpha version that is still too unstable to be shown to people outside the company. The next step is to correct as many bugs as possible to get to the beta version. This version of a program is usually given to a number of beta-testers, who work closely with the company, and help them by trying to find the remaining bugs in the program. After these bugs have been corrected, the final version is called the gold master, that is ready to be pressed on CD-Roms and sold to the public.
But Microsoft has often merely sold the beta version of its programs as finished products. Windows 3.0, for example, was almost unusable: it was necessary to constantly restart –or in computer jargon, reboot– your computer. It was also very difficult to print. So Microsoft corrected the bugs and released Windows 3.1 that its users naturally had to pay for. In this manner, Microsoft skillfully uses tens of millions of customers as beta-testers. And, in addition, they even have the nerve to make them pay for this "privilege"! This is continuing: the beta version of Windows 98, which was available last spring in some computer trade fairs, was actually sold for $30. This was the first time ever that a software company actually sold an unusable beta version of a program!
What bothers me, as a computer user, is that I constantly have to buy new products –and learn how to use them– to do more or less the same things. But this crazy headlong rush was not invented by Microsoft: it is characteristic of the entire computer industry.
This is not entirely true: there are software companies whose programs do not become obsolete as quickly as that. Programmed obsolescence has become one of Microsoft's specialties, because it is related to the company's hegemonic position. Software publishers have two ways to increase their sales and maintain growth for their profits: they either increase their market share, or, when the market is already saturated by its products (which is the case for Microsoft), they try and sell them more and more often to the same customers. To do this, they need to create new versions of their programs as often as possible. The new versions, which must look different, contain new functions, which are more often gadgets than useful additions, and Microsoft presents these as innovations. Even worse: to ensure that its users cannot get off the train, Microsoft holds their data hostage. This means that they simply have to buy the newest versions of their programs, even if they merely want to continue to exchange data with other people.
I know that, unfortunately, when talking about computers, people have been conditioned to think that it is a very interesting subject, but difficult to understand. Because of this, they give up trying to make their own opinions and trust the advice of the so-called experts, who are often merely just direct spokespersons for computer companies. Let us take a short trip to an imaginary world, that I attempted to explore in an article I wrote called "Cybersnare" (note 8). It is called the land of TechnoCretins, where a company, let's call it MacroPress, has slowly gained total control of all the print shops in the world. Publishers have them print their newspapers using proprietary MacroPress characters. One day, the company launches a large advertising campaign to explain that they have discovered new characters that are much more modern: let's call them Klingon characters, from the alphabet of the Klingon language, used in Star Trek. It starts printing all the newspapers and magazines in Klingon. Now, obviously, these characters can only be read using the MacroPress lens, which is sold at every newsstand, at the newspaper publishers' expense. The public is delighted by this wonderful technological innovation, and they adapt to the new characters and buy the lens.
Now that MacroPress has a monopoly, they change their characters every two years, and then, every year. The old lens cannot read the new Klingon characters, and each new version requires that the public buy new lenses at great expense. One of MacroPress' competitors sees an excellent opportunity: they invent a mini-lens, which is as efficient as the MacroPress lens for reading Klingon, and less expensive. But the publishers have an exclusive contract with MacroPress and refuse to distribute the lens. Even worse: MacroPress sues this competitor who is guilty of having reverse-engineered the Klingon characters to design its mini-lens!
Does it sound outrageous? Are you thinking, "Can this ever happen"?
Well, this is exactly what happens with Microsoft customers. There is no way to correctly read a document created with Word 7 using Word 5, for example. Serious problems can also be seen when trying to open a Word for Windows file using Word 6 for Macintosh. This is something I learned at my own expense, struggling one day to open a file that I downloaded from a site belonging to the European Commission. The result was that our laboratory had to buy a huge PC with Windows 95 and Office, that we did not really need, just to be able to read these important documents. The Klingon lens is not as imaginary as you may think.
Microsoft Word users have to buy each new version of the program just to be able to continue to read files in the new format that come from other people. This constant evolution of products, which is presented as a sign of quality, is, in fact, a way to levy a monopolistic tax. Why should we have to buy a new version of a word processing program and learn how to use it every twelve or eighteen months, when people are still writing resumes and memos the same way they have for the past ten years? Even worse, if you purchased a complementary program for Word 5, for example a Spanish dictionary, you would need to buy it again to use under Word 6, since the old dictionary is incompatible, whereas the Spanish language has obviously not changed very much in recent months.
This is really just a way to kidnap your information. Because once you have entered your data into Word or Money, if you want to change the program you are using, it is very difficult to recuperate this work and transfer it to a different program. Microsoft has been very careful in not providing efficient converters to other formats.
It is also forbidden, according to American law, to reverseengineer a Microsoft proprietary format, so a company who would want to sell a mini-lens converter would be guilty of Copyright violation (note 9). But we are talking about data that belong to the users. This certainly is the land of TechnoCretins!
Could you use plain words to explain exactly why you consider that Microsoft programs are technically deficient?
On Internet newsgroups and mailing lists, people who do not like Microsoft use names such as crapware and bloatware to describe its programs. I must admit, I find it difficult to contradict them. First, even novice computer users will notice that Microsoft programs are very large –this means they take up a great deal of space on your hard disk. This is not surprising since there are all sorts of gadgets hidden inside them: some clever people discovered that an improbable series of commands (note 10) made under Excel 7 would launch a flight simulator that shows you the names of the programers! There are other surprises like this, called Easter eggs, such as a pinball machine in Word 7...
But seriously, each time Microsoft releases a new version of a program, it is larger and slower. This deterioration began with Word 3 (written with the C programming language), that ran much slower than the previous version (which was written in assembler). On the face of it, this loss in speed should be an acceptable trade-off for the advantages of the program being written with a higher level language. But this sad state of affairs has continued since then, even when the programming language, that could justify a loss of speed, does not change. We have now reached a point where the user needs much more memory today to make Microsoft products run correctly than to install a traditional Unix server, which includes thousands of sophisticated programs.
This leads me to present a simple statement that is often ignored: a sophisticated system, developed with a respect for quality, will require a fairly large amount of memory, but these requirements will not increase greatly as new versions are released. However, a system whose original name gives an idea of how it was constructed (Quick and Dirty Operating System), and that was purchased from another company and touched up quickly, is inevitably destined to become much more ponderous as Microsoft adds more and more layers of essential functions that were not planned at the beginning.
Elegance and economy can only be obtained if the correct architecture is planned from the very beginning. Unfortunately, in a world of financial imperatives, existing programs are never completely rewritten. Companies merely improve them by adding new layers of code, which increase their size and decrease their speed. Because of this, as Microsoft executives have admitted, the Windows 95 source code contains more than 10 million lines... This is for the operating system alone, and does not even count its additional applications. When you think that the federal aviation administration had to abandon an air traffic control program reorganization project, because it was too large and contained 2 million lines of code (note 11), it is not surprising that you often have to restart a computer using Microsoft bloatware!
This explains why we are now in the situation where we must throw away a huge number of computers that function correctly, but are not powerful enough to run Windows. These same computers could be used as efficient servers to run one of the many flavors of Unix on a PC. This is also why Intel can sell millions of chips as soon as it releases a new, faster model: people who use Microsoft programs need more and more power to make their computers run at a decent speed. Let us not forget that the first IBM PCs (using the Intel 8088 chip) ran at a clock frequency of 4.77 MHz. Today's Intel Pentium II processors run at 400 MHz. But almost fifteen years later, Microsoft Word does not run a hundred times faster than it did before. If these new programs are larger, it is to add new functions for users, claims Microsoft. But studies have shown that most of these functions are used little, if at all. So why should we sacrifice money and speed for something we do not use?
Other than the question of the size of these programs, are Microsoft programs well-designed?
Absolutely not. Here is one example: since the very beginning, since MS-DOS, Microsoft has used an obsolete file management system. If you use Windows, you have definitely heard about the program called DeFrag. When you run the program, your computer displays lots of little different-colored squares that move all around as your hard disk does some serious work. Microsoft's explanation for this is that the more you use your computer, the more your disk gets fragmented, and the slower your computer runs. So, to correct this problem, you should use DeFrag regularly, which will "defragment" your hard disk so it runs more quickly. Really? Why do computers using Linux, FreeBSD, or any other type of Unix not have this problem? With this kind of computer, under normal conditions, the hard disk is never more than lightly fragmented, and the more you use it, the less it fragments.
You see, these systems operate much differently than Windows. To use a familiar metaphor, imagine that your hard disk is the Internal Revenue Service. And that your files, saved on the disk, correspond to files that civil servants store in a huge file cabinet, containing millions of tiny drawers. Now, it is clear that if you are looking for an entire file –the one concerning Microsoft, for example– it would be much easier if all of the documents making up this file were in contiguous drawers, rather than spread out all around the file cabinet. When dealing with data it is the same: it is easier to have access to the data you want if it is organized in contiguous files, rather than spread out or "fragmented".
The problem is therefore to make sure that this file cabinet is properly organized each time you finish using it. And what does Windows do? It acts like an inexperienced file clerk: when a job has been finished and its file is not needed anymore, it throws its objects into the trash. And when you give it some documents you want to use to create a new file, it separates them into tiny groups that it files at random in the first empty drawers it finds. Well, with this type of system, you have to ask for a budget increase to hire a team of interns (DeFrag) to work every weekend to try and reorganize the file cabinet. Linux, however, works like an experienced file clerk: when you ask it to throw away old files, it systematically creates a list of the drawers that are now empty. When filing a new file, it looks in this list for a series of contiguous empty drawers that are large enough to contain the file. I'm sure you will agree with me that no office manager would be crazy enough to hire the first file clerk, who would cost him more and is inefficient, instead of the second, who works almost for free and is much more efficient. But this is what happens every day when people choose Windows.
To sum up, Microsoft's commercial propaganda bamboozles its customers by telling them that DeFrag makes their computer runs faster... whereas it is really Windows that is slowing it down! Microsoft is powerful enough to be able to distort reality in this way. It turns its programs' weaknesses into indispensable assets. In the computer industry, there has long been an ironic expression that is used when this type of weakness is discovered: it's not a bug, it's a feature!
But aren't these disadvantages due to the need for compatibility with much older software layers? In other words, doesn't Microsoft's heritage, which is its huge installed base, impose complicated program architectures?
I think this story of compatibility is nothing but an excuse. Even in the DOS-Windows world, there exist better-designed programs. (Look at Novell's file servers, for example). It is not technically impossible to create a file management system from the mediocre heritage of MS-DOS that could function correctly. You only need to use DeFrag because the file allocation system under Windows is badly written. The other major problem with Microsoft programs is that the operating system is extremely vulnerable to user errors. Take, for example, ScanDisk, a Microsoft program included with Windows, whose job is to repair damage to your hard disk. Well, it offers many incomprehensible choices, most of which users, even computer specialists, do not understand. But if you make one wrong choice –a Yes instead of a No– the procedure could simply destroy the structure of your files. Whereas, most of the time, your data was probably still recoverable before running ScanDisk.
Strictly speaking, Windows users play with fire each time they install or uninstall a new program on their computers. Here is a telling example: a story told by Steve Cohen, an American computer programmer, who firmly believed in Windows up until this point. Steve's son had been badgering him to buy the latest version of a baseball game for his computer. The boy was conscientious, and he launched the uninstallation program for the old version of the game under Windows 95, before going to the computer store to buy the new program. When he came back, he had a terrible surprise –the computer was completely frozen. It was impossible to reboot it. Steve called the computer manufacturer, Gateway. After an entire day of dealing with this nightmare, the only thing he was able to do with his computer was to reboot under DOS, because Windows would just not start up. Steve, who publishes a newsletter, noticed at this point that all of the data that he had saved on his hard disk was broken into little bits, with strange names containing tildes (~). This is because DOS can only handle files whose names contain 8 characters, plus a 3-character file extension. There is a possibility under Windows 95 of using long file names, but this is only used through a software layer that is not available under DOS, not even the MS-DOS which is at the heart of Windows! It was impossible for Steve to sort out his files under DOS, and to find out which of the files named BULLET~1 and BULLET~2 was the correct "BulletinJune 1997", for example. Steve Cohen finally had to completely reinstall Windows, and was incredibly frustrated by this.
This anecdote is just one of the problems that Windows users come across regularly, and it shows that the integrity of our data is at risk on Wintel computers. This is just another example of everyday madness in the world of Microsoft. A world where, to install a CD-Rom designed for the general public, the user has to answer questions such as: "A file being copied is older than the file currently on your computer. It is recommended that you keep your existing file. Do you want to keep this file?" Yes? No? How should I know? Even I, a computer s cientist, haven't the slightest idea. So how should novice computer users know? Windows users all discover one day, at their expense, that the beautiful graphical interface that they see when they light up their computer is merely a superficial layer of the program, built on top of a prehistoric architecture called DOS. And the DOS-Windows couple ignores even the basic rules of good behavior for operating systems, which are taught in all the computer departments in all the universities of the world.
But this story of everyday madness had an extraordinary, even revolutionary punch line: Steve Cohen did not, for one minute, accept that he was responsible for this problem. He felt that it was unacceptable that the simple fact of uninstalling a program should require him to reinstall his entire operating system, and risk loosing all his data. He considered that in this case the fault lay with Windows, and not to the individual user who had not backed up his data recently. Steve then decided to make some room on his hard disk to also install the Linux operating system, which is not very well known, but which does not have these disadvantages. Because under Linux, each user can only access their own data. Users are not expected to –and, in fact, cannot– touch files belonging to other users, and especially not the operating system, that is well protected against user errors (see chapter 5).
But it should be easy to change the design of operating systems, in order to protect the sensitive parts of the program...
Of course. But this possibility of modifying operating system components is not so accidental. Microsoft's competitors even go as far as suggesting that the company regularly does this to sabotage their products (see chapter 3). Other than the chance of inadvertently damaging your computer, this vulnerability of the computer's vital organs means that it is susceptible to all kinds of danger, starting with viruses.
Do you mean that computers running Microsoft operating systems are more vulnerable than others to computer viruses?
Without a doubt. It is true that Unix computers are occasionally victims of viruses, but these viruses can only access files where I, as the user, have write permission, and not data that belongs to my family or my colleagues that also use the machine. In no way can viruses access the applications or sensitive components of the operating system. So, unless there are loopholes in the system that have not yet been detected, these viruses cannot cause too much damage. And when security flaws are discovered in the Unix world, they are quickly corrected. Because of this, it is not as fun for hackers to create new viruses for Unix.
On the other hand, in the DOS/Windows world, as well as in the Macintosh world, viruses are just another type of program. They do not take advantage of bugs, they simply work on the principle that anyone, including themselves, can manipulate the operating system. They can therefore modify the system, in such a way that one of your actions, for example opening a file, may cause thirty-six copies to be made of that file. In addition, they may cause irremediable damage to the system: your data may be modified, your applications' operations may be affected, your entire hard disk may be erased, etc.
But there is something even worse: with the latest generation of Microsoft Office programs –Excel 6 and 7, Word 6, 7 and 8– a new type of virus has appeared, called macroviruses. These extremely dangerous viruses have made it much easier for people who write viruses, and made it much harder for average users to even imagine that viruses may be present. Documents created by these programs may include small bits of programming code called "macros", written in VisualBasic (an evolution of Microsoft Basic). Now, this may be very useful, as a way of telling your computer to automate repetitive tasks: for example, open or close all of its windows. But the problem is that these programs also contain commands that can modify, move, and even erase your files. All that is needed is to put a small bit of macro-programming in a Word document (that no one would really assume can even contain a program) that sends a command each time you open this document to –why not?– erase your hard disk! In addition, this macro-language is the same for all versions of Office, both on PCs and Macintoshes. So, it is now possible to transfer viruses to machines on a different platform, which was very difficult before. What an extraordinary innovation! With VisualBasic,
Microsoft has created a standard virus platform. But already, in 1992, Professor Harold Highland warned of the dangers of viruses that could be written using powerful macro languages.
At the Sorbonne University in Paris, a literature class currently working on a collective text, where a large number of students and authors outside the university participate, discovered this the hard way. The teachers managing this project distributed disks containing files in Word format to all the contributors, who are working with many different types of computers. One of the participants in the project caught a macrovirus that randomly inverted the order of words in a text. You can imagine the results that this could have for literary texts. He contaminated everyone else working on the project. One of the participants lost all the data on his hard disk. And, even now, no one has yet discovered the way to completely eliminate this sophisticated "creature", which makes it impossible to save your files in any format other than Word.
While viruses used to be difficult to write using assembler programming language, it is now very simple: all you need to do is click, using the user-friendly tools provided to edit macros. You can even buy macro virus development kits over the Internet (sorry, we won't give you the URL for this!). You can create your own virus, and send it to other people embedded in a Word document attached to an e-mail message. And in just a few days, you could contaminate thousands of people like this!
But you cannot expect Microsoft to stop releasing new products, just because malicious kids spend their time writing viruses!
Don't get me wrong. For classical viruses (such as boot viruses) some computer experts have already pointed out these serious security problems to Microsoft. Padgett Peterson, an American virus specialist, even went as far as suggesting simple solutions to Microsoft, that would only require minor modifications to its programs: a few lines of code would be changed and the doors could be closed. But Microsoft never reacted. As if the fight against viruses was the least of its worries! This is, in fact, what some of Microsoft managers have suggested off the record: Windows 95 is an operating system for the general public. A program written for "housewives under 50", to use an analogy from the world of television, and, after all, this type of public does not do very much with their computers: it does not matter if they waste their time rebooting their computer and catching viruses. As for serious computer users, they must now buy the professional version of Microsoft's operating system: Windows NT (which does not protect you very much against macroviruses either, but they will not tell you that).
If viruses can get in, so can hackers...
The design deficiencies of Microsoft products are open doors for those who wish to take advantage of them. And the problem is even more serious, as each of us entrusts an increasing part of our private lives to computer networks. There was a recent demonstration, in Germany, of the farreaching implications concerning security flaws related to ActiveX, a Microsoft proprietary technology. Online banking is very popular in Germany. The Chaos Computer Club of Hamburg proved that ActiveX made it easy to steal money from people who use online financial management programs (Quicken or Microsoft Money), on a Windows PC using the Internet Explorer browser (note 12).
Let's take a close look at this interesting story. In order to combat Java –a programming language that makes it possible to run applications on any type of computer, even without using Microsoft programs– Microsoft invented another language, called ActiveX, designed to communicate specifically among Microsoft products. This language makes it possible to directly launch Windows applications and exchange information among them. In this way, only Windows and Internet Explorer users can fully use the features of Web sites using ActiveX.
The problem is that by continuing with this monopolistic strategy, Microsoft completely neglected the security of its users' data: while Java ensures that applications downloaded by clicking on Web pages be limited in their actions, ActiveX opens all the doors. Web surfers are far from imagining that by clicking on an icon on a Web page, they authorize their computer to give commands without their knowing. The little devils in Hamburg showed that it was quite simple for a swindler to design a Web page that could use ActiveX to become a no-armed bandit.
How does this work? It's actually quite simple: you browse the Web using Internet Explorer, the only browser that supports ActiveX. You come across an attractive page with a banner advertisement saying "Become a millionaire in five minutes! Click here!" So, you click... A few seconds later, a message informs you that an ActiveX applet is being installed on your computer. You then see some nice graphics, which tell you that, unfortunately, you did not win the big prize this time. But in the meantime, you have helped someone else hit the jackpot, because the ActiveX commands contained in the Web page launched Quicken (as a background task, in other words, invisibly) and gave the order to wire some money to a hacker's account, registered under a false name.
A few days later, when you connect to your online banking service, with your password, the order that was pre-programmed by the ActiveX application is sent to your bank, and certified by you. When you receive your next bank statement you might not even notice this small wire transfer, or you might think of something else that you bought that you may have forgotten about: after all, who could have gotten into your house and manipulated the data on your computer using your password?
Microsoft did its best to play down this demonstration, but not to correct the flaws that it brought to light. ActiveX definitely opens major loopholes in the security of Internet Explorer, whereas other browsers such as Netscape Navigator or Opera do not support ActiveX and do not have this same flaw.
Microsoft's choices are usually justified by the guarantee inherent in its brand name and reputation. Is this legitimate?
Absolutely not. And that is the saddest thing of all. The general public cannot judge the quality of these programs, they can only trust advertising, computer magazines and, finally, a brand. When Bill Gates goes to Davos, Washington or Paris, and is seen hobnobbing with presidents of other multinational corporations, ministers, and heads of state, the general public trusts his brand. They think they can have faith in the solidity of the world's leading publisher of software for personal computers, that it must certainly be able to guarantee the quality of its products. But this guarantee is really quite minimal, as we can see in the Windows user's manual. Until Windows 95 was released, there was no guarantee at all. Today, the Windows 95 or Windows 98 license text only guarantees that "The PC manufacturer warrants that the software will perform substantially in accordance with the accompanying written materials". But they accept absolutely no responsibility for "any damages whatsoever". If any accidents occur, no damages are guaranteed, whether for personal injury, loss of business profits, business interruption, loss of business information or any other pecuniary loss arising out of the use of or inability to use this product or hardware...
I will certainly agree that one cannot expect there to be "zero faults" with complex systems such as computer programs. But we can at least expect that the world's leading computer software publisher ensure that its programs be designed correctly. This means that they should include certain techniques that have been well known for quite some time, such as, for example, an efficient file management system. After all, we expect electricians and plumbers to conform to generally accepted practices. Why shouldn't a multinational corporation with $3.45 billion in annual profits do the same?
Microsoft users point out that the company is far from number one as far as technical support is concerned.
When you buy a computer from a leading brand, you can read the following text in the Windows license:
6. PRODUCT SUPPORT. Neither Microsoft Corporation nor its affiliates offer support for the SOFTWARE PRODUCTS. For support please contact the support number of the computer manufacturer included in the documentation of the COMPUTER.
This is an interesting way for Microsoft to pass all the headaches –and, of course, the huge costs– of supporting its products onto computer manufacturers. The company can do this because Windows is preinstalled on most computers by these manufacturers. The problem is that companies such as Compaq, Gateway, HP, IBM or Dell are not responsible for problems with Microsoft products, and they cannot correct them. So, instead of supplying quality technical support for their own products, their hot lines are often tied up with questions by novice users who are facing the sad reality of a world under Windows. Sometimes they even forget that anything else exists: at the École normale supérieure, where I teach, we spent a great deal of time fighting with Hewlett Packard technical support who tried to claim that the problem with one of our printers was with a "new Windows driver", while no one uses Windows in the school! Many users end up high and dry, without getting solutions to their problems. Or, even worse, they play pingpong among the different hot lines of their suppliers.
You are only actually allowed to request customer support from Microsoft if you have purchased the program separately, in other words, if it was not pre-installed on your computer (which will cost you at least twice as much). And, even then, the support you get is more in name than in deed. It was almost impossible in July 1998 for American users of Windows 98 to get through to the free customer support line, but it was very easy to get through to the paid customer service line, which costs $35 per "incident" (note 13).
Has Microsoft's professional operating system, Windows NT, solved these problems of quality, safety and security that you have mentioned?
Microsoft's weapon to penetrate the corporate computing market certainly has some advanced functions. The Windows NT operating system for workstations and servers can protect files, and does use the idea of different user names with different permissions, as with Unix. The system components are fairly well protected. This explains why the product managed to receive C2 certification, which is a guarantee of a high level of security. But this is only true when the program is examined on its own, with no applications installed and no network connection. This seems a strange kind of test for a server, doesn't it?
The key question is not the security of the operating system itself, but whether the client-server programs together are designed with quality and security in mind. An American computer security consultant, Mark Edwards, pointed out, at the end of July 1998, that Windows NT 4.0 had a very serious security loophole. Any network user could effectively manage the network under Windows NT (change passwords, change permissions to confidential areas, etc.) as if he were the administrator! Microsoft quickly wrote a patch and made it available to its customers (note 14).
Unlike IBM or Sun, Microsoft is not a company with a culture of computer networking. Because of this, it is struggling to adapt its tools to a world that requires a high level of security. This cultural heritage poses very serious problems when Microsoft attempts to introduce Windows NT into sectors where the reliability of computer systems is critical: banking, process control, automatic telephone switches, satellite positioning systems, or software used on airplanes, space shuttles or cars. It would be unacceptable to have to reboot an air traffic control computer, or a financial market trading room system!
These applications, which are vital for the companies that use them, run today on computers made by IBM, Digital Equipment, Hewlett Packard or Sun, and often run under Unix. Personal computers, whose calculating power has grown enormously in recent years, can certainly replace large systems for some non-strategic needs. But what is critical, in the business world, is not calculation speed but computer reliability: crashes are not accepted. And Microsoft has no credibility in this respect.
But didn't the US Army choose Microsoft Windows NT for its latest computer system?
It does seem quite disturbing that people responsible for strategic decisions, such as the choice of an operating system that will be used for weapons systems or space probes, blatantly ignore recommendations from their own experts, and fall for specious sales pitches. Especially because these brass hats have already discovered the consequences of abandoning a high quality open technology for Windows. An official report from the US government (note 15) describes an incident that occurred on the US Navy's "intelligent boat" equipped with Windows NT. The boat got stuck when the system crashed, and had to be towed back to port, according to Anthony DiGiorgio, a civilian engineer working for the Navy. To justify the choice of Windows NT for this ship, a certain Mr. Redman, of the Navy, explained: "Although Unix is more reliable, NT may become more reliable with time"!
It is unfortunate that this type of story does not make the evening news, whereas Bill Gates is shown traipsing from city to city with Leonardo da Vinci's Leicester Codex, an original manuscript that he purchased and lends to exhibits.
We have seen that the MS-DOS operating system, which made Microsoft's fortune, was not designed in-house. Has Microsoft created any of its other programs on its own?
The programs that people speak most about right now were all purchased by Microsoft, who then adapted them to its needs. We have seen how MS-DOS was originally purchased from Seattle Computer. But the Windows layer itself, a bad copy of the Macintosh graphical interface, is "made in Microsoft". The Internet Explorer browser –as is specified in its copyright notice– is derived from the NCSA Mosaic browser, that Microsoft purchased a license for from a small company named Spyglass. Windows NT, which has nothing in common with Windows except for its name, was designed by Dave Cutler, a programmer hired to write this program, who had previously worked for Digital Equipment (where he designed, among other programs, the VMS system).
But Microsoft has done the development for its Word and Excel programs, after seeing the success of previous programs such as Wordstar or Lotus 1-2-3. The company also, as time went on, added functions (spell checker, grammar checker) that were originally sold as complementary products by some small companies. This has become one of its key strategies: since Microsoft programs are so poorly designed, start-ups have the possibility to invent programs which complement or correct their functions. One example is Stacker, by Stac Electronics, that compresses your hard disk to effectively make it twice as large. Another is Quarterdeck, that allows you to run multiple tasks under DOS. For a while, these small entrepreneurs can make some money. And then, one day, if their product works well, Microsoft purchases a license to use it, or just shamelessly copies it and integrates it into a new version of one of its products. According to some of these companies, Microsoft even goes as far as modifying its system so the original program will no longer work, or will work less efficiently than the Microsoft copy (see chapter 3).
It seems difficult to imagine that Microsoft, with thousands of programmers working for it, does not have an autonomous research and development department.
The company does employ thousands of programmers, who develop or adapt its programs. But when there is a program or a technology for a given market segment that it considers important, it is quicker for them to just purchase the know-how. Hardly a month goes by without Microsoft buying one or two cutting edge companies.
Not one single software innovation has come from Microsoft. Up until 1995, the company did not even have a research division worthy of this name. Its managers did not see the usefulness of maintaining a laboratory, such as the Xerox Parc laboratory or HP Laboratories, to sell software for personal computers. This has only changed over the last three years, with the rising importance of the Internet, and Microsoft's ambitions to dominate the corporate computing sector. There is a Microsoft Research department in Redmond and another in Cambridge, England. But, for now, these Laboratories function only as showcases (see chapter 4).
If, as you have pointed out, the community of computer experts thinks that Microsoft products are so bad, why haven't these people spoken out before?
There are many computer specialists who have the knowledge necessary to see through the smoke and mirrors and point out the errors, dangers, and manipulations, without running the risk of being criticized as jealous competitors. But these people have been quiet for too long. It is true that this vacuum has been filled by pseudo-experts, who mostly churn out disinformation. I think there are a number of reasons for this, and not all of them are glorious. First of all, we have to understand that if a scientist tries to reach out to the general public, he must accept to use media that he does not necessarily respect, such as the computer press, whose content is often nothing more than documentary advertising.
This is one reason why serious experts do not write articles in this type of magazine, because they are afraid that their reputation may be marred by this association with snake oil salesmen. Unfortunately, this has contributed to a vicious circle: since the experts ignore them, and since they depend mostly on their advertising, computer magazines are often no more than a mirror for the propaganda fed to them by hardware and software manufacturers. This increases the commercial aspect of these magazines, and makes them even less respectable. Also, the pseudo-experts who have established themselves there do not necessarily want this to change.
But the situation is changing. Serious journalists, concerned about cutting through the propaganda of hardware and software companies, are starting to pay more attention to knowledgeable scientists. And these scientists are now more apt to speak out, because, with Microsoft's current legal problems in the United States, they can hope that their critical comments may have a certain amount of influence.
To be totally honest, I also think that the computer community is not very worried about Microsoft deceiving the general public, that they look on with a certain amount of condescension. "There is no point in telling these people the truth", say the researchers, "if we don't explain things in detail, they won't believe us; and if we do explain things in detail, they won't understand it". Unlike what happens in other sciences, such as physics or mathematics, no important computer researcher has really tried to vulgarize the field.
Above all, up until now, the community of computer researchers has managed to more or less avoid personal computers and Microsoft. These people could afford to be totally indifferent. But this is no longer the case. There is a risk that we may all end up with PCs on our desks. And especially because Microsoft is now trying to take control of the Internet, which is the researchers' main means of communication: in a way, it is "our" network.
Bill Gates' classic defense is that consumers like his products. If Microsoft products are so bad, how have they managed to convince the whole planet?
First, because markets are not perfect systems. In the world as we know it, the best products rarely win. Why? Because making an excellent product –and this is even truer for software– requires a huge amount of time and money. But in all sectors of the economy, and especially for technological goods, the early bird catches the worm. It is therefore better, commercially, to outstrip your competitor and fill a niche with a mediocre product, that you can improve gradually. And a company that sells sturdy, high quality products would find it difficult to convince its customers to change them every year! So, in all sectors, we are seeing products designed to last shorter periods of time, and with a shorter manufacturing cycle.
In addition, the intrinsic quality of these products is becoming a secondary factor in their success, that is related to other criteria: marketing know-how, distributing power, and, of course, compatibility with existing applications. You may remember Sony's Betamax format that was killed in a few months at the beginning of the nineteen-eighties by its competitors' VHS, because more films were available in this format. People were obviously not buying VCRs for their technological capacities, but to watch movies. In the same way, computer users do not buy operating systems for the elegance of their architecture, but to run a certain number of useful applications. Windows' main strength today is that tens of thousands of computer software publishers have created applications that run under this system.
On this subject, we could talk of a "network effect" or a "domino effect". Now that computer networks are the norm, programs can no longer exist on their own. For any of them to be usable, they must be able to work correctly with other computer programs –that is, they must be "interoperable". This is a specific characteristic of the computer world. In a kitchen, no matter which kind of tomatoes you use to make tomato sauce, you can use any kind of food processor. However, your word processor must be able to run under a given operating system, that must be able to run on your computer. And it must be possible to send these text files to someone else, who must be able to read them. Since there are no open standards for word processing files, the choice of a word processing program is not as free as one may think. If a company wants all of its employees to be interoperable, it is almost required to choose the dominant standard. All these things are interconnected. The software publisher who, like Microsoft, controls the central link in this chain –the operating system– is naturally in a position to influence purchasing decisions for all the rest of the chain. We will see how Microsoft is exploiting this advantage as much as possible, by integrating its programs together (see chapter 3).
Another factor helping the dissemination of Microsoft products comes from the pyramid structure that influences decisions in companies. At the highest level, managers are like politicians: they have no more than ten minutes for each decision. Usually, they do not even know much about the question and don't listen to the technicians who do know about it. These CEOs basically tell their computer managers: "Make the right choice". And these computer managers choose Microsoft, to protect themselves. Because you will never be criticized if you have chosen software made by the company that controls 90% of the market. But that does not mean that the end users have chosen Windows: it has been imposed upon them. And if they are not entirely satisfied with this choice, this is not serious either: Microsoft explains that, in any case, there will soon be a better version of the product!
This type of decision-making process can lead to strange results. NASA's Johnson Space Center threw away thousands of Macintosh computers, and replaced them with PCs running Windows 95, in June 1995, one month before the latest version of this operating system was released! This decision was made by the Chief Information Officer, without consulting or a nalyzing cost-effectiveness compared to other solutions (note 16). A similar situation occurred with Exchange and Windows NT. Since this concerns the taxpayers' money, the US Congress opened an investigation.
I think that as the portion of budgets relative to computers increases in small companies, these companies will become more aware of their needs. Small businesses need strong stable terminals, dedicated to certain tasks, that can be purchased for half the price of PCs running Pentium II and Windows 98.