# Chapter 20

| # Graphical User Interface Guidelines

> This section covers the following topics:

- Main Console--page 466
- Server Object Representation and Object Management
- Status Messages--page 473
- User Input--page 475
- Keyboard Navigation Shortcuts--page 477
- Table Appearance and Behavior--page 478
- Colors--page 481
- Fonts--page 482
- Graphing--page 482
- Property Setting Dialog--page 484
- Time Setting--page 486
- Alarms--page 487
- Details Window--page 489

> These UI guidelines can help the developer of Sun Management Center
> software-related products to create a user interface that is easy to learn, easy to use, and highly consistent with the existing Sun Management Center user interface.

> > Note - This chapter provides guidelines for making your software consistent with the various components of the Sun Management Center graphical user interface. However, these guidelines should not be construed to imply that support for a particular component necessarily exists in the Client API.

> Sun Management Center software is built on Java 1.2, which placed limitations on the implementation of some UI elements, including:

- Keyboard navigation
- Keyboard shortcuts
- Default buttons
- Drag and Drop

> Although these elements are not fully implemented in Sun Management Center software, they are important and are discussed in the following section. If you implement using a version of Java that supports these features, you can use these elements.

### Consistency

> Consistency is a broad term that can be interpreted in a number of ways. Here are three simple definitions, with examples, to keep in mind.

- When users must distinguish differences quickly and reliably, the visual cues to make that distinction should be consistent for different uses and in different locations in the application.
  Example:
  Sun Management Center software uses alarm badges to indicate trouble states on objects, and the OK state is signalled implicitly with no badge. This makes it easy for users to detect anomalies in the console view (trouble states stand out). Adding an OK badge is inconsistent with the Sun Management Center model.
- The location of information is important, as users can find information quickly and automatically if it is always in the same place (where "place" is a main window, a tree hierarchy, a dialog window, a menu, and so forth). In adding new functionality, use the established locations for the same types of information. If the established location runs out of space, make it larger before adding a new location.
  Example:
  Sun Management Center software presents detailed alarms information in the Alarms tab of the Details window. If you have additional alarms information to present, put the new information into the existing Alarms tab panel. If the main Alarms panel cannot hold the your information, try putting it into child-windows of the Alarms panel (for example, dialogs).
