Presentation is loading. Please wait.

Presentation is loading. Please wait.

.NET Mobile Application Development Designing Mobile Applications.

Similar presentations


Presentation on theme: ".NET Mobile Application Development Designing Mobile Applications."— Presentation transcript:

1 .NET Mobile Application Development Designing Mobile Applications

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:ergonomic principles >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

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  In this session we have discussed >Mobile device characteristics and limitations >Guidelines for developing mobile applications Summary

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.asp 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 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 http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnppcgen/html/use_thread_async_web_services.asp


Download ppt ".NET Mobile Application Development Designing Mobile Applications."

Similar presentations


Ads by Google