2. Introduction
In previous sessions we have considered
> Characteristics of mobile devices
> Contemporary distributed computing technologies
In this session we will consider
> Issues that must be addressed in developing mobile applications
> Using distributed technologies from mobile applications
3. Mobile Device and Application
Characteristics
Mobile application developers face three key challenges
> Resource constrained devices
Battery
powered, limited memory, low-power CPU, etc
> Different user interface technologies / metaphors
Limited
screen sizes, no keyboard, pen input, etc
Capability
to enter and manage small amounts of information in short sessions
> Getting data to / from the application
Data
sources often in network
Network
not always available when required
When
is data transferred to / from the device?
4. What do Users Want?
Users want simple, responsive, task-oriented applications which
> Allow them to perform quick, specific tasks while they are away from their
desktop PCs
> Have simple and direct graphical user interface
> Provide feedback
> Automate as much as possible
Users do not want to
>Wait!
> Guess at what the application may or may not be doing
> Spend time searching for menus / controls / information
> Continually reconfigure the device in response to changing (network) environment
5. Common User Tasks
Mobile device, particularly PDA, users want to be
able to
>Communicate with others instantly.
>Manage e-mail, events, appointments, and notifications.
>Access and share personal and business information
>Play games and access media files.
>Customize the interface to suit personal tastes
6. Putting the User in Control
Users value and feel more comfortable with products
they can control
Applications should put users in control by
>Allowing users to complete tasks in different ways but with
fewer steps
e.
g. Pocket PC Contacts application
>Provide ways for users to customize the application
>Provide the opportunity to reverse or continue actions
despite non-critical errors
7. User Interfaces
Mobile devices user interfaces are drastically different to
desktop user interfaces
What are the key user interface issues we should be aware of?
> No keyboard, Input is by stylus
Entering
text is difficult
User
accuracy, parallax errors, etc
> User does not want to wade through many forms / controls to achieve their task
What principles should guide the design of mobile application
user interfaces?
> Simplicity of use
> Make common tasks easy
> Consistency – within application and with desktop
8. User Interface Design
Guidelines
A good user interface should
> Show only relevant data
> Show only the most important controls directly on the interface
> Make controls easy to
distinguish
and interpret
find
use
> Make controls
predictable
consistent
– within the application & with desktop apps
> Use standard controls (e.g. Soft Input Panel)
> Leave space between controls to avoid accidental selections
9. Menus in User Interfaces
Menus can be very useful
> Use menus to organize related groups of functions
> Organize menu items in a similar order to desktop applications
> Include only necessary items in the menu
> Limit number of items in menus to help users find items they need more quickly
> Arrange items order of frequency of use in context-sensitive menus
> Avoid deep menu hierarchies
Put frequently used actions directly on the menu bar
> reduces user time and effort needed to find the item
10. Network Connectivity
Many mobile applications use data retrieved from other sources (e.g. desktop machine,
networked servers)
This data needs to be moved to / from the mobile device via
> Cable connection when sync’d to a desktop machine
> Wireless network connection
Wireless networking offers easiest route for data transfer but
> Network is not always available – intermittent connections
How
does application cope when network connection disappears?
> Process of connecting to / disconnecting from the network should be automatic and not require user
involvement
> Application should still operate responsively when network is unavailable
Caching may be required to store the data needed to support the application when the
device is disconnected
> When to synchronize cached data with networked sources?
Good design practices can make the state of connectedness transparent to the user
11. User Interface and
Connectivity
Users often need to know whether they are connected to
the network or not
> provide this information to the user in a non-invasive way
> e.g. Pocket PC Bluetooth connection indicator
The movement between connected and disconnected
state should be clear but not disruptive to normal
application operation
> avoid displaying dialog boxes when connections are established
and lost
Give considerable thought to how your the interface
will behave when a connection is unexpectedly dropped
12. Security and Trust
Users must be able to trust mobile devices and applications with their
personal information. This requires
Availablity
> Personal information must always be available
Security
> Personal information stored on the device must only be used or modified in appropriate ways
> Users should be offered security measures to help them protect their information.
Privacy
> Stored personal information must be under the user’s complete control
> Device must provide ways for users to guard against unauthorized access
> Users must have full control over information removed from and downloaded to the device
13. Mobile Application
Design Principles
Optimize for 80 percent of the cases; support the remaining 20 percent.
Use audio for User Interface feedback, not as a novelty
Reduce redundancy; promote one way to do things
Let the user "learn once, do everywhere"
Design for performance
Place frequently needed controls at the top of the dialog box
Show the most important information in the main view of the
application. The rest of the information should be one step away.
14. Pocket PC Design Principles
Emphasize data and content
The title bar caption should contain the name of the
application, not the current dialog box context
Only prompt for user confirmation on actions that
cannot be undone
Menus should be structured by logical groupings
Apply ergonomic principles to the placement of
controls and information:
- Stylus-accessible controls should be 5 mm square
on the screen
15. SmartPhone Design
Principles
Menus should be structured by logical groupings
The left soft key:
> Always displays the most likely user task
> Is the Done soft key that closes the window, when needed
The right soft key:
> Displays the Menu soft key when there is a menu
Command
represented by the left soft key should be on the menu
> Should display the second most likely user task if there is no menu
> Is blank if not needed
> Is the Cancel key any time state can be saved
Do not use "..." after any menu items.
Full-screen message boxes can have only two options (one for each
soft key). For example, you cannot have Yes, No, Cancel.
16. Summary
In this session we have discussed
> Mobile device characteristics and limitations
> Guidelines for developing mobile applications
17. Reading and Resources
Reading
Wigley & Wheelwright, Microsoft .NET Compact Framework Core Reference,
Microsoft Press, 2003
Resources
Pocket PC User Interface Guidelines,
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ui_guide_ppc/htm/_UIguide_start. How to Maintain a Single Binary for Pocket PC and Smartphone,
http://msdn.microsoft.com/library/en-us/dnppcgen/html/mantsngbin.asp?frame=true
Use Threading with Asynchronous Web Services in .NET Compact Framework to
Improve User Experience, http://msdn.microsoft.com/library/default.asp?url
=/library/en-us/dnppcgen/html/use_thread_async_web_services.asp
Editor's Notes
e.g. Pocket PC Contacts application
Typing the first few letters of the person's name in the search field. The application automatically lists those names beginning with those letters.
Tapping any tab at the top to display alphabetically ordered letters sorted into groups of three. Tapping one of these tabs highlights the first name in the list that begins with that letter.