- Layout of information inside windows should arrange the most important or most frequently-used information consistently with existing windows. This way, users can keep their old habits of where to look and where to point.
  Example 1:
  Sun Management Center domain manager places buttons that modify table elements to the right of the table.
  Example 2:
  Sun Management Center attribute editor gives important information about the object (object label, object location, variable name, variable's current value) at the top of the window. Consistency requires that new dialogs provide the same kinds of information and put it in the same place.

### Information Sources

> If you have questions that this guide does not address, here are some additional sources of information:

- Use Sun Management Center 2.x software as your guide.
- Conduct usability testing. This can range from hiring a professional for complete testing, to showing your proposed design to end-users and getting their feedback.
- Consult published guidelines. While not always consistent at the detail level because they were developed under different operating systems, they agree on the basic principles. Internet links to published guidelines include:
  - Java Look and Feel Guidelines by Sun Microsystems, Inc.
    `http://java.sun.com/products/jlf/dg/index.htm`
  - Windows Interface Guidelines for Software Design by Microsoft Inc.
    `http://mspress.microsoft.com/prod/books/963.htm`
  - Macintosh Human Interface Guidelines by Apple Computer, Inc.
    `http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html`
  - Links to consortium guidelines for UNIX user interfaces:
    `http://www.acm.org/sigchi/hci-sites/`
- Employ the services of a professional UI/interaction designer. A directory of designers is available at:
  `http://www.acm.org/sigchi/hci-sites/CONSULTANTS.html`

## Main Console

> FIGURE 20-1 shows the Main Console Window.

> FIGURE 20-1 Main Console

> The main console is divided into seven sections: pull down menus, navigation buttons, Sun Management Center Administrative Domains pulldown menu, alarm buttons, two panels and a status line.

- Menus: The pull down menus going across the top of the console window are labeled File, Edit, View, Go, and Tools.
  - File menu: The items under the File are Domain Manager, Remote Domain Manager, Set Home Domain, Sun Management Center-Console. These items operate on domains. If you plan to add Domain management functionality, it should be launched from this menu.
  - Edit menu: The items under Edit are Create an Object, Create a Connection, Delete Object/Connection, Rename, Modify, Cut, Copy, Paste, Paste Into and Select All. The Edit menu items are used to modify objects, not domains.
  - View menu: The items under View are Topology Layouts and Set Topology Background. If you add any view-like functionality to Sun Management Center, put it in this menu.
  - Go menu: The items under Go are Back, Forward, Home, Up, History and Search. These act the same as web browser buttons and contain the same functionality as the navigation buttons located directly below the menu bar.
  - Tools menu: The items under Tools are Details, Attribute Editor, Graph, Discover, and Load Module. Most add-on applications that enhance Sun Management Center software should be listed here.
- Navigation buttons: The navigation buttons act the same as web browser buttons.
  - Back takes you to your most recent topology hierarchy location.
  - Forward moves forward in the navigation history.
  - Home takes you to your home domain.
  - Up arrow on folder traverses the object hierarchy upward.
  - Search magnifier icon opens the Go To window.
  - Help "?" icon opens the Sun Management Center online Help.
  - About box: An About Box can be brought up by clicking on the Sun Management Center icon to the far right of the navigation buttons. The About Box includes information such as the product name, version number, build number, and copyright information.
- Sun Management Center Administrative domain pulldown menu: Lists all of the domains that the console can administer.
- Alarms buttons: The Alarms buttons are in a horizontal array under the Sun Management Center logo. Clicking on the alarm button opens a window with a summary of the objects that are reporting problems to the level of the alarm. The icons appear on both the alarm buttons and as badges on the hardware icons. If you add new alarm levels (and hence additional buttons) make sure that buttons are arranged in descending order of alarm severity.

### Server Object Representation and Object Management

> Sun Management Center software provides a host-centric user interface. That is, management is done from the perspective of the managed objects (servers and workstations). The entire main console is devoted to creating, displaying and editing managed objects. In a large or complex enterprise server installation, the number of managed objects can be large, and monitoring for errors or anomalies requires the ability to find malfunctioning objects quickly.

> FIGURE 20-2 Main Console Window with Hierarchy and Topology Views

> The server objects are represented in both a tree view list in the left panel and a layout view in the right panel (FIGURE 20-4). Object icons can be any size, but most of the existing icons are 42 x 42 pixels in the right-hand topology view and 16 x 16 pixels in the left hierarchy view. If you add new object icons, their sizes should be approximately the same as the existing icons.

> The layout view, presented in FIGURE 20-4, is potentially very powerful, as it can be used to indicate the location of a managed object in real physical space, such as a server room. This enables monitoring or service personnel to pinpoint the exact location of a trouble source. Background images for this purpose can be added by selecting Set Topology Background from the View menu.

> Typical Sun Management Center software customers have hundreds, and in some cases thousands, of host objects to manage and for this reason the main console, and all of the sub-consoles, must scale to large numbers. The main console has several features designed specifically for scalability:

- Main console uses both main panels for showing objects. The left panel is a hierarchical list; the righthand panel enables user-specified layout views (network view, list view, bus view, and so forth) and the ability to superimpose managed object icons on a graphical background.
- Grouping: Users can create group containers and place managed objects in them, in any way that makes sense for that user's management requirements. Groups can be moved around with their contents unchanged just like objects.
- The highest level of grouping in the Sun Management Center software console is the administrative domain. Domains can be created and deleted, populated with objects automatically or manually, and have user permissions (security) set specifically for them.
- The Sun Management Center console provides a Go To function (similar to search) that enables the user to find an object by name. This permits quick access to a particular object (including groups) within a large number of managed objects and groups.
- Actions specific to particular managed objects are quickly accessible through the right-mouse-button. These actions vary according to the object.
- Sorting and filtering permits the user to reduce the amount of information in a particular view by showing only the most relevant information. Sun Management Center software currently supports sorting and filtering at the data-table level, but does not support these functions at the topology object level.

### Guidelines for Modifying Topology Views

> Do not enhance or change the presentation of the Sun Management Center software agent in such a way as to interfere with the features described previously.

- Add new group and object types: Study the Create Topology Object dialog carefully (including the contents of all menus) before adding any new object types. The type you need may already exist. If not, make sure any new object types are represented in all the right places (Create Topology Object dialog, Discovery filters dialog), and that each has a full set of icons (large, small, tagged, untagged).
- Use good object management dialogs: FIGURE 20-3 is an example of the Sun Management Center Domain Manager dialog. Its central feature is a list of the objects. Along the right side, arranged vertically, are buttons that provide the main actions that can be done on the objects. Selecting an object enables all buttons whose actions can be applied to the selected object.

> FIGURE 20-3 Domain Manager

- Add and subtract right mouse menu items freely: Ensure that they consist only of items that apply to a particular object.
- Sorting/filtering: If you are developing an enhancement or addition to Sun Management Center software that can provide sorting and/or filtering, make sure that the results of sorting/filtering are consistent with the presentation of objects by Sun Management Center software.
  - Make sure filter/sort actions are presented near the site of their action, for example, just over the list of objects.
  - Make sure the action applies equally to both console panels (layout view and list view).
  - Provide an explicit `show all` and/or `unsort` option.

### Layout View

> The topology view (FIGURE 20-4) displays the object selected in the hierarchy view, along with any peers that share its container.

> FIGURE 20-4 Main Console Window with Hierarchy and Topology Views

FIGURE 20-5 shows an example of how the user can load a background `gif` file and place the items in a physical location, in this case a server room.

> FIGURE 20-5 Topology View

### Object Layouts

> Only users with permission to create objects and groups are permitted to change layouts.

> The choices are accessed through the Views menu:

- Network (unconstrained)
- Grid (object positions constrained to lie in a rectangular grid)
- List (objects listed vertically)
- Bus (objects linked with lines in a bus pattern)
- Star (objects linked with lines in a star pattern)
- Spoked ring (objects linked around a ring)

> Layout affects only the group within which it was chosen, but it is visible by any user console in which that group can be seen.

### Status line

> A Status line is located at the bottom of the console window. Be sure to give the user feedback about what is going on. The Sun Management Center status line gives messages such as "Downloading physical view images, please wait." "Paste was successful", "Object was created." This is a good place to put error messages, such as "Object not found."

## Status Messages

> Status messages must be shown left-justified at the bottom of every window (FIGURE 20-6). Messages from a previous action must last only until the next command is requested. When a new action is initiated, the status field must clear first and then show a message indicating the ongoing status of the new action, as that becomes available. Fonts and colors for status fields should be as defined in the Fonts section.

> FIGURE 20-6 Status Message Location

## User Input

### Mouse Actions

> The mouse actions are consistent across the Main Console, Details windows, and dialogs. This is an especially important consistency feature, because mouse actions are used quickly and automatically by most users. They do not want to have to stop and think about how to use the mouse. Mouse actions are defined as follows:

- Left button click:
  - Objects--If the cursor is on an object in the topology or hierarchy view, left button click highlights and selects the object.
  - Widgets--If the cursor is on a widget (for instance a checkbox or pulldown menu), a single left button click operates the widget.
  - Text fields--On entering a dialog containing text fields, the user is not required to click the mouse inside the first field. Rather, the contents of the first field are highlighted with the cursor positioned at the far right of the contents.
- Left button double-click:
  This action opens a topology object. In Sun Management Center software, open is defined as follows:
  - In the topology view:

      If the object is a host, then double-click opens the Host Details window and the object in the topology and hierarchy views maintains the selection highlighting.

      If the object is a container, then double-click opens the container to show the contents.

  - In the hierarchy view:

      If the object is a closed container, then double-click opens the container in both views (drops open the contents list in hierarchy view, navigates to and shows contents of container in layout view and the name of the container in the location field above layout view).

      If the object is an open container, then double-click closes the container in hierarchy views (snaps up contents list) and also navigates to and shows contents of container in topo view and the name of container in location field above layout view).

      If the object is a node, then double-click opens the Details window and the object in the hierarchy view maintains the selection highlighting.

