"640k should be enough for anyone."
-- Attr. Bill Gates, Microsoft CEO, 1981
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.)
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!