MID UI Issues and Suggestions

Submit New Article

Last Modified On :   October 9, 2008 5:07 PM PDT
Rate
 


A discussion of MID Usability and Interface issues, along with suggestions for addressing them.

The organization of the following list of items is.

  • The first level item is the problem.
    • The second level item is a suggested solution.

If you have questions, comments or want to discuss an issue via email please write me at: dale dot t dot taylor at intel dot com.

Contents

 

MID Usability Issues

Due to hardware constraints the MID needs to be carefully designed for, not merely a port of a desktop version of software.

  • Less usable screen space than a desktop
    • Eliminate unnecessary UI components, take full screen. Avoid screen edges and corners, as selection areas.
    • Organize your User Interface carefully.
  • Dialogs don’t fit on the screen
    • Consider wider dialogs; design your interface to keep dialogs small.
  • Vertical/Horizontal screen orientation can change
    • Anchor dialog boxes to the upper left.
    • Design dialogs to support both orientations.
    • Use the full screen
    • Some applications are designed with a strictly horizontal or vertical orientation and require the user to stay in that orientation for the applcation to function as designed. This is a reasonable approach to take for specific uses.
  • Screen not large enough to present the data
    • Use vertical scrolling with controls large enough to facilitate usage.
    • Avoid horizontal scrolling when possible
  • Interface needs additional input
    • Use hardware buttons where possible.
  • Accidental activation
    • Buttons need to be large enough for both finger and stylus input.
    • Provide a way for users to back out of any screen.
  • Additional navigation desired
    • Use on screen navigation controls. Make them large enough to use and select.

MID User Interface Suggestions, Hardware limits

The hardware requirements support a range of devices, not a single screen size or resolution for example. Your software design needs to account for this.

  • Physical screen sizes and resolutions are different
    • Make sure your text is readable on an actual MID. This is important because the physical size of the screen is much smaller than you would see on a regular monitor displaying 800x600 for example.
    • Be aware of the possible default resolutions: 800x480 and 1024x600, with 800x600 and 1024x768 available through video scaling technology
  • Some devices are optional (keyboard and optical drives may not be present)
    • Don't require a keyboard, design to limit required text entry.
    • Don't require an optical drive, use web install and other methods to work around this.
  • Screen orientation changes
    • Handle screen rotation from all aspects of your UI
    • Some applications are designed with a strictly horizontal or vertical orientation and require the user to stay in that orientation for the applcation to function as designed. This is a reasonable approach to take for specific uses.
  • Right clicks and multi-button clicks are difficult to do.
    • Avoid requiring difficult to accomplish clicks. Design to provide easy methods for common activities

MID Power/Performance Optimizations

To keep the devices small, the batteries are small and light, which requires careful planning in how you architect your software.

  • High CPU Utilization: fixed workloads
    • Optimize performance so that the task is finished sooner and the CPU can step to lower power states
  • High CPU Utilization: stead-state workloads
    • Optimize performance to allow the CPU to run at lower frequency for the duration of the workload
  • Heavy workloads (video playback for example)
    • Can feature quality be turned down? Consider using a lower resolution workload to match the output device.
  • Excessuve use of the hard drive
    • Reduce disk accesses by buffering data to let the drive spin down earlier and remain inactive longer
  • Inefficient Spin-Wait loops
    • Use subscription methods rather than polling which keeps the system unnecessarily busy
  • Un-optimized Media Playback
    • Utilize Hardware media acceleration where possible

 

MID Connectivity Issues

MIDs are portable and thus subject to connection state changes. Well designed software needs to account for this and continue to operate in a well behaved fashion without causing problems for the user.

  • Unreliable connection
    • Use subscription methods to maintain understanding of connection status
  • Online transition to offline
    • Begin caching of information that will need to be synchronized upon reconnection
  • Offline transition to online
    • Detect new connection, synchronize data as previously prepared while offline
  • Data loss during on/offline transition
    • Use secure methods of data transmission to maintain data integrity (avoid data-gram packets)
    • Maintain local cache until transmission verified to server system
  • Server or web-service non-responsive
    • Treat as connection failure, maintain local cache and wait for working connection
  • Synchronous Messaging
    • Use Asynchronous Messaging to avoid potential blocking issues

Do you have any suggestions for optimizing the UI, of for power and performance? Share your learnings with us.