maemo ui development -main menu

Continues from previous article click here for previous

Main Menu (Normal Mode)

Applications usually have two modes of on-screen existence: “Normal” (windowed) and “Full Screen.” When an application is running in Normal mode, the user is presented with a standard Hildon interface containing a (Main) Menu, an Application Area, (possibly) a Toolbar, and, in the upper-right corner of the screen, Minimize and Close buttons. (Full Screen mode will be explained in more detail later.)

This graphic displays the various areas available within all applications:

An application’s Application Area is the primary area of screen real estate where application content is delivered. Applications may or may not contain a Toolbar, based on the requirements of the application.

An application’s Main Menu is triggered by tapping on the Title Area in the upper-left of the screen, or by pressing the Menu button on the side of the Internet Tablet (more explanation of this button follows). This menu can contain all sorts of functions and options for use within an application, but there are a few items that should always be included in order to remain consistent within the maemo development platform:







Select All


Full Screen






Items can be added to the Main Menu and its submenus, but these functions (even if grayed-out and unusable) should remain in every application’s Main Menu. This may seem a little redundant, but users expect certain, consistent options when using applications. In many cases, when standardized options are not available, it can disorient a user. When an option is included, but grayed-out, it will inherently communicate to the user that they cannot use that particular function within the current application.

Edit Menu

Sometimes (especially concerning games), the Edit menu will have no use. In this case, the options under “Edit” should be grayed-out and inactive. But, whenever user-definable Settings are available — when the Settings window is opened — the Edit options should become active and allow the user to use the functions within any editable text field.

In the case where a Dialog box is required instead of an embedded window within the application’s Application Area the Edit Menu may not be applicable (Dialog boxes usually block access to the Main Menu), then activating the Edit Menu options is not required. Dialog boxes are very well described in the maemo SDK documentation and developers should follow those guidelines when adding a Dialog box to their applications.

View Menu

The View Menu is needed if an application can toggle between Normal and Full Screen modes. If an application can only be run in Normal mode, then the “Full Screen” option should be grayed out and inactive.

Tools Menu

Among other things, the Tools menus should contain a Settings option, a Help option, and an About option.

Settings “Window”

Settings can trigger an embedded preferences window that fills the Application Area of the application, or a Dialog box that pops up and covers the application in the background. An application’s settings are specific to that application, so be sure to refer to the maemo SDK documentation about things like required buttons, State Saving, et cetera. If an application does not require any settings, the Settings option should still trigger a window to open. This window should contain a message akin to:

“This application does not require any settings.”

Help “Window”

Like the Settings screen, Help is usually application-specific. My advice it to include help text in an application no matter how simple you think the application is to use. There will always be someone with questions, and the Help section is a great place to head off some potentially annoying email correspondence. The Help section can be very simple and even just contain a hyperlink to a help page somewhere on the internet. But, the more effort you put into a good Help section, the better users will enjoy using the application. If you still feel that a Help section is not required, my advice is to trigger a window that says:

“Help is not available for this application.”

click the link to next ui development window

No comments: