About This Guide

This guide is written for developers of software products used on Silicon Graphics® workstations, including software engineers, graphical user interface designers, human factors specialists, and others involved in the design process. It contains recommended guidelines to help you design products that are consistent with other applications and that integrate seamlessly into the Indigo Magic™ 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. This guide provides information on how to design user interfaces for Silicon Graphics applications, along with specific examples of what is and isn't appropriate and why. Note that the guidelines discussed in this book 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.

This guide assumes you're 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 Indigo Magic 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 Indigo Magic 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 book will help ensure that your software product provides all of the functionality and ease of use designed into the Indigo Magic Desktop.

This guide also focuses on how your application should look and feel on the Indigo Magic 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 Indigo Magic Desktop Integration Guide.

What This Guide Contains

This guide contains two 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; also, the online version contains many links to the Indigo Magic Desktop Integration Guide so that you can rapidly reach the necessary implementation information. Also this guide is available on the World Wide Web.

Part One: Integrating With the Indigo Magic Desktop

This part describes how users will expect to be able to interact with your application from the Indigo Magic Desktop; it contains the following chapters:

  • Chapter 1, “Overview of the Indigo Magic Desktop,” sets the context for Part One; it gives you an overview of the desktop environment in which users will 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 Indigo Magic Environment,” defines the various categories of windows and describes the Indigo Magic look for your application's windows. This look is an enhanced version of IRIS IM and includes pre-packaged color and font schemes. This 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, “Indigo Magic Desktop Services,” explains how your application can take advantage of several services provided by the Indigo Magic Desktop, such as Software Manager, SGIHelp, the IRIS InSight online documentation viewer, and global desktop settings.

  • Chapter 5, “Data Exchange on the Indigo Magic Desktop,” describes the data transfer models that your application should support. It also lists the data types supported for data exchange in the Indigo Magic 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 the following 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 Indigo Magic 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 covers 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.

Appendix

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

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 represents enhancements to and clarification of information presented in that manual.

Suggestions for Further Reading

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

  • Indigo Magic 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 IRIS Essentials (also an online manual), which explains how users interact with the Indigo Magic Desktop.

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 (1992) 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 you'll find the following conventions that act as visual cues for different types of information.

Style Guidelines

  • This icon indicates a guideline that summarizes the preceding discussion. The guidelines appear at the end of each main section, and a complete list is provided in Appendix A, “Summary of Guidelines.”

Font Conventions

The typographical conventions used in this book 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.