Copyright (c) 1999, 2000 Silicon Graphics, Inc. All Rights Reserved.

Overview | Basic Concepts | GUI Components | Architecture | How To Write An App

Rhino UI Principles

XXX This is incomplete. It's taken from Wes' "UI Design Problems and Solutions" brown-bag slides. XXX The layout sucks.

When designing a user interface with Rhino, try to follow these guidelines. Each is based on XXX

Problem: Users don't have all the information they need to complete a task.

Solution: Make prerequisites explicit and complete. Before letting users proceed in a multi-page Task, tell them what information they're going to need to provide.

Problem: Users experience information overload.

Solution: Hide unnecessary details.

Problem: Users lack confidence in the GUI.

Solution: Always show accurate and current state.

Solution: Tell user what will and did happen. This is one of the uses of the ResultView.

Problem: Users' time is precious.

Solution: Identify problems as soon as possible.

Solution: Don't make the user type something the system knows.

Solution: Preserve data the user enters. One way Rhino supports this is through TaskData, which is shared by both Form and Guide interfaces to a Task. If the user enters a value on one page of a Guide, and then decides they'd rather switch to the Form, the value they entered is still displayed. Similarly, if they enter a value on the first page of a Guide, proceed to the next page, and then return to the first page again, they don't have to

Problem: Users don't know what to do next.

Solution: Let the user know what can be done next. When a Task is successfully completed, show the user the list of Tasks which they're most likely to want to perform next. Rhino provides the ResultView for this.