Jump to content
Sign in to follow this  
Aristos Queue

Six LabVIEW 8.0 features no one talks about

Recommended Posts

Some of you may know me from other LV venues -- info-LV, NI's DevZone. I've only recently created an account on LAVA mostly because of the discussion on the info-LV mailing list where some are claiming that forums are better than mailing lists, so I figured I'd come look around. And, being a LabVIEW R&D developer, my greatest interest, naturally, is the bug list and the comments about the newest versions. So I read through many of those over the last couple days. And I'm amazed. There's a lot of discussion about LV8.0, but there are some pretty big features that get almost zero mention. Users discussing any software are going to focus on the bugs and the things that went wrong -- that doesn't bother me. But there are some real gems in the 8.0 release. So I thought I'd list some of them here, just to see the response generated.

1) XControls : This, in my opinion, is the #1 reason to upgrade to LV8.0. I think this is the answer to many of the UI complaints made about LV. This feature is invaluable to making reusable user interfaces. It

Share this post


Link to post
Share on other sites

The XControl works only in the proffesional version of labview (at least for 8.0. I have only the full development version + application builder). If it is meant to be used, it has to be made available, at least now when LVOOP has been released.

Share this post


Link to post
Share on other sites

Aristos,

I very much appreciate your post. That's helpful. Anytime you feel inclined to remind us of specific Labview capabilities, I for one will read your post with interest. I had forgotten about the Afterprobe and the array scrollbar. Those are two very useful things.

:thumbup:

Share this post


Link to post
Share on other sites

I think the features you mention get zero mention because they have limited benefit

As others have pointed out - you have to have the professional version for XControls to be useful.

Arrays as UI elements are generally a bad idea, so the fact that they have scrollbars is not really a bonus.

Afterprobes - we'll see.

Matrix data type - Exciting to some I guess.

File I/O primitives - A lot of file utility VIs were thrown out with 8.0 and fundamental changes made to the primitives that I think are flawed. 1) the default mode of the read primitive in text mode is to terminate the read at an EOL. The ability to chunk through a file line by line is great, but I don't think it should be the default. 2) You cannot set the read mode via a control or constant. The only way to change the read mode is through a pop-up. The only way to determine the read mode setting is through the same pop-up - there are no visual cues. So - I don't think the file I/O primitives have taken a step forward.

Variants - they needed a performance enhancement! Do you have a benchmark for how much slower they are over data passed by wire in their current implementation?

My favorite feature of LV 8 - the ability to work on multiple targets.

My least favorite features - the project and the arbitrary reorganization of the palettes. Each time the palettes are changed, my productivity decreases because things are no longer where they should be.

-just my two bits.

Richard

Share this post


Link to post
Share on other sites
...

File I/O primitives - A lot of file utility VIs were thrown out with 8.0 and fundamental changes made to the primitives that I think are flawed. 1) the default mode of the read primitive in text mode is to terminate the read at an EOL. The ability to chunk through a file line by line is great, but I don't think it should be the default. 2) You cannot set the read mode via a control or constant. The only way to change the read mode is through a pop-up. The only way to determine the read mode setting is through the same pop-up - there are no visual cues. So - I don't think the file I/O primitives have taken a step forward.

Variants - they needed a performance enhancement! Do you have a benchmark for how much slower they are over data passed by wire in their current implementation?

...

My least favorite features - the project and the arbitrary reorganization of the palettes. Each time the palettes are changed, my productivity decreases because things are no longer where they should be.

...

Richard beat me to the punch!

I have not use the matrix or the xcontrol yet (although I will certainly in the future).

About the new file IO, they may be better, but in my opinion the implementation was not well done (and I am beeing nice saying this). The change of default behavior mentioned by richard, the primitive overloading through right click (with no change on the icon primitive) and the new icons result in a very bad user experience for me (and for a lot of other as well). That their performance have been improved might be true, but this is not what I retain from their usage. Another grip: why is "file dialog" now only an express VI! in the palette. If I want the primitive only this is painfull!

In regard to variant, I am missing the type string from the flatten/unflatten to string primitives. This make variant introspection, in the spirit of the OpenG variant tools, pretty much no longer possible for new data type.

Retain wire value, or "after probes" are pretty cool. It has already helped me quite a bit.

Scrollabar on array. Well, I can see some good usage for that.

Just my 2c as well

PJM

Share this post


