designing mobile applications

17
.NET Mobile Application Development Designing Mobile Applications

Upload: synapseindiacomplaints

Post on 07-Jul-2015

98 views

Category:

Technology


1 download

DESCRIPTION

Designing mobile applications

TRANSCRIPT

Page 1: Designing mobile applications

.NET Mobile Application Development

Designing Mobile Applications

Page 2: Designing mobile applications

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

Page 3: Designing mobile applications

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?

Page 4: Designing mobile applications

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

Page 5: Designing mobile applications

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

Page 6: Designing mobile applications

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

Page 7: Designing mobile applications

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

Page 8: Designing mobile applications

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

Page 9: Designing mobile applications

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

Page 10: Designing mobile applications

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

Page 11: Designing mobile applications

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

Page 12: Designing mobile applications

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

Page 13: Designing mobile applications

Mobile ApplicationDesign 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.

Page 14: Designing mobile applications

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

− Information should flow top-down, left-right

Keep all editable controls above the soft input panel (SIP) region

Standardize on a 4 × 4 metric: − The origin of a control always maps to a four-pixel

increment

− All controls maintain a four-pixel gutter between themselves

Reduce the number of unlabeled or complex icons; use text to define features

The Options dialog and Settings control panel do not have menus

The content of a tab does not scroll

Page 15: Designing mobile applications

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.

Page 16: Designing mobile applications

In this session we have discussed> Mobile device characteristics and limitations> Guidelines for developing mobile applications

Summary

Page 17: Designing mobile applications

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.asp 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