I wrote a (very) short history of Windows for the Register, focusing on the launch of Windows 1.0 25 years ago.
I used Oracle VirtualBox to run Windows 1.0 under emulation since it more or less works. I found an old floppy with DOS 3.3 since Windows 1.0 does not run on DOS 6.2, the only version offered by MSDN. In the course of my experimentation I discovered that Virtual PC still supports floppy drives but no longer surfaces this in the UI. You have to use a script. Program Manager Ben Armstrong says:
Most users of Windows Virtual PC do not need to use floppy disks with their virtual machines, as general usage of floppy disks has become rarer and rarer.
An odd remark in the context of an application designed for legacy software.
What of Windows itself? Its huge success is a matter of record, but it is hard to review its history without thinking how much better it could have been. Even in version 1.0 you can see the intermingling of applications, data and system files that proved so costly later on. It is also depressing to see how mistakes in the DOS/Windows era went on to infect the NT range.
Another observation. It took Microsoft 8 years to release a replacement for DOS/Windows – Windows NT in 1993 – and another 8 years to bring Windows NT to the mainstream on desktop and server with Windows XP in 2001. It is now 9 years later; will there ever be another ground-up rewrite, or do just get gradual improvements/bloat from now on?
I don’t count 64-bit Windows as a ground-up rewrite since it is really a port of the 32-bit version.
Finally, lest I be accused of being overly negative, it is also amazing to look at Windows 1.0, implemented in fewer than 100 files in a single directory, and Windows 7/Server 2008 R2, a platform on which you can run your entire business.
Thinking about the history of Windows brings to mind the classic 2004 “Joel on Software” article: Especially in light of the discussion about HTML5.
Oops. The link above is to Joel’s “How Microsoft Lost the API War”. http://www.joelonsoftware.com/articles/APIWar.html
Well, of course Windows suffers from decisions made back in 1981, when MS-DOS entered the scene (well, design phase, anyway). CP/M didn’t support directories, so neither did DOS 1. And once the decision of being compatible to CP/M was made, we were stuck with 8.3 file names, 256 characters for the CLI, and a host of other issues (like the 640kb barrier). For that, we can blame IBM, too. 😉
Be honest: could you really have predicted how the computing landscape changed in the last 30 years? Networking, GUIs, the Internet, ILOVEYOU, Stuxnet, multiuser systems, 8bit, 16bit, 32bit, and now 64bit architectures, NAS, USB, the rise and fall of SCSI and IDE?
And MS *had* to keep Windows (and DOS!) backwards compatible, if MS wanted new versions to sell. The moment MS didn’t cherish backwards compatibility, everybody started screaming about UAC when it appeared for the first time in Vista. “Damned if you, damned if you don’t” comes to mind.
As a side note: legacy software != legacy hardware. If you are really stuck on floppies these days, you have to add an after-market floppy drive, anyway (and use it to move your data off of floppies into something that’ll be around for a while on the hardware level, like hard drives on a NAS, or so).
I think you are viewing this with a bit much hind-sight knowledge. It is nothing but a quite amazing feat that has been done, compare it to any other OS, why not linux, with its masses of developers and they are not out pacing Microsoft.
Of course everything could have been much better, code I write today I will look back on in 6months and say how could I write that garbage. But to maintain and improve a code base for over 20 years is nothing but a feat in its own, it goes by a very golden rule, bend your code instead of revolutionize it, you’re users will often be much happier, the sensational press equally unhappy.
To keep a user base and evolve software is a really really tricky thing to do. And doing so in a 50k+ company is even harder.
I for one wouldn’t mind adding such a feat to my resume. You have to bare in mind the development tools that were available just 15 years ago. There was no such thing as a useable VM, even less general availability of hardware that was capable running a usable VM. Developing kernels and drivers was a pain.
It is like saying we could have built so much smarter and better roads if we had just built them with todays knowledge and where all the popular and large cities would be. We would have had so much better cars (why not 0 emission already, it’s obvious isn’t it??), why on earth build combustion based engines, if we started today I would be surprised if that’s what we ended up with again.
They have done an amazing job and I would have been totally baffled if they couldn’t have done it better with hindsight. It brought us the PC era, it brought us a computer in every room, it more or less brought us the digital age outside the main frames of the 80ies. They hit the market perfectly and ran with it.
Just because the future might not be us much Windows as the past does not mean the future can’t be as much Microsoft as the past.
There are tons of things to fix that the web has broken in terms of usability and user’s control over their data. The web as we know it today is likely to become less relevant than Microsoft if you ask me and there is ample opportunity for a lot of companies to succeed in that market, including Microsoft (who if they actually nail the Software as a Service might be more relevant than many).
But it is more or less up to the press with its ultimate power, the more you(the press) repeat the story that Microsoft is doomed the more likely it is to happen. Vista didn’t suck as much as you let the world think and Windows 7 is definitely a lot better than OK (or decent in your own words), at least if one compares it to their rivals such as Linux (in all shapes) and also the Mac. The Mac is far from as good as you(the press) let the world think and that goes for the iPhone/iPad as well.
If windows is only decent I take it you are not using it at all to write your articles? At least I would use whatever is great all the time. Do you use something like Windows Live Writer instead of a web browser as an authoring tool, or do you actually use the web paradigm as much as you bless it? They might be silly questions but it is important to me that you live as you preach.
I realize it is super hard to write a balanced review. I for one hate the add based/privacy thin world google broght us and the locked in dumbed down/pay more for less user view Apple brought us (you’re holding the phone wrong anyone?), FOSS/Linux brought us the idea(incorrectly) that code comes for free (as in no money) instead of free to do your own tinkering. Now compare that to what Microsoft brought us (licensing hell) and see where you end up.
On the other hand Apple brings money back to the software marked where the FOSS is driving it away (at least in the current revenue setup of the software industry) together with the idea that it is better to a few things really well they everything at once. Google brings openess and makes knowledge more or less free to come by and FOSS brings freedom to do what you want with the things you use.
Thanks for the detailed comment Niclas. Important issues and in the end much of the commentary is speculation as you imply.
That is an interesting one; I don’t think Microsoft is going anywhere but I doubt it will be equally dominant; it does have a strong hold especially in business and I agree that this is often understated.
Tim
There are some striking parallels between Windows (and Microsoft products in general) and the Russian approach to military technology (well, in WW2 anyway). The Germans lovingly crafted magnificent, beautifully engineered, powerfully gunned and nearly invulnerable tanks like the Tiger and Royal Tiger. Meanwhile the Russians churned out tens of thousands of “good enough” T-34s, to the extent that German soldiers complained that the Russian tanks infested the battlefield like swarms of rats. The German tanks were hugely outnumbered, so even if they won when there was a face-to-face battle, mostly the Russians just streamed round their flanks and into the rear. Moreover – and this is where the parallel with Windows is most apt – a T34 was designed by field-fixable by the simple uneducated people who would usually be in charge of it. (Drivers were even issued with big wooden mallets for unjamming the gearbox!)
This is a parallel that Ken Olsen, founder of DEC, picked out in the 1980s when he compared Unix to a Russian truck. It was a backhanded compliment, for – while suggesting it wasn’t the very best OS you could get – the comparison highlighted Unix’s reliability, availability, flexibility and cheapness.
IMHO the main reason why Microsoft (and to a lesser extent Oracle) has triumphed so thoroughly in the software wars has been that it was run by people who never took their eye off the broad strategic aim of maximising long-term profit. Expanding the user base, at the expense of short-term margins, certainly contributed to that aim. Making quality any better than it had to be didn’t. The proof is in the pudding (or rather in the bank accounts and the stock price).