02-04-2018 11:50 AM
I was talking with a friend about LabVIEW and when we use different control types in our vi's
Generally, we agree that an end user should see modern/silver controls while base level vi's are best represented with the classic controls. (except cases where you want to make a cluster truly transparent)
However, I was curious if there are any official guidelines from LabVIEW or daily nuggets that have more experience and reasoning than "I feel like..."
When do you use the various control styles and why ?
02-04-2018 12:22 PM
I tend to stick with modern/silver all the way down. If I wouldn't want it on a front panel, I don't use it in subVIs either. Why? If the subVIs ever get used again, the right-click Create->control/indicator will match the style from the subVI. I haven't wanted that match to present something I wouldn't want visible.
02-05-2018 07:12 AM
"What he said". I tend to use Modern for "almost everything", as I like its clean looks and minimal Front Panel "intrusions" (most of my VIs are sub-VIs, so you never see the Front Panel). If I want a "nice-looking Main Front Panel", I usually use Silver (as it is, to my eye, the prettiest). On the other hand, I have heard a Fab-ulous LabVIEW Developer suggest that System Controls resemble the controls used in Windows, so will be the most "familiar" to non-LabVIEW users.
So it's One Part aesthetics, One Part "What does Client want?", and One Part "What works for me when I'm writing several hundred sub-VIs and TypeDefs?" Answer -- It Depends ...
Bob Schor
02-05-2018 08:02 AM
I also use the Modern for almost everything. Depending on the application, I may use the Silver for the GUIs. But all subVIs are Modern all the way. My little experience with System controls is that you have to really watch how it changes on different systems. But if you can at least somewhat keep a common system look, then that would be the better way to go.
02-05-2018 09:24 AM
I personally avoid silver elements whenever possible (whitch is always ). First I really like Windows 10 - like styles: organized, simple and clear. So I try to design main UIs just like that. For sub-VIs I normally go with system or modern elements.
Silver just uses so much space. Have you ever had to combine some silver-arrays of silver-clusters with silber-controls in it? Better use some 4K 42'' monitors, or all you see is shiny borders... 😉
Maybe you want to look into JKIs Flat UI control package or the DMC GUI palette. Both have some nice elements to start with. e.g. a cluster with just 1px border.
02-05-2018 09:49 AM
I feel like the 'official' recommendation is thus:
Silver for user-facing GUI, Modern for everything else.
OR
Modern for user-facing GUI, Classic for everything else.
It does assist future work for there to be a clear separation in appearance for what VIs the user will see, versus the code that will be the 'guts' of your application. Why is this useful? "guts" VIs don't necessarily need to have controls aligned and carefully spaced -- they can, but when you're in crunch time for a release, you can deprioritize front-panel cleanup for the guts VIs. The user-facing code should always get a good scrubbing and aligning for each release, though. Naming conventions as well as 'appearance' conventions help reduce the amount of mental bookkeeping required for keeping track of what VIs your end-users will actually be seeing.
Lately, to help the software we produce look more like the other programs in the end-user's software ecosystem, we've leaned on the System set, and thrown in some custom controls to fill in the gaps in the System set.
02-05-2018 10:49 AM
My UIs are laughable at best, so I have no input here. Fortunately, we have some programmers where I work that are extremely good at interfaces, so if it really needs that polished look, I go begging for their help.
02-05-2018 11:18 AM - edited 02-05-2018 11:19 AM
Just opinions here, but subVIs that are never seen by a user for me always have modern controls. It irks me when I see massive silver controls being used when they have no place. I never color these front panels, or use splitters or panes here either. It is just an interface to a VI and in some case I could see not having a front panel at all.
UIs I stick with system as much as I can. I do use silver rarely on these UIs but some times. And I too have been going with the JKI, or Flatline control sets since UI development has made yet another shift. From industrial sharp edges, to 3D with drop shadows, to rounded bubbly, to now minimalist. UI and UX designs are ever changing, just like many tech industries. Modern, and classic controls are almost never on a UI of mine unless I'm feeling lazy, or throwing something together I don't expect others to use.
I spend a decent amount of time on UI and UX design and am proud of the intuitive and well scaling UIs I've made. One goal I have is that you can't tell my looking or using my software, that it was written in LabVIEW. Most of the time I can pull this off if I'm not in a hurry to finish something up.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
02-05-2018 11:19 AM
wrote:
I personally avoid silver elements whenever possible (whitch is always ). First I really like Windows 10 - like styles: organized, simple and clear. So I try to design main UIs just like that. For sub-VIs I normally go with system or modern elements.
Silver just uses so much space. Have you ever had to combine some silver-arrays of silver-clusters with silber-controls in it? Better use some 4K 42'' monitors, or all you see is shiny borders... 😉
Maybe you want to look into JKIs Flat UI control package or the DMC GUI palette. Both have some nice elements to start with. e.g. a cluster with just 1px border.
100% agree with avoiavoi silver on silver, but I've personally liked making silver arrays of classic clusters with classic controls. Especially when I'm making a selection menu with an enable/disable toggle.
I'lI check out those flat vi's though they sound like a good resource.
02-05-2018 03:21 PM
I use Modern on all non-UI subVIs, and developed my own set (Flatline) for actual UIs. I took inspiration from Google Material Design and other "near-flat" designs.