Column You’ve probably heard of – if not actually read – that modern-day classic, “Dreaming in Code”. The book is subtitled “Two dozen programmers, three years, 4,732 bugs and one quest for transcendent software”.
For those who haven’t heard of it, suffice to say that the book covers the development of Chandler, an over-ambitious open-source PIM project which has been going for ….well… quite some time. Bankrolled by Mitch Kapor of Lotus 1-2-3 fame, Chandler has apparently been in progress since late 2002/early 2003 – perhaps earlier. I guess the book’s subtitle is a tad over-optimistic...
I downloaded a copy of Chandler the other day, just to see how things were shaping up. As soon as I launched version 0.7, my CPU usage shot up to around 40-50 per cent and peaked at nearly 75 per cent as I dragged Chandler’s main window around the screen. Memory usage was equally dire – it started around 70Mbytes and went up from there as I tried out the user interface. In terms of run-time resources, Word seemed positively parsimonious by comparison.
I suspect that part of the reason for the poor performance lies in the OSAF’s idiosyncratic decision to build Chandler around Python. Personally, I’d have gone with C++ and either Qt or wxWidgets in order to achieve their cross-platform, open source goals with good run-time performance. I do appreciate that Python has some unique capabilities which influenced their design decisions (e.g., see here) but the bottom line, from where I’m sitting, is that Chandler is still an awful long way off from that magic 1.0 release.
Now imagine a book subtitled “Twenty million programmers, over five years, 4,732,421 bugs and one quest for a transcendent operating system.” (You can see where I’m going with this one, can’t you?)
Just a few days ago, as I write, Dell announced that due to customer demand (in the USA), they would once more be making XP available, pre-installed, on their computers [in fact, in Australia, this is, apparently, “no change” – you don’t muck Aussies around – Ed].
This is quite a surprising move: once a new Windows operating system is released, there’s usually something of a three-line whip from Redmond, designed to ensure that the various OEM’s sell only the latest and greatest, at least to home users and small businesses. But no – you can now mosey over to the Dell site, choose a system, and click one of two buttons labelled “Customise with Windows Vista” or “Customise with Windows XP”. I suspect other suppliers will soon follow suit…
What does this tell you? It tells me that Vista sales are far from impressive - and remember that Microsoft doesn’t split out the figures for actual sales to people that specifically want Vista, from passive “sales” included with new PCs. I believe there are a number of factors working together here, principally the high cost of the OS, the need to buy better hardware, driver/hardware incompatibility issues and the plain fact that – sexy party dress aside – it’s the same old tart underneath. Contrasting what was originally promised with what was finally delivered, Vista (nee Longhorn) has spectacularly failed.
None of this should be hugely surprising; but to understand why, we need to backtrack a little… back to 1981/1982 in fact. In those far off days, when Windows 1.0 was just a gleam in Bill’s eye, I used to come home from work, have a nice meal, help the wife put the kids to bed, put on my slippers and then settle down to a relaxing evening poring over enormous disassemblies of IBMBIO.COM, IBMDOS.COM, COMMAND.COM and other chunks of MSDOS. Yes, that’s right; I was the quintessential geek before most people knew what a geek was...
It embarrasses me now to think about it, but in my defence, there is a definite streak of autism in the family. One of my sons has Asperger’s, and I still grapple with a compulsion to disassemble every piece of software I can lay my hands on. If I don’t know how it works, I don’t trust it. The key point is this: my ultimate geeky dream was to get my hands on the source code of MSDOS, and later Windows. Knowledge, as they say, is power, and I knew that if I could only understand every little nook and cranny of the operating system, then I would rule the entire universe. [Cue evil cackle…]
Moving swiftly on to 2004, I met with one of the biggest disappointments of my life. Part of the source code to Windows 2000 was leaked onto the net and – yes, you’ve guessed – I took a little peek at it. Instead of the finely honed (well, fairly finely honed) assembler code which had graced the early days of MSDOS, I found a vast sprawl of spaghetti in assembler, C, C++, all held together with blu-tack. The sources contained many now-famous comments including “We are morons” and “If you change tabs to spaces, you will be killed! Doing so f***s the build process”. More of this here.
If you’ve got Dreaming in Code, you’ll also find it mentioned to on pages 308-309. It was the end of my dreams of world domination. I hated that loathsome, tangled, interdependent, unstructured source code. I knew that it would take forever and a day to understand it all, and frankly – why bother? Just one word stuck in my mind: unmaintainable.
As you may remember, Windows XP was already out by the time that source code got leaked. In fact, back in 2004, Microsoft had been talking about Longhorn/Vista for three years. Just a few months after the leak, it was announced that WinFS, the flagship relational file system, wouldn’t ship with Vista after all. And I knew why: unmaintainable.
Microsoft have managed to cobble together a new look and feel for Windows, but a lot of folks are scratching their heads wondering what other advantages there are in upgrading your graphics card and adding another GByte of RAM? What’s the reason? Unmaintainable.
In the long years since XP was launched, Apple have come out with five major upgrades to OS X, upgrades which (dare I say it?) install with about as much effort as it takes to brush your teeth in the morning. No nightmare calls to tech-support, no sudden hardware incompatibilities, no hassle. Why hasn’t Microsoft kept up? Unmaintainable.
Right now, Microsoft has nowhere to run, and nowhere to hide. After all the hype surrounding Vista, the Emperor has finally been revealed in all his naked glory. Some folks have been predicting the demise of Microsoft. I wouldn’t go that far, but I am wondering how we’re ever going to take Microsoft seriously again? ®