Success has a thousand parents: failure is an orphan. This is the thinking behind most software's handling of error messages, where the worse the problem the more understated the report. Type something with mildly baroque grammar into a word processor, and helpful animated agents pop up suggesting remedies, tutorials, Web sites -- you name it. But if your multi-thousand-pound state-of-the-art PC is rendered just a box of sand by something really nasty deep in the heart of the operating system, you get a plain blue screen with a small pile of robot vomit in the middle. It has been pointed out that the Blue Screen Of Deathbot may be the only completely unbranded piece of software Microsoft has ever produced. You can't even skin it with a tasteful gravestone motif.
Yet I come to praise Microsoft, not to bury it. One of the subtler innovations in XP and onwards has been automatic error reporting back to base. Provided you're on the Net, the sound of your application keeling over will now be heard as far as Redmond: your PC peers gloomily into the entrails of the dear departed, parcels up the remains and punts them off to the post-mortem android somewhere on the Microsoft campus. It's not just for show, either. Microsoft's Server 2003 kernel chief, Rob Short, has said that the information garnered from this mechanism has been invaluable in identifying the most important areas for debugging effort, and in sorting things out overall.
Of course, Microsoft has solid commercial reasons for this -- but that shouldn't detract from the end result. Windows is now far more reliable than before. We can but hope that when the security improvements in Server 2003 ripple through to the desktop we'll finally have an operating system that you can shake a stick at without it fainting in fright. Of course, digital rights management will then mean that it'll refuse to do half the things we want it to do anyway, but let's not get glum.
However, Microsoft is missing one important trick. On the surface, the remote error reporting is exemplary. It tells you what it's doing, lets you inspect the error, assures you that the report is completely anonymous, informs you about the progress of the transmission and doesn't get in the way of anything else you're trying to do. Proof, oh Linuxen and Mac people, that there are those in the belly of the Great Satan who know how -- and are allowed -- to do things right. Yet the final stage, when we can all see the global error list, is conspicuously missing. That is a Microsoft trade secret, and while it may choose to share reports of third-party misery with those third parties, it certainly doesn't go around letting anyone else know. Like, let's say, the people who actually pay money for the software in question.
Why shouldn't we know what's going wrong in the world of software? The companies fall over themselves to tell us what's going right, but it's up to the individual to play spot the dog when it's wallet-opening time. The knowledgeable will pop onto Google and investigate Usenet, chat forums and other places before parting with cash for a product, but that's time-consuming and unreliable. Microsoft has the stats that matter. It knows that, for example, certain video drivers commonly don't work with certain applications, but while it will presumably try to fix this that's no consolation to the poor soul who's about to shell out in the meantime.
There is a solution, and I'd like someone to write it for me. Simply identify the error-reporting mechanism within Windows and, when it's triggered, take a copy of the information and send it on to an independent -- and very public -- server somewhere. Thus, whatever Microsoft gets and clutches close to its corporate chest will simultaneously be hung out to dry in the warm sun of the public gaze. Then we can decide for ourselves what the problems are, and it'll even encourage the software writers to work even harder at getting those fixes out pronto. Win-win.
It needn't stop there. A public service is a public service, and the great hive mind of Planet Linux should be encouraged to write an application to feed it. Maybe even Apple can be brought on board, if we make the server out of brushed chrome and let them use an incompatible protocol. It's about time those orphan errors were adopted by the public and put to work for their sins.