The engineering world runs on requirements and specifications. Until it doesn’t. The magic happens when you recognize when to go off-script.
I’m at Agere Systems, and we’re having a requirements meeting with the Apple guys about the iPod. We were going to be supplying the engine β the CPU.
The topic comes to the mp3 Codec (which is the piece of software that turns your mp3 file into music). Our guy says, “We have the best sounding mp3 decoder on the market” and then goes into why based on meeting the mp3 spec, and these other specs, and spec, spec, spec.
Apple guy says, “OK, thanks, but we don’t actually care about meeting those specs. We assume it will sound good enough. What we really care about is that your codec can gracefully handle malformed and broken mp3 files.”
Our guy, “But if a file is malformed or doesn’t meet the spec, how do we know what to do? That’s a violation. We can’t be expected to handle that.”
Apple, “We don’t care what you do β you can blip, skip, or whatever β but you cannot, under any circumstances, stop playing.”
Our guy, “But the spec says⦔
Apple guy, “Again, we don’t care, and this is the last time we’ll talk about those specs. Seriously, don’t bring it up again.”
Our guy, “I don’t understand why you don’t care about the specs.”
Apple guy, “Think about the main iPod use case. It’s a person running or walking around the city or somewhere outside on streets and sidewalks. They cannot be distracted under any circumstances because that’s a safety issue. They must keep their focus on what’s happening around them. If that thing stops playing, it immediately distracts them from what’s going on around them.”
Apple guy continues, “Plus, these people probably struggled to get their music library onto the iPod (this is just before or right at the beginning of the $0.99 song in iTunes). They don’t even know what a music library is. They either ripped the songs from CDs themselves, by some miracle, or they downloaded them from someplace like Napster. In either case, it isΒ highly likelyΒ that those files suck. But they don’t know that. Nor do they care. If we now tell them that it’s their fault and their music files don’t conform to some esoteric engineering spec, they’re just gonna give up and say that this piece of shit doesn’t work. Because it’s freakin hard enough to get the damn music onto the player to begin with. We must assume that the files suck, and it’s our job to deal with it. Therefore, you will handle it.”
Was it any wonder that the iPod was such a market maker?Β