The mobile challenge
From MobileDesign
Designing for mobile is more complex than designing for desktops. Device proliferation abounds.
[edit] Biggest Challenges
- Screen Sizes
- Deciding on correct content
- Realizing the mobile user is different then the desktop user
- The ever-changing mobile space
[edit] Device Proliferation
Mobile devices have a large variety of form factors, reflecting their varying market niches. We do not expect this to change. Beyond simple form proliferation, user interface methods vary, devices render applications differently, and devices have rendering idiosyncrasies.
To handle this, developers
- target devices - choose a handful of devices and disregard the rest
- least common denominator - attempt to write something that works okay on all devices
- adaptive design - detect device characteristics and tweak the user interface
- Class Based Design - define classes of devices and design for these classes, as described below
[edit] Mobilization
While the world of desktop design patterns all assume a consistent set of capabilities of the computer, patterns targeted at the mobile space must take into account the varying capabilities and user interface styles of the native operating system.
Some UI design patterns, particularly the aforementioned "usability patterns" are identical to desktop design. Other patterns vary due to size of screen, cost of connectivity, input mechanism, technologies available, et cetera. In general, be suspicious of any desktop navigation or screen layout pattern - it may not mobilize well.
Mobile design patterns do not follow a strict categorization by application development platform. There are some portions of the wml namespace that, if present, enable interaction like AJAX or even Java ME. Thus a solution for one platform might be useful for a wildly different platform.
To mobilize a UI design pattern, first understand Jared Spool's [The Elements of a Design Pattern] and Jennifer Tidwell's [About Patterns] from her book [Designing Interfaces]. Next, see UsingDeviceHierarchy and CreateFromScratch on this site.

