Creating Quality UIs With NI LabVIEW
description
Transcript of Creating Quality UIs With NI LabVIEW
-
Creating Quality UIs
with NI LabVIEW
1http://bit.ly/labviewui
Simon HoggLabVIEW Product Manager
Nitin ThomasStaff Software Engineer
-
Agenda
1. Definitions, rules, and advice(not specific to LabVIEW, but important)
2. Some cool UI techniques for LabVIEW
2http://bit.ly/labviewui
2. Some cool UI techniques for LabVIEW(and why you would consider using them in your application)
3. Where to go to download some reusable components
(because everybody loves free stuff)
-
What Is a UI?
Literally: User Interface
How user interacts with the program
First thing the user notices
3http://bit.ly/labviewui
First thing the user notices
Make the users job easier
Do not be frustrating
-
Some General Rules
1. Do not be innovative
2. Less is more
4http://bit.ly/labviewui
3. Think about your user
-
1. Do Not Be Innovative1. Do Not Be Innovative
Use familiar elements
Buttons
Icons
Use familiar elements
Buttons
Icons
5http://bit.ly/labviewui
Icons
Terminology
Dialogs
Menus
Icons
Terminology
Dialogs
Menus
-
1. Do Not Be Innovative1. Do Not Be Innovative
Still some license for
creativity
Do not change the way
Still some license for
creativity
Do not change the way
6http://bit.ly/labviewui
Do not change the way
similar looking things
behave
Polish, do not reinvent
Do not change the way
similar looking things
behave
Polish, do not reinvent
-
2. Less Is More
Too much on screen at once is distracting
Allow your user to focus on what is important
7http://bit.ly/labviewui
Note: This doesnt mean you get away with less
work!
-
3. Think About Your User
They probably do not know as much as you Explain what buttons do
Keep them informed about what your program is doing
8http://bit.ly/labviewui
Know how the user plans on using your application Mouse, keyboard?
Touch screen large buttons
Outdoors high contrast
-
An AC Controller
HOLD PROGFANSYSTEM
9:26 84.6FFAN ONPROGRAM X
SYSTEM COOL
TUESDAYAUGUST 4,2011
9http://bit.ly/labviewui
OVERRIDE SCHEDULERESETMODE
FAHREN21
-
A Better AC Controller
HoldCoolHeat
9:26 84 F COOLINGTUESDAY
10http://bit.ly/labviewui
Override ScheduleMode
Order Pizza21
-
The AC Controller I Really Want
84F70
80
90
192.168.1.4
11http://bit.ly/labviewui
On60
70
50Off
-
Windows Desktop App
12http://bit.ly/labviewui
-
Tooltips
13http://bit.ly/labviewui
-
Tooltips Demo
14http://bit.ly/labviewui
-
Recolor Graphs
15http://bit.ly/labviewui
-
Recolor Graphs Demo
16http://bit.ly/labviewui
-
Hide the LabVIEW Toolbar
17http://bit.ly/labviewui
-
Hide the LabVIEW Toolbar Demo
18http://bit.ly/labviewui
-
Customizing the Run-Time Menu
19http://bit.ly/labviewui
-
Customizing the Run-Time Menu Demo
20http://bit.ly/labviewui
-
Spawning Dialogs
21http://bit.ly/labviewui
-
Spawning Dialogs Demo
22http://bit.ly/labviewui
-
Using Panes Title Area
Menu/Commands
23http://bit.ly/labviewui
Status Bar
Expandable
Content Area
-
Using Panes Demo
24http://bit.ly/labviewui
-
Hiding Panes
25http://bit.ly/labviewui
-
Status Bar
26http://bit.ly/labviewui
-
Busy Cursors
27http://bit.ly/labviewui
-
Busy Cursors Demo
28http://bit.ly/labviewui
-
Keeping the User Updated
29http://bit.ly/labviewui
-
Informative Kiosk Display
30http://bit.ly/labviewui
-
Panel Background
31http://bit.ly/labviewui
-
Panel Background Demo
32http://bit.ly/labviewui
-
Create Decorations in PowerPoint
33http://bit.ly/labviewui
-
Create Decorations in PowerPoint Demo
34http://bit.ly/labviewui
-
Transparent Indicators
35http://bit.ly/labviewui
-
Transparent Indicators Demo
36http://bit.ly/labviewui
-
Transparent PNGs in a Picture Ring
37http://bit.ly/labviewui
-
Transparent PNGs in a Picture Ring Demo
38http://bit.ly/labviewui
-
Heavily Customized Controls
39http://bit.ly/labviewui
-
Windmill Monitoring System
Demo
40http://bit.ly/labviewui
-
Using Sub Panels
Sub Panel
Separate Panes
41http://bit.ly/labviewui
-
Using Sub Panels
Why?
Similar to Tab Control but sometimes superior
Plug-in Architecture
Selectively Run VIs
42http://bit.ly/labviewui
Selectively Run VIs
Scaling/Resizing
-
Using Sub Panels Demo
Use Queues, Notifiers etc. to communicate between
VIs.
VI.Ctrl Val.Set can be used to initialize controls.
Front Panel cannot be open when inserting into Sub
43http://bit.ly/labviewui
Front Panel cannot be open when inserting into Sub
Panel.
Can view Sub Panel Block Diagram from Front
Panel.
Allows probes and highlight execution.
-
Viewing Tabular Data
44http://bit.ly/labviewui
-
Table with Customized Inputs - Demo
Set height and width of control to the be the same as the
specific table cell.
Depending on the application disable ring contents if they are
already in use
45http://bit.ly/labviewui
already in use
Move control off screen or invert visibility when not in use.
Ready to use framework exists - Type Sensitive Popup code
available at lavag.org (Author: David Saunders)
-
Array of Clusters Masquerading As
Tables
46http://bit.ly/labviewui
Set height of elements to be the same (to avoid resizing/scaling issues)
Use unique labels for the elements
Can register user events for elements within the array
Access control properties of the cluster through the Terminal
-
Array of Clusters - Demo
47http://bit.ly/labviewui
*Check out Christina Rogers and Simons session today afternoon for more details
Customizing NI LabVIEW Controls and Indicators, Tuesday (August 2) at 4:45 PM in 13A/B.
-
Resizing Tables
48http://bit.ly/labviewui
-
Resizing Tables - Demo
49http://bit.ly/labviewui
-
Drag and Drop
50http://bit.ly/labviewui
-
Drag and Drop - Demo
51http://bit.ly/labviewui
-
Animations
52http://bit.ly/labviewui
-
Animations - Demo
53http://bit.ly/labviewui
-
Free Stuff UI Interest Group
54http://bit.ly/labviewui
http://decibel.ni.com/content/groups/ui
-
Key Takeaways
The Rules1. Do not be innovative
2. Less is more
3. Think about your user
http://bit.ly/labviewui
Flexible GUI for Vibration
Analysis with LabVIEW
Today, 2:15PM 3:15 PM
Room 11B
55http://bit.ly/labviewui
Take advantage of what LabVIEW gives you Transparency
Different controls/control customization
Panes/tabs
UI interest group on the community
Customizing Controls &
Indicators
Today, 4:45 PM 5:45 PM
Room 13 A/B (this room)
User Interface Tips 2.0
Wednesday, 4:45 PM 5:45
PM
Room 13A/B