Link to post
Share on other sites
Arrays as UI elements are generally a bad idea, so the fact that they have scrollbars is not really a bonus.
Well, that's just plain false. I've had many situations where using an array of front panel controls, or clusters of controls, has simplified my diagram so that I only have to wire to a single terminal instead of to twenty. The scrollbars give me more power in this area.
File I/O primitives - A lot of file utility VIs were thrown out with 8.0 and fundamental changes made to the primitives that I think are flawed ...
I agree. The lower-level File I/O functions had evolved over many years to where they worked very well and made sense and were powerful. Granted, newbies have had trouble learning the File I/O and tended to use the higher-level VIs, which I would absolutely never use. But a thorough tutorial and examples would have solved that problem. Should have left the lower-level functions alone.

ADDED 29-DEC-2006: Now that I've used the new file I/O functions in LV8.2 a lot, I think they are generally an improvement. Nice work, NI!

Share this post


Link to post
Share on other sites

I think you left out another 8.0 feature no one talks about: The Mixed-Signal graph. Does anyone use this thing?

Sigh. My work is so un-appreciated :headbang:

J

Share this post


Link to post
Share on other sites
I think you left out another 8.0 feature no one talks about: The Mixed-Signal graph. Does anyone use this thing?

Sigh. My work is so un-appreciated :headbang:

J

I can not say that I have used the mixed signal graph yet. Most of projects require about 1 version of LV to to pass before the authorization for funding comes through.

The good news is I have not heard about anyone bashing it.

So there is a possibility that the following quote;

"The problem with writing perfect code is,

that if it is perfect,

chances are that no one will ever see it." (BenNI)

Ben

Share this post


Link to post
Share on other sites
I think you left out another 8.0 feature no one talks about: The Mixed-Signal graph. Does anyone use this thing?

Sigh. My work is so un-appreciated :headbang:

J

Jason: I dedicated three whole pages of LabVIEW for Everyone, 3rd edition, to the Mixed-Signal graph. I think that it is a very cool feature and I can't wait to use it on a project -- In fact, I think that I might be able to use this on a customer project, right now.

Share this post


Link to post
Share on other sites
I think you left out another 8.0 feature no one talks about: The Mixed-Signal graph. Does anyone use this thing?

Sigh. My work is so un-appreciated :headbang:

J

In the Mixed Signal Graph.vi example in LabVIEW (8.2), you have instruction number 2) as "Try dragging the plots from one Group to another Group. You can also change the grouping by dragging plots onto the Plot Areas." I'm fairly certain I have dragged tree control items previously but I don't seem to be able to do it for this example. Forgive my ignorance.

On another subject, I would say I have had applications where 10% of my features have been taken advantage of. Don't feel bad. There are a lot of LabVIEW users who are very busy and just have not had a chance to upgrade to v8 and above. There were enough changes under & over the hood (cursor palette display, data storing, etc.) also that it was a little intimidating if in the middle of an application with v7.1 (which seemed to me to be a very stable release). I am just now after a year starting to play with v8 (actually v8.2 --> I have pretty much totally skipped v8.0...just no time this last year).

Some of you may know me from other LV venues -- info-LV, NI's DevZone. I've only recently created an account on LAVA mostly because of the discussion on the info-LV mailing list where some are claiming that forums are better than mailing lists, so I figured I'd come look around. And, being a LabVIEW R&D developer, my greatest interest, naturally, is the bug list and the comments about the newest versions. So I read through many of those over the last couple days. And I'm amazed. There's a lot of discussion about LV8.0, but there are some pretty big features that get almost zero mention. Users discussing any software are going to focus on the bugs and the things that went wrong -- that doesn't bother me. But there are some real gems in the 8.0 release. So I thought I'd list some of them here, just to see the response generated.

1) XControls : This, in my opinion, is the #1 reason to upgrade to LV8.0. I think this is the answer to many of the UI complaints made about LV. This feature is invaluable to making reusable user interfaces. It

Share this post


Link to post
Share on other sites
Jason: I dedicated three whole pages of LabVIEW for Everyone, 3rd edition, to the Mixed-Signal graph. I think that it is a very cool feature and I can't wait to use it on a project -- In fact, I think that I might be able to use this on a customer project, right now.

Thanks, Jim. I'll have to check it out when our copy comes in from Amazon. It's good to know someone has looked at it.

I was really just being sarcastic with my comments above. I hope the feature is useful to some people, but if not, eh, no biggie :)

J

Share this post


Link to post
Share on other sites
Thanks, Jim. I'll have to check it out when our copy comes in from Amazon. It's good to know someone has looked at it.

I was really just being sarcastic with my comments above. I hope the feature is useful to some people, but if not, eh, no biggie :)

J

Jason,

Well at least you can be sure some people will be using the LEGO Mindstorms NXT stuff :P

PJM

Share this post


Link to post
Share on other sites
In regard to variant, I am missing the type string from the flatten/unflatten to string primitives. This make variant introspection, in the spirit of the OpenG variant tools, pretty much no longer possible for new data type.

