I have to admit that I don't pay much attention to bug reports. Most bug reports that I hear about are either so obscure (witness some of the problems in the Excel calculation engine) or so easy to avoid (like not using DESC at the end of a field name in Access) that it doesn't seem important to me. As this month's lead article points out, that attitude isn't always viable (see "An Access Nightmare").
To drive the point home, an Access reader recently sent me a letter that pointed out a certain irony in our September 1998 issue. In our Access Answers column for that issue (see "Undocumented Features, Subforms, and More"), Andy Baron had outlined a series of workarounds for various known problems with Access forms and subforms. My editorial for that issue ("Three Steps to Disaster") outlined how systems built without regard for the real needs of the business user require a series of workarounds that eventually collapse under their own weight. The reader pointed out that Andy's answers and my comments on workarounds suggested that Access was failing to meet our real needs.
The letter went on to suggest that, since the form/subform bugs are well-known from previous versions, it was reprehensible of Microsoft to keep upgrading Access while failing to fix these known deficiencies.
Soon after this letter arrived, the news of the bug discussed in Andy's lead article this month surfaced. Unlike the relatively minor form/subform problems, this failure cuts to the core of Access and is subtle enough to escape detection for long periods of time. It's also a failure in one of the fundamental tools used by Access developers: the RecordsetClone. By the time you read this, Microsoft should have made the necessary patch generally available. Hopefully, it will be considerably easier to apply than the notoriously awkward Office Service Release 1.
As an additional irony, as I was putting this month's issue together, I had a "System File Error" in Explorer while deleting a directory. From that point on, the directory that contained all of this month's edited material kept winking in and out of existence. Running ScanDisk eliminated the problem but also eliminated the directory.
I'm not about to begin a diatribe on how badly Microsoft has treated me by releasing buggy software, though. In my time, I've written a hierarchical database management system, a forms management system, a report writer, and my own language (called PETE, appropriately enough). None of these were within an order of magnitude of the complexity of Windows 98 or Access. Nor did they provide even a small percentage of the flexibility and functionality of Windows or Access. Writing software is the most complicated cognitive task known. System theory suggests that any complex system will have at least one part of it running in failure mode at any time. To sum up: We'll have bugs as long as we have new software.
I should also point out that Access's flexibility allowed Andy to develop a workaround to this new bug. And I found my deleted directory in the Windows recycle bin.
If we don't want to have bugs, we need only give up having new software. If Microsoft took longer with releasing its software and added fewer features to it, then the resulting products would have fewer (notice: not "no") bugs. But it's our fault that Microsoft doesn't do this.
We've all had the opportunity in the past to buy better stuff. We could have bought Macintoshes, which, with their integrated hardware and software (plus the lack of expandibility), were very reliable machines. We could have bought OS/2, which, for a long time, was the best 32-bit platform for running Windows applications.
Why did we buy Microsoft products? Cost, more than anything else. Bill Gates has remarked that, when we vote with our wallets, we vote for "Good Enough" software. We will trade off reliability in the long run for a lower purchase price in the short run. Is this a bad decision? Probably not, or we wouldn't keep making it. If you don't believe that, then you must believe that people are stupid (and you, apparently, are not).
We also buy features. When was the last time you bought a piece of software because it had fewer features than the competition but was more reliable? Typically, we'll buy the more reliable package only if it has as many features as its competitors (and is roughly the same price).
Microsoft is interested in making money and so listens very carefully to what its customers actually do. If you want better software, then don't say that you do. Just don't buy the new software until the old stuff works the way you want it to. With Access 2000 on the horizon, you have an opportunity to do this.
But don't talk to me. I've already got the beta version of Access 2000 installed. I'm sorry, I can't help it -- it's a sickness.