Application Design

The most important thing to consider when developing for mobile devices is the reduction in screen area when compared with a regular desktop. With this in mind during the Ubuntu Developer Sprint in Boston, the mobile team brainstormed some key points to consider when working in this environment:

□ Screens and dialogs must fit onscreen. This is normally 800 X 480.

□ Applications with multiple screens (such as GIMP) should present an easy, obvious way to navigate between screens.

□ The filesystem is not as visible for a user as it is on a normal desktop environment. Consequently, users should never need to know a filename; they should only interact with metadata (thumbnails for the image viewer, song/artist name for music, from/to/subject headers in e-mail, and so on).

□ Wherever possible, traditional open/save dialogs should be avoided — although (given the most popular iPhone user requests) the ability to copy and paste between applications is important.

□ "Attach File" dialogs need to present a friendly list of objects to attach (thumbnails or metadata).

□ If the user has to be presented with a list of files, the list must include only relevant files. Hidden files and folders should always be excluded.

□ The number of configuration options should be minimized. Applications should come preconfigured with intelligent defaults. Options should be included only if they're easily understood by the computer-phobic or if they're likely to be useful to a large number of users.

□ Users love instant feedback. Aim for any interaction with the UI results in a visual/audio feedback within 200ms, which is the upper limit of what's necessary for the appearance of "instant." For a tactile device like a MID, it's important that widgets act like physical objects. Delayed reactions remind the user that they're on a computer.

□ Battery life is a major goal for the Ubuntu Mobile platform. Applications should use the application request latency from Device Kit, see Chapter 3.

□ Error messages should suggest a course of action to the user in the event of a problem. The new Jaunty Notifications system is discussed later in this chapter.

□ When interacting with a touchscreen, research has shown that users will prefer to use the pad of their finger rather than the very tip. This is important as it means interface elements should be no smaller than 1cm (0.4").

It is important to note that the minimum button size for a finger-driven UI is a function of the real pixel density, not the screen resolution. Pixel density is a measurement of the resolution of devices in various contexts and the program xdpyinfo can give a measure of this. Running the following on a MID machine

$ xdpyinfo | grep resolution gives the following resolution used:

resolution: 96x96 dots per inch

Was this article helpful?

0 0

Post a comment