- Right button click:

    In all views, this action opens a popup menu to provide commands that can be executed on the selected object. The popup menu is context sensitive; the exact commands appearing there vary according to the selected object.

- Left button Click-and-Drag:

    This action enables you to drag objects to change their positions inside the righthand layout view of the Main Console. Dragging objects over other objects and dropping them has no effect. Drag-and-drop are not supported in Sun Management Center 2.x software.

### Selection Highlighting

#### Selecting Objects

- In the hierarchy view, highlighting must be done with a solid medium-blue rectangle enclosing the label (with label text inverted to white).
- In the topology view, highlighting must be done with a medium-blue open rectangle enclosing the icon, and a solid medium-blue rectangle enclosing the label (with label text inverted to white).

> When a selected object is put into the cut mode (by selecting the Cut item from the edit menu), the selection rectangle must go to the dashed-line form. The dashed-line rectangle must encircle the entire icon plus the text area (for example, remove text highlighting).

> Multiple selection of topology objects is supported. Multiple selection cam be done two ways:

- Drag-select
- Shift+select for second and additional objects

#### De-selecting Objects

- Any selected object must be deselected when another object in the hierarchy or the topology is selected.
- Any selected object or group must be de-selected with a mouse click elsewhere in the window.
- Clicking again on a selected object must not de-select it. The cursor must be elsewhere to de-select. The exception is:
  - When a selected object has been put into cut mode (by selecting the Cut item from the Edit menu), then removing the cut mode from the object must be done by explicitly clicking the object again. The dashed-line rectangle is then removed and the regular selection highlighting is replaced on the object.
  - When multiple objects have been put into the cut mode, then clicking any object again will remove the cut mode from all the objects.

