One of the benefits that NI LabVIEW software provides over traditional programming languages is the built-in libraries of controls and indicators. Because LabVIEW was designed with engineers and scientists in mind, this library includes context-specific controls such as knobs, dials, and switches along with indicators such as meters, gauges, and thermometers. Because the libraries are built into the environment, all of these controls "come for free" with LabVIEW, and you can use them to create very informative user interfaces.
As you become more familiar with LabVIEW, one of the first acts of rebellion will be to add your own personal touch to any or all of the controls and indicators. This tutorial covers a few basic topics to consider when designing a user interface, along with some advanced tips and tricks you can use to create visually-striking UIs for your applications.
1. What Is a UI?
UI stands for user interface. It is the way your application's user gives commands and receives feedback from your application. For those of you who develop applications to sell, the UI is often the "cover" to your book - the crucial first impression. A good UI implies a thorough, professional development team whereas a sloppy UI can turn potential clients off. A good UI makes the user's job easier because he or she spends less time trying to figure out how to complete a task (which often translates to less questions for the developer). Your job as the UI developer is to predict the points of frustration and lay out an interface that helps the user get the job done, which is most people's primary concern.
2. Top 10 Advanced Tips and Tricks
This section covers 10 advanced tips and tricks to creating effective user interfaces.
1. Adding Decals to Buttons
Adding decals to front panel buttons provides additional context to the user as to the functionality of the button, without needing excessive text. This video demonstrates how to add decals to buttons in LabVIEW.
2. Adding Tooltips
Tooltips are a quick and easy way to add documentation to a control that provides information when users move their cursor over it. This video shows you how to add tooltips to any LabVIEW front panel control.
3. Recoloring Graphs
Changing the colors of your graphs, background, and bordering decorations can impact both the usability and readability of the front panel itself. The following video demonstrates some useful techniques for recoloring the built-in graphs in LabVIEW.
4. Hiding the LabVIEW Toolbar
It's typically not important that the user see the standard LabVIEW toolbar. These sometimes add unnecessary complexity to the front panel itself. The following video explores how to customize the look and feel of the VI.
5. Customizing the Run-Time Menu
One of the most common techniques for creating applications is defining a custom run-time menu. This video demonstrates how you can customize this run-time menu for a LabVIEW application, and even define your own custom operations.
6. Spawning Dialogs
Putting functionality that is only seldom necessary into a dialog can again help to reduce the complexity of the design for the user. The following video discusses how to create and customize dialogs in LabVIEW.
7. Using Panes
Using panes can help you better organize your front panel. You can create some sections of the front panel that are resizable while leaving others a static size. The following video explores how to use panes in LabVIEW.
8. Using the Busy Cursor
Using the busy cursors helps you to keep the user informed that your application is indeed running and properly sets expectations. This video demonstrates how to set the cursor to busy or add a progress bar to your application.
9. Editing Panel Backgrounds
Editing panel backgrounds might be useful if you have a corporate template or logo you would like to use across all of your application's components. This video demonstrates how to add a custom background image to your VI.
10. Creating Decorations in Microsoft PowerPoint
Using background images on your front panel can sometimes be detrimental if the image is too busy. This video explores using Microsoft PowerPoint to create decorations with gradients and transparency to add to the professionalism of your front panel.
3. General Guidelines for UI Development
This section covers some general guidelines to keep in mind when building UIs.
Do Not Be Innovative
The first rule is don't be innovative. Chances are the program you are writing is not going to be the user's first computer program. Therefore, the user has some kind of pre-learned notions of how to interact with Windows-based applications. You should fit into those notions rather than forcing the user to learn your way of doing things. A good rule for those working on Windows systems is "make your application behave like Microsoft Office" because so many people are familiar with Office. This means using common designs for buttons, using recognizable icons, using common terminology, putting menus in places people expect them, and so on.
This doesn't mean you can't be a little creative. There is still space for customizing and adding your own touches, just do so in a way that doesn't impact the usability of your program.
Less Is More
Don't clutter the screen unnecessarily with obscure settings or controls. Hide things that are used infrequently and give users a way to bring them back when necessary. Presenting users with fewer options eliminates distractions and helps them focus on whatever it is that they ought to be focusing on.
Think About Your User
As a developer, it's easy to assume that everyone knows how your application works and how to complete tasks using it - and if you are the intended user that's great. For those of us who have to develop applications for other people to use, we have to keep those other people in mind as we develop. Here are a few things to consider:
1. Users might not know as much as you do. They might not intrinsically know what each button/control in your application does, so use contextual cues to teach your users.
2. Once users click on something they generally expect something to happen. If the task is particularly slow, you need to update users to let them know that your application is working correctly. Just because you know what should happen in a given situation doesn't mean that your users do.
3. Think about how and where the program will be used. Will users have a mouse or keyboard? If one is missing, that has implications as to how you will get input from the users. Touch screens are becoming increasingly popular and have their own sets of requirements (such as larger buttons and not relying on mouseover effects). Is your application going to be used outdoors or on low-color displays? If so, you will want to pick color schemes that do not rely on users being able to see subtle differences in contrast.
Also on ni.com:
Designing awesome front panels with LabVIEW can provide that wow factor necessary to impress even the harshest critics. For more tips and tricks, additional libraries of controls, and example UIs, visit the LabVIEW Community Group for Designing User Interfaces.