About This Guide

This guide is written for developers of software products used on Silicon Graphics workstations, including software engineers, graphical user interface designers, usability specialists, and others involved in the design process. It contains guidelines to help you design products that are consistent with other applications and that integrate seamlessly into the IRIX Interactive Desktop. The result of this consistency and integration is that your products work the way end users expect them to work; consequently, end users find your products easier to learn and use.

Using this guide, you learn how to design user interfaces for Silicon Graphics applications. There are also specific examples of what is and isn't appropriate and why. Note that the guidelines discussed in this guide are just that—guidelines, not rules; they're designed to apply to the majority of applications, but there will certainly be anomalous applications for which these guidelines don't make sense.

Developers using this guide are expected to be programming with the IRIS IM user interface toolkit. IRIS IM is the Silicon Graphics port of the industry-standard OSF/Motif user interface toolkit for use on Silicon Graphics computers. The IRIX Interactive Desktop guidelines encourage compliance with the OSF/Motif guidelines described in OSF/Motif Style Guide, Release 1.2, so you should be familiar with the OSF/Motif manual before reading this one. In addition, the IRIX Interactive Desktop guidelines clarify and elaborate on many OSF/Motif style issues; they recommend many value-added extensions and improvements to the OSF/Motif style that don't conflict with the basic OSF/Motif interface. Following the recommendations in this guide will help ensure that your software product provides all of the functionality and ease of use designed into the IRIX Interactive Desktop.

One focus of this guide is how your application should look and feel on the IRIX Interactive Desktop when you're finished creating it—that is, how users will expect to be able to interact with your application. The implementation details of how to achieve this look and feel are covered in the OSF/Motif Programmer's Guide and the IRIX Interactive Desktop Integration Guide.

What This Guide Contains

This guide has three parts, which are described in the following sections. For your convenience, this guide is available online so that you can search it using the IRIS InSight Viewer. This guide is also available on the World Wide Web.

Part One: Integrating With the IRIX Interactive Desktop

The first part of this guide describes how users expect to be able to interact with your application from the IRIX Interactive Desktop; it contains these chapters:

  • Chapter 1, “Overview of the IRIX Interactive Desktop,” sets the context for Part One; it gives you an overview of the desktop environment in which users encounter your application and describes the mouse and keyboard hardware provided with Silicon Graphics systems.

  • Chapter 2, “Icons,” describes how to design your application and file icons so that they're meaningful, they properly reflect their state (such as selected or open), and they behave appropriately for user actions such as double-click and drag-and-drop. It also describes how to make your application icon accessible so that users can interact with your application through the desktop tools, such as the Icon Catalog and the Find an Icon tool.

  • Chapter 3, “Windows in the IRIX Interactive Desktop Environment,” defines the various categories of windows and describes the IRIX Interactive Desktop look for your application's windows. This look is an enhanced version of IRIS IM and includes pre-packaged color and font schemes. The chapter also covers the expected behaviors that your application's windows should support—such as sizing, moving, and minimizing windows, managing the keyboard focus across windows, interacting with desks, and responding to session management.

  • Chapter 4, “IRIX Interactive Desktop Services,” explains how your application can take advantage of several services provided by the IRIX Interactive Desktop, such as Software Manager, SGIHelp, the IRIS InSight online documentation viewer, and global desktop settings.

  • Chapter 5, “Data Exchange on the IRIX Interactive Desktop,” describes the data transfer models that your application should support. It also lists the data types supported for data exchange in the IRIX Interactive Desktop environment.

Part Two: Interface Components

The second part of this guide describes the individual components of an application, such as windows, menus, controls, and dialogs. Part Two contains these chapters:

  • Chapter 6, “Application Windows,” discusses the different types of windows, how your application should combine them, what elements are appropriate for primary and support windows, and how these elements should be arranged.

  • Chapter 7, “Focus, Selection, and Drag and Drop,” discusses three general mechanisms by which users interact with your application: keyboard focus (within a window), selection, and drag and drop.

  • Chapter 8, “Menus,” describes the kinds of menus your application can use (pull-down, popup, and option menus), how users display, traverse, activate, and close these menus, and how to design menus and menu items for your application.

  • Chapter 9, “Controls,” describes controls that are supported in the standard OSF/Motif environment (such as push buttons, lists, and scrollbars) and those that are unique to the IRIX Interactive Desktop environment (such as thumbwheels and dials). Each description consists of a general description of the control, and guidelines for when to use the control, how to label the control, and how the control should behave.

  • Chapter 10, “Dialogs,” defines the standard types of dialogs and discusses when to use them. It also discusses how to design application-specific dialogs.

  • Chapter 11, “User Feedback,” describes various types of feedback users expect your application to provide. It also tells you when to use each of the standard pointer shapes and provides guidelines for designing your own pointer shapes.

