From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Rules for using Modern/Classic/Silver controls

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 ?

0 Kudos
Message 1 of 20
(5,825 Views)

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.

Message 2 of 20
(5,811 Views)

"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

0 Kudos
Message 3 of 20
(5,747 Views)

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.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 20
(5,737 Views)

I personally avoid silver elements whenever possible (whitch is always Smiley Happy). 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.

ʍolɟɐʇɐp ʞuıɥʇ
Message 5 of 20
(5,720 Views)

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.

0 Kudos
Message 6 of 20
(5,711 Views)

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.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 7 of 20
(5,701 Views)

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.

0 Kudos
Message 8 of 20
(5,690 Views)

wrote:

I personally avoid silver elements whenever possible (whitch is always Smiley Happy). 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. 

 

 

0 Kudos
Message 9 of 20
(5,687 Views)

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.

Message 10 of 20
(5,657 Views)