Java Look and Feel Design Guidelines, Advanced Topics describes how to:
- Choose the right type of window for each user task
- Organize menus logically, especially in applications with multiple windows
- Enable users to view, search, and work with large sets of objects
- Make your application easier to learn by reusing patterns of JFC components
- Make your application seem faster to users even when you cannot increase its actual speed
- Design wizards that are efficient for new and experienced users
- Display alarms in applications that manage or monitor systems, such as networks or large computer systems
Created by a team of user interface experts at Sun Microsystems, Inc., this timely book provides many useful guidelines for improving consistency and efficiency in applications that use the Java look and feel. By following these guidelines, you can create user interfaces with the flexibility, usability, and efficiency you need.
Table of ContentsPreface.
I. GENERAL TOPICS.1. Introduction.
Overview of Window Types.
Window Types for Objects, Properties, and Actions.
Title Bars in Primary Windows.
Toolbars in Primary Windows.
Status Bars in Primary Windows.
Property Window Characteristics.
Choosing the Correct Property Window Characteristics.
Dedicated and Non-Dedicated Property Windows.
Inspecting and Non-Inspecting Property Windows.
Behavior and Layout of Property Windows.
Title Text in Action Windows.
Command Buttons in Action Windows.
Window Titles for Identically Named Objects and Views.
Window Titles for Identically Named Objects.
Window Titles for Multiple Views of the Same Object.
Setting the State of Windows and Objects.
Positioning Secondary Windows.
Restoring the State of Property Windows.
Alerting Users After an Object's State Changes.
Multiple Document Interfaces.
Keyboard Shortcuts and Mnemonics for Menu Items.
Available and Unavailable Items.
Additional Conventions for Menu Items.
Typical File Menu.
File Properties Item.
Most Recently Used (MRU) Menu List.
Typical Edit Menu.
Updating Labels of Menu Items.
Paste Special Item.
Typical View Menu.
Typical Help Menu.
Object Menus and the Action Menu.
Beyond Object Menus and the Action Menu.
Window Management and the File Menu.
When Window Reuse Is the Default.
When Opening a New Window Is the Default.
Modal Secondary Windows.
Modes Set From Tool Palettes.
Selecting Multiple Objects.
Filtering and Searching a Set of Objects.
Complex Filtering and Searching.
Simple Filtering and Searching.
Stopping Searches and Filter Operations.
Idioms for Selecting and Editing in Tables.
Selection Models and Editing Models for Tables.
Using Row Selection Models.
Editing Row-Selection Tables.
Using Cell Selection Models.
Editing Cell-Selection Tables.
Idioms for Arranging a Table.
Table Command Placement.
Column Reordering and Column Resizing.
Automatic Row Sorting.
Tree Table Idiom.
Idioms for Text Fields and Lists.
Problems of Unresponsive Applications.
Responsiveness as Part of Performance.
Perceived Performance, or Responsiveness.
Determining Acceptable Response Delays.
Measuring Response Delays.
Setting Benchmarks for Response Delays.
Tools for Measuring Response Delays.
Responding to User Requests.
Providing Operational Feedback.
Deciding Whether to Provide Feedback.
Types of Visual Feedback.
Providing the Correct Type of Visual Feedback.
Letting Users Stop Commands in Progress.
II. SPECIAL TOPICS.
Standalone Wizards and Embedded Wizards.
Typical Uses of Wizards.
Deciding Whether You Need a Wizard.
Providing Alternatives to Wizards.
Types of Wizard Pages.
Designing Wizard Pages.
Designing the Title Bar.
Designing the Bottom Pane.
Designing the Right Pane.
Designing the Left Pane.
Deciding What to Display in the Left Pane.
Left Pane With a List of Steps.
Left Pane With Steps That Branch or Loop.
Left Pane With Help Text.
Left Pane With Steps and Help Text.
Left Pane With a Graphic.
Designing Wizard Behavior.
Delivering and Starting Wizards.
Supporting a User's Entire Task.
Positioning and Sizing Wizards.
Checking Wizard Dependencies and User Input.
Providing Operational Feedback in Wizards.
Alerting Users in Wizards.
Designing Installation Wizards.
Choosing a Location for a Wizard's Code.
Helping Users Decide Whether to Install.
Tasks That Installation Wizards Should Handle.
8. Events and Alarms.
Levels of Severity.
Displaying Alarm Views.
Detailed Alarm View.
Java Look and Feel Design Guidelines: Advanced Topics provides guidelines for anyone designing user interfaces for applications written in the Java programming language. In particular, this book offers design guidelines for applications that use the Java look and feel. This book supplements Java Look and Feel Design Guidelines, 2d ed. For details on that book, see "Related Books" on page 4.
Although some topics in Java Look and Feel Design Guidelines: Advanced Topics apply only to certain types of applications, most topics apply to all applications that use the Java look and feel.
Who Should Use This Book
Primarily, this book addresses the designer who chooses an application's user-interface elements, lays them out in a set of components, and designs the user interaction model for an application. This book should also prove useful for software developers, technical writers, graphic artists, production and marketing specialists, and testers who help create applications that use the Java look and feel.
Java Look and Feel Design Guidelines: Advanced Topics focuses on design issues and human-computer interaction in the context of the Java look and feel. For information about technical aspects of the Java Foundation Classes (JFC), visit the JFC and Swing Connection web sites:
The guidelines in this book are appropriate for GUI applications that run on personal computers and network computers. These guidelines are not intended for software that runs on consumer electronic devices, such as wireless telephonesor personal digital assistants (PDAs).
How to Use This Book
This book is intended to be read in its entirety or to be consulted as a reference on particular topics. The information in this book is easier to understand if you first read Java Look and Feel Design Guidelines, 2d ed. If you read only particular topics in this book, you should also see any corresponding topics in that book.
This book assumes that you are familiar with the terms and concepts in Java Look and Feel Design Guidelines, 2d ed., which is available in printed form at bookstores and as hypertext at the following web address:http://java.sun.com/products/jlf.
In addition, this book assumes that you are using the default Java look and feel theme, as described in Chapter 4 of Java Look and Feel Design Guidelines, 2d ed.
What Is in This Book
This book contains two main parts "General Topics" and "Special Topics."Part One, "General Topics," consists of chapters whose user interface guidelines apply to most applications.
Chapter 1, "Introduction," explains why a consistent look and feel is important in applications and describes characteristics of well-designed applications.
Chapter 2, "Windows," defines user-interface objects and then describes various types of windows. In addition, the chapter describes how to choose the right window type, design window elements, set the state of windows, and handle multiple windows.
Chapter 3, "Menus," provides guidelines for designing menu elements, common menus (such as File, Edit, and Help), and contextual menus. The chapter also provides guidelines for assigning mnemonics and keyboard shortcuts to menu items.
Chapter 4, "Behavior," discusses modes of user interaction, multiple selection, filtering, searching, and tool tips.
Chapter 5, "Idioms," describes how to use sets of JFC components to achieve a standardized appearance and behavior. In particular, the chapter discusses idioms for tables, text fields, lists, and hierarchies of user-interface objects.
Chapter 6, "Responsiveness," discusses characteristics of responsive applications, describes how responsiveness relates to performance and to response delay, explains how to measure response delay, and describes ways to improve responsiveness and provide operational feedback to users.Part Two, "Special Topics," consists of chapters whose guidelines apply only to applications that include wizards or alarms.
Chapter 7, "Wizards," introduces wizards and then describes how to decide whether your users need a wizard, how to design the layout and behavior of wizards, and what other factors to consider when designing wizards.
Chapter 8, "Events and Alarms," defines the terms "event" and "alarm" and then provides information on how to display alarm views (representations of alarms) and how to manipulate alarm views (for example, by sorting them at a user's request).
What Is Not in This Book
This book does not provide detailed discussions of human interface design principles or the design process, nor does it present information about task analysisan essential concept in user interface design. For resources on these topics, see "Related Books" on page 4 and "Related Books and Web Sites" in Java Look and Feel Design Guidelines, 2d ed.
Many of this book's guidelines can be applied to applications that use the Java look and feel to display text in any language. However, the usability of the book's guidelines and examples has been tested only with languages in which users read left to right. If you are designing for users who read right to left, use your judgment to decide whether this book's guidelines regarding layout are appropriate for your application.
The preface to Java Look and Feel Design Guidelines, 2d ed., cites many references on topics such as fundamental principles of human interface design, design issues for specific (or multiple) platforms, and issues relating to internationalization and accessibility. This section does not repeat those references; instead, it lists only books to which this book refers.
Sun Microsystems, Inc. Java Look and Feel Design Guidelines, 2d ed., Addison-Wesley, 2001. This book provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the Java programming language. In particular, the book offers design guidelines for software that uses the Java look and feel.
Hackos, JoAnn T., and Janice C. Redish. User and Task Analysis for Interface Design. John Wiley & Sons, Inc., 1998. This book explains how to observe and interview users to gather the information you need to design your application.
Johnson, Jeff. GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers. Morgan Kaufman, 2000. This book provides examples of poor design in windows, inconsistent use of labels, and lack of parallelism in visual layout and grammar. The writer develops principles for achieving lucidity and harmony of look and feel.
Wilson, Steve, and Jeff Kesselman. Java Platform Performance: Strategies and Tactics. Addison-Wesley, 2000. Intended to help software developers write high-performance software for the Java platform, this book describes the various qualities known as performance and describes how to attain and measure them.