Hunt around in vi.lib. I don't remember where exactly, but someone put in a set of variant introspection VIs.

Share this post


Link to post
Share on other sites
... that alone is worth the price of admission to me ...

I think the scroll bar was a sleeper becuase it was already possible to do that in prior versions.

See this thread (on the NI Deve-Exchange)

http://forums.ni.com/ni/board/message?boar...ssage.id=127096

starting at post # 17 we start talking about how to customize an array container to use a slider.

Not as easy as LV 8 but still possible.

And here is an even earlier posting by Jean-Pierre Drolet talking about the same trick.

http://forums.ni.com/ni/board/message?boar...uireLogin=False

Ben

Share this post


Link to post
Share on other sites
Some of you may know me from other LV venues -- info-LV, NI's DevZone. I've only recently created an account on LAVA mostly because of the discussion on the info-LV mailing list where some are claiming that forums are better than mailing lists, so I figured I'd come look around. And, being a LabVIEW R&D developer, my greatest interest, naturally, is the bug list and the comments about the newest versions. So I read through many of those over the last couple days. And I'm amazed. There's a lot of discussion about LV8.0, but there are some pretty big features that get almost zero mention. Users discussing any software are going to focus on the bugs and the things that went wrong -- that doesn't bother me. But there are some real gems in the 8.0 release. So I thought I'd list some of them here, just to see the response generated.

don't worry, these new features are in use and are apreciated by the developers. the scrollbar in arrays was worth "sitting" ovations ;) during the LV Day in Duesseldorf / Germany. This is a feature, users demanded for a long time, and everyone was able to understand quickly how it works, and what the benefits are: "Hey cool, scrollbars!"

The response to XControls or Shared Variables was not that enthusiastic. But not because the users do not like them, or don't recognize the demand for that feature. They have to play arount with that, to understand wether they like/need it or not, what this is good for and what they can archieve with this new technique.

One Problem about public feedback or public discussions in in general, especially in forums is, that people to come here to discuss problems, bugs, missing features, etc. and not to praise the benefits of new features in long discussions. If you want to find this, you have to search for posts like this: "I'd rather use shared variables, that makes it much easier for you to transfer [...]". No feedback is good feedback :)

But just to please you and just to work a little bit against my evil "da big bad NI basher" reputation: I like the array scrollbars :) and I like shared variables. I was a little bit angry about the shared variables - because they came 4 weeks to late for me;)

And, just because good features might not have much room for conversation, I'll throw this in to keep things lively:

How about that new Save Changes dialog? Anyone want to go back to the old 7-button version?

Hmm ... I never had problems with the old saving dialog. If you give me a "close immediately" button in the new one, I'll immediately shut up :)

proschd!

CB

Share this post


Link to post
Share on other sites
I think the scroll bar was a sleeper becuase it was already possible to do that in prior versions.

Yeah, I knew you could, but it was just too clunky for my liking.

Actually, it's more that we have one place on our UI where I plopped down a simple array control thinking that oh-so-dangerous thought: "I'll have to replace that with something more user friendly when I get the chance" ...

... now guess which item has been on my todo list close to the longest???

... and guess which part of the UI causes confusion among all of our non-LabVIEW operators??? :oops:

Share this post


Link to post
Share on other sites
Yeah, I knew you could, but it was just too clunky for my liking.

Actually, it's more that we have one place on our UI where I plopped down a simple array control thinking that oh-so-dangerous thought: "I'll have to replace that with something more user friendly when I get the chance" ...

... now guess which item has been on my todo list close to the longest???

... and guess which part of the UI causes confusion among all of our non-LabVIEW operators??? :oops:

Don't you hate it when procrastinating pays-off? :thumbup:

How do you un-learn that leason ?!

Ben

Share this post


Link to post
Share on other sites
I think the scroll bar was a sleeper becuase it was already possible to do that in prior versions.

See this thread (on the NI Deve-Exchange)

http://forums.ni.com/ni/board/message?boar...ssage.id=127096

starting at post # 17 we start talking about how to customize an array container to use a slider.

Not as easy as LV 8 but still possible.

And here is an even earlier posting by Jean-Pierre Drolet talking about the same trick.

http://forums.ni.com/ni/board/message?boar...uireLogin=False

Ben

Also here:

Replacing the Array Index with a slider, Tutorial

Share this post


Link to post
Share on other sites

I think the reason that a bunch of changes don't get talked about is that the upgrade from 7.1 to 8 includes some cool changes, but very few really useful ones.

