The initial planning for your app should be big and bold. Be expansive in how you think about its features, the audience it should address, the opportunities to set the app apart from the rest. We're still in the early days of exploring the possibilities of devices like the iPhone, and invention is important. Let the crazy ideas roll. Fill the drawing board with rainbows and unicorns, and drum up any feature you can think of that will make your app do things no app has ever done before.
And then, take the features on your lovingly crafted wish list and throw most of them out.
"Murder your darlings," advises the favorite writers' adage, counseling flowery wordsmiths to be ruthless about trimming flabby text. "Whenever you feel an impulse to perpetrate a piece of exceptionally fine writing," said the wag behind the homicidal phrase, Sir Arthur Quiller-Couch, "obey it—wholeheartedly—and delete it before sending your manuscript to press." Explore the possibilities, in other words, but remember that an economy of well-chosen words does more for readers than literary derring do.
So it goes with mobile apps. An effortless user experience requires a streamlined selection of tapworthy features. It all goes back to the iPhone's environment of scarcity—limited attention, time, pixels, device memory, and processing power. Every feature you add has to compete for these scarce resources. Add too many features, and the app experience bogs down as surely as the purple prose that exasperated Sir Arthur. The interface grows cluttered, the workflow slows, and potentially tapworthy features become obscured. Instead, your app should be tightly focused on a unique task and a handful of use cases. While you don't have to throw out all of your rainbows and unicorns, you should spare only the small handful your users will need to get the job done. Think big but build small.
To start, identify the single task that's most important to your app. Go back to the most important use case you've crafted for your app—the who, what, when, where, and why—and identify the recurring task your users will most frequently need to tackle to knock out that use case. If your app is a to-do list, the key task might be adding a new to-do item. If it's a calendar, it might be scanning the day's events. All of the design work you do from here will flow from this decision. Once you've identified the key activity, think hard about what your app can do to help your users microtask that activity in a hurry.
Secondary tasks will naturally emerge from that primary activity. Once you can add items to your to-do list app, for example, you need to be able to review, edit, and check them off, too. Keep it simple, though. Figure out the bare minimum required to bring your idea to life, then optimize the experience with delight, efficiency, and polish.
The app doesn't have to be crammed with features and functions to be the best in its category. In fact, a lean diet of features often delivers a better user experience that's more carefully tailored to specific needs and use cases. You might even pare the entire app down to answer a single important question for your audience. "Umbrella: The Simplest Weather Forecast" is a disarmingly simple app approaches weather forecasts by answering the question, "Do I need an umbrella today?"
The less-is-more approach probably doesn't fit your gut instinct about how to build a great app. Developers of websites and traditional desktop software are accustomed to waging a features–arms race with competitors. Enterprise software outfits evangelize the idea that the more features you have, the better the software. Marketing for new versions trumpets all the new-fangled gizmos that have been tacked onto the update. The benefits of feature pile-on are dubious on the desktop—the result is often bloated software—but the effects of an overstuffed iPhone app are downright hobbling. Don't assume that your app has to do everything related to your content domain. Pick your slice of targeted work to do and let other apps pick up other slices. (In Chapter 11, you'll learn how you can make your app fit into this larger iPhone ecosystem.)
Of course, the trick is picking the right slice, the appropriate mix of features for your selected audience. As you winnow features, merrily murdering darlings along the way, stay tuned to the needs of the majority of your users. Choose the features that most of your users will need most often, and don't fret over the esoteric needs of a minority fringe. That's common sense, sure, but the fringe is often the noisiest, the power users who gripe in iTunes reviews that your alarm-clock app is a bust if it doesn't display seconds in atomic clock units. No caesium-133 radiation cycles? FAIL. I want my 99 cents back! Simmer down, Marie Curie. There's nothing wrong with caesium-133 radiation cycles, but of course they have no meaning to a general audience. That said, the fringe can sometimes tip you off to a potential niche app. Who knows, there may very well be a tidy market for an atomic alarm clock app—in which case, the fringe is your audience, and mainstream users become the fringe. Form a clear picture of your audience and tailor your app's features to the majority of those users.
At the same time, in all this paring down, be sure that you're still giving people at least a minimum feature set to accomplish what they expect of your app. When the first version of the Facebook app launched with a limited feature set, Facebook users were vocally disappointed, even angry, that essential features were missing like browsing friends' photos, writing on their walls, or commenting on status updates. Later versions added these features, but the app maintained its keep-it-simple focus by dividing the Facebook app into "sub-apps," a concept explored in the Facebook case study in First Person: Joe Hewitt and Facebook. As always, the lesson is: know your audience and their needs. Give them just enough to do what they need to do with your app.
Quickoffice Mobile Office Suite is an example of careful feature pruning. By iPhone standards, it's a complex and ambitious app. Quickoffice lets you read, create, and edit Microsoft Word and Excel files. The desktop versions of Word and Excel are packed with a jillion features and functions, and it would be unwieldy—and probably impossible technically—to pack all of them into an iPhone app. The gang at Quickoffice had to do iPhone triage, supporting only features that would be most frequently used in a mobile context. They made the safe assumption that when you're thumb-tapping the text of a word-processing document, for example, you probably won't futz with formatting complex table layouts, which is work you'd more likely fine-tune later on the desktop. So, while Quickoffice can display tables and images in a document you receive, it doesn't let you edit them—a fair trade-off. Meanwhile, more common formatting options, like bold and italic text, bullet lists, and text alignment are always just a tap away. The result is a useful, compact app that provides all the basics of document editing while gracefully sidestepping more advanced (and unlikely) use cases.