Rob Humfeld Certified LabVIEW Architect Senior Project Engineer for Innoventor, Inc August 17, 2005
Whats in a name?
The Good, The Bad, and The Ugly Greg McKaskle, NI Week 2000 Focused on Screen Layout and LabVIEW features:
Examples (VIs, stereo, car, newspaper) Association Colors Tab control guidelines UI features in LabVIEW 6i
Another View
Galitzs Principles of GUI Design A good GUI will afford the following properties:
Aesthetically Pleasing Clarity Compatibility Comprehensibility Configurability Consistency Control Directness Efficiency Familiarity Flexibility Forgiveness Predictability Recovery Responsiveness Simplicity Transparency Trade-offs
Too much here to cover right now, but lots to chew on.
The Feel
How the software interacts with the user
The Foundation
How the underlying software is conceived/designed
The Look
Considerations for a good-looking GUI screen Screen Layout Color Selection Decorations and their effect Covered well in the original GBU
Colors Removed
GOOD
Each screen element has meaning and purpose Move peripheral functions from screen to menu No matter how cool your interface is, less of it would be better.
-- Alan Cooper
The Feel
The goal is to create a good user experience Select appropriate controls Maintain good software flow Guide the user to success Protect the user from failure
Buttons are controls; Lights are indicators Enums are not appropriate for front panels Tables are not appropriate as controls Arrays are never appropriate Cluster borders are generally distracting
Dont allow the user to do something stupid Check validity of user input Hide / disable invalid controls
This can be very challenging for graphs
The Foundation
A good GUI is the face of GOOD SOFTWARE Software Development Process
Specify Requirements Design the solution Implementation Integration and Testing Support and Expansion
Software is written for the user, not the programmer What is the users mental model of their task(s)? Example: Pointers
GUI Success
A good GUI makes the user more effective by making the accomplishment of the users selected task(s) as efficient and pleasant as possible.
-- Rob Humfeld
References
About Face 2.0: The Essentials of Interaction Design by Alan Cooper and Robert Reimann The Design of Everyday Things by Donald Norman The Essential Guide to User Interface Design by Wilbert Galitz LabVIEW GUI: Essential Techniques by David Ritter