XControls are very cool, but are useful for a slim minority of users (I really WANT to use them, and I haven't come up with an instance yet where they really made sense).

The scrollbar for arrays is cool, but as previously stated, there was a workaround. I also agree that it's not an optimal UI element. However, this is probably tied for 2nd as the most utilitarian change in 8 (#1 might be the graph palette changes).

Haven't yet seen the utility in afterprobes yet. I might just be running slow, however. It seems to me that unless you customarily keep that option on (which, as you said, slows execution significantly), it isn't very useful. By the time I know I need probes, I probably know where I want them and might as well put the probes in and use them the old fashioned way.

Again, fail to see how matrices are more useful than equivalent arrays. They look cool, and it's probably a little easier to work with. Maybe. But does it really offer any additional utility? And how do they compare in terms of performance?

I think enough has been said about the changes to the File I/O stuff. Suffice it to say, I'm not a big fan of the new setup either.

Variant performance gains are always good. I don't really see that as an addition to tout, however. Almost every iteration of the language has performance increases, I kind of take that for granted.

On the down side, when I upgraded, I found it acutely painful to develop in 8 due to the random palette reorganization. I don't think I exaggerate when I say it probably cost me a couple of weeks of work time (i.e. for the first month, it took me twice as long to program things as it should), until I finally got irritated and manually re-wrote the entire palette set (which brings up an entirely new set of problems, since the editor seems to have gotten flakier and I still can't find the option to save multiple palettes on the same machine).

As much as I like new features, I resisted upgrading to LV8 for a good long while because it didn't offer anything I needed. Once I did upgrade, my hesitance was shown to be warranted, as the new 'features' tended to slow me down more than making things more efficient. When I upgrade, I expect that development will get faster, not slower, and that the new features will fill needs that I have (i.e. multithreading, undo, synchronization VIs in LV5; waveforms, control refs, variants, polymorphics in 6; events in 7). I cannot say that going from 7.1 to 8 satisfied that expectation.

Share this post


Link to post
Share on other sites
I think the reason that a bunch of changes don't get talked about is that the upgrade from 7.1 to 8 includes some cool changes, but very few really useful ones.

You've listed a bunch of inmprovements that you're not interested in, but they're still improvements. And what about the ones you didn't mention: the fantastic new project explorer, better SCC integration, multiple target building, separated project instances, and autosave capability, OO in the core, etc, etc, etc... You say that the 5 -> 6 and 6 -> 7 upgrades were more significant than the 7 -> 8(.20) upgrades?!? I couldn't disagree more! :thumbdown:

Share this post


Link to post
Share on other sites
...

On the down side, when I upgraded, I found it acutely painful to develop in 8 due to the random palette reorganization. I don't think I exaggerate when I say it probably cost me a couple of weeks of work time (i.e. for the first month, it took me twice as long to program things as it should), until I finally got irritated and manually re-wrote the entire palette set (which brings up an entirely new set of problems, since the editor seems to have gotten flakier and I still can't find the option to save multiple palettes on the same machine).

...

Have you check VI Package Manager?

It allows to install the OpenG Goodies, and you get for free, among other things, a LabVIEW 7.x palette. See attached picture.

post-121-1156914548.png?width=400

PJM

Share this post


Link to post
Share on other sites

:beer:

Have you check VI Package Manager?

It allows to install the OpenG Goodies, and you get for free, among other things, a LabVIEW 7.x palette.

PJM

Can't use OpenG at my current work site, so I hadn't even looked into it. If I can download that separately, I'm all over it and thank you :beer:

You've listed a bunch of inmprovements that you're not interested in, but they're still improvements. And what about the ones you didn't mention: the fantastic new project explorer, better SCC integration, multiple target building, separated project instances, and autosave capability, OO in the core, etc, etc, etc... You say that the 5 -> 6 and 6 -> 7 upgrades were more significant than the 7 -> 8(.20) upgrades?!? I couldn't disagree more!

I'm still torn about the utility of the project explorer, really. Better SCC integration is great, and I do appreciate that. The other things are interesting refinements, and useful in specific instances, but I still don't see that they don't open up new avenues of programming like the 4->5, 5->6, or 6->7 upgrades did. The OO integration might (although from the demo I saw yesterday, I am a little skeptical -- it doesn't look like it really offers that much that I wasn't doing before, just a different interface for doing so).

Personally, if NI really wanted to make some changes that would make me stand up and say "Time to upgrade", I'd have to go with a real implementation of scripting; a HTML-parsing string indicator (or some other decent text-formatted implementation); better VI monitoring/profiling tools; or in place of the afterprobe, a probe mode that tabulates values across the run of the VI -- that would be worth the performance hit for me.

Oh yeah, I forgot. I do REALLY appreciate the improvements to DLL functionality in LV 8.20, though. Big time kudos to the dev team for that.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.