Archive for September, 2009

iTunes App Store and Quality Code

Tuesday, September 1st, 2009

I recently read an article about an angry iPhone / iPod Touch developer who wrote a harsh criticism of Apple on his blog. The developer, Joe Stump, created an application called Chess Wars that allows for chess to be played by Facebook users via these mobile devices. Sounds cool.

What’s not cool is that the software contained numerous bugs upon release. Joe admits that the defects were missed by his company: Blunder Move. He also notes that Apple did not identify the bugs during the app review process.

In response, Blunder Move submitted a patch for the chess app to fix the problems users were experiencing. Apple made the patched version available on the App store. Once again, the app contained a serious flaw. This flaw was not detected by Blunder Move or Apple before release.

A third version has been created and submitted to Apple for release. Joe is furious with Apple because this latest build has not yet been made available by Apple. He fears, perhaps correctly, that the defective program is ruining his company’s reputation and hurting future sales.

I empathize with Joe. It’s a serious bummer when, as a developer, you release software with bugs. Every seasoned developer has been there. The feeling is akin to having your guts turned inside out. You are anxious to see a patch released and ‘your baby’ fixed.

However, who is at fault for this unfortunate situation? My understanding is that the developer is responsible for the quality of the product. That the code should be thoroughly tested before release. That integration, regression and acceptance testing be performed to minimize mishaps.

Apple Computer’s role in this business relationship is to provide a distribution model, which they do quite effectively. They are to examine the app to ensure that it adheres to their policies (no porn, etc). I do not believe that they can be viewed as an extension of a company’s QA department unless they are contacted directly using the ADC support incident request:

The iPhone Developer Program includes two Technical Support Incidents where Apple engineers will provide you with code-level assistance, helpful guidance, or point you towards the appropriate technical documentation to fastrack your development process.

In regard to the initial bug fix release also containing bugs, Joe states ’shit happens’. Nonchalant but true. Vilifying Apple and shifting responsibility does not address the greater issue: releasing quality, well-tested software. And while I feel for Joe having to wait 6 weeks (so far) for the next version of Chess Wars to be queued for distribution, I’d also caution developers to be 99.999% sure that the product you release is ready for prime time.


All works licensed under Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License. And that's a mouthful!