Documentation/Maemo 5 Developer Guide/Porting Software/Redesigning From Maemo 4 to Maemo 5

This chapter instructs how to re-design a Maemo 4 application to Maemo 5, i.e. the Hildon 2.2 UI Style. The Modest email client is used as the example application.

This document is supported by the Fremantle Master Layout Guide and Hildon 2.2 UI Style Guide for visual guidance and references, as well as by the Hildon 2.2 Widget UI Specification for interaction and technical background information.


[edit] Overall Guidelines

Compared to Maemo 4, the Hildon 2.2 UI Style in Maemo 5 is much more optimized for finger usage in small mobile device displays.

When the focus in design moves from stylus oriented user interface (UI) to finger optimized user interface, the reduction of the amount of visible elements in the UI becomes first priority. This means that unlike typical desktop applications, most of the functionality is not provided in a single view, but instead there are more views and each view is optimized for a single use case only. This is similar to the UNIX philosophy – “do one thing and do it well".

The major changes in the Hildon 2.2 UI Style include larger size for UI elements, removal of focus (particularly in lists), no dimming of buttons, limit of 10 items in view menus, removal of tabs in dialogs and lesser importance of toolbars and context sensitive menus.

[edit] Larger size of UI elements

By default, the UI elements in Maemo 5 should be designed as “Finger size”. This means that on average, a view can contain fewer visible UI elements. To compensate this, views and dialogs can be designed to support panning, allowing for larger amount of UI elements in total. However, panning is not an ideal design solution for all use cases.

[edit] Removal of focus

While in Maemo 4, the application menu and the toolbars often relied on focused/selected item or items as the target of a command, in Maemo 5 there is no focus. This also means that keyboard navigation is not supported in the UI in general.

In Maemo 5, the design should follow one of two possible UI flows:

  • User navigates multiple views from a list or a grid of items to a view with single item. Commands that operate on that single item can be provided in that last view (typically via View menu or Toolbar)
  • After user has activated a command, a separate item selection view is used (typically Edit Mode view)

[edit] No dimming

Instead of dimming (buttons, menu items ...), the UI elements should be simply hidden away, when they are not active. There are some corner cases where hiding would break the UI flow. For example Edit mode view toolbar simply shows the action button as always active, even though nothing happens, when nothing is selected, if the button is pressed.

[edit] Limit of 10 items in the view menus

The Maemo 4 application menu typically contains most or the full set of functionality of the application, organized in hierarchical menus. In Maemo 5, there is a strict limit of maximum 10 items in a view menu, and there is no menu hierarchy.

The Maemo 5 View menus are not application menus, in the sense that a view menu only contains commands relevant to that particular view. The only exception to this is the Root view menu, which additionally contains menu item(s) for application settings.

[edit] Removal of tabs in dialogs

When designing dialogs in Maemo 5, the tabs of a Maemo 4 dialog are merged to a single tab-less dialog with the whole content area of the dialog being pannable. In practice this results in the user panning the dialog instead of switching between tabs.

If additional semantic grouping is needed for UI elements within the dialog, then group titles can be used by utilizing GtkFrame.

[edit] Fewer toolbars and context sensitive menus

With the removal of focus from default lists and grids, the UI designs for Maemo 5 typically do not include toolbars for views that contain multiple items. Toolbars are still used in views where only a single item is being shown.

The main use cases for context sensitive menus in Maemo 5 are only:

  • To show commands that operate on a single list/grid item
  • To show commands related to an item inside content, for example a web link.

Note that the context sensitive menus should only include commands that are not available elsewhere in the user interface.

[edit] Re-design of Modest email

The following paragraphs describe the overall changes made to the Modest email client when re-designing it from Maemo 4 to Maemo 5.

[edit] Task views

In Maemo 4, Modest had three views: Main view, Viewer view and Editor view. In Maemo 5, the Main view was divided into more focused views, which allowed to get rid of the split view as well. The new five views are: Accounts view, Folders view, Messages view, Viewer view and Editor view.

Collage of Maemo 4 and Maemo 5 Email UI
Email UI Flow in Maemo 4 and 5

While in Maemo 4 the different views are separate windows (and visible as such when switching between tasks), in Maemo 5 the views are designed as a “stack”, i.e. only one of the views is ever visible at any one time.

The Maemo 5 approach allows the design to avoid many concurrency problems caused by changes happening in several windows at the same time. On the other hand the design forces the views to always be closable. This means for example that in Maemo 5, the Editor view always automatically saves as draft, without further confirmation, when that view is closed.

The UI flow of Modest in Maemo 5 follows the “drilling down” UI flow – Initially the most generic view is shown (Accounts) from which more detailed views can be reached (ending up in Viewer). The Editor view is not directly part of this flow, but instead can be accessed from any of the other views. Going back from the Editor view shows the previous view of the “stack”, i.e. the view from which the user opened the Editor view.

[edit] Accounts view

The design of this view is simply to list the accounts that the user has set up on the device. Tapping on any of the accounts opens the Folders view of that account. In addition to the account name, also the time stamp of the last account refresh is shown on each list item.

