1. From the people who brought you EDLIN
"640k should be enough for anyone."
-- Attr. to 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.
Even though the BASIC programming language was already in the public
domain by then, there was no interpreter that could run it on home
computers. Thus Gates and Allen could be said to have created an
original product. One might even call it a true innovation.
It would be one of their last.
Developing BASIC on borrowed time
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 good at doing so. When the free time ran out
Gates and Allen figured out how to continue using the PDP-10 by logging
on as the system operator. About a year later the company that owned
the PDP-10 went bankrupt.
This left Gates and Allen without a source of unpaid computing
resources. 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, and HP had been selling the
9830 calculator (an expensive system for scientific and industrial math
applications) for three years. The 9830 had a BASIC interpreter, which
opened up a whole new range of applications outside the field of
mathematical calculation. Whether or not Gates and Allen had actually
seen a 9830 before they coded up their BASIC interpreter for the Altair
is not known, but it is quite possible.
In any case, the BASIC that Gates 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 seen 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.
MITS: the controversy begins
After Gates sold the 8800 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 appears to be somewhat controversial.
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 computing resources for the project.
Perhaps he did not really steal unauthorized computer capacity, which
was a valuable and expensive 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 third 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 in Europe to Radio Shack in the US. 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.)
Microsoft develops buys MS-DOS
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, and his wife and lawyer 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 good and
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 VAX
and Unix workstations.
So when IBM demanded exclusive rights to PC-DOS, Gates was adamant: IBM
was prohibited from licensing Microsoft's software to third 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.
A changing market
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 architecture and weren't
portable to other platforms, and that in turn caused Intel to continue
the 80x86-based architecture. This symbiotic relationship known as
Wintel still continues today.
The demise of innovation
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 the two decades that followed. Just look under
the hood of Windows ME: the QDOS and CP/M legacies from elder days
stare you in the face.
As an interesting aside, 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.
The market lock-in
[Image]
Microsoft team, 1978
In any case MS-DOS thrived. It remained the only PC operating system on
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 lack of proper OS functions in MS-DOS 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.
Gates: don't develop, copy
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 when
it 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.
The Windows coup
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 the IBM/MS partnership would
deliver as promised.
MS-Windows could have been a new start, but (mainly for strategic and
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 simple cooperative
multitasker to MS-DOS, in a manner strangely like that of DesqView (a
multitasker for DOS that had been available from Quarterdeck for
years). It also sported a GUI that was so close to the one used by
Apple that it kept lawyers occupied for over half a decade. But as far
as innovation was concerned, that was it.
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. Then they and dropped out of
the collaboration with IBM entirely, taking 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. They never mentioned
their earlier promises about OS/2 again.
Hijacking the applications market
Microsoft already sold 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.) They then 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. They also threw in a random collection of
small applications, completely unrelated to an operating system (e.g.
Paintbrush) which they had bought from various sources to flesh things
out a bit. The resulting mixed bag of bits and pieces 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 put their R&D money into OS/2
versions of their products, on the assumption that OS/2 would be
delivered as promised by the IBM/Microsoft partnership. And now OS/2
did not materialize. But a blown R&D budget was only half the problem.
Even if most of the application manufacturers had been wealthy enough
to fund two separate development efforts to upgrade their DOS products,
there was not enough time to do the Windows version before Windows'
projected release date. So 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 earlier and in another direction than
originally promised. Most of the independent application vendors never
recovered.
The demise of OS/2
IBM eventually went on to release their own version of OS/2, and
botched it completely. This is partially due to the fact that by the
time OS/2 hit the market, that market had already been taken away from
them by Microsoft, especially because most application developers had
already committed themselves to Windows. They used Windows development
tools, so their code had become extremely hard to port to another OS.
Native OS/2 application software remained scarce, and hardware support
was even a bigger problem.
Still IBM remains responsible for much 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 lacked the power to run it properly, lack of good
advertising, requiring the end user to edit a 4-page CONFIG.SYS file to
configure the system in typical IBM fashion, 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.
The non-innovation continues
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)
NT: another missed chance
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 outright. Instead they hired David Cutler, who had
played an important role in 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)
one has to 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.
Ehm... New Technology...??
Marketing prevails over engineering
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, in that it brought robust design priciples to the IBM PC
platform. Had that been all, the end result could have been a good,
efficient and robust OS. But Gates needed a vehicle to would further
Microsoft's marketing strategies rather than a robust OS. And of course
much of the eventual 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.
VMS was an industrial-strength operating system with native clustering,
but NT was to be 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
hopelessly inadequate NetBEUI protocol. Even though NT followed a
peer-to-peer networking model, a separate "NT Server" version was
shipped. (NT Server contained 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-Intel hardware, 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.
So at the end of the day 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 were 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
that had its roots in both Apple's and IBM's user interfaces. 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, as
well as the complete set of decades-old DOS code. 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.
Consolidation rather than innovation
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 IBM know-how and the user interface 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 Citrix.) 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 been little reason to switch from Windows 95 to 98
(except perhaps the discontinuation of support and maintenance) and
none 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. In fact in August 2005 a significant percentage of
Windows services was still based on NT4, while Windows 2000 was still
the most common version on the desktop. Especially the latter is
interesting, as Microsoft has discontinued support for this version.
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".
A better Windows? Or just better marketing?
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. (There are a few slight upgrades to the kernel
code, but nothing dramatic.) And of course there's a lot of additional
application software bundled with it, expecially third-party multimedia
products that MS bought and re-branded. XP's release 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.
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.
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 no more 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 protects the
users from viruses. How's that again?
The successor to Windows (expected somtime during the second half of
2006) proves to be similarly long on marketing rhetoric and short on
content. This version (codename Longhorn) will be called Windows Vista,
and according to Microsoft it will be "Bringing Clarity To Your World!"
It "will enhance your confidence in PC technology and give you a new
outlook on the digital world around you". Vista is also said to "help
you to organize information intuitively and to stay in touch with
information, people and resources, so you can enjoy life more!" In
truth however this new version of Windows does not offer anything new,
apart from a new paint job and a few new features.
Applications: more of the same
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 functions that really belong 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. (Unless you count 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 came with Word 97 (and perhaps with later versions as well) still
contained the text "Copyright WordPerfect Corporation 1994. All rights
reserved." I rest my case.
..NET: old technology rewrapped
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 a somewhat more advanced 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 (as well as twenty years
ago) 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 more than a little 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.
Innovation? What innovation?
The machine in Redmond lumbers on. 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 about 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.
Beta versions of Longhorn (Microsoft's much-touted successor to XP, to
be released in 2006) show it to be mostly an 'XP 2nd edition' release.
It has many small improvements (as usual), several of which have
something to do with security and work around Windows' most gaping
shortcomings. None of these really fix any real design flaws, with the
exception of a better use of access privileges. (Finally! Commercial
OSes like Univac Exec, CDC Scope and DEC VMS all had special accounts
with various permissions ages ago as a matter of course and common
sense. On Windows every user needed administrator rights to do basic
tasks.) It also has a heavy dose of DRM features and more options for
the integration of (and dependency on) internet-based services. And of
course there's a lot of extra gadgetry in the user interface and on the
application level. There are no significant, major or structural
improvements, though. Many of the announced improvements have failed to
materialize, and what's left is mostly a new search facility, a few
extra features for laptop computers, a parental control feature and
several features for remote access. But... it will have
semi-transparent menus, and icons that can show a tiny reprensentation
of a Word document! Oh yes!
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" (they did
what, exactly?) 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. Yes, hardware has become cheaper,
smaller, faster and more powerful (just like all other electronics on
the market) so today's PCs look much better than those old
workstations. But basically no new technology has been invented by
Microsoft that really adds new capabilities to a personal computer.
Microsoft Research, in spite of an astronomic budget, hasn't come up
with any truly useful technology so far. Name one, just one, major
piece of useful technology that's ostensibly been 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.