Why I hate Microsoft

"A personal, lengthy, but highly articulate outburst"


Table Of Contents | Introduction | Next chapter

1. From the people who brought you EDLIN

"640k should be enough for anyone."

-- Attr. Bill Gates, Microsoft CEO, 1981

[Image]
Gates and Allen, ca. 1968

In 1975 Bill Gates and Paul Allen, who were students at Harvard University at the time, adapted BASIC to run on the popular Altair 8800 computer and sold it to the Altair's manufacturer, MITS. The Altair BASIC interpreter was the first computer language program to run on the type of computer that would later become known as the home computer or personal computer. Even though the BASIC programming language was already in the public domain by then, the interpreter that could run it on home computers wasn't. Thus Gates and Allen had created an original product; a true innovation. It would be one of their last.

Gates and Allen initially met at Lakeside School (an exclusive private school for rich boys) where Gates became an adept at BASIC on a General Electric Mark II. Shortly thereafter they got access to a PDP-10 run by a private company in Seattle. The company offered free time to the Lakeside school kids to see if they could crash the system. Gates proved to be particularly adept at doing so. When the free time ran out Gates and Allen figured out how to get free time on the PDP-10 by logging on as the system operator. About a year later the private company running the PDP-10 went bankrupt.
This left Gates and Allen without a source of free computing power. Therefore Allen went over to the University of Washington and began using a Xerox computer by pretending to be a graduate student. Gates soon followed, and this went on until they were caught and removed from the campus. They continued to break into university and privately owned computer systems until about 1975. By that time Gates was a student at Harvard University. The BASIC he sold to MITS had been developed and tested on a Harvard PDP-10 using an 8080-emulation program that Allen had adapted from earlier code. In fact, by the time Gates contacted MITS to announce their product, it had never ran on an actual 8080 CPU. The demonstration Gates and Allen put up for MITS in New Mexico was the first time the product actually ran on the system it was intended for. Gates sold it by announcing a product that didn't exist, developing it on the model of the best version available elsewhere, not testing it very seriously, demonstrating an edition that didn't fully work, and finally releasing the product in rather buggy form after a lengthy delay. From then on this modus operandi became Microsoft's trademark.
After Gates sold the new BASIC interpreter to MITS he left Harvard University, and went into business for himself with Allen as a partner. Allen was also an MITS employee at the time, which made his position somewhat questionable. Gates' departure from Harvard is shrouded in controversy: some say he dropped out, others say he was expelled for stealing computer time. Whatever the case may be, the fact is that Gates did most of the work on his BASIC version in a Harvard computer lab without having been authorized to use the (expensive) computer time needed for the project. Perhaps he did not really steal unauthorized computer capacity (which was a valuable commodity in those days) to develop his first commercially successful product. Yet he has never offered any other explanation. He did however send his now-infamous "Open Letter To Hobbyists" to every major computer publication in February 1976, in which he decried the copying of Microsoft software by home computer hobbyists as simple theft.

