Saturday, June 07, 2008

The Best Windows Ever

This is a rather odd topic for me to be writing on. I rarely write anything about Windows or Microsoft unless it's to say something nasty :-). But all the recent talk about Windows 7 made me think back over my long career in IT (21 years now, I realise with unending surprise) to try and remember the "good" versions of Windows.

I can think of just three:

Windows NT 3.51
Windows 95
Windows XP

Why these three and not any other?

Windows NT 3.51: This was Microsoft's first real challenge to Unix, and it was a good one. For those whose first experience of "enterprise" Windows was NT 4.0, let me remind you that later isn't always better. Microsoft actually ruined Windows NT when it moved from version 3.51 to 4.0.

NT 3.51 was solid and stable, just like Unix, but with two terrific advantages that promised to win the enterprise market for Microsoft in a very short time. The first was the ability to run on commodity Intel hardware instead of the more expensive RISC chips that were favoured by the Unix vendors. The second was a graphical interface, admittedly modelled after Windows 3.1 (the first viable desktop version, with a somewhat crude interface) but miles ahead of the Motif and OpenLook interfaces that were the best that Unix could muster. If Microsoft had merely upgraded the UI in Windows NT 4.0 (to make it resemble Windows 95), they would have been onto a winner. But no, they got greedy. They changed something fundamental in the Windows NT architecture. One of the things affecting NT 3.51's performance was the restriction on device drivers that forced them to run in non-privileged mode or user mode. Microsoft changed that in NT 4.0 to let device drivers run in privileged mode. Bad idea. It certainly made NT faster, but also far less stable, because badly-written device drivers running in privileged mode could bring the whole system down, something that was just not possible in NT 3.51. This was a problem Microsoft couldn't simply address with a patch, because device drivers are generally written by third parties (usually the makers of hardware), and quality is always uneven.

I think Microsoft shot itself badly in the foot with NT 4.0, and much of its lingering reputation for instability in enterprise circles (the "Blue Screen of Death") is because of NT 4.0. People have completely forgotten how stable NT 3.51 was.

Windows 95: This was the first real competition to Apple in the user interface area, and Microsoft blew Apple away with the numbers (i.e., the number of units shipped). Same friendly interface, more mainstream hardware. Apple didn't recover for a decade. Microsoft really did its homework on this one. Windows 3.1 received its share of criticism for a poorly-designed UI (remember the Interface Hall of Shame? Pity they've removed the references to Windows 3.1 now, but they were pretty funny). Windows 95 addressed all those criticisms comprehensively. I would say Apple's bragging rights on sensible user interface design ended in 1995 (and Ubuntu Linux made it a three horse race in 2005). Also, unseen by users but very visible to developers, Windows 95 unified the API between 16-bit and 32-bit versions of the product. The API now became 32 bit externally (the famous "Win32" API), even if Windows 95 was internally 16 bit (prompting the famous OS Beer joke about opening a 32 oz. can of beer and finding only 16 oz. inside). API unification was a big deal for Microsoft. It eliminated the needless porting effort when building software for the home and enterprise markets. So Windows 95 not only succeeded as a product in its own right, it laid the foundation for the success of many other products, including Microsoft Office.

Windows XP: I never thought I'd be calling XP one of the best Windows ever. I remember the reactions to XP when it came out: No substantial improvements over Windows 2000, required much higher-end hardware and most seriously, privacy concerns (that it took a snapshot of all software installed on your machine and sent it back to Microsoft as a part of its installation). In fact, the latter concern caused some country's navy to decide not to upgrade (I can't find a reference to this though, although I clearly remember reading about it at the time).

But time changes perspective. Looking back at XP after Vista makes me realise that XP was a pretty good OS after all. What I remember about Windows 2000 is that its device driver support was spotty, so not every hardware device was supported. XP has been far better than Windows 2000 in that regard, which is why I don't have the latter in my list.

As a postscript, my vote for the worst Windows ever goes to Windows Me, followed closely by Windows 98. These were two absolutely unnecessary OS releases, and I believe Microsoft released them purely to raise revenue in the years following the phenomenally successful Windows 95. Windows 95 was so good that it comprehensively met home user needs for at least 6 years. There was no real demand from the market for an upgrade, but Microsoft needed the revenue. Hence Windows 98 and then Windows Me. (Boo, hiss!)

No comments: