At this point, the high-level user-interface design is complete:
-
The primary windows have been identified.
-
The user-interface elements and their navigation paths have been defined (the Navigation Map).
The detailed design of the user-interface elements can now be performed. The following are different aspects of
designing the user-interface elements. Each of these are described below:
Design the Visualization of the Primary Windows
The visualization of the primary windows, and the main primary window in particular, will have a significant impact on
the usability of the system. Designing this visualization is about determining which parts (properties) of the
contained user-interface elements should be visualized. The Storyboard flows of events can be used to help prioritize which
properties to show. If the user needs to see many different properties of the user-interface elements, you may
implement several views of a primary window, each view visualizing a different set of properties. Designing this
visualization also means that you have to look at how the properties of the contained user-interface elements should be
visualized, by using all visual dimensions. For details, refer to section "Visual Dimensions" in Guideline: User Interface (General).
Where possible, attempt to identify "common denominators" across the elements to be displayed in the primary windows.
By visualizing common denominators in some dimension, the user can relate the elements with each other and start to see
patterns. This greatly increases the "bandwidth" of the user interface.
Example:
Assume you have a customer service system, where you want to show aspects like:
-
the customer's complaints and questions over time
-
what products the customer has purchased over time
-
how much the customer has been invoiced over time
Here, a common denominator is "time." Thus, displaying complaints/questions, purchases and invoices beside each other
on the same horizontal time axis will enable the user to see patterns of how these are related (if they are).
Design
the User Actions of the Primary Windows
This is where you decide how to "implement" the user actions that can be invoked for the primary windows. It is common
that the user actions of the primary windows are provided as menu items in a menu bar, and are provided as an
alternative and complement via pop-up menus and toolbars.
For each primary window, define the menu(s) and menu options. For example, in a document editor, there is an Edit menu,
grouping cohesive operations such as Cut, Copy, etc.
Some user actions may require a complex interaction with the user, thereby justifying a secondary window of their own.
For example, in a document editor, there is a Print operation on a Document that, due to its complex interaction,
justifies a separate dialog window.
If a large number of objects are to be visualized in a window, it may be necessary to design user actions involving
these objects. The following are some examples of such user actions:
-
searching among multiple objects
-
sorting multiple objects
-
browsing hierarchies of multiple objects
-
selecting multiple objects
Refer to Guideline: User Interface (General) for more detail.
Design Miscellaneous Features
Add the necessary dynamic behavior to the user interface. Most dynamics are given by the target platform, like the
select-operate paradigm, open by double-clicking, pop-up menus on right mouse button, etc. There are, however, some
decisions you need to make, including:
-
how to support window management
-
what session information, like input cursor position, scroll bar position, opened windows, window sizes, relative
window positions, etc., to store between sessions
-
whether to support single or multiple document interfaces (SDI or MDI) for your primary windows
Also evaluate other common features that can enhance usability, including the following:
-
whether "on-line help," including "wizards," should be provided
-
desirability of an "undo" operation, to make the system safe for exploration
-
whether "agents" should be provided, to monitor user events and actively suggest actions
-
whether "dynamic highlighting" should be provided, to visualize associations
-
whether user-defined "macros" should be supported
-
whether there are specific areas that should be user configurable
Refer to Guideline: User Interface (General) for more detail.
|