Be that as it may... Gates was brilliant enough at the time to realize that he was sitting on a goldmine.
MITS demanded, and got, exclusive rights to the software but Gates insisted on a clause in the contract where MITS agreed to "commercialize the product". These "best efforts" never panned out and Microsoft's income began to dry up. In 1977 Gates and Allen sent a letter of protest to MITS, whereupon MITS got a judge to restrain Microsoft from disclosing 8080 BASIC code to any 3rd party. Microsoft was saved from bankruptcy only by payments for the 6502 BASIC from Apple Computer. (MITS only had the rights to 8080 BASIC, so Microsoft was allowed to port it to other CPU architectures and sell it all over again.) Then Microsoft sued their first customer MITS over the exclusive rights on 8080 BASIC, and won. They immediately went on to sell BASIC over and over again, to any other hardware manufacturer that would have it, from Commodore to Radio Shack. Thus Gates' vision was one of the important factors in the creation of the home computer market of the late 70's and early 80's. (The other was the increasing availability of affordable VLSI chips.)
It went more or less the same when IBM came to Microsoft for an operating system for their new Personal Computer. Microsoft was still a small-scale operation in those days, making mostly software for the hobby and home computer market and a few language products. IBM had another preferred supplier at the time: they went to Digital Research for an OS for their upcoming PC. Common lore has it that Gary Kildall (the author of CP/M) wasn't in Pebble Beach the day they arrived there for their appointment. Kildall's wife and lawyer didn't entirely trust the IBM representatives and wouldn't sign the non-disclosure agreement until Kildall had returned. (That mistake has gone on record as perhaps the most capital blunder in the history of the PC industry.)
This, and time restrictions, led up to IBM's visit to Microsoft who, as rumor has it, were in the picture only because Gates' mother happened to know someone at IBM. This last detail may or may not be true; in any case it's a fact that Microsoft was a small company without management, without much administration or bookkeeping, with employees who slept on the floor behind their keyboards, and with a corporate culture based on shouting matches that were usually won by Gates. Microsoft had had only worked on home computer software and programming languages at the time, and was not a supplier of operating systems or other system software.
(Kildall himself has later added to this story that he did manage to contact the IBM representatives upon his return, discussed the deal with them, and was left with the impression that he had an agreement with IBM. Shortly thereafter he learned that IBM had signed contracts with Microsoft. This may or may not be true, but in any case it's hardly relevant here.)
When the IBM representatives showed up at his doorstep, Gates recognized this lucky break for what it was, and promised them an OS. Because he didn't have one and couldn't make one (at least not fast enough) he bought the rights to a CP/M clone from Seattle Computing Products, and filed off the serial numbers.
Again Gates demonstrated his commercial genius at that point. He realized that although the PC was far from superior from a technological point of view, IBM's position as a hardware manufacturer would go a long way to unifying the personal computer market, which had always been rather fragmented. Gates saw visions of minor investments resulting in huge sales figures. Innovation did not come into it at all; at the time the world's buildings, bridges and aeroplanes were mostly developed on Sun workstations running Solaris.
So when IBM demanded exclusive rights to PC-DOS, Gates was adamant: IBM was prohibited from licensing Microsoft's software to 3rd parties but Microsoft itself was free to do so. Microsoft would sell MS-DOS to all interested clone manufacturers, just as they did with BASIC when MITS lost their exclusive rights. Thereby Gates created most of the basis for the PC market as we know it today.

This is Microsoft's contribution to the field of computer technology: before they sold BASIC and later DOS to any hardware manufacturer that would buy it, end users were completely dependent on a hardware manufacturer not only for hardware, but also for platform-specific operating systems and application software. Microsoft's marketing strategy put an end to that, and contributed to changing the vertical computer market into a horizontal one. For that the company deserves due credit.
But that's all. Microsoft applied the right leverage at the right time, and the market's natural inertia did the rest. The IBM PC happened to be based on an Intel 8086 processor, Microsoft's CP/M-descended products standardized on the 80x86 processor and weren't portable to other platforms, which in turn caused Intel to continue the 80x86-based architecture. This symbiotic relationship known as Wintel still continues today.

While Microsoft was the first to market (note the phrasing: market, not create) a more-or-less functional operating system for the IBM-PC platform, the company has never made any significant technological improvement since Altair BASIC. At best they've modified and adapted existing technology, but nothing original or particularly innovative has been created ever since. The first version of PC-DOS (later MS-DOS) was little more than a revamped version of QDOS (or DOS-86), the code for which Microsoft bought from Seattle Computing Products (SCP). QDOS, which stands for "Quick & Dirty Operating System, was derived (pirated, it has been said) from CP/M, which in turn had been written by Gary Kildall and was distributed by Digital Research. Numerous features, including suspiciously Unix-like but rather broken support for subdirectories, I/O redirection, and pipelines, were hacked into Microsoft's 2.0 and subsequent versions. This resulted in two or more incompatible versions of many system calls in the DOS kernel, and MS-DOS programmers could never agree on basic things like what character to use as an option switch or whether to be case-sensitive. Not much has changed in two decades. Just look under the hood of Windows ME: the QDOS and CP/M legacies from elder days stare you in the face.
(Tim Paterson of SCP compiled QDOS in under 6 weeks. He left SCP in 1981 and joined Microsoft. Later Kildall allegedly went to IBM and pointed out where his own copyright statement was still embedded in PC-DOS, but he did not dare fight it out with the full force of IBM's legal division. Kildall's allegations of theft by SCP, and the fact that the differences between QDOS and CP/M are minute at best, can't have escaped Microsoft's attention at the time. This leads to the interesting conclusion that if this is true, then Microsoft and IBM knowingly acted as fences, and Microsoft founded a global empire on a crime.)

[Image]
Microsoft team, 1978

In any case MS-DOS thrived. It remained the only PC operating system in the market for years, in spite of the fact that it was rather restrictive. In fact the restrictions it imposed upon the application developers prolonged its success: few developers were really happy with it, but they were stuck with it. MS-DOS offered way too little functionality, so that application builders were forced to make their application code carry out tasks that should have been performed by the OS. (Case in point: the first version of Lotus-123 bypassed DOS entirely. In other products most peripheral access, video and printer I/O had to be done by having the application access the hardware directly in order to get a decent performance, and users had to remember the IRQ and DMA settings for their various hardware components when installing and configuring applications.) This resulted in application software less portable than the Rocky Mountains, which effectively forced software developers to stick with the MS-DOS platform in order to maintain their applications and protect their investments. DOS itself was non-portable as well, being largely written in Assembly language and containing a lot of low-level code and little structure. (I've personally seen the DOS 6 source code. It's not a pretty sight.)

By the time PC-DOS took hold, Gates had already shown that Microsoft's future would hold very little innovation indeed. Gates' views on development are probably best illustrated by the following:

From: 'Programmers at work', Microsoft Press, Redmond, WA [c1986]:
Interviewer: "Is studying computer science the best way to prepare to be a programmer?"
Gates: "No, the best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system."

Seldom have both Microsoft's lack of innovation and their kludgey, ad-hoc approach to software design been explained so concisely. It's also interesting to note that while many people have called Microsoft products copycat, trash or garbage, most of them probably had no idea how close to the truth they really were.
Indeed MS-DOS has seen little innovation in the two decades or so that it has dominated the PC market. The most important improvement in DOS 2.0 was the addition of subdirectories and device drivers, ideas that were borrowed from Unix. Later versions came with a few extra functions in the kernel, and they boasted more tools and utility programs, initially written by Microsoft but later bought from third parties. Except for the additions in DOS 2 (subdirectories, device drivers) and DOS 5 (extended and enhanced memory management on 80286 and 80386 CPU's) DOS has only seen minor development. In the meantime Microsoft briefly sold Xenix for a while (a rather unimpressive Unix port which they bought outright from SCO) but when it failed to sell in huge volumes they soon lost interest and concentrated on DOS.

MS-Windows could have been a new start, but (mainly for marketing reasons) it wasn't. It tightly clung to the mistakes of the past, being based upon the underlying MS-DOS architecture for basic OS functions such as file system access. It added a GUI and a simple cooperative multitasker to MS-DOS, but nothing more.
When Windows came into existence, Microsoft had been collaborating with IBM on OS/2 1.x for some time. This collaboration sprung from the insight that with the advent of the 80286 CPU and Intel's plans for the 80386, DOS had become obsolete. IBM worked mainly on the OS/2 kernel, which in its first incarnation was basically a 16-bit successor to DOS with a command line interface. Microsoft concentrated on the Graphic User Interface (GUI).
The idea for a Graphic User Interface was neither new nor original. Years before, Xerox had demonstrated a mouse-controlled GUI in their Palo Alto Research Lab. This demonstration featured the Alto computer, which in 1973 sported a GUI, WYSIWYG technology, a mouse and an Ethernet interface. The demo was attended by Steve Jobs (Apple) and Bill Gates, among others. Jobs liked the GUI and went on to implement the idea into Apple's OS and application software, while Gates decided to stick to a text-based user interface. Later Gates was forced to revise his opinion about the GUI when it turned out to be successful on the Apple platform. Thus it was decided that OS/2 would have a GUI.
Soon Microsoft's code began to diverge from IBM's (especially from Presentation Manager) and became increasingly incompatible with it. Meanwhile Gary Kildall of Digital Research had already released the first version of GEM, a Graphic Environment Manager for DOS. In order to sabotage this, Microsoft announced that they were working on their own, much better, graphic environment. Eventually they took the GUI portion of what should have become OS/2 and sold it as a separate DOS product called MS-Windows. They claimed to work on it in preparation for the upcoming OS/2. In the meantime, application developers (e.g. Word Perfect Corp. and Lotus) spent huge R&D budgets on rewriting their applications for OS/2, assuming that IBM (and IBM's partner Microsoft) would deliver as promised.

Initial versions of Windows were very bad, but Microsoft kept promising that a better product would come out Real Soon Now, still as part of their joint OS/2 efforts with IBM. But then they suddenly turned their backs on OS/2. They cried "innovation" and went back to DOS in spite of earlier having admitted it to be obsolete. They went and dropped out of the collaboration with IBM entirely. They took with them a lot of IBM technology that had ended up in Windows 3, which they now suddenly positioned as the operating system of the future rather than OS/2.
They were already selling applications for the Apple Macintosh. This gave them a good look under the hood of Apple's operating system software, and enabled them to muscle Apple into granting them a license for portions of the MacUI. (They threatened to withdraw all Mac applications, unless Apple would grant them a license to use MacUI code to port Macintosh apps to the PC.) So they raided MacUI for extra ideas. The remaining few bits (e.g. the font technology they later called TrueType) they bought, occasionally bartering vaporware that later failed to materialize. The resulting software collection was massaged into an end product and released as Windows 3.0.
It was not too difficult for Microsoft to adapt the Apple versions of Word and Excel to run on Windows 3. There is some indication that Windows was adapted to Word and Excel as much as Word and Excel were adapted to Windows. By the time Windows 3.0 materialized, competing application developers had already committed their R&D money on OS/2 versions of their products, on the assumption that OS/2 would be delivered as promised by the IBM/Microsoft partnership. And even if they were wealthy enough to fund two parallel development efforts to upgrade their DOS products, there was not enough time to do the Windows version before Windows' projected release date.
As a result, Microsoft shipped both an OS and an application suite several months before their competitors had a chance to catch up with Microsoft's last-moment switch to Windows, and that was that. All those who had expected to sail with the IBM/Microsoft alliance missed the boat, when Microsoft suddenly and deliberately decided to cast off early and in another direction than originally promised. Most of them never recovered.

(IBM eventually went on to release their own version of OS/2, and botched it completely. Of course they had a little bit of help from Microsoft, because by the time IBM got around to releasing OS/2, most application developers had switched to Windows. They used Windows development tools, so their code had become extremely hard to port to another OS. Still IBM remains responsible for most of the demise of OS/2. Even though it had a better architecture, OS/2 was killed off by some of the worst strategic and marketing decisions in the history of the industry: lack of drivers and hardware support, lack of development tools, lack of applications, partnerships with hardware vendors to ship OS/2 with systems that weren't big enough to run it, lack of good advertising, requiring the end user to tweak the system by means of editing a 4-page CONFIG.SYS file, et cetera ad nauseam.
After this debacle IBM withdrew from the desktop software market, which they had never truly understood in spite of having created the original IBM PC.)

Creating a better software platform would have been a real innovation, but that would have meant to abandon DOS, which was all that Microsoft had at the time. Since DOS applications were practically non-portable, a new and better OS would have broken the ties that bound developers (and therefore users) to Microsoft. In order to maintain their market share, Microsoft chose not to innovate. So for reasons of marketing, Windows 3.x ran on top of DOS as little more than a hybrid multitasking shell.
The Windows '95 architecture was merely a continuation of Microsoft's uninnovative strategy. When Windows '95 was released no less than three years later (Windows '93 was planned but never made it) it still turned out to be a disappointing rehashed DOS-based product. It still ran on top of DOS as an application-level shell, although DOS and Windows were now installed from a single bundle rather than as separate products. Basically Windows '95 was nothing but plain old Windows 3.x with a new GUI and a souped-up memory manager, and the formerly separate DOS code integrated in the bundle. This did not stop Microsoft from marketing it as a completely new 32-bit OS, which of course it wasn't. Granted, portions of the code were 32-bit, but there was still a lot of 16-bit code running under the hood, and memory protection was partially functional at best. Windows '95 and its successors still relied heavily on obsolete DOS code. Windows '98 (Windows '97 was planned but again never made it) was not a significant improvement in this respect either. And Windows ME (ME stands for Millennium Edition) is just more of the same tired old stuff. It's still DOS-based, although Microsoft has gone to great pains to hide that fact, through many cosmetic changes and the bundling of application software with the OS. Basically there's nothing new to the whole Windows 95/98/ME product line; the design flaws from previous Windows versions are still present, and many new flaws have been introduced. When you get right down to it, Windows ME isn't much more than the repackaged Windows 3.x descendant that Windows '95 was, full of design flaws and based upon technology that has been obsolete for decades, with a lot of extra bells and whistles thrown in to confuse the issue.
None of this has stopped Microsoft from presenting all these minor upgrades as new products and pushing them as recommended upgrades.

"Windows [n.]
A thirty-two bit extension and GUI shell to a sixteen bit patch to an eight bit operating system originally coded for a four bit microprocessor and sold by a two-bit company that can't stand one bit of competition."
(Anonymous USEnet post)

Windows NT finally appeared to be a step in the right direction. At least the NT product line (which includes Windows 2000 and Windows XP) is the better one.
'NT' stands for 'New Technology', presumably because Windows NT is one of the few products in the history of Microsoft that they didn't buy. Instead they hired David Cutler, who had been involved with the development of VAX VMS at Digital. (VMS was a successful and innovative industrial OS in its days, and Digital had been working on it since the 1970's.) Cutler took some 20 former Digital employees with him, and he and his team began the development of NT. The project eventually involved hundreds of other coders and testers, but Cutler and his core team of VMS engineers provided most of the know-how that went into NT's kernel code.
As a result, many design principles found in the VMS kernel ended up in Windows NT. (The number and splitting of priority levels in the scheduler, the use of demand-paged virtual memory and the layered driver model are only a few examples of many, many similarities.) The first version of VMS was released in 1977. Without trivializing the efforts of Cutler and his team (they did a lot of work on the project) it makes you wonder what Microsoft really means with "New Technology". To illustrate, in a little known out of court settlement Microsoft paid Digital Equipment $150 million in compensation for using portions of an old Digital OS in Windows NT. New Technology...??

Even though its roots go back to the 1970's, the Windows NT product line is a big improvement over Microsoft's DOS-based products. Unfortunately that doesn't automatically mean that it's a well-designed operating system.
Cutler's team had to operate within Microsoft's additional design restrictions, and the result was a tradeoff. Cutler took a number of design principles from VMS, which was good. They expanded on that, so in a way NT can be said to contain at least some "New Technology" and perhaps Cutler's work even represented (dare I say it?) some innovation. Had that been all, the end result could have been a good, efficient and robust operating system. But Gates needed a product that would further Microsoft's marketing strategies.
VMS was an industrial-strength operating system with native clustering, but NT was designed as a single-user desktop operating system. Account and data management were rudimentary; the user home directory resided on the workstation's local harddisk, under the subdirectory that held the bulk of the operating system code. Applications and user settings were system-based rather than account-based. Separation between OS code, user settings, application code and configuration data became all but impossible; application and GUI settings were stored along with vital operating system information in an insecure central registry that was also system-based. Therefore network-based user accounts could only be implemented with complex and cumbersome workarounds. One of the biggest design mistakes in the history of Windows (the design of the DLL subsystem) was perpetuated, and networking was initially based on the inadequate NetBEUI protocol. Even though NT followed a peer-to-peer networking model, a separate "NT Server" version was shipped. (NT Server contains exactly the same code as NT Workstation, with a few additions that amount to only a fraction of the product's total code set.) Initially there had been intentions of portability to non-Wintel platforms, the incorporation of a Hardware Abstraction Layer, and versions of Windows NT on Digital and other platforms, but as the market became more and more monolithic these good intentions fell by the wayside. Eventually Digital did the same.
And of course much of the coding on NT was done by Microsoft engineers, so in the end the quality of NT's final code wasn't even in the same league as VMS.
In other words, Microsoft's marketing prevailed over Cutler's engineering. The result wasn't pretty. NT became an OS based on a set of old VMS design principles that was made compatible with everything that Microsoft had ever done wrong. It was full of legacy API's, it was kludged up to run applications written for OS/2 1.0 (which it didn't do very well), it paid lip service to POSIX but never offered anything more than fractional POSIX compliance, and it sported a Windows 3 GUI. It even contained the entire Windows 3 kernel and the bulk of its accompanying code (and Windows XP still does) in the original 16-bit executables. Decades-old DOS code was added as well. In short, it was a real Microsoft product. All later versions of Windows that descended from this piece of "New Technology", right up to Windows XP, suffer from this legacy.
Sic transit gloria Fenestrae.

It's rather ironic that Microsoft prides itself on their "innovative role" in the IT market. The sad truth is that Microsoft has rarely been an innovator. They purchased a CP/M ripoff and named it MS-DOS, and they cobbled Windows together from various bits and pieces that they bought, stole or borrowed. The graphic user interface for Windows was based on that of the Apple Macintosh, which was in turn derived from technology developed by Xerox ages ago. NT was based on good but old VAX VMS design principles. In short, all Microsoft OS products only implement features and ideas that have been around for as much as a quarter of a century.
Later versions of Windows contain no significant improvement over previous versions. Windows 98, ME, 2000 and XP are in fact 'point releases'; they're nothing but minor updates that contain mostly fixes, new bugs, and a few small extras that used to be sold separately but are now bundled into the package. (For example: Windows XP comes with application software for scanners and digital cameras, or the "remote desktop" feature that was formerly sold separately by Cytrix.) The rest is nothing but cosmetics. The whole product line remains riddled with serious design flaws, kludgey code to work around those flaws, and tons of bugs. There's little reason to switch from Windows '95 to '98 (except perhaps the discontinuation of support and maintenance) and no reason at all to switch to ME. Windows 2000 and XP contain mostly bug fixes. Neither 2000 nor XP offer a proper Return On Investment to NT users, and there's little or no demand for any of the extras that come with these versions. Nevertheless Bill Gates called Windows XP "a very big thing" and Steve Ballmer said that "Windows XP is a more significant advance forward than anything since Windows 3.0".
XP is the next version of the Windows NT/2000 product line, but is marketed as a replacement for Window 9x/ME. It sports a seriously dumbed-down user interface (a toy box that comes close to being insulting, apparently aimed at users aged 1 - 4 and technophobes who are scared off even by Macintosh desktops) and it has a Windows-2000 kernel under the hood. And of course there's a lot of additional application software bundled with it. And that's about it. OK, it's a real improvement that Microsoft has finally decided to scrap the toy OS kernel that was Windows '9x/ME, but that doesn't make XP innovative. XP is a minor update of Windows 2000 that coincides with the discontinuation of the 9x/ME line, as part of Microsoft's repositioning of their Windows product lines. As a result of this (admittedly clever) marketing trick, end users tend to compare XP with Windows 9x/ME and think of it as a new product, which is of course rather misleading; it's an overpriced point release of Windows 2000 and nothing more.
This hasn't stopped Microsoft from allocating a marketing budget of half a billion dollars to the promotion of Windows XP. All the new cosmetic bells and whistles in XP actually make it less stable than Windows 2000 was, but that hasn't stopped Microsoft from marketing XP as the OS that "keeps on running" instead of crashing, and that protects the users from viruses. Excuse me?
Incidentally, 'XP' stands for 'eXPerience'. Apparently Microsoft thinks we need a new 'experience' with our operating systems and applications, and that we sit at our computers expecting to be entertained by OS features and a spreadsheet or two. And indeed most of the 'improvements' in XP are on the presentation level. If you look in the executables in the Windows directory, you find internal labels like "ProductName: Microsoft Windows (TM) operating system, ProductVersion: 3.10". There's even DOS 5.0 code with a 1981-1991 copyright date. What a great new product. Of course it makes sense to provide compatibility modes for old Windows applications, but to find the bulk of Windows 3.10 and DOS 5 (all of it 16-bit code) up to and including edlin.exe, installed under the hood of Windows XP makes you wonder about the design principles that have gone into each "new" version of Windows.

In the application market things aren't much better. MS Word isn't quite the word processor that WP5 was, a fact that MS attempted to gloss over by adding functionality that really belongs to desktop publishing software (but cannot replace it for serious applications). As a result, Word lacks many features that users would like to have (such as the option to view markup codes) but at the same time it has become so loaded with other features that its complexity is actually counter-productive. Excel, originally developed on the Apple platform, doesn't really do anything that Lotus-123 couldn't do in the eighties (although it has a fancier user interface and more graphic capabilities) and is loaded with macro bugs and version problems to boot. Microsoft Access is something halfway between a 'flat' database and a (somewhat buggy) front end to serious relational database systems such as those based on SQL. PowerPoint merely duplicates the functionality that other presentation packages already offered in the late eighties. (Oops -- I forgot something: they have the Visual Basic hooks that virus authors and hackers are having such a ball with.)
In fact, none of these products use any significant technology invented by Microsoft. Sure, they're all dressed up like maypoles with tons of gadgetry and flashy colors, and the implementation of the old technology has become more streamlined, especially when it comes to exchanging data between applications. They've been ported to Windows so their user interfaces have a uniform look-and-feel (but are still inconsistent) and IBM's data exchange techniques such as OLE give the impression of integration. But in fact it's all old technology. This isn't innovation. It's recycling.
To illustrate: several of the files that come with Word '97 (and perhaps with later versions as well) still contain the text "Copyright WordPerfect Corporation 1994. All rights reserved." I rest my case.

Microsoft's future plans are full of the same kind of "innovation". The upcoming .Net strategy involves simple client systems that will be used to access server-based or network-based applications and services. This is in fact an implementation of the ASP (Application Service Providing) concept. ASP moves applications from the workstation to a central server. This does away with the need to install, maintain and run application software locally on workstations.
Of course Microsoft claims that .Net is innovative. In truth there's very little innovative about it. Basically it's a step back to the decades-old host-with-terminals approach. Microsoft will almost certainly be able to rewrap it in a more attractive package, but that's as far as their innovation is likely to go. All you need to offer network-based applications and services today is a Unix server, a bunch of applications and some graphic terminals. Granted, the X protocol (the most popular graphic terminal standard on Unix systems) is rather ugly, and unsuited for anything but LAN's, but the implementation of a more elegant and efficient client/server protocol layer (e.g. ICA) is rather trivial. At that point all that Microsoft's developers need to do is to clean up their code so that resources are used efficiently (as they should have done from day one) and move the applications back to the server where they originated decades ago.

So it's business as usual in Redmond. More gadgets, more flashy colors, more overhead, more old stuff with a new paint job, all marketed as new technology which they claim to have personally invented from scratch. They dress up their "technological innovations" with flashy names like Single Instance Store, to disguise the fact that Single Instance Store is nothing but a slightly souped-up version of the symbolic links that have been around on Unix systems for almost three decades. Another "innovation" is the addition of the Narrator text-to-speech converter as an aid for the visually impaired. A useful feature, granted... but innovative? We've had commercial text-to-speech conversion since the early eighties.
Microsoft apparently thinks that R&D stands for 'Rewrap & Disguise'. A baroque excess of features that presents itself to the user serves mainly to hide the fact that the software contains nothing that rightly could be called innovative. In spite of a marketing budget of some five billion dollars a year, the best Microsoft has managed to do is repackage various ideas as their own, list TCP/IP under 'Microsoft protocols' in Windows, tout that they've "assisted with IPv6", and of course they came up with an animated paper clip. Windows hasn't added one basic service to the PC that wasn't available on, say, a Sun workstation in 1990. Of course hardware has become cheaper and more advanced (just like all other electronics on the market) so today's PCs look much better than those old workstations. But basically nothing new has been invented since that really adds new capabilities to a personal computer.
Microsoft Research, in spite of an astronomic budget, hasn't come up with anything truly useful so far. Name one, just one, major piece of useful technology invented or developed by Microsoft. One single original concept, that's all I ask. Name it, and I'll tell you where they got it from.
Innovation? Yeah, right.


Comments? E-mail me!

Contents copyright © 2004 F.W. van Wensveen - all rights reserved.