BEHIND THE SCENES
Bug Bytes: Gus Mueller
In his 23 years coding for the Mac, Gus Mueller, creator of the popular image editor Acorn, has had ample opportunity to make errors. Here, he talks about his most memorable one, which goes back to VoodooPad, an advanced journaling app Mueller released in 2003.
The gaffe
Back when VoodooPad was in beta, one of my testers sent me a document that crashed the app whenever he opened it. Worse, when I did manage to open the document, it was completely empty—no words, no spaces, no images, nothing. The document title was “Tax Information,” and I’m thinking, “Oh no. The data is all gone.”
I eventually figured out what caused the crash: Thanks to a total rookie mistake, VoodooPad couldn’t handle completely empty documents. But I also thought the app first deleted the data—and all his tax information was wiped out.
I wrote the guy to say, “I’m so sorry. Your document and data are completely gone. I hope you have a backup.”
His response: “Oh, I hadn’t put anything in there yet.”
It was the greatest relief.
Lesson learned
This experience spurred me to look into automated regression testing. Sometimes I’ll fix a bug, but that fix will alter behavior slightly somewhere else. That’s especially an issue when you’re tracking and fixing lots of little bugs—which really came into play when I was developing Acorn.
For each reported bug, I’ll write a test script to reproduce it. Then, after I fix the bug, I’ll also run the hundreds of scripts for all the previous bugs to make sure they all still pass.
Because of this, each new build takes a long time, but it’s one of the secret sauces of Acorn. People ask me, “How is one person able to write an image editor?” Well, you’ve got to have really, really, really good regression testing.