Table of Contents__ |
||
LabVIEW GUI - Essential Techniques by David J. Ritter The first GUI book written by LabVIEW programmers |
||
|
||
Chapter 1 - The Case for a Superior GUI |
||
1.1 Motivations for the Superior GUI |
||
Chapter 2 - The Psychology of Human-Computer Interactions |
||
2.1 GUI Psychology - Background Information 2.2 The Cognitive Approach to GUI Design 2.3 Human Factors in the GUI Design Process 2.4 Introduction to GUI Design Models 2.4.1 The Users Mental Model 2.4.2 Key principles of GUI design 2.4.3 The Designers Model 2.4.4 The Programmers Model 2.4.5 The Process Experts Model 2.4.6 Mental Models Practical Implications 2.5 Elements of the Design Model 2.5.1 The "Look" 2.5.2 The "Feel" 2.5.3 Conceptual Elements 2.5.4 Keeping "Look & Feel" in perspective 2.5.6 The Dynamics of Usability 2.5.7 GUI Design Elements Summary |
||
Chapter 3 - Targeting Your Destination |
||
3.1 The Importance of Planning 3.1.1 Planning for the Users 3.2 The Planning Process 3.2.1 Application Goals 3.2.2 Requirements 3.2.3 Detailed Specifications 3.2.4 Planning Hierarchy - General Considerations 3.3 Software Development Lifecycles 3.3.1 The Code and Fix Model 3.3.2 The Waterfall Lifecycle Model 3.3.3 Modified Waterfall Models 3.3.4 The Spiral Lifecycle Model 3.4 Lifecycle Models Applied to the GUI Design Process 3.4.1 Code and Fix Applied to GUI Design 3.4.2 The Waterfall Model and GUI Design 3.4.3 Modified Waterfall Models and GUI Design 3.4.4 The Spiral Lifecycle and GUI Design 3.4.5 Lifecycle Models in Review 3.5 Application Structures and the Implications of Usability 3.5.1 "Data-Centered" Versus "Application-Centered" Design 3.5.2 Microsofts Component Technologies 3.5.3 IAC Capabilities on Other Platforms 3.5.4 The Advantages of Data-Centered Design 3.5.5 The Disadvantages of Data-Centered Design 3.5.6 IAC in Perspective 3.6 Acquisition, Analysis, and Presentation 3.6.1 The Networking Advantage 3.6.2 Planning for Network Integration 3.6.3 Data Publishing 3.6.4 Distributed Execution 3.6.5 Summary of Networking Options 3.7 Planning for the Visual Presentation 3.7.1 Form and Function in Balance 3.7.2 Special Graphical Considerations 3.8 Planning in Review |
||
Chapter 4 - Understanding Users |
||
4.1 Identifying the Users 4.1.1 Users Just like the rest of us? 4.1.2 User Attribute Classifications 4.2 Attributes All Users have in Common 4.2.1 Psychological and Human Factors 4.2.1.1 Human Information Processing 4.2.1.2 Thought Processes 4.2.1.3 LTM and the Users Mental Model 4.2.1.4 Item Organization and Memory 4.2.1.5 Item Organization and GUI Design 4.2.1.6 Perception, Memory, and GUI Design 4.2.2 Visual Perception 4.2.3 Sound Perception 4.3 Attributes Unique to Each Individual 4.3.1 Individual Differences 4.3.2 The Unique Identity of Users 4.4 The Users View versus the Programmers View |
||
Chapter 5 - From Task Definition to GUI Design |
||
5.1 The GUI Design Process 5.2 Gathering User Requirements 5.2.1 Information Gathering Techniques 5.3 Evaluating User Goals, Tasks and Actions through Task Analysis 5.3.1 Goals, Tasks, Actions, and GUI Objects 5.3.2 Task Analysis Methods 5.4 Developing and Testing Prototypes 5.4.1 Assigning GUI Priorities 5.4.2 GUI Priorities and User Classes 5.4.3 The Value of Prototypes 5.4.4 Generating Prototypes 5.5 General Design Considerations 5.5.1 The Complexity Paradox of GUI Design 5.5.2 Progressive Disclosure 5.5.3 Managing GUI Complexity 5.5.4 Key GUI Design Principles Revisited 5.5.5 UI Guidelines, and Styleguides 5.5.6 General Design Considerations in Review 5.6 Testing Your GUI Designs 5.6.1 User testing throughout the design process 5.6.2 Evaluation Testing 5.7 Reiterate as Needed 5.8 Visual Metaphors 5.8.1 Visual Metaphors in LabVIEW Applications 5.8.2 Do Visual Metaphors Make GUIs More Usable? 5.8.3 Visual Metaphors - Conclusions |
||
Chapter 6 - Graphic Design for Engineers 101 - a crash course in layout & design |
||
6.1 The Importance of Design Integrity 6.2 Design Concept and Image 6.3 Designing an Effective Layout 6.3.1 Visual Hierarchy 6.3.2 Balance 6.3.3 Visual Consistency 6.3.4 Panel Resizing and Different Monitor Resolutions 6.3.5 Layout and Design in Review 6.4 Color Considerations in GUI Design 6.4.1 What is Color? 6.4.2 Primary Colors - Additive versus Subtractive 6.4.3 LabVIEW and the RGB Color Space 6.4.4 Color Usage Guidelines 6.4.5 Color Combinations - Putting Users in Control 6.4.6 The Color Picker Utility 6.4.7 Getting Help from the Pros 6.4.8 GUI Color in Review 6.5 GUI Text 6.5.1 Controlling GUI Text Hierarchy 6.5.2 Making GUI Text Legible 6.5.3 GUI Text in a LabVIEW Context 6.6 The Graphic Design Function - in Perspective |
||
Chapter 7 - Building GUI VIs |
||
7.1 LabVIEW GUI Programming Basics 7.1.1 LabVIEW Application Architectures 7.1.2 Data Transfer Mechanisms 7.1.3 LabVIEW Programming Basics in Review 7.2 Custom Menus 7.2.1 Custom Menus Why? 7.2.2 Adding Custom Menus to Your Applications 7.2.3 Improving Usability with Custom Menu Additions 7.3 Advanced GUI Architectures 7.3.1 Queued State Machines 7.3.2 Event-Driven Architectures 7.4 GUI Programming Fundamentals in Review |
||
Chapter 8 - VI Server GUI Techniques |
||
8.1 VI Server Basics 8.2 VI Server for Front Panel Control 8.2.1 Panel Management Challenges 8.2.2 Panel Resizing for Progressive Disclosure 8.2.3 Resizing Panels for Different Screen Resolutions 8.2.4 Other VI Server Options for Front Panel Control 8.2.4.1 Additional Front Panel Properties in LabVIEW 6 8.3 The VI Server Invoke Node 8.3.1 The Run VI Method 8.4 VI Servers Call By Reference Node 8.4.1 LabVIEW Plug-In Architectures 8.4.2 Call By Reference in Perspective 8.5 VI Server and Distributed Applications 8.5.1 VI Server and the Application Builder 8.6 Selective GUI Panel Control 8.6.1 Direct Wire Connections 8.6.2 Selective Panel Control - A Simple Example 8.6.3 Practical Applications 8.6.4 Usability Benefits 8.6.5 Selective Panel Control In Perspective 8.7 The VI Reference Manager 8.7.1 A VI Reference Manager Example 8.8 VI Server in Review |
||
Chapter 9 - Exploring LabVIEW GUI Customization |
||
9.1 LabVIEW GUI Customization Options 9.2 The Power of Control References 9.2.1 Attribute Nodes, Property Nodes, and Control References 9.2.2 Control Reference and Property Node Examples 9.2.3 GUI Special Effects and Performance 9.3 GUI Enhancement with Custom Graphics 9.3.1 Imported Image Options 9.3.2 Dynamic Image Generation 9.4 Toolbars and Buttonbars 9.4.1 Building the LabVIEW Draw Toolbar 9.4.2 End-User Toolbar Customization Strategies 9.4.3 Toolbar Customization in Review 9.4.4 Floating Toolbars (Windows Only) 9.5 Control Editor Techniques 9.5.1 Customizing Slide Controls 9.5.2 Additional Control Editor Techniques 9.5.3 The Control Editor in Review 9.6 ActiveX Controls for GUI Customization 9.6.1 Integrating Active-X Controls into LabVIEW Panels 9.6.2 Getting Help for ActiveX Properties and Methods 9.6.3 More Advanced ActiveX Integration Examples 9.6.4 ActiveX in Review 9.7 Tab Controls 9.7.1 General Tab Control Guidelines 9.7.2 Interesting Tab Control Customizations 9.7.3 Tab Control Summary 9.8 LabVIEW GUI Customization in Review |
||
Chapter 10 - Preparing Graphics Elements for LabVIEW GUI Integration |
||
10.1 Adding Custom Graphical Elements - Why? 10.1.1 Wired for Pictures 10.1.2 Improving Usability 10.1.3 Enhancing Marketability 10.1.4 Adding Custom Graphics for Reason 10.1.5 Alternative Applications Extending the VI Model 10.2 Image sources 10.2.1 Free Image Sources 10.2.2 Commercial Options Online 10.2.3 Clip-Art and Photo Libraries on CD-ROM 10.2.4 Generating Project-Specific Images 10.3 Supported Image File Formats 10.4 Image Editing Techniques 10.4.1 Exploring Adobe Photoshop 10.5 Custom Graphics and LabVIEW Performance 10.5.1 Image Optimization Techniques 10.6 Custom Graphics Integration in Review |
||
Chapter 11 - A Case Study The VI Facelift |
||
11.1 Step One Building the Standard GUI Panel 11.1.1 Process Overview 11.1.2 Evaluating Conventional GUI Approaches 11.1.3 GUI Planning and Design Considerations 11.1.4 Other Design Considerations 11.1.5 Defining the User Requirements 11.1.6 Task Analysis and User Scenarios 11.1.7 Defining GUI Priorities 11.1.8 Grouping and Organization 11.1.9 Building the Main Temperature Panel 11.2 Step Two - The GUI Facelift 11.2.1 Part of a Larger System 11.2.2 The Final Temperature Subsystem Panel 11.2.3 Custom Graphics Preparation 11.2.4 Pop-up subVI panels 11.3 Conclusion |
||
Chapter 12 - Advanced Graph Techniques Contributed by George Wells from NASA's Jet Propulsion Laboratory |
||
12.1 Introduction 12.2 Basic Graph Skills 12.2.1 Graph Basics 12.2.2 Complex Numbers to the Rescue 12.2.3 Making Filled Shapes 12.2.4 Animation 12.2.5 Segmented Plots 12.2.6 Simulating an Intensity Graph Using an XY Graph 12.2.7 Simulating a Waveform Chart Using an XY Graph 12.2.8 A Warning about Time 12.2.9 Using an Intensity Graph to Display a Bitmap Image 12.3 Real-World Applications 12.3.1 Galileo 12.3.2 Mars Pathfinder Rover Mission 12.3.3 SeaWinds 12.3.4 Weather Station |
||
Appendix A - LabVIEW Interface Concepts Used in NASA Research Contributed by Dr. Don Roth from NASA's Glenn Research Center |
||
A.1 Introduction |
||
Appendix B - GUI Design Checklist Appendix C - CD-ROM Contents Bibliography Index |
||
Preview Chapter 1 (.PDF file - Acrobat Reader required) | ||
|
General Information |
|
|
About the CD-ROM | |
|
LV GUI - Main Page | |
LV GUI - Support Pages | ||
|
||
BetterVIEW Homepage |
||
|