User Interface Design
There are a number of questions developers need to ask when designing the user interface for an application. Who are the users? What do they do? How do they do it? Are users "browsers" or "data entry staff?" The Internet has introduced a new set of user interface alternatives to the developer - are these appropriate for your application? We'll examine some existing applications and attempt to derive some rules on the design of good interfaces.
Designing the interface, or determining the interaction, of an application with its users is no different than many of the other aspects of application design that we undertake.
Find out what the users want
Find out how the users are, and/or should be, doing their jobs
What is most important to them?
What is least important?
What is done most often?
What is done rarely, but is essential to the application's function?
Do it quick.
Get it critiqued.
Work with the users.
Iterate, iterate, iterate!
Don't create objects from your ERD, don't create interfaces from your ERD, either!
Identifying common themes – objects are often the center of the interface also
Design Patterns, UML and Use Case techniques are being called into play.
Use cases fit nicely into describing the interactions. Make an interface that makes the interactions possible.
Failure to follow the basic UI guidelines – widgets must be standard widgets, or use something else!
Menus, toolbars, buttons, OK/Cancel
Decide on a way to do something, and stick with it. Ex: grids: click, double-click, right-mouse click, OKL.
Graphics – did you go to art school? Hire someone, buy clipart, don't draw it yourself!
Interface Hall of Shame: http://www.iarchitect.com/mshame.htm an incredible collection of interface gaffs, goofs and ugliness. Look for your favorite application – it might be in there!
Here are a few books I think are worth reviewing, browsing or studying.
Constantine, Larry L, and Lucy A. D. Lockwood, Software for Use: A Practical Guide to the Models and Methods of Usage Centered Design, Addison-Wesley ACM Press, 1999, ISBN: 0-201-92478-1. I confess I have not read this book yet, but the reviews I have read suggest that it should be the next one on my list. Also, check out their web site at http://www.foruse.com.
Cooper, Alan, About Face: The Essentials of User Interface Design, 1995, IDG Books, ISBN 1-56884-322-4. Outrageous and astute, a sharp review of what's good and what's dumb about user interface design. Covers both Windows 3.x and the Win95 shell. Very pleasant reading.
Cooper, Alan, The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How To Restore The Sanity, Sams, 1999, ISBN: 0-672-31649-8. A brilliant follow-up to About Face, Cooper takes us beyond the fundamentals of user interface design into the concepts of interaction design. A must-read.
Laurel, Brenda, ed., The Art of Human-Computer Interface Design, 1990, Addison-Wesley, ISBN 0-201-51797-3. An excellent and thought provoking collection of essays from nearly everyone else on this list as well as Jean-Louis Gassée, Timothy Leary, Nicolas Negroponte and many others.
Mandel, Theo, The Elements of User Interface Design, John Wiley & Sons, 1997, ISBN: 0-47116-267-1. Written by a cognitive psychologist, this book presents an excellent background on the theory and the practice. Light on specific examples, but very good on concepts.
Nielsen, Jakob, Usability Engineering, Academic Press/Morgan Kaufmann; 1994, ISBN: 0-125-18406-9. Considered to be the definitive text in the field of human-computer interfacing. While academic in tone, it brings together a huge number of concepts into a clear framework.
Norman, Donald, The Design of Everyday Things, Doubleday, 1988, ISBN 0-385-26774-6. This book was originally published as The Psychology of Everyday Things, and thus became an excellent example of user interfaces (in this case, the title) and people's reactions to it. It was a flop, until it was renamed to its present title, thereupon becoming a best-seller. While little is devoted to computers specifically, the examples illustrate why devices work for people - or don't.
Parker, Roger, Looking Good In Print, Ventana Press, 1988, ISBN 0-940087-05-7. Not at all about video user interfaces, this book focuses on the paper user interface of the printed word. An excellent overview of what and why fonts are, how a person perceives and digests a page, and ideas for better layout. While focused on the desktop publishing industry, this book covers many principles that come into play when we design a screen.
Shneiderman, Ben, Designing the User Interface, Addison-Wesley, 1987, ISBN 0-201-16505-8. One of the original texts in the field, still very applicable in theory even if somewhat dated in terms of examples.
Tognazzini, Bruce, TOG on Interface, Addison-Wesley, 1992, ISBN 0-201-60842-1. Formerly the User Interface Evangelist at Apple Computer, Tognazzini's engaging style make this book a pleasure to read.
Tufte, Edward, The Visual Display of Quantitative Information, 1983 and Envisioning Information, 1990, Visual Explanations, 1997, all from Graphics Press. Great coffee-table picture books, these three texts provide some ideas (and excellent samples) of how and why and how powerfully the proper use of graphics can convey information. While rarely addressing computer-based graphical user interfaces directly, the principles, so clearly expressed here, are of value to everyone trying to convey a message with graphics.
Ted Roche is a Microsoft Certified Solution Developer and the Director of Development at Blackstone Incorporated, a Microsoft Certified Solution Provider based in Waltham, Massachusetts, USA, where he develops complex applications using Microsoft's Visual Tools and BackOffice products. A contributor to six books on FoxPro, Ted's latest effort was to co-author the "Hacker's Guide to Visual FoxPro 6.0" available from Hentzenwerke Publishing, as well as from finer bookstores everywhere. Ted has spoken at over a dozen professional conferences in Canada, Europe and the US, and co-authors the "Advisor Answers" column for FoxPro Advisor magazine. Contact Ted at (781) 663-7400, or via e-mail at firstname.lastname@example.org