## Keyboard Navigation Shortcuts

> Like mouse actions, consistent keyboard action are important because users rely on keyboard navigation to be quick and automatic, requiring little thought.

> Sun Management Center software follows the Microsoft guidelines for keyboard navigation (The Windows Interface Guidelines for Software Design, Microsoft Corp., 1995).

> > Note - Keyboard methods are not well supported in Java 1.x software, on which Sun Management Center software is built. Only minimal keyboard navigation is provided.

> The appropriate exit buttons for a dialog depend on what the dialog is intended to do:

- Use OK and Cancel for confirmation dialogs and for dialogs that consist of a single discrete action that the user wants to complete quickly.
  Example (confirmation): Do you want to save this?; Launch discovery now?, Are you sure you want to delete that object?
- Use OK, Apply, and Close for dialogs in which objects are created, or properties edited, using multiple fields. The OK and APPLY buttons are only sensitized if fresh data has been entered into the window since the last click of APPLY. Close will close the window without taking any action on data currently entered in the dialog.
- Use a Close button only if the changes made in a dialog or window take effect immediately and are not accumulated over multiple input fields before being committed.
- Use Action Names (for example, Load, Save, Create) as the default action (instead of OK) in cases where the appropriate word is obvious, and short enough to fit on a button.
- When buttons are arrayed horizontally at the bottom of a dialog, then the order is:
  - Leftmost--the default action, for example: OK, Save, Create
  - Middle--additional options, for example: Apply, Reset, Clear
  - Rightmost--the cancellation or closing action, for example: Cancel, Close, Done

> > Note - Java 1.x does not provide an easy way to specify a default button activated by keypress. If you develop on a version of Java that supports this, use the Java Look and Feel guidelines.

## Table Appearance and Behavior

> The appearance and behavior of tables throughout Sun Management Center software must be consistent with respect to:

- Table contents
- Color
- Fonts
- Table position
- Rows
- Columns
- Growth under window resizing
- Cell, row, and column selection
- Sorting and filtering

> Refer to the following illustration.

> FIGURE 20-7 Table Details Window

### Table Contents

- Types of contents--Tables are used to show the values of properties, for listing domains and users, and for listing alarms information. Tables can contain strings (the names of variables), numerical values on a variety of unit scales (percent, Mbytes, and so forth), and graphical icons.
- Labels--Row and column labels are optional at the discretion of the designer. When they exist, the first letter of each main word must be capitalized. The name must include, in parentheses, the unit in which the values are shown. For example, CPU Usage (%).
- Contents with rules--When a variable or any table row has a viewable and/or editable rule associated with it, the name (and unit) must have three dots (ellipsis), For example, Disk Usage (%)... appended to it.
- Table titles--If a table is the only or primary element of a window or panel, the panel label serves as a table label (for example, Processes tab labels the processes table). If a table is not the only element of a window or panel, or is a secondary element of a window or panel, the table must have a label top-left justified and outside of the table border.
- Justification of contents:
  - Row labels must be left-justified, with a 3-pixel margin between the far left edge of the cell and the first pixel of contents.
  - Column headings must be centered.
  - Text phrases and messages of varying length must be left-justified always (and preferably placed in nth column), with a 3-pixel margin between the far left edge of the cell and the first pixel of the contents.
  - Numeric values must be right-justified always (with a 3-pixel margin between the far right edge of the cell and the last pixel of the contents).
