NI send us the NI Developer Suite each year on DVDs all packed in a nice little NI branded dvd carry case. We are on the SSP suscription and we receive 3/years, which means I have a whole stack of them.
I suggest that NI start shipping USB keys instead. USB has several advantages:
USBs are smaller
USBs are more usable on devices without DVD player
Installing with one large USB means no more DVD swapping. I can go to lunch while NI installs/updates without having to change the DVD every couple of minutes.
USBs are reusable: when you get a new version on LabVIEW on a new USB, you can use the old one for regular usage. This also means less waste, since the USB keys are still in use after a new version ships, but the DVDs are useless.
The "Probe Display" pane of most default probes should have indicators that are set to "Fit to Pane". The worst offenders, in my opinion, are Strings and Variants...I often find myself cursing the fact that I can't see more of the data, and usually have to copy & paste into Notepad++ or something to actually see what I'm looking for.
Yes, you can make custom probes for this behavior. But it should be native.
When you develop with multiple LabVIEW versions, it is sometimes difficult to identify which version you're using or launching based on the icon of the LabVIEW EXE:
Here's my Windows 7 taskbar with, among other things, LabVIEW 8.0, 8.5, 8.6, and 2009 icons. Which one is which? There are ways to tell, but it sure would be easiest if the version number were overlayed on the icon. Note the Visual Studio 9.0 icon in the taskbar...I think we should do something very similar with the application icons of future LabVIEW releases.
NOTE: The icon should also reflect differences between the 32-bit version of LabVIEW and the 64-bit version of LabVIEW
I don't like the way that long file paths are shown in path controls and indicators: If the path is longer than the textbox (and it usually is!), the user only sees the first several levels that fit. This can be pretty confusing. One way to solve this issue is to truncate the path in the middle in such a way that the filename or last folder (which is usually what's most important) is always shown. I've seen this in other UIs and it should be a natural thing for users to understand. Here's an illustration: I think this should be a built in feature of the path controls and indicators, accessible through right-click menus and/or the properties menu of the control at edit time.
For example, when you probe an array, the "Probe Display" only shows the first value of the array. A lot of times, I would like to see a few elements in the array, somewhat like resizing arrays on the front panel. This would be useful for strings, numerics, and clusters as well.
I think structures should have a better label system. Currently I use free labels of the same color as the loop which looks great and makes the code easy to read and debug. But if I resize my loop I have to manually resize the label as well. I think this should be built into a right-click option. (structure) rick-click » visible items » Structure label
It has come up in discusssions that NI does not really cater to hobbyists. A cheap and functional version of LabVIEW is limited to the student edition, which is restricted to a small subset of potential users. From the FAQ: "The LabVIEW Student Edition is available to students, faculty, and staff for personal educational use only. It is not intended for research or institutional use." As a suggested first step, I suggest to remove the academia restriction and mold it into a new product: --- LabVIEW personal edition --- Licensed as follows: "The LabVIEW Personal Edition is for personal use only. It is not intended for commercial, research or institutional use." It would be available to anyone for noncommercial home use. LabVIEW currently has the home use exemption that allows installing a copy at home. Unfortunately, if you lose your job, you not only lose your health insurance, but you also lose access to LabVIEW, thus hampering any self paced LabVIEW tinkering that possibly would improve future job prospects. I am sure many retired LabVIEW engineers would love some recreational LabVIEW use. They could be a great asset, because they will have more time helping out in the community and forums. They could even give guest presentations at user group meetings, for example. The LabVIEW personal edition should include all modules of interest to the hobbyist, including application builder, embedded, FPGA, and robotics. We should be able to distribute built applications as freeware. Support would be limited to community support. Installing LabVIEW on every single private home computer in the world would cost NI exactly nothing (except for some sales of the current student edition which is about the price of a textbook, some internet bandwidth, and loss of the zero to two (?) multi-millionaires who actually bought the NI developer suite for themselves. ;)). 99.9% of users would never touch it, but that 0.1% could come up with great new application areas and would help spread the word on how great LabVIEW really is. Soon 0.2% would use it. :) It should follow the "customer class limited" Freemium model, (as defined by Chris Anderson), i.e. limited to personal home use in this case. The running applications should be clearly identified to prevent commercial use. The splash screen and "about" screen should prominently display the words LabVIEW and National Instruments and could even be used for NI advertising and product placements, for example.
The current commenting practice in the BD is to place free floating comment number labels and write the comment in a text field as in the example below.
- comment number labels do to stick to the code block. if the code number block is moved the comment has to be moved as well.
- no link between number and comment text block
This unsophisticated way of commenting LabView code lead to the lack of comments in general. Usually a new programmer can understand what happens, but not why a function is implemented like this.
LabView provides the Advanced Code Commenting Functions.
The comment block is more then just a text block. Basically it has a comment ID, the comment itself and a comment category.
By the context menu the following functions are provide:
move comment up The particular comment line is moved up in the comment block. The ID is decremented
move comment down Opposite from 3.
highlight function The function to which the comment ID sticks is highlighted.
the comment category can be selected. (e.g.. Code Explanation, To Do, )
Adding a comment in the comment block incorporates two steps (after selecting Add Comment from the context menu):
1. Sticking the automatically generated comment ID to a particular code block just by selecting the item the comment belongs to.
This could be any type of code: wires, SubVIs, the whole Case, a particular Case, Sequences....
2. Writing the comment
If the mouse pointer is set over a comment ID the comment is shown like a tool tip and disappears as soon as the mouse is moved away.
Comment moves with function block if function is moved on the BD
Comment ID sticked on the BD item and ID on the comment block always match
generally more comments in a LabView programm through more simple way of commenting code
Block diagram string constants have a useful feature "Size to text" which is accessible through the standard right click menu. One way in which this is useful is to ensure that information in an array of constants is not hidden: Right click on an element of a string-constant array and select "Size to text" and it will expand to show the full length of all the strings it contains.
What's needed is an equivalent for numerics (including rings and enums). When dropped singly, these constants expand and shrink around their contents. But if you drop a numeric constant on an array constant, it takes the size of the numeric and can only be expanded manually. If you then enter a constant that is longer, only the first part will be shown, and there is no indication that the values are truncated. (see image)
I think that arrays of numeric constants should resize to show everything entered, automatically.
Currently, the space constant looks very similar to an underline character, possibly causing confusion.
I think the icon could be made a bit more distinctive. Here are some alternatives I just made up. I would probably prefer (1) but I am open to any other suggestions. :D
My idea is simple: Put the connector pane on the front panel next to the VI icon. Why: Right clicking to show the conpane means extra clicks that would not be necessary if it was always there. It would also be solve the problem of saving the VI with the connector pane hiding the VI icon.
I don't know how many times I've added a case statement post-programming, but I do know that there isn't an easy way to make a tunnel the case selector. Usually I delete the tunnel and then drag the case selector down and then rewire, there should be an easier way. For loops and while loops have an easy way to index/unindex or replace with shift register, why can't a case statement be the same?
Large string constants, like to one shown below, can really get in the way. I would like to double-click the border and have it collapse, like the LV 2010 Cluster now does. Putting large string constants in a VI, or rolling them up, are some work-arounds, but this would be easier...
Double-Click the "text" icon to reverse.
It'd be usefull for develloper and especially application user to improve graph control by adding to Graph direct access to Plot Visible property on plot legend. For the time being, you have to go to color and choose transparent or to change visible property dynamically. I propose control like that ... but we could find another idea to access Visible property.
It could be nice to have a context help on coercion dots to see what is the expected type of the data that is supposed to be wired to. This way you can rapidly determine what kind of conversion to use to avoid the coercion dots.
When creating a subVI from a selection, LabVIEW should do two things: Use the user's default connector pane pattern instead of selecting one matching the number of inputs and outputs. This will make easier wiring and allow users to add more IO later. If the user is using a "standard" pattern (e.g. 4-2-2-4), LabVIEW should try placing the error clusters at the bottom corners and objects or references at the top corners. It should also try to make the FP of the subVI cleaner, but that's another matter.