Now that the iPhone SDK is out, many people are starting to build, or thinking about building iPhone applications. It’s incredibly important to understand how to design interfaces for this device. Here are some high-level tips:

1. Direct Manipulation

  • Users generally respond better if they can control something tangible.
  • Users will better understand the results of their actions if they can directly manipulate what they can see

Make sure that:

  • Objects on the screen are visible while the user performs actions on them
  • The result of their actions are immediately viewable

2. See and Point

  • Present list-based choices to the user. Can be scanned quickly and are intuitive
  • Reduce text-based input as much as possible. (more time efficient. reduces error checking)

3. Feedback

Users need to see:

  • Immediate feedback when they operate controls (list items should highlight after selecting)
  • Status updates during longer operations
  • Audible feedback can be used, but shouldn’t be the primary/sole form of feedback
  • Show activity indicator for non-instantanious operations
  • Show progress bar for operations lasting more than a few seconds
  • Provide textual explanation to the user of what is happening, if applicable…

4. User Control

  • Let users control actions
  • Keep actions simple so users can understand and remember them
  • Use standard controls and actions as much as possible
  • Allow users the option to cancel an action before it begins, degrading gracefully;
  • Allow user to confirm potentially-destructive operations. Don’t over-use confirmations though – This will ruin any fluidity you have built up.

5. Aesthetic Integrity

  • Level of aesthetic depth depends upon type of app
  • Productive apps – keep aesthetic subtle and in the background – give prominence to the task – use standard controls
  • Immersive apps – bring aesthetic to the fore – users expect a beautiful, fun experience

6. Build in Simplicity and Ease of Use

  • Make it obvious – Minimise controls; label controls
  • Put frequently-used, high-importance information at the top of the screen
  • Minimise text input – Provide as much functionality for each piece of info given by the user; – If possible, use a picker – it’s easier to choose from list than to enter words
  • Express yourself succinctly – Make UI text short and sweet. make it quick and easy to absorb. think like a newspaper headline editor
  • Provide finger-tip-sized area for all tappable areas (40-45px minimum), and provide ample space between tappable elements (20px min or so)

7. Focus on the Primary Task

  • Stay focused on your product definition statement, and make sure each function in the app supports it.
  • Query what’s most important in each context. ask yourself whether each bit of information being shown is critical at this stage. if not, is it critical at another stage, or at all?

8. Let the user always know where they are

Throughout the application hierarchy, always make sure you use the page header properly to inform the user where they are in. For example, this may be by informing them which image they’re browsing, or that they’re about to ‘Add a bookmark’. If applicable, support/repace this large header text with smaller text to describe what’ the page is for, in a simple human fashion.

Remember that by default, the iphone has no visible scrollbar – it only becomes visible when users begin to scroll, so make sure that it’s clear to the user that there’s more content below that can be scrolled to.

Leave a reply