Part Three: Designing 3D Applications

The third part of this guide provides user interface guidelines specifically for 3D applications. These guidelines address design issues that are not relevant in a 2D context. In addition, 3D applications should also follow the guidelines described in the first two parts of this guide. Part Three contains these chapters:


Appendix A, “Summary of Guidelines,” provides a checklist that you can use to determine whether your product follows the IRIX Interactive Desktop user interface guidelines. This checklist contains all of the individual guidelines that appear throughout the guide.

What You Should Know Before Reading This Guide

This guide assumes that you understand the concepts and terminology used with computers whose user interface is based on the X Window System and OSF/Motif. It also assumes that you're familiar with the OSF/Motif Style Guide, Release 1.2; the material presented in this guide enhances and clarifies information presented in that manual.

Suggestions for Further Reading

The programming details of how to implement the style guidelines described in this guide are described in the following books, all of which are available online through IRIS InSight:

  • IRIX Interactive Desktop Integration Guide

  • Software Packager User's Guide

  • Topics in IRIX Programming

  • OSF/Motif Programmer's Guide

  • OSF/Motif Reference Manual

  • The X Window System, Volume 1: Xlib Programming Manual

  • The X Window System, Volume 4: X Toolkit Intrinsics Programming Manual

In addition, you may want to take a look at Desktop Users Guide (also an online manual), which explains how users interact with the IRIX Interactive Desktop.

If you're new to creating 3D applications, either in general or on Silicon Graphics systems, you'll find the following books useful:

  • Foley, J.D., A. van Dam, S. Feiner, and J.F. Hughes. Computer Graphics Principles and Practice, second edition. Reading, Massachusetts: Addison-Wesley Publishing Co., 1990. (This book is the classic introductory text to 3D programming.)

  • Kalwick, David. 3D Graphics Tips, Tricks, and Techniques. Chestnut Hill, Massachusetts: Academic Press, Inc. 1996. (This book defines the many 3D graphics terms and explains how to create 3D graphics using existing software applications rather than writing your own code.)

  • Wernecke, Josie, The Inventor Mentor. Reading, Massachusetts: Addison-Wesley Publishing Co., 1994. (This book provides basic information on programming with Open Inventor. It includes detailed program examples in C++ and describes key aspects of the Open Inventor toolkit, including its 3D scene database.)

Finally, you may want to refer to additional references that describe user interface design:

  • Brown, C. Marlin “Lin.” Human-Computer Interface Design Guidelines. Norwood, New Jersey: Ablex Publishing Corporation, 1989. (This book presents general user interface guidelines.)

  • Laurel, Brenda, ed. The Art of Human-Computer Interface Design. Reading, Massachusetts: Addison-Wesley Publishing Co., 1990. (This book addresses future directions in user interface design.)

  • Mayhew, Deborah J. Principles and Guidelines in Software User Interface Design Englewood Cliffs, New Jersey: Prentice-Hall, Inc., 1992. (This book covers the overall design process and presents general user interface guidelines.)

  • Norman, Donald A. The Design of Everyday Things. Reading, Massachusetts: Addison-Wesley Publishing Co., 1991. (This book uses examples of commonly used products to illustrate why good design is necessary.)

  • Shneiderman, Ben. Designing the User Interface: Strategies for Effective Human-Computer Interaction, second edition. Reading, Massachusetts: Addison-Wesley Publishing Co., 1992. (This book presents general user interface guidelines.)

Conventions Used in This Guide

In this guide, the following conventions act as visual cues for different types of information.

Style Guidelines

Font Conventions

The typographical conventions used in this guide include:

  • Bold text indicates that a term is a data type, a keyword, an X or IRIS IM widget name, a function, a command-line option, or an X resource.

  • Italic text indicates that a term is a file name, a button name, a variable, an IRIX command, or a document title.

  • Screen type indicates screen displays and code examples.

  • Bold screen type indicates user input and nonprinting keyboard keys.

  • “Quoted text” indicates menu items.

  • Angle brackets indicate special keys, as in <Ctrl>.

  • Regular text is used for menu and window names.