| java.sun.com > Guidelines Home Page > Java Look and Feel Design Guidelines > Preface |
Java Look and Feel Design Guidelines, second edition, provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the Swing classes together with the Java look and feel.
This revised and expanded edition contains a collection of toolbar graphics, lists of terms localized for European and Asian languages, and an appendix on look and feel switching. New and revised guidelines are provided throughout, and new sections discuss smooth interaction, the use of badges in button graphics, and revised standards for window titles. Also included with this edition is a companion CD-ROM that contains code samples for many figures in the book, and a repository of graphics.
Although an application's human interface designer and software developer might well be the same person, the two jobs involve different tasks and require different skills and tools. Primarily, this book addresses the designer who chooses the interface elements, lays them out in a set of components, and designs the user interaction model for an application. (Unless specified otherwise, this book uses "application" to refer to both applets and applications.) This book should also prove useful for developers, technical writers, graphic artists, production and marketing specialists, and testers who participate in the creation of Java applications and applets.
Java
Look and Feel Design Guidelines focuses on design issues and human-computer
interaction in the context of the Java look and feel. It also attempts to provide a
common vocabulary for designers, developers, and other professionals. If you require
more information about technical aspects of the Java Foundation Classes (JFC), visit
the JFC and Swing Connection web sites at http://java.sun.com/products/jfc and http://java.sun.com/products/jfc/tsc.
The guidelines provided in this book are appropriate for GUI applications and applets that run on personal computers and network computers. They do not address the needs of software that runs on consumer electronic devices.
Java Look and Feel Design Guidelines includes the following chapters:
Part One, Overview, includes two introductory chapters about the Java look and feel and the JFC.
Part Two, Fundamental Java Application Design, describes some of the general issues facing professionals using the JFC to create cross-platform applications, including visual design, the creation of application graphics, and behavior.
Part Three, The Components of the Java Foundation Classes, contains a description of the components and accompanying guidelines for their use.
The remainder of the book consists of the appendixes, glossary, and index.
This book does not provide detailed discussions of human interface design principles or the design process, nor does it present much general information about usability studies.
For authoritative explications of human interface design principles and the design process, see Apple Computer's Macintosh Human Interface Guidelines.
For a classic book on usability studies, see Jakob Nielsen's Usability Engineering.
For details, see Related Books and Web Sites.
The screen shots in this book illustrate the use of JFC components in applications with the Java look and feel. Because such applications typically run inside windows provided and managed by the native platform, the screen shots show assorted styles of windows and dialog boxes from the Microsoft Windows, Macintosh, and CDE (Common Desktop Environment) platforms.
Throughout the text, symbols are used to call your attention to design guidelines. Each type of guideline is identified by a unique symbol.
Requirements for the consistent appearance and compatible behavior of Java look and feel applications.
Java look and feel standards promote flexibility and ease of use in cross-platform applications. In addition, they support the creation of applications that are accessible to all users, including users with physical and cognitive limitations. These standards require you to take actions that go beyond the provided appearance and behavior of the JFC components.
Occasionally, you might need to violate these standards. In such situations, use your discretion to balance competing requirements. Be sure to engage in usability studies to validate your judgments.
Recommendations for dealing with colors, fonts, keyboard operations, and other issues that arise when you want to deliver your application to a variety of computers running a range of operating systems.
Advice for creating applications that can be adapted to the global marketplace.
Technical information and useful tips of particular interest to the programmers who are implementing your application design.
Code samples and graphics for Java look and feel applications, also available on the book's companion CD-ROM.
Many excellent references are available on topics such as fundamental principles of human interface design, design issues for specific (or multiple) platforms, and issues relating to internationalization, accessibility, and applet design.
The resources in this section provide information on the fundamental concepts underlying human-computer interaction and interface design.
Baecker, Ronald M., William Buxton, and Jonathan Grudin, eds. Readings in Human-Computer Interaction: Toward the Year 2000, 2d ed. Morgan Kaufman, 1995. Based on research from graphic and industrial design and studies of cognition and group process, this volume addresses the efficiency and adequacy of human interfaces.
Hurlburt, Allen. The Grid: A Modular System for the Design and Production of Newspapers, Magazines, and Books. John Wiley & Sons, 1997. This is an excellent starting text about graphical page layout. Although originally intended for print design, this book contains many guidelines that are applicable to software design.
IBM Human-Computer Interaction Group. "IBM Ease of
Use." Available: http://www.ibm.com/ibm/easy. This web site covers
many fundamental aspects of human interface design.
Johnson, Jeff. GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers. Morgan Kaufman, 2000. A new book that 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 the harmony of look and feel.
Laurel, Brenda, ed. Art of Human-Computer Interface Design. Addison-Wesley, 1990. Begun as a project inside Apple, this collection of essays explores the reasoning behind human-computer interaction and looks at the future of the relationship between humans and computers.
Mullet, Kevin, and Darrell Sano. Designing Visual Interfaces: Communication Oriented Techniques. Prentice Hall, 1994. This volume covers fundamental design principles, common mistakes, and step-by-step techniques for handling the visual aspects of interface design.
Nielsen, Jakob. Usability Engineering. AP Professional, 1994. This is a classic book on design for usability. It gives practical advice and detailed information on designing for usability and on assessment techniques and also includes a chapter on international user interfaces.
Norman, Donald A. The Design of Everyday Things. Doubleday, 1990. A well-liked, amusing, and discerning examination of why some products satisfy while others only baffle or disappoint. Photographs and illustrations throughout complement the analysis of psychology and design.
Shneiderman, Ben. Designing the User Interface: Strategies for Effective Human-Computer Interaction, 3d ed. Addison-Wesley, 1997. The third edition of this best-seller adds new chapters on the World Wide Web, information visualization, and cooperative work and expands earlier work on development methodologies, evaluation techniques, and tools for building user interfaces.
Tognazzini, Bruce. Tog On Software Design. Addison-Wesley, 1995. A pivotal figure in computer design offers discerning, stimulating, argumentative, and amusing analysis for the lay reader and the computer professional. The work includes discussions of quality management and the meaning of standards.
Tufte, Edward R. Envisioning Information. Graphics Press, 1990. One of the best books on graphic design, this volume catalogues instances of superb information design (with an emphasis on maps and cartography) and analyzes the concepts behind their implementation.
Tufte, Edward R. The Visual Display of Quantitative Information. Graphics Press, 1992. Tufte explores the presentation of statistical information in charts and graphs with apt graphical examples and elegantly interwoven text.
Tufte, Edward R. Visual Explanations: Images and Quantities, Evidence and Narrative. Graphics Press, 1997. The third volume in Tufte's series on information display focuses on data that changes over time. Tufte explores the depiction of action and cause and effect through such examples as the explosion of the space shuttle Challenger, magic tricks, and a cholera epidemic in 19th-century London.
The resources in this section cover application design for the CDE, IBM, Java, Macintosh, and Microsoft Windows platforms.
Three volumes address the needs of designers and related professionals who create applications using CDE and Motif 2.1.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide and Glossary.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide Reference.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide Certification Check List.
These titles
can be ordered from the Open Group at http://www.opengroup.org/public/pubs/catalog/mo.htm.
Object-Oriented Interface Design: IBM Common User Access
Guidelines. Que Corp, 1992. Available: http://www-3.ibm.com/ibm/easy/eou_ext.nsf/publish/586#143. This book is out of print but
available from most IBM branch offices. A small portion of the printed book is
intertwined with a modest amount of more current material at the IBM web site cited
above.
Campione, Mary, and Kathy Walrath. The Java Tutorial: Object-Oriented Programming for the Internet, 2d ed. Addison-Wesley, 1998. Full of examples, this task-oriented book introduces you to fundamental Java concepts and applications. Walrath and Campione describe the Java language, applet construction, and the fundamental Java classes and cover the use of multiple threads and networking features.
Campione, Mary, and Kathy Walrath. The JFC Swing Tutorial: A Guide to Constructing GUIs. Addison-Wesley, 1999. This readable technical description of some difficult subjects includes material on layout managers, events, listeners, and container hierarchy.
Campione, Mary, et al. The Java Tutorial Continued: The Rest of the JDK. Addison-Wesley, 1998. The experts describe features added to the original core Java platform with many self-paced, hands-on examples. The book focuses on Java 2 APIs but also contains the information you need to use the JDK 1.1 version of the APIs.
Chan, Patrick. The Java Developer's Almanac, 1999. Addison-Wesley, 1999. Organized to increase programming performance and speed, this book provides a quick but comprehensive reference to the JavaTM 2 Platform, Standard Edition, v. 1.2.
Eckstein, Robert, Mark Loy, and Dave Wood. Java Swing. O'Reilly & Associates, 1998. An excellent introduction to the Swing components, this book documents the Swing and Accessibility application programming interfaces. An especially useful chapter explains how to create a custom look and feel.
Geary, David M. Graphic Java 2: Mastering the JFC. Volume 2, Swing. Prentice Hall, 1998. This comprehensive volume describes the skills needed to build professional, cross-platform applications that take full advantage of the JFC. The volume includes chapters on drag and drop, graphics, colors and fonts, image manipulation, double buffering, sprite animation, and clipboard and data transfer.
Sun
Microsystems, Inc. J2EE Platform Specification. Available: http://java.sun.com/j2ee/download.html#platformspec. This web site
provides a way to download current information on the Java 2 Platform, Enterprise
Edition, v. 1.3 (J2EE).
Sun
Microsystems, Inc. Java 2 Platform, Standard Edition, Version 1.3 API
Specification. Available: http://java.sun.com/j2se/1.3/docs/index.html#guide. This web site provides up-to-date
technical documentation on the Java 2 API.
Sun
Microsystems, Inc. Java Look and Feel Design Guidelines, 2d ed. Available:
http://java.sun.com/products/jlf.
This web site contains the HTML version of this book.
Sun
Microsystems, Inc. The Java Tutorial: A Practical Guide for Programmers.
Available: http://java.sun.com/docs/books/tutorial/index.html. This web site is divided into four trails: a
trail
covering the basics of the Java language and writing applets; a trail on constructing
graphical user interfaces with the Swing classes and the JFC; specialized trails
addressing such topics as internationalization, 2D graphics, and security; and trails
available only online--including a discussion of drag and drop.
Topley, Kim. Core Java Foundation Classes. Prentice Hall Computer Books, 1998. Topley explains how to build basic Swing applications, with an emphasis on layout managers and basic graphics programming. The book also describes the creation of multiple document interface (MDI) applications.
Walker,
Will. "The Multiplexing Look and Feel." Available:
http://www.sun.com/access/articles/#articles. This article describes
a special look and feel that provides a way to extend the features of a Swing GUI
without having to create a new look and feel design. Walker describes an example
application that can simultaneously provide audio output, Braille output, and the
standard visual output of ordinary Swing applications.
Apple Computer, Inc. Macintosh Human Interface Guidelines. Addison-Wesley, 1992. This volume is the official word on Macintosh user interface principles. It includes a superb bibliography with titles on animation, cognitive psychology, color, environmental design, graphic and information design, human-computer design and interaction, language, accessibility, visual thinking, and internationalization.
Apple
Computer, Inc. Mac OS 8 Human Interface Guidelines. Available: http://developer.apple.com/techpubs/mac/HIGOS8Guide/thig-2.html. This web site offers a
supplement to Macintosh Human Interface Guidelines.
Microsoft Windows User Experience. Microsoft Press, 1999.
Available: http://www.msdn.microsoft.com/library/books/winguide/welcome.htm. The official book on Microsoft
interface design
contains specifications and principles for designers who would like to create
effective interfaces. It contains numerous examples of design successes and failures.
These guidelines are available in print and on the web site.
The books in this section discuss the complex issues that arise when designing software that runs on many platforms.
McFarland,
Alan, and Tom Dayton (with others). Design Guide for Multiplatform Graphical User
Interfaces (LP-R13). Bellcore, 1995. Available:
http://telecom-info.telcordia.com/site-cgi/ido/index.html. This is an
object-oriented style guide with extensive guidelines and a good explanation of
object-oriented user interface style from the user's perspective.
Marcus, Aaron, Nick Smilonich, and Lynne Thompson. The Cross-GUI Handbook: For Multiplatform User Interface Design. Addison-Wesley, 1995. This source describes the graphical user interfaces of Microsoft Windows and Windows NT, OSF/Motif, NeXTSTEP, IBM OS/2, and Apple Macintosh. The text includes design recommendations for portability and migration and recommendations for handling contradictory or inadequate human interface guidelines.
The books in this section describe software design for the global marketplace.
Fernandes, Tony. Global Interface Design: A Guide to Designing International User Interfaces. AP Professional, 1995. Fernandes addresses developers of Internet software designed for a global market. He explains cultural differences, languages and their variations, taboos, aesthetics, ergonomic standards, and other issues designers must research and understand.
Guide to Macintosh Software Localization. Addison-Wesley, 1992. A thorough and thoughtful discussion of the internationalization and localization processes that should prove helpful for developers on any platform.
Kano, Nadine. Developing International Software for Windows 95 and Windows NT. Microsoft Press, 1993. Kano targets Microsoft's guidelines for creating international software to an audience with knowledge of Microsoft Windows coding techniques and C++. The work contains information on punctuation, sort orders, locale-specific code-page data, DBCS/Unicode mapping tables, and multilingual API functions and structures.
Luong, Tuoc V., James S.H. Lok, and Kevin Driscoll. Internationalization: Developing Software for Global Markets. John Wiley & Sons, 1995. The Borland internationalization team describes its procedures and methods with a focus on testing and quality assurance for translated software. This hands-on guide tells how to produce software that runs anywhere in the world without requiring expensive recompiling of source code.
Nielsen, Jakob, and Elisa M. Del Galdo, eds. International User Interfaces. John Wiley & Sons, 1996. This book discusses what user interfaces can and must do to become commercially viable in the global marketplace. Contributors discuss issues such as international usability engineering, cultural models, multiple-language documents, and multilingual machine translation.
O'Donnell, Sandra Martin. Programming for the World: A Guide to Internationalization. Prentice Hall, 1994. This theoretical handbook explains how to modify computer systems to accommodate the needs of international users. O'Donnell describes many linguistic and cultural conventions used throughout the world and discusses how to design with the flexibility needed for the global marketplace.
Uren, Emmanuel, Robert Howard, and Tiziana Perinotti. Software Internationalization and Localization: An Introduction. Van Nostrand Reinhold, 1993. This guide to software adaptation encourages developers to aim at producing localized software with the same capabilities as the original software while meeting local requirements and conventions.
These resources explore how to design software that supports all users, including those with physical and cognitive limitations.
Bergman,
Eric, and Earl Johnson. "Towards Accessible Human Interaction." In Advances in
Human-Computer Interaction, edited by Jakob Nielsen, vol. 5. Ablex Publishing,
1995. Available: http://www.sun.com/access/developers/updt.HCI.advance.html. This article discusses the relevance of
accessibility to human interface designers and explores the process of designing for
ranges of user capabilities. It provides design guidelines for accommodating physical
disabilities such as repetitive strain injuries (RSI), low vision, blindness, and
hearing impairment. It also contains an excellent list of additional sources on
accessibility issues.
Dunn, Jeff.
"Developing Accessible JFC Applications." Available: http://www.sun.com/access/developers/developing-accessible-apps. This
article covers the specifics of accessibility in Swing classes, including an assistive
technology primer, nuts-and-bolts information, and test cases.
Schwerdtfeger, Richard S. Making the GUI Talk. BYTE, 1991.
Available: ftp://ftp.software.ibm.com/sns/sr-os2/sr2doc/guitalk.txt. This speech deals with off-screen model
technology and GUI screen readers.
Schwerdtfeger, Richard S. Special Needs Systems Guidelines. IBM
Corporation, 1998. Available: http://www.austin.ibm.com/sns/access.
html. This web site presents principles of accessibility, a checklist for
software accessibility, and a list of references and resources. In addition, it
provides discussions of accessibility for the web and for Java applications.
Sun
Microsystems, Inc. Accessibility Quick Reference Guide. Available:
http://www.sun.com/access/developers/access.quick.ref.html. This site
defines accessibility, lists steps to check and double-check your product's
accessibility, and offers tips for making applications more accessible.
Sun
Microsystems, Inc. "Opening New Doors: Enabling Technologies." Available: http://www.sun.com/access. This web site
includes a primer on the Java platform and accessibility and describes the support for
assistive technologies now provided by the Swing components of the JFC.
These books provide a range of information on designing applets.
Gulbransen, David, Kenrick Rawlings, and John December. Creating Web Applets With Java. Sams Publishing, 1996. An introduction to Java applets, this book addresses nonprogrammers who want to incorporate preprogrammed Java applets into web pages.
Hopson, K.C., Stephen E. Ingram, and Patrick Chan. Designing Professional Java Applets. Sams Publishing, 1996. An advanced reference for developing Java applets for business, science, and research.
| Java Look and Feel Design Guidelines, second edition.
Copyright 2001. Sun Microsystems, Inc. All Rights Reserved. |