Wednesday, May 03, 2006

Finding the Root Cause

Like every other programmer, I spend a lot of time debugging. One of the hardest lessons I've had to learn is the value of finding the root cause. Put simply, the root cause is the bug in the program. Sounds easy enough, find the bug and fix it. But unless a program is very simple, the observed bug and the true bug may not be the same. The difference here is the difference between a stuffy nose and a cold. The observed problem is that you can't breathe easily because your nose isn't clear, but the real problem is a virus in your body. You can take something to clear up your nose, but it won't make your cold go away any faster.

There's a similar principle that is taught in first year psychology: if you perform an experiment, and you see a correlation between the two variables you are testing, the first reaction is to say that one causes the other. For example, let's say that a survey indicates that people who own pets also recover faster from heart surgery. The first conclusion one might draw from this is that having something to care for is motivating these people to get better. And this might be true, but what if there is a third factor that causes these people to heal faster and also have an affinity for pets - perhaps they are just more active in general than people who do not own pets. The only way to find out is to construct another experiment to that will eliminate other possible causes.

Finding the root cause can be hard, and it's made no easier when there's pressure (like a deadline) to get it fixed. It can be very tempting to slap a bandage on the problem and just fix the symptoms. My experience, however, has been that when this is done the bug invariably comes back again and again, appearing as different symptoms until you finally find the root cause and fix the real bug.

The whole "root cause" thing seems to be pretty popular in the scientific world. I have to wonder if it could be applied to other different fields of endeavour, like oh, I don't know, the business world perhaps.

About a month ago there was a flurry of articles about how Sony's UMD movie format was failing. Wal-mart is dropping them and studios are releasing fewer titles on UMD because for the most part they aren't selling (comedies are apparently the exception). I've heard a number of reasons for this: UMD only plays on the PSP and holding a PSP for two hours while watching a movie makes your arms sore are just two of the more common complaints. It's obvious that the former is true, and I've watched Spider-Man 2 on my PSP, so I can confirm from personal experience that the latter can also be true. But are these really the reasons why people aren't buying UMDs? I suppose it's possible, but then how does one explain the success of "Video Now!" and "Juicebox"? Unless you have kids (or nieces, nephews, etc), you may not be familiar with these products. Both of them are personal video players for kids. The screens are low-res (I don't think they're even 320x240), and the quality of the video is pretty bad. But, both of them retail for about $50, and the media is $5-10. And what can you get to watch on them? Well, they're for kids, so big surprise, it's mostly cartoons. Both have been around for a couple of years, they both use media that doesn't play on anything else, and they are apparently quite popular. So Sony wasn't really doing anything new. Mattel and Hasbro did it first, and seem to be making money at it.

Sony has outlined a two-part plan to try to revive UMD. Part 1: sell a device that allows you to hook up your PSP to your TV so you can watch your UMDs on "the big screen". Part 2: bundle the UMD and DVD for about $10 more than the DVD. IMHO, the TV adapter treats a symptom. If I want to watch a movie on my TV I'll just get the DVD so I can have surround sound, subtitles, commentary and other extras. Bundling is a good idea, but Sony's flubbed the execution. All the bundles coming out are movies that have already been released on DVD, and so anything I'm interested in I already own. Also, the "bundling" seems to be just shrinking-wrapping the DVD and UMD cases together. I was hoping for a single DVD case that held both. Will either of these things keep UMD a going concern? I suppose they might help, but I'm skeptical that they can turn it into a roaring, or even niche, success.

So if the various complaints Sony is trying to address are just the symptoms, what is the root cause? I have an idea, inspired by Hasbro and Mattel: UMD is perfectly viable if it's a good value. If the functionality is limited, the price should be as well. There's nothing wrong with discs that play only on the PSP, but they shouldn't cost as much as (never mind more than) a DVD. At $10 I'd be buying them, even if I already owned the DVD. As for the arm thing, well, I've seen an eight-year-old hold a Video Now! box (that weighs at least twice what the PSP weighs) for hours. If they can do it, so can I. Funny thing too - I don't think I've read a single comment about how hard it is to hold a PSP for two hours while playing a game.

Labels: