The Bugless OS Myth

by Chris Howard Jun 14, 2005

The dust has barely settled on OS X, 10.4.0 aka Tiger and we’ve already installed 10.4.1. And now 10.4.2 is in the wings with yet another long list of bug fixes.

Yet most of us take this in our stride. Software has been a part of our lives for so long now, that we accept it will have bugs.

The complexities of software and especially compatibility, ensure bugs will appear. Although, anyone who has programmed knows bugs are in some ways a blessing - at least you have a starting point for fixing problems! A program that appears to be working is the greater worry. However, if that occurs, you can always invoke Murphy’s First Law of Software Development “If it ain’t broke, show it off - then it will be.”

It can be expressed as a formula:

E=(S*I*B)/C

where:
S=the seriousness of the bug;
I=Importance of person shown;
B=How much you brag;
C=The effectiveness of your contingency plan when things do go wrong (eg Hey look over there, is that the President?);
E=How embarrassed you will be.

Applying that formula is actually a long practiced debugging technique of the development community.  In fact, it seems even Steve and Bill practice it. It’s just that Bill doesn’t seem to have the whole formula… Hmmm? That statement has a familiar ring to it…

You may remember earlier in the year Bill demoing digital photography on a Windows Media Center PC and it froze and then later in the presentation one of his counterparts got a “bluescreen of death” and an “out of memory” error. But short of a few mumbled cliches like “It’s never done this before”, no adequate contingency.

Steve during his demo of the improved integration of OS X and iPhoto, had his system hang too.  Unlike Bill, he was better prepared, and simply switched the KVM over to a reserve system and so it went largely unnoticed and saved a lot of blustering and red faces. A lot of “I” and “B”, but a even more “C” saved a lot of “E”. And it appears, that bug has been eradicated from 10.4.0.

Yet Tiger has still been released upon us with many known bugs. Some features also feel incomplete and that gives a sense of bugginess. Many Bloggers have provided quite comprehensive lists of these.  One of my favorite peeves is that the Spotlight search in the Open and Save dialog boxes is not categorized - in fact, you should have an option to limit it to Document types only. Although not a bug in the sense of it causing some kind of operational failure, it is a bug in the sense of being a failure to develop a consistency across all of the various Spotlight interfaces.

According to Apple’s knowledgebase on 10.4.1, there were no bug or bugginess fixes, rather they were “improvements and enhancements”.

Should Apple have fixed a few more of these bugs (improvements) and bugginess (enhancements) and waited until 10.4.1 was ready and called it 10.4.0? It would have only delayed the release of Tiger by a month, and they’d still be ahead of schedule. But then, as we know, it would still have bugs, so should they have waited for 10.4.2 or 10.4.3 or 10.4.4. No, they didn’t want to end up looking like that other OS developer.

Although you have to be a perfectionist or extremely pedantic to be a good software developer, at some point you have to draw the line. At some point you have to say, “Its got all the features we wanted and no critical bugs”. Reading some Apple history, they had that same problem in 1976. It’s not a new phenomenon.  Going to market with a buggy product is as old as the wheel. The guy who invented it got panned by the critics at the time for it not being a perfect circle.

Bugs that stop operations by causing a freeze, repeated crash, or a kernel panic are the ones developers will expend much sweat and lose much sleep to eradicate. I’ve had a few Widgets crash but nothing too often to cause me to stop using them.  It may be 10.4.3 before that problem is fixed. It may be 10.4.5 before Dashboard widgets use font smoothing. I can live with that, and Steve knows it.

Be grateful though if you are using Mac OS X. The bugs might bite and cause application crashes but at least it handles them significantly more tidily than Windows - which can be more akin to kicking out the centre pole of a tent.

For now we await 10.4.2, the next exciting installment of Tiger, with anticipation of what bugs and bugginess - oops, “improvements and enhancements” -  will be included, and hope ourselves, that we don’t also fall foul of Murphy and his insidious laws right in the middle of showing it off to our Windows counterparts.

Comments

You need log in, or register, in order to comment