Legacy Maemo 5 Documentation/Human Interface Guidelines/Windows

=Windows= The construction, organization, and behaviour of windows within Hildon are quite different than those found in traditional desktop applications. For example, users cannot drag or move windows in Hildon.

This section covers some of these differences by describing the properties and organization of certain types of windows (e.g., wizard dialogs).

Window Views
In Hildon, the concept of window organization is very important to developing a highly usable application. In a traditional desktop application, it is normal that a function in one window might bring up another window -- which can then bring up a third one, etc. In Hildon, a new concept called "window views" is introduced. Windows views just means that there is a stack of windows, users only seeing the top-most window. Application can have several window views describing various tasks. Window views can be broken down into "root view" (the application's main window, figure1), on top of which "sub views" (figure 2) are created (e.g., writing or forwarding an email, choosing from a list of contacts, searching emails, etc.).



Figure 1: A root window

Many activities in an application should be presented and performed in subviews. After interacting with sub views, users can press the back button to return to the root view.



Figure 2: A sub view

Because of this new methodology, "split" or "tree" views should never be used. Instead, each area that might have been split, should be moved to a new sub view in the window stack. As an example, consider an email application. The root view would present the user with a list of options he can choose like "Inbox," "Outbox," "Drafts," etc. If the user chooses "Inbox," a new sub view window is displayed with a list of messages in the user's Inbox. Clicking on a message from the list would then bring in a new sub view window containing the message content.

Always provide the user with the proper navigation in order to move between the open window views within the stack.

Note that it is important to choose when an action on an element in a window of a stack will either initialize a new sub view or a full independent window. Normally, new tasks that interrupt the typical flow of actions are likely to require a new independent window and not a new sub view. For example, when browsing a to do list, the action of creating a new to do item should be an individual window and not a sub view.

Titles
Every window should have a title. Although, given the small screen dimensions, a window title should neither be long nor contain unnecessary information. For example, do not include the program's version number in the title text.

Since only one window is shown at a time, it is quite easy for users to identify which application a visible window belongs to. Because of this, repeating an application's name in every window title is not required. In fact, doing so could even make the user's experience more complicated than it needs to be.

Sizes
When applications are in normal mode (not in full-screen mode), its main window should always occupy the maximum allowable size (i.e., the same size as the desktop, minus the top of the screen, where framework-specific information is displayed).

Window Modes
An application's window can either be displayed in normal or full-screen mode depending on application type and availability of modes.