Sunday, March 14, 2010

Mobile Software Development - User Interfaces

Mobile devices capable of running J2ME apps, Android apps or BlackBerry apps are usually small , hand held computers that have very limited capabilities as compared to the desktop computers but they do good justice when programmed properly. As a mobile application developer you should take care of the user while developing apps. The biggest challenge is how these devices interact with the user and how they allow the user to interact with them.

Following are a few typical challenges that are faced by mobile device users in terms of the user interfaces:
  • Small screen and a small area to display objects
  • Small key-board/keypad and in some cases no keypad (tourchscreens).
  • Little or at times no support for audio output
  • Little or not support for audio input
  • Absence of a pointing device like a mouse (on some devices).
  • Very limited or no printing capabilities
With the passage of time, device manufacturers have been trying to find ways to improve usability by adding more capabilities. Latest touch-screen devices allow you to touch the point of interest and that eliminates the need of any mouse like device. Similarly, latest devices have great audio rendering and capturing capabilities regardless of the fact that these are absolutely micro devices with very small sizes.

Regardless of these efforts, you as a mobile programmer will have to put constant effort to make the user interfaces easy to use and simple to understand. Here are a few simple guidelines.

  • Never clutter your screen. Show as few objects and elements as you can.
  • If you need to show many objects, data controls or other items, use multiple screen strategy, something like wizards. 
  • Use good navigation options when moving back and forth on such screens.
  • Use sound alerts whenever possible.
  • Use visual indicators instead of text whenever possible. For example use icons to replace error messages to avoid extensive onscreen readings.
  • Take maximum use of the device capabilities to avoid extra typing. For example on GPS devices, never ask the user about his current city.
  • Help user with auto complete and dictionary text options to reduce the number of key presses per word typed.
  • Use different color text for different type of text. For example in an email program, subject is always grey and body is always blue. This avoids the need of extra spacing on screen when separating text controls.
  • Consider using landscape or portrait modes of screen depending on the application.
  • Give visual effects to associate actions. For example a screen transition of swipe right to left always tells that you moved forward one step onto the next screen and a transition from left to right may represent a step back. 
  • Ask many people to use your app to give you feedback on user interface experience and only your users can suggest improvements, not you yourself.
This list could go on forever. We will try to update the list every now and then. Please do leave your experiences and ideas in the comments box to contribute to this list. At mobile-apps-dev.com, we will try our best to help you make apps that are more usable and user-friendly.

Related Articles:

J2ME Screen and visual interfaces
J2ME Form example
J2ME Canvas example

No comments:

Post a Comment