Saturday, 10 December 2011

How to Build an iPhone App (That Doesn't Suck)

Today I watched Steve Marmon's presentation on How to Build an iPhone App that Doesn't Suck for students at Stanford University's School of Engineering.  Great introductory video to the practice of App design, which should help me avoid a lot of newbie mistakes.  I thought to summarise the content below.

STEP ONE: Decide what to build
STEP TWO: Visit the App Store
STEP THREE: Explore possible solutions
STEP FOUR: Sketch
STEP FIVE: Build a paper prototype
STEP SIX: Fire up Omnigraffle
STEP SEVEN: Do it all again
STEP EIGHT: Code (at last!)
STEP NINE: Test before you submit
STEP TEN: Release

Key points:
  • Talk to users
  • Explore many designs
  • Iterate based on user feedback
Key constraints:
  • Small screen
  • Less precise touch control
  • Typing is more difficult
  • Short bursts of usage
What I found most interesting was Steve's discussion on the design process at Apple.  He advises to make ten early designs; the first three will be easy, the next four or so will take a bit of effort, but whilst stretching yourself and exploring those final few options, you'll often find yourself at your most intuitive and creative.

My attention was also taken by the notion of "failing early to succeed sooner."  At several points during a build, things will probably go wrong.  It's best to take the time to get it all done in the early end of the build; the design phase.  Features are cheaper to fix and have less consequences than when actual coding has to be amended.

Finally, I should make note of Amazon.com's Mechanical Turk service, which allows for cheap beta testing/focussed user testing (though it looks like this a US service only, at the minute).