the evils of design
anet's blog

20061206 Wednesday December 06, 2006

Wanna traverse?

Why desktop traversal does not equal 2D traversal.

So you're new to JavaME. You come from the desktop world and you want to create an application that runs on a cell phone. Where do you start?

There are many aspects of designing for the consumer mobile space that differ subtly and drastically from the desktop space. Cell phones and desktop pcs evolved for very different usages. Traversal is a great example of one of the places those differences show up so I am going to start with an overview of desktop pc traversal versus phone 2D traversal.

At a very high level, traversal can be defined as a way for a user to move a cursor or focus highlight around on a screen to interact with items on the screen.

Let's do a quick review of desktop traversal.

A desktop or laptop PC has a QWERTY keyboard and likely a mouse or similar input mechanism. The system software supports the concept of multiple overlapping windows. Drag and drop is used as a way to interact with the system. Using the keyboard to traverse between windows, menus, docks, icons, palettes, and such was developed as an alternate input mechanism; the mouse originally seen as the primary input device. What gets moved around might be a cursor and/or a focus highlight.

Desktop traversal assumes the use of a full keyboard. It has to deal with the concept of allowing the user to jump between top-level entities like menus and windows and low-level entities like text fields and popup menus. If the underlying toolkit supports automated layout of components and desktop traversal is built in, then its pretty easy to move about and figure out how to interact with items. There are lots of keys on the keyboard to map to the different kinds of operations needed.

Now lets review a cell phone.

A typical cell phone these days has an ITU-T keypad (0-9, * #), two or more soft buttons (physical buttons tied to soft labels shown on screen), an UP, DOWN, LEFT, RIGHT set of keys, and a SELECT button. Sometimes the UP/DN/LF/RGHT/SELECT combination is provided as separate keys or as a "joystick" or even as a "wheel". Some handsets provide additional buttons mapped to BACK, MESSAGES, INTERNET, VOLUME, etc. The only keys typically used for traversal are UP/DOWN/LEFT/RIGHT and SELECT. This is the primary input mode for handsets.

Most all cell phones also allow games complete access to all key codes. This means there is also a convention of using 2/8/4/6/5 keys to map to UP/DOWN/LEFT/RIGHT and SELECT. We will ignore this usage for now as these mappings are not typically used for general 2D traversal.

The screens on cell phones are reaching the pixel range of 320 X 240 on some high end devices but the physical size of the display is still no more than ~2.5 inches wide and ~3 inches tall. Higher dot per inch resolution then is seen on a desktop PC is common. That said, rarely does one see anything approaching multiple overlapping windows on a phone. Or menus for that matter. Nor does one usually see a cursor on a display; most handsets only employ a focus highlight (or traversal highlight) to indicate where a user is at on the screen.

2D traversal means that the user can move the focus highlight UP/DOWN or LEFT/RIGHT. SELECT is used to select a component. Selecting a text field might bring up a separate screen for editing or it might make a text field active and turn on text input mode. Depends on how the components are implemented on that handset.

NOTE: Rarely does one see a cell phone display that scrolls the entire display left and right. People get very disoriented and lost when that happens. Scrolling of the display occurs vertically only. It could be line-by-line or screen-by-screen.

If you are going to design an application for a cell phone, go out and try using applications and services on several different phones from different manufacturers. Don't just use the browser on the handset, try out the application launcher, games, and sections of the user interface like options or settings.

Do not expect much consistency. There is none and won't ever be any. Handset manufacturers like to differentiate. Thats part of their brand awareness.

Now that you have some idea of the differences in the traversal area, you can begin to think about your application design. Or, how you are going to cram lots of functionality into a small screen AND make it eminently usable with only a couple keys.

[evil laugh]

( Dec 06 2006, 02:22:33 PM PST ) Permalink


Archives
Links
Referrers
www.flickr.com
anet26's photos More of anet26's photos