LabVIEW Idea Exchange

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

LabVIEW as one of the Top 20 software development environments

Status: New

This idea was prompted by an email to a work colleague on how to generally improve LabVIEW. I liked it so much that I’m presenting it as an idea. Please keep in mind that it is worded with an individual audience and may have been tamed down had I written it for this exchange. I hope you like it. It’s a holistic approach to what I think will take LabVIEW from where it is today to where it could be in a year or so. Hopefully the LabVIEW community thinks likewise.

 

If NI want to improve LabVIEW, here’s what I see needs to be done:

 

1) Reduce the price of LabVIEW Professional to $1500 (and get rid of LabVIEW Base – why teach poor programming practices)

 

2) Allow a standard web browser to be the user interface (without any plug-ins!)

 

3) Fold in some of the general purpose toolkits into the main product (best way to add new features!, but I can live without this)

 

4) Sell single board cRIO in quantities of one (at a reasonable price). And show the price on the NI website.

 

5) Reduce the price of LabVIEW RT, FPGA and embedded.

 

6) Offer more deployment platforms (RT, FPGA and embedded) – this is where NI will make money, by selling more hardware.

 

7) Offer general-purpose low-cost mini-board (a few digital and analog I/O and a controller). Think 32-bit Arduino-like. In fact, why not make it compatible with the Arduino shields (stackable plug in boards that add functionality).

 

😎 Improve the robustness of LabVIEW (in preference to new features).

 

9) More tutorials, examples and learning documentation (helps users, reduces support costs and opens the door to cheaper LabVIEW).

 

10) Increase the user base by a factor of 4 (needed to get to “critical mass” for user community).

 

11) Have the same feature set across Windows, Macintosh and Unix (or at least reduce the gap).

 

12) Publish a textbook for experienced LabVIEW programmers that want to move step-by-step to object oriented LabVIEW programming (assuming this is the way to go, haven’t used it myself so not sure how useful it is).

 

13) Add features to make it a more general purpose programming language (to challenge C, C++ and C#). Don’t take it too far, we don’t need LabVIEW to write word processors and database programs, but we would like to write home automation software (my next hobby project), general purpose utilities and more commercial software to go with our products (as opposed to our current usage of just in-house software).

 

14) Improve controls and indicators to allow the same look-and-feel as “professional” programmes. Want to create an awful user interface? Just add a Toggle Switch! There done! (Can you imagine any commercial software written in any other language that would go out of their way to add a Toggle Switch looking control? Can you even begin to imagine this in, say, Windows?). Anyway, more controls and indicators that look like those of general purpose applications and a built-in powerful easy-to-use control and indicator editor.

 

That should do it for LabVIEW 2012. I’ve got more to take LabVIEW to the Top 20 programming languages.

 

LabVIEW should be able to get into the Top 20 programming languages, if NI gets a move on. This is due to its lead with intrinsic multiprocessor programming and deployment across platforms ranging from mini-board (not yet available, see point 7), Lego NXT, LabVIEW embedded for 32-bit microcomputers, FPGA based systems (eg. Compact RIO) and desktop PCs (Windows, Macintosh and Unix). The entire programming spectrum covered – who else can do this today! However, it’s important for NI to get moving and exploit this lead before others do it.

24 Comments
Sergey_Kolbunov
Member
I really respect Jeff Kodosky, but I can not agree with the following statement from the link that Dennis provided: "We do not want to limit the scope or the further evolution of LabVIEW by having it viewed as only a programming language. LabVIEW is much more than a programming language." Opposition LabVIEW to programming languages and setting it above tham can not add to the popularity of LabVIEW in Computer Science community. Does NI care of that? I don't see such care so far. LabVIEW is successful locally, I agree. I would add, it is popular and successful in the community of LabVIEW's zealots like we are. Step aside and nobody heard about LabVIEW or don't take it seriously if heard.
Elijah_K
Active Participant

My attempt to respond to this post was thwarted by a pesky character limit. If anyone is interested, I've posted some of my thoughts on your various points here.

Elijah Kerry
NI Director, Software Community
vitoi
Active Participant

Elijah, thanks for taking the time for your elaborate and well considered response. Great to have an NI LabVIEW Product Manager’s comments.

 

