From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
altenbach

Local variables redesign

Status: Completed
Available in NI LabVIEW 2010

Compared to plain terminals and references (for example), local and global variables are too big. They waste way too much space on a bulky frame.

 

In my applications, local variables often come in large groups (e.g. if I need to write values from a file to a group of controls inside a case to load a different default set for the controls) and I tend to partially overlap the locals to save diagram space. I would prefer a more economical design, e.g. as shown on the right.

 

Globals could have that little globe (not shown).

 

I am not sure if we really need to encode read vs. write in the frame thickness like for terminals, but it could easily be done by making the frame of the "write" versions thinner (same outer dimensions). I think the little triangle is enough to show the direction.

 

Message Edited by altenbach on 08-15-2009 09:31 AM
49 Comments
JackDunaway
Trusted Enthusiast

Before: Waste of space, hard to read because of kinky wires, no Kudos.

 

OldLabels.png

 

After: economical, no kinky wires, Kudos.

 

NewLabels.png

Message Edited by mechelecengr on 08-15-2009 11:48 AM
Knight of NI

Still trying to get all that code on a postage stamp, huh, altenbach?

The idea of being able to line things up nicely is ... very nice.

 

Cue the local variables haters now... 

LabBEAN
Active Participant
In favor of thin frame thickness on the write as you mentioned.

Certified LabVIEW Architect
TestScript: Free Python/LabVIEW Connector

One global to rule them all,
One double-click to find them,
One interface to bring them all
and in the panel bind them.
RavensFan
Knight of NI
I like the idea.  I would make the Write to Local Variable set where the triange/arrow points into the local variable from the wire, as opposed to out to the wire like you show it.  That way there is no confusion that there is data flowing out from the left of the local variable.
JackDunaway
Trusted Enthusiast

Ravens, agreed. I had a problem with the arrows at first, couldn't put my finger on it, but switching the direction makes it look perfectly natural.

 

I took liberties with altenbach's original artwork in demonstrating the two improvements: thin frames for writes, and the arrow that points to the right. I think I'm in favor of keeping thick frames on both read/write - the position of the arrow is enough to visually cue the direction.

 

LocalVariables.png

altenbach
Knight of NI
Yes, the triangle for the "write" mode needs to be reversed, of course. Mine was a very quick draft...
RavensFan
Knight of NI

That looks good.

 

I always knew that local variables had different borders for read vs. write.  But nothing about it was intuitive that the Read variables were thick and the write variables were thin.  Visually I can't tell the difference as to which way it popped up until I begin trying to wire to it.

tst
Knight of NI Knight of NI
Knight of NI
Also, I think the same basic minimizing should apply to references (other than what was already discussed in the other idea) and to control and indicator terminals - we should be able to perfectly align all of them with a bundle by name or a property node.

___________________
Try to take over the world!
JackDunaway
Trusted Enthusiast
Bingo... the property node and the bundle/unbundle is what sells me on this idea. Having a smaller BD footprint in other places is just icing on the cake compared to PN's and clustering.
Broken_Arrow
Active Participant
I can't think of anything I don't like about this idea. NI should probably have a software switch in Options to Show Locals: Large / Small.
Richard