This master thesis provides a set of principles, or guidelines, which aim to give practical and useful information in the process of developing user interfaces on mobile devices.
When talking about mobile devices the main focus is on PDAs and Smartphones, but it also incorporates portable PCs (including ultra portable PCs), tablet PCs and other mobile phones. The commonly used platforms, or operating systems, on these devices are Windows Mobile, Palm, Symbian, Linux and the new mobile adapted OS X. The guidelines aim to be platform independent, but most of the examples and illustrations are from the Windows Mobile environment.
The problem scope is found in the space between three main axes: user interface categories, user interface challenges and design approaches. The first two have been emphasized more than the latter.
Five user interface categories have been defined: form based, icon based, document based, graphic based and repetition based user interfaces. These categories are on an abstraction level above simple components and mechanisms but within the graphical user interface paradigm.
As user interface challenges go, a selection of six relatively common and often encountered challenges has been selected: switching between portrait and landscape screen orientation, software keyboard showing/hidden, content larger than its display container, finger optimized user interface, switching between stylus and finger optimized user interface and user interface able to run on equipment with different screen size. These challenges are found within the problems of utilizing screen space, flexible layout at run-time and flexible layout at design-time.
For designing and developing user interface four design approaches has been selected: programming, drawing, modeling and marking up a user interface. Each of these has differing pros and cons, which are dependent on the task at hand and where in the development process one might be.
Current mobile device applications have been examined. These were grouped under user interface categories and paired up against one or two selected challenges. The challenges where in most case handled in a relatively basic way. In some cases these solutions maintained usability, but far from always. Some challenges were rarely handled at all.
The guidelines found and presented conform to some main principles, which are: Facilitating scrolling functionality in one form or another (e.g. Panning and Borders Facilitate Scrolling), adjust or adapt components which the user interface consists of (e.g. Struts and Straps and Simple Adaptation of Existing Components), group content differently (e.g. Group Similar Components in Tab Folders and Partial Tab Folders) and do nothing, or lock the user interface (e.g. Lock User Interface in One Orientation).