I think the ability to use a standard web browser as a user interface to a LabVIEW application (without any additional plug-ins/frameworks) would be a great feature. It is essentially covered in another suggestion http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Support-for-HTML5-and-SVG-in-Web-Publishing-Tool/idi-p..., which already has 77 kudos. So, the solution already exists from third parties for free. The key thing is that it should not use any plug-ins. The problems with LabVIEW Web UI Builder are  that it costs $1500 + $300/year and cannot utilise any web browser (eg my iPad). As already mentioned, there are a couple of implementations that already provide the required functionality (free and with any web browser), but it would be better if NI provided it as part of standard LabVIEW.

 

With regard to the Toolkits, I have the Developer Suite, however I refrain from using the additional toolkits since if others, who only have LabVIEW Professional, want to keep adding to it, they are limited. I’d rather put some more work in at my end and make my application more universally supportable.

 

I’m still after the general-purpose low-cost mini-board (a few digital and analog I/O and a controller). This is not the LabVIEW Interface to Arduino, which runs LabVIEW on a separate machine and uses the Arduino solely for the I/O. What I’m seeking is a stand-alone board. That is, the I/O and LabVIEW executable are on the one board. A scaled down LabVIEW for ARM if you like. There would be many applications for a small low-cost board that can run a simple application (without a tethered PC). I could do this in C on an Arduino, but prefer to do it in LabVIEW a 32 bit micro (but again, low cost). The intention is to have a range of targets, made by NI, from low-cost (the board in question) all the way to high end FPGA + processor boards.

 

The reference and learning material is an interesting issue. There is plenty of documentation out there, but as a user I find it difficult to find what I want. I have two modes when I’m seeking information; learning and reference. For learning I like a textbook style approach where concepts are taught to me. A Software Engineers Approach to LabVIEW programming is the sort of book I’m talking about, however this book hasn’t been updated since 2003. That’s a long time in computer science and is a reflection of the theme of this idea – increase the popularity of LabVIEW and the extras will come. For reference, I’ll have something I want to do to my LabVIEW programme and I quickly want to find out how to do it. Perhaps a “How To …” series would be good. When learning, I want the author to guide me through, in a structured manner, what I need to learn. For reference I have a need (and I get several of these every day) and I want a quick guide on what to do. If it takes me more than an hour to find and implement the guide, it’s not much use. Maybe my learning and reference style is unique, in which case nothing needs to be done. However, I suspect it’s how most engineers operate and structuring the documentation around these modes may be helpful.

 

I’m all for increasing LabVIEW usage by 10X (and it can be done – with increased profits for NI), but is this something that is actively being pursued? Again this is the theme of this idea – increase popularity. Given the level of kudos, either people have misunderstood the idea or there is no interest.

 

A case in point. A list of textbooks have been referenced at http://www.ni.com/academic/resources_textbooks.htm. A list of 13 textbooks is provided. The publication dates vary from 1998 to 2005, with an average publication date of 2003. That’s over 8 years ago! My hypothesis is that if LabVIEW were more popular, there would be more recent textbooks … more recent textbooks means more user … and so on.

 

It’s nice to spot a LabVIEW Front Panel when watching the Discovery Channel, however it would be nicer if there were some more, for want of a better word, professional looking controls and indicators. The ones at https://decibel.ni.com/content/docs/DOC-9921 go most of the way towards what I’m thinking. Why not make them part of standard LabVIEW?

 

So getting back to the idea. The idea is not to implement the 14 listed items. The idea is to increase the popularity of LabVIEW. To me, the criteria for success would be Top 20 on the TIOBE index and/or four times the number of LabVIEW developers. At this level of popularity, I think we will achieve critical mass and things start to reinforce each other. The 14 things to do to LabVIEW are a suggestion set on how to achieve this. Some of them like lowering the price of LabVIEW Professional to $1500 are controversial. Will sales increase by at least three to make up revenue? Or will more hardware be sold to make up the revenue? I think so, however there is no certainty.

 

Finally, I don’t think of LabVIEW as the premier programming language for engineers and scientists, but rather the premier language for any application that involves hardware. LabVIEW is the ideal language for also programming VCRs, TV, Point-of-sale devices, building energy management systems, security systems, etc. However, the developers of these software applications are not necessarily engineers or scientist. Most may be programmers without engineering or science qualifications.

 

So, is it a good idea to take LabVIEW to the Top 20 programming languages? If so, why not kudos the idea.

Elijah_K
Active Participant

Looks like the link to my response wasn't exactly right... try this: Click Here.

Elijah Kerry
NI Director, Software Community