
By now you’ve probably heard about the Zune 30GB device freezing up as of midnight Dec 30th. You might also have heard about the fix as described on zune.net:
Now that a fix has been announced, one can’t help wonder what caused it and why it was not caught earlier. It’s not that a day without your Zune is fatal, but what if instead of an MP3 player this was critical part of a life support device?
What do we know about the problem so far:
The part that is most interesting here is the fact that it does not impact later devices. Was the problem detected and fixed for later versions, and the update just not included in updates to the earlier firmware? If so, one can’t help but wonder why it wasn’t.
A more likely cause in this case is that the Zune firmware underwent a complete rewrite for version 2 (the original software version for the Zune 4GB, 8GB and 80GB). Assuming the developers truly started from scratch, it’s very possible whoever wrote the clock driver simply did a better job – choosing an algorithm that did not suffer from this problem. In this case the developers may not have even been aware of the possibility of this bug occurring in the older firmware (assuming they even looked at it). Or put another way – taking leap-years into account is pretty basic, so it’s fair to say that the author of the original clock driver screwed up. Whoever he is, he’s probably very embarrassed right now.
This Zune bug serves to remind us of Murphy’s computer law that every non trivial program has at least one bug. And unfortunately, that applies not just to MP3 players, but more critical software as well.