The iPhone’s
revolutionary user interface has changed the way we look at mobile devices. The
iPhone SDK let’s you create native applications for the device. To assist the
development of applications, Apple has provided the user interface guidelines document which provides
information about types of applications you can develop and user interface
guidelines to make effective applications.
·
Planning Your iPhone Software Product: Covers types of
applications, fundamental human
interface design principles and the iPhone OS environment.
·
Designing the User Interface of Your iPhone
Application: Covers available components
to develop IPhone application interfaces.
This blog post intends
to summarize both parts in separate posts. This is the first.
Planning Your iPhone Software Product
- Types of application: Based on implementation method
- IPhone application: Native application, build completely in Objective C. User needs to download it from the App store and install it on the iPhone. It can use all the native features of the device provided the API is available in SDK.
- Web-only Content: Build using HTML. It runs in safari browser. The application is deployed on some other server and not on actual IPhone device. It can use limited native features of iPhone device provided you build your application using HTML5
- Hybrid application: Combination of Objective C and HTML. It primarily uses UIWebView component to render html content. User needs to download it from App store and install it on iPhone. It can use all native features of IPhone device provided the API is available in SDK. You can also use varied available frameworks to build this kind of application. One of the applications we developed falls into this category – get more information about it here.
2.
Types of application: Based on application
style(visual and behavioral)
. Productivity
Applications: primarily deals with
managing information. The user interface is simple and uses standard components
available. It primarily uses UITableView control to display information in list
form. E.g. Mail
a.
Utility applications: primarily deals with
checking quick summary of information or performing quick task. In this style,
same information is presented using different views. It frequently requires
configuration changes which you manage using info button available on main
view. The user interface is simple and uses standard components available. E.g.
The Weather application
b.
Immersive applications: Offers a visually rich
environment to user. The user interface experience may not be standard as in
other styles. Game falls in this category. We have developed a soccer quiz
application (available free on App Store) in this style. You can get more
information about it here.
It is not necessary that
each application should fall in one of these categories. An application can be
combination of multiple styles depending on functionality and information you
want to present to user.
3.
Fundamental human interface design principles
. Metaphors: Map your application’s
entities i.e. class/object/method to real world. E.g. Folders
a.
Direct manipulation: Managing the application’s
object directly using Multi-Touch interface/gestures as opposed to
keyboard or mouse.
b.
See and Point: Using list form to get
user input instead of asking user to input data in text area.
c.
Feedback: Provide feedback for
each action. Proper feedback enhances application’s usability. Animation can
also be used for giving feedback.
d.
User Control: Allow user to initiate
and control actions. Keep actions simple so that user can remember them.
Whenever possible, use standard controls and behaviors.
e.
Aesthetic integrity: it defines how well
your user interface integrates with your application’s functionality. An
application having a visually rich but illogical interface is hard to
understand and use.
Principles are primarily
based on how user thinks and works.
4.
IPhone OS environment:
. Screen size is
compact: It is a challenge to
design an interface for small screen size. Keep the focus on displaying
important functionalities.
a.
Memory is limited: As the iPhone OS does
not include swap space, you must avoid allocating more memory than is available
on the device.
b.
People See One Screen at a Time
c.
People Interact with One Application at a
Time: Only one application
can run at a time i.e. multitasking is not possible. Note: A recent update has
just made multitasking available on certain devices running iPhone OS 4.0.
d.
Onscreen User Help is Minimal: Mobile users don’t
have time to go through help manual or context help and a developer also
doesn’t want to devote space and memory for help contents. So use standard
controls and behaviors a user is familiar with to minimize onscreen help.
More in my follow-up
post, coming soon.