The MacWorld Expo wraps up today in San Francisco, and though CEO Steve Jobs didn’t attend, he stole the show anyway by announcing he has a hormone imbalance. Meanwhile the success of Apple’s products hums right along: iTunes sales reached 6 billion songs, the MacBook became the top-selling laptop computer in the U.S., and the number of third-party software applications available in the iPhone’s App Store topped 10,000.
I was one of the 250,000 programmers who downloaded the iPhone software development kit (SDK) in the first three months after it was announced. I figured I’d try my hand at building a simple iPhone application just for kicks. I didn’t get very far, but I did discover a little gem that helps explain much of Apple’s success.
Tucked away in the technical documentation of the iPhone SDK was an article called, “iPhone Human Interface Guidelines.” (It’s here, but you have to register as an iPhone developer to access it.) It provides guidelines for building iPhone applications that users will understand and enjoy. Along the way, it explains how Apple thinks about software design, in terms that are applicable to any software or web-based product, not just the iPhone. For example, it explains the importance of providing feedback to users:
Users need immediate feedback when they operate controls. Your application should respond to every user action with some visible change. For example, make sure list items highlight briefly when users select them.
It continues in another section,
Users need to know whether their requests are being processed and when their actions might result in data loss or other problems. That said, it’s also important to avoid overdoing communication by, for example, alerting the user to conditions that aren’t really serious or asking for confirmation too often.
The document also uses dozens of screenshots to illustrate specific best practices in design, such as thinking top-down, minimizing input required from users, and expressing information succinctly. The advice goes on for dozens of pages.
If you design or build software or other high-tech products, or you’re just curious how Apple keeps cranking out so many successful products, I recommend taking a look!