Wednesday, March 4, 2009

Testing my first application

My first app is a simple memory game aimed at pre-reading children. You turn over cards to find letters and must find matches. I think it's time to find a graphic artist for some more beautiful buttons. The game is solid but won't win any beauty contests.

I did some stress testing myself and discovered a logic error in the allocation of letters to tiles that only occurred after the third game. I'm always struck by how much of programming is programming, no matter the platform, and logic errors are logic errors no matter what. Then I experimented with flipping cards as often and as fast as I could. Along the way I discovered some edge-cases where you could flip a card before a matching pair had been registered. I tightened the interaction model to resolve that.

I handed the iPod Touch to my kids for some testing. My seven year old had already figured out how to play it from peering over my shoulder the past few days. My 4.5 year old had it figured out in no time. They were both engaged by the game.

End-user testing did reveal some problems. Both kids inadvertently brush against the tab control on the bottom of the screen which moves between three variants of the game -- matching uppercase letters, matching lower case letters or matching an uppercase letter to its lower case counterpart. Clearly the three variants of the game need to be differentiated somehow to make it obvious that that has happened, e.g. with different colored backgrounds. Or perhaps, in the spirit of iPhone simplicity, I should rethink the three-games-in-one model.