Tuesday, December 14, 2010

Decoding Apple's Human Interface Guidelines: Part 1

So, you are ready to build an iPhone an app. The good news is that a lot of the decisions are already made for you in terms of how things should look and work navigationally. The bad news is, there are a lot of guidelines (rules) to follow to make sure your app gets through Apple's App Store review process. Apple has a set of Human Interface Guidelines that, coupled with the the built in features and on-screen controls available out of the box in the SDK, give you what you need to build a solid app. These are more than just guidelines but rather explain the method and rationale behind design best practices and maximizing the end-user experience on the iOS platform. Through the Human Interface Guidelines Apple is expecting iPhone app designers and developers to reinforce and embed the consistency people expect when using an Apple product. If you plan on creating an iPhone app for mass consumer consumption, these guidelines are a must to follow.

This is the first of a 3 blog series where I'll dive into the components of the Human Interface Guidelines. This post focuses on three of the seven guidelines:

  • Platform Characteristics

  • Human Interface Principles

  • Application Design Strategies

Platform Characteristics
Embrace the iOS as a platform. This means embracing the way people expect to interact with with the iOS platform and the "gestures" the go along with navigating and executing tasks. Gestures such as the pinch and zoom, making changes to device orientation (horizontal to vertical), tapping vs. clicking. Other platform considerations such as where users expect to set one-time app preferences ( via the native settings app, not within an app itself) is important to note when designing your own app. Did you know that the comfortable amount space to allow for a "tap zone" is 44x44 pixels? Apple figured this out and accounted for the fat finger. Allowing a tap zone 44x44 pixels avoids the issue of having elements too close and creating end-user mis-taps.

Human Interface Principles
The Human Interface Principles revolve around designing an app that behaves intuitively. It should be designed with aesthetic integrity. Meaning it looks the way it functions. Have a clear single purpose for your app and make sure it looks the way one would expect to complete that task. Help people transfer knowledge by providing consistent use of common controls and on-screen elements. If they already know what a control or icon means, then they expect it to behave a certain way when they see it again. The iOS platform allows for direct interaction with on-screen controls. Allowing people to directly interact with controls on-screen as they would in their native form helps people already know how to use your app. A great example is the iPod app. The on-screen controls for playing, fast forward, and rewind, look the same as they do in their native format on the stand-alone iPod device. This means users who already know how to use an iPod, know how to interact with the on-screen controls translated to the iPhone app version. Another great example is the Compass app. It looks and behaves just like a "real" compass when you change the orientation of your iPhone device. No instructions needed because you are able to translate your knowledge of how a compass works to the compass app.

Application Design Strategies
The Application Design Strategies guidelines provide a framework for determining what it is that you want your app to do. First and foremost it's important to have a clear statement of purpose for your app. What goal(s) does it help the user achieve? And along the lines of purpose - don't attempt to do too much with your app. The best apps do one thing really well. The worst apps try to do/offer too much. To narrow what it is that your app should focus on it's important to know who your audience is. And not just general segmentation by demographics, really dig into who it is that your targetting and the common characteristics of those people. Pick 2 or 3 characteristics to tailor your app to. Then filter the features of your app tailored to those audience characteristics. Now your getting to filling a need for a very specific audience and designing the interaction in a way that delights your target. With design discipline and diligent focus you have the recipe for creating an app that is "sticky" and gains faithful followers who evangelize the app. Evangelizing = more downloads = $$$$.

Next up, Part 2: User Experience Guidelines and Element Usage Guidelines.