Datasheet

21
Chapter 1: Creating Killer iPhone Applications
Device-guided design
Although the enormous capabilities of the iPhone make it possible to deliver
the compelling user experience your user craves, you must take into account
the limitations of the device as well. Keeping the two in balance is device-guided
design. The next two sections describe both the features and limitations of
the iPhone — and how to take them into account as you plan and develop
an application. But understanding these constraints can also inspire you to
create some really innovative applications. After a closer look at device-guided
design, I come back to what makes a compelling user experience.
Exploiting the features
The first thing that comes to mind when you think of an iPhone is mobility.
This mobility really has two (separate and distinct) aspects to it:
The device is small and unobtrusive enough to have it with you wher-
ever you go. (Pretty obvious, that one.)
The device is easily connected. (Look, Ma! No wires.) This fact leads to
an interesting corollary: You don’t need to have everything stored on
the device. All you really need to know how to do is how to jump on the
Internet and grab what you need from there.
I’m going to be talking a lot about mobility and what it means for developing
iPhone apps during the course of this book, but a number of other hardware
and software features built in to the device also enable a rich and compelling
experience for the user. Clearly, one of the keys to creating a great application
involves taking advantage of precisely these features. In the following sections,
I offer a brief survey of the various device features you may want to use. I get
into many of them in the book, but let this begin to pique your imagination.
Background processing and posting local notifications
While iOS (the iPhone operating system) doesn’t have true multitasking (in fact,
unless you have multiple cores or CPUs, no device has it), it does have instant-on
task switching that reduces application startup and makes it easier to continue
right where you left off. What you also have is the ability for certain kinds of
applications to process events in the background. Such applications include
Audio: The application plays audio in the background.
Location: The application processes location events (information the iOS
sends you about changes in location) in the background.
VoIP: The application provides the ability for the user to make Voice
over Internet Protocol calls — turning a standard Internet connection
into a way to place phone calls.
05_879962-ch01.indd 2105_879962-ch01.indd 21 8/30/10 8:28 PM8/30/10 8:28 PM