- Alphanumeric strings that are not phrases in a human language can be right- or left-justified depending on table layout needs (at the designer's discretion).
- Column widths are variable according to the typical length of information provided in the given column, with fixed minimum and maximum widths. Do not make column labels significantly longer than the longest value provided in the column, as it is wasteful of space.

### Color

- Text color: Table information must be in black text on a white background. Column headers must be black text on Java-table-widget grey.
- Alarm color: When a cell in a data table has an alarm state associated with it, cell background color must change to reflect the type of state. Coloring inside the cell should not go all the way to the cell borders, but rather stop 1 pixel short on all sides. This is to allow space for a selection color to be shown for the cell as well. See below.

> > Note - In the Alarms Console window, Alarms are signaled with the appropriate alarm icon rather than a background color.

- Cell Selection color: When the user selects a cell or row, the selection must be indicated by a medium-blue open highlight rectangle, enclosing the cell. In the case of property tables that can have an alarms color in the cell, the selection rectangle goes outside of the alarms color area, and inside the cell border.

### Table Position

- Tables that are the sole occupants of a window pane are center-justified inside the pane and remain centered irrespective of changes in the window width. Tables that appear in the same pane with other tables are left-justified with the left margin set to a value that centers the largest (widest) of the tables at the standard (default) window width.

### Cell, Row, and Column Selection

- A table can be defined to be row-selectable only (for example, the Alarms Window), in which case clicking in any column selects the entire row.
- A table defined as cell-selectable must allow selection of any and all cells by clicking inside the cell. In such a table, however, clicking on the row label must select an entire row.
- Column selection is not currently used. However, for column-specific sorting this setting may be necessary.
- Cell Selection color--When the user selects a cell or row, the selection must be indicated by a medium-blue open highlight rectangle, enclosing the cell. In the case of property tables, which can have an alarms color in the cell, the selection rectangle must go outside of the alarms color area.

## Colors

> Sun Management Center software follows the Java software look for the colors of windows and dialog with the following extensions and exceptions.

- Status fields must be bold black on the grey background of the window.
- User-editable text fields must be black text inside an enclosing box with white background and black border. At the designer's discretion, the box can be inset.
- Non-user-editable text fields must be black text on the grey background (no enclosing box).
- List views, icon views, tables, charts and graphs must have white backgrounds.
- Menus must have a grey background when dropped open.
- Field/Widget labels must be Java Blue.

## Fonts

> Sun Management Center software follows the Java software font guidelines. Consult `http://java.sun.com/products/jlf/dg/index.htm` for details.

## Graphing

> FIGURE 20-8 Graphing Window

> Sun Management Center software allows graphing of any numerical data variable with respect to time. Up to five variables can be plotted on the same graph. The white background is essential for making plotted points and their corresponding axis values highly visible.

- Graphing specifications are made at the data level, from within the table showing the data.
- Graphing specifications can be saved and reinvoked (by specification, not by data) from the main console Tools menu.
- All graph labels (titles, legends, axis ticks, and so forth) are fully user-customizable both in terms of contents, position, and whether they are shown or hidden in a particular graph. Graphing features are edited in dialogs that are opened by menu items.

> FIGURE 20-9 Graph Header Title Editing Dialog

> In this example, text can be entered, styled, and positioned. The Apply button is useful here in enabling the user to see the results of the changes before exiting the dialog.

> If you intend to enhance the existing graphing system or add new graphing functionality, follow these guidelines closely.

> > Caution - Changing the axis scale and tick setting can potentially destabilize the actual or perceived behavior of the graphing function. Make such changes carefully.

- Keep the white background, as visual detail is important in a graph.
- Use the Sun Management Center 2.x dialog structure for implementing the same or similar settings.
- Always provide an Apply button and apply the changes directly to graph so the user can see the results before exiting the dialog.
- If you wish to provide an easier or more direct method of invoking dialogs than those in Sun Management Center 2.x software (which invokes them from menus), the following two methods are equally good:
  - Double-click mouse on the intended element (or in intended area for a title) to open the appropriate dialog.
  - Right-mouse click on the intended element (or in intended area for a title) to open a menu of appropriate actions.

## Property Setting Dialog

> Sun Management Center software enables property settings for the following, at a minimum:

- Managed servers--properties such as label, description, and type
- Module parameters (at the point they are loaded)--instance name and description
- Module run-time scheduling (at any time)--cyclical, one-time only, and so forth
- Data variable alarm thresholds--value at which alarm of given severity is generated
- Alarm actions--script to run or command to execute on generation of the specific alarm
- History--where and how to log data value
- Security--access permissions to objects

> Most of these settings are done in the Sun Management Center Attribute Editor (AE). The AE has a tabbed structure (folder tabs at top) that gives it extensibility. Here are some guidelines for modifying or enhancing the Attribute Editor and/or for adding new property-setting dialogs.

- If you add a new object, enable setting of the same properties that the Sun Management Center program already supports. You can also enable additional properties to be set.
- If you add properties, add them to existing dialog panels instead of creating additional property dialogs for the same object.
- If you cannot fit them into existing panels, then add a tab to the existing Attribute Editor. Make sure that the functionality is apportioned between them in a distinctive way, and that the names given reflect those differences very clearly.
- When laying out property-setting dialogs, be consistent with the Sun Management Center Attribute Editor (where most property settings are made).

> In the following example, the History setting tab for a data value inside a particular managed object (host machine) is shown (FIGURE 20-10).

> FIGURE 20-10 History Tab of Attribute Editor on a Data Variable

> The information shown in the preceding figure is typical, in that all instances of the Attribute Editor follow a similar pattern. This pattern is:

- At the top, above the tabs, there is general identifying information about where the information comes from: object label and object location.
- Below this are the tabs that provide extensibility to the window.
- Typically, more detailed identifying information about the data value whose attributes are being shown goes below the tabs: folder and variable. A delineating line appears at this point, above the actual settings.
- Bold-text headings in black separate areas of slightly different functionality (Disk File versus Memory Cache, in this example).
- Every setting has a label in Java-blue text. Note that the settings are in vertical stacks, colon-justified.
- Read-only settings (history.log in this example) are shown without a box around them, against the grey background of the panel.
- Dialog buttons are discussed in detail elsewhere, but, in the case of the Attribute Editor, should always include:
  - Apply, which changes the setting so user can see the result in situ (inside the table where the item lives) before exiting the dialog.
  - OK, which applies and closes the window automatically.
  - Cancel, which closes window without applying any actions.
  - Help

### Optional Buttons

> Reset is especially useful in the case of large panels with a lot of settings. Users occasionally make enough mistakes that is it better to start over. Reset reverts to original (current when dialog opened) values, not to a blank state. Use a button labelled Clear for users who want to set all widgets.

> Things to avoid:

- Do not make text fields longer than needed. This is a stylistic issue but more importantly, the length of a field gives the user a cue as to valid data that can go into the field. For example, if the field holds two-digit numbers but is 72 characters long, the user can be misled.
- Do not provide text fields for complex expressions. Instead give the user explicit widgets for setting complex expressions.
- Do not use a label (for example., yes/no) to the right of a checkbox.

### Time Setting

> Time setting is a commonly-used function in management applications. The following guidelines stress optimal design:

- Use the same design and the same time database everywhere.
- Get as much as possible onto one dialog. Time-setting is inherently complicated and the more the user can see all in one view without relying on memory, the better.
- Put only the simplest and most frequently used functions in the main dialog. Ask the user/customer what they need, what they use most, and then place those functions frontmost. Place less used and expert features in a separate dialog behind a button. Use sufficient labels. In time-setting more than any other functionality, it is easy for users to become confused. Generous labelling can help. For example:
  - Time of day to begin recording (hh:mm):
  - Date to begin recording (mm/dd/yy):
- Group similar items together under headings, rather than repeating long phrases over again. An improvement to the previous example is shown here:
  - Begin recording:

      Time of day (hh:mm):

      Date (mm/dd/yy):

- Make the time/date format explicit, either in text as shown above, or by artful use of time-setting widgets. For example, clicking arrows to change time values of the selected element (day, in the date setting).
- If possible, provide both widget and typing options.
- Compute as much as possible for the user, including the effects of daylight savings time (user simply checks/unchecks a box), leap years, holidays, time zones, and so forth.
- If a 24-hour clock is used, be sure to specify legal value(s) for midnight (24 or 0).
- For internationalization, give users a choice of date/time formats.

## Alarms

> Sun Management Center software has an event signalling system that spans every aspect of the product, from the main console to the individual data table cells.

> If you plan to modify or augment this alarm functionality, it is important to maintain consistency with this system.

### Alarm System

- Domain Status Summary buttons: Buttons at the top of the main console give summary counts and open windows with filtered views of the alarmed objects in the domain. The summary count only counts the object's highest severity event.

    Example: If a server has both a yellow alarm and a red alarm condition, the alarm will be counted in the red total, not in the yellow total.

- Alarm badges: These are shown in a variety of places, on buttons, affixed to hardware icons, and inside tables. When affixed to hardware icons, only one can be affixed at a time and, like the Domain Status Summary buttons, the severity corresponds to the worst alarm currently existing on the server. In the Alarms console of the Details window, all alarm severities are shown by default.
  - Alarm badges are affixed to hardware icons by centering the alarm badge at the bottom righthand corner of the HW icon. Alarm badges in the layout view (large hardware icons) are 16 x 16 pixels. Alarm badges in the hierarchy view (small hardware icons) are 12 x 12 pixels.
  - Alarm badges must be distinguishable and look good in all of the various locations that they are used.
- Alarm colors inside data table: When a data variable enters an alarm state, the corresponding data table entries become shaded in that color. These colors correspond to the colors of the alarm badges.
- Sun Management Center Alarms Console: Inside the tabbed Details window (see Details window section), this tab contains information on all alarms related to the object whose Details window you are looking at.

> As mentioned in the main console section, when modifying Domain Status Summary buttons make sure any new/modified buttons and icons are consistent with existing ones:

- If you add new alarm severities, the corresponding badges must conform to the basic pattern of existing Sun Management Center badges, that is, identical background shape, distinctive color, and distinctive internal design.
- When adding/modifying alarm severities, remember to use the correct corresponding color inside the data table cells.
- Modifications to the alarms table in the Alarms Console must follow the Table guidelines (see Table section). Modifications to show/sort dialogs should follow Dialog guidelines (see Dialog section).

## Details Window

> FIGURE 20-11 Browser Details Window

> The Sun Management Center Details window provides a wide variety of data for a managed object.

> This window has the following tabs in Sun Management Center software; Info, Browser, Alarms, Processes, Log View, and Configuration. The tabs are an extensibility mechanism that product developers can use to enhance the capabilities of the software.

- The tabs are the top level of navigation in the Details window. Menus, buttons and other navigation tools are not to be added above the tabs, but can be added below the tabs.
- When adding buttons, panel-specific buttons go at the top above the data area, and the general dialog buttons (shared by every tabbed panel) go at the bottom.
- If you plan to add functionality to the Details window, you need to decide if it belongs in one of the tabbed categories, or its own new one. It is always best to add new functionality to existing panels. If you cannot do this, then try launching a dialog (child window) from the existing panel.
  Example: You want to add the ability to annotate the Alarms window to include notes from the system administrator. Add a button on the Alarms Console that spawns a dialog box.
  The Browser and Configuration panels each have a two-part structure similar to that of the main console, but the hierarchy at left contains subobjects of the host object, and the right panel contains subobjects and detailed tables. If you are adding a tab, consider creating a hierarchy of subobjects, where applicable.
  The Details window has a status area at the bottom, like the main console. Use this area to give users status feedback. The Details window can be iconified and will continue to update data tables, update the logs, and register alarms.

> Any subwindows spawned from this window will close when this window is closed, with the exception of the Graphing window.

Copyright © 2000 Sun Microsystems, Inc. All Rights Reserved.