The first item in the list is “New message” button, which is a convenience shortcut to quick write a new email in the Editor view.

Screenshot of Accounts view
Maemo 5 Accounts view

[edit] Folders view

This view lists folders related to the selected email account. Additionally, Local folders (stored on the device), and Archive (stored on external memory card if available) are shown in the list.

The folder tree in Maemo 4 was a direct representation of the physical folder structure. In Maemo 5 the fingerable lists are flat and pannable, and expandable lists are not supported. These constraints required re-designing how subfolders are represented in the UI. A full-blown design of each-subfolder-is-a-subview was too navigation-heavy for an email application, and instead all folders and subfolders are shown in the same pannable list.

The depth of a folder is indicated by the amount of dots (·) placed before the name of the folder.

The icon in each list item represents the location of the storage (email server, local, MMC), except for the standard email folders, which have individual icons (Inbox, Drafts, Outbox, Sent).

If a folder contains new, unread messages then this status is indicated with ActiveTextColor on the folder name and with informative text on the right half of the list item.

Screenshot of folder view
Maemo 5 Folders view

[edit] Messages view

The messages view in Maemo 5 has very few changes compared to Maemo 4. The most visible changes are 1) indicating the unread status with ActiveTextColor and 2) the “New message” shortcut button.

Screenshot of Messages view
Maemo 5 Messages view

[edit] Viewer view

The main changes in the viewer view has been to remove all less important UI elements either to view menu or to the toolbar – the subject is shown in view title, the message header only contains From, Date and Attachment fields. This design allows to maximize the screen space for the most important content (the email message itself), while giving direct access to most used actions in the toolbar.

Diablo Viewer view Viewer view

[edit] Editor view

The basic layout and logic of the Editor view remains unchanged. However, due to increasing the UI elements to finger size, the following tweaks were made to this view:

  • “Send” button was moved to the right side of “from” picker button, in order to reserve the toolbar only for message formatting commands
  • Addressbook buttons were merged with the To, CC and BCC field titles to save screen space and increase usability – tapping directly on the content. Also, CC and BCC fields are now hidden by default.
  • Attachment button was moved to View menu, also to save screen space.
Diablo Editor view Editor view

[edit] Commands

The following tables compare the commands in the Maemo 4 and Maemo 5 versions of the Modest email client.

The Maemo 4 version duplicated most of the commands between the Application menu, Toolbar and Context sensitive menu.

Location Menu commands in Maemo 5 Modest
Accounts view menu New account, Edit accounts, SMTP servers, Send & receive / Stop sending, Settings
Folders view menu New folder, Rename folder, Move folder, Delete folder, Send & receive/stop sending, Edit account
Messages view menu New message, Move messages, Delete messages, Folder details, Sort, Send & receive/stop sending
Viewer view menu Find in message, Move message, Forward, Mark as read, Mark as unread, Save attachments, Remove attachments, New message, Add to Contacts, Message details
Editor view menu Check names, Undo, Show/Hide CC, Show/Hide BCC, Insert image, Add attachment, Remove attachments, Message settings, Find in message

Notable changes are:

  • In general, commands are specific to their view
  • Accounts view menu is the main and only access point to application settings
  • Edit mode view (for selecting items) are opened from: Rename folder, Move folder, Delete folder, move messages, delete messages
  • Viewer and Editor menus only contain commands which are not available in the view’s toolbar.
  • Additional, view specific, settings dialog is opened from “Message settings” in Editor menu. That dialog contains settings for message priority (high, normal, low) and message format (plain text, formatted text). The settings only apply to the currently edited message.
  • New message command only appears in Messages and Viewer view menus, as access to that command is provided by quick access button in Accounts view, Folders view (the first item in the list)
Location Toolbar commands in Maemo 5 Modest
Viewer view toolbar Reply, Reply all, delete, load external images, previous message, next message
Editor view toolbar Font face, Font size, Bold, Italics, Font color

Notable changes are:

  • The Accounts, Folders and Messages views do not have toolbar, since they contain a list without focus. This also allows maximizing the amount of rows visible.
  • The commands in toolbars are not repeated elsewhere in the UI.
Location context sensitive commands in Maemo 5 Modest
Messages view context sensitive menu Delete, mark unread/read

Notable changes are:

  • Almost all the context sensitive menus were removed. Only the most important commands (targetting a single message) were included to the Messages view context sensitive menu.

[edit] Dialogs

There are very many dialogs in the email application, mostly due to the complexity of the email handling in general. This chapter uses the Account settings dialog as the example of changes in dialogs.

The most visible change in the Account Settings dialog is that the tabs used in Maemo 4 were removed and instead in Maemo 5, all the settings in the dialog are reachable with panning.

The conversion of the widgets themselves for Maemo 5 was quite straightforward – all the buttons, input fields, checkboxes et cetera were simply changed to their fingerable Hildon 2.2 versions.

Notable other changes are:

  • The signature button was moved to the dialog button area, since the settings in the dialog content are more related to email server connectivity.
  • The account deletion is included in the Account Settings dialog directly, as the account list dialog does not have focus.
Diablo account settings Modest account settings