GUI Design and Implementation

This document describes the overall design and implementation process in developing the client GUI side of a Rhino-based system administration product. This document focuses on the client GUI; the separate Rhino Tutorials document describes the process of developing the complete Rhino-based product, both client (front-end) and server (back-end). For example, the "Implement GUIs" section here briefly discusses only implementation time estimates, whereas the "Implement the client-side interfaces" section in the Rhino Tutorials page provides specific GUI components that you may want to use during implementation.

Note: Although presented as a sequence of orderly steps, this process is highly iterative in actual practice!

I. Keep in mind...
II. Understand the problem space
III. Develop functional specification for setup and modification
IV. Develop functional specification for monitoring
V. Do mockups and design review
VI. Implement GUIs
VII. At alpha, conduct usability study(s)


I. Keep in mind...

Keep in mind these common systems administration requirements:

II. Understand the problem space

  1. Interview at least 2 or 3 customers, and do workflow analysis on what you've observed and on the war stories they tell you
  2. Check out competitors products (install and evaluate, read brochures on the web, get info from customers, etc.)
  3. Talk with internal SGI marketing, SEs

III. Develop functional specification for setup and modification

Based on user's needs, develop functional specification for initial configuration and setup, and for production-mode modification.

  1. Based on data collected to understand problem space, identify:
  2. For each operation, identify the following. (These directly influence the design of the GUI. They identify the text, inputs, and outputs for the GUI. For an example functional specfication that uses these fields, see the FailSafe 2.0 GUI functional specification.)
  3. Organize the operations using customer data (this will directly influence the design of your front-end GUI)

IV. Develop functional specification for monitoring

Based on user's needs, develop functional specification for monitoring GUI.

V. Do mockups and design review

VI. Implement GUIs

Based on the functional specifications, implement GUIs for initial configuration and setup, production-mode modification, and monitoring.

VII. At alpha, conduct usability study(s)

When you release your first alpha, it's a good time to conduct usability study(s).