What is LabVIEW?

We first released LabVIEW in 1986 as a graphical programming language on the Macintosh.  By now, you would think that we have a good idea of what it is.  However, as many of you know who are LabVIEW users – the product is constantly evolving (we like to think “improving”) over the years.  In fact, one of the most common misconceptions I hear from customers is when they tell me “I know all about LabVIEW… I used it in my lab in college 5 years ago.”  Inside, I am thinking – dude, you have no idea how much LabVIEW has changed in 5 years.  

The fact is that LabVIEW has evolved tremendously, particularly over the past few years.  We have great plans for LabVIEW – which go way beyond a simple programming language.  The challenge is how do we serve our good customers of today, while at the same time continue to evolve and improve the platform while they are using it?  I am reminded of an actual conversation I had with a few customers this year during lunch on Thursday of NIWeek.   I am reminded of it because, by Thursday – after a week of sales conference sessions, keynote presentations, and editor meetings, I usually try to keep my lunch open so I can sit at a random table to get some feedback from users – to be honest, its a way to get my feet back on the ground and in touch with reality again.  This year illustrated exactly our challenge.  I asked the group at the table “How do you use LabVIEW and what do you like about it?”  The first customer, from a big mil-aero account, said they are working on a large application with LabVIEW and, coming from a C programming background, they really liked the direction we were going in with the project, OO programming structures, and libraries to better serve the programmers of the world.  The second customer said “I use LabVIEW like a calculator to do quick and dirty things.  So keep it simple – I don’t need a lot of the new features you are building.”

So in an attempt to rest my brain and chat up some LabVIEW users, I was once again confronted with one of the ongoing challenges of the universe – how do we present a powerful programming language and a high-level engineering tool in one package?  The interesting thing was that both of these customers were basically happy – but they were using the product in completely different ways. 

This debate was stirred up recently in a great info-lv posting, started by David Moore (from Moore Good Ideas) who started the thread with a post entitled “Will LabVIEW survive?” – which was more about balancing quality and testing with innovation.  It is amazing how these user forums spark up some of the most passionate and thought-provoking debates among our users – usually involving people coming in on both sides of the issue.  While most of the posts and discussions are about “How do I do X in LV?” or “Does anybody have a driver for X?”, we sometimes see these great philosophical debates too.  In the ensuing discussion, Mark Smith from Sandia had a great response where he compared LV to an application for doing relatively simple things (like Excel) as well as an IDE for building applications, and that perhaps we should consider packaging LabVIEW differently based on all of the different features now baked into it.  We ARE constantly looking at new and different ways to package and explain LabVIEW for the world – but we have to be very careful because we have such a rich history behind us and we don’t want to mess things up.  So its a challenge – but perhaps a blog will help.  (If not, at least it will help me move forward on my master self-aggrandizement strategy!)

I am hoping to tap into some of these topics to keep the passion flowing from our users, and provide more of a dialog.  I am already breaking rule #1, which is don’t prattle on too long about something.  We’ll see how it goes.

4 Responses to “What is LabVIEW?”

  1. Understanding the “design flow” « An “Engineers” Take Says:

    [...] was a recent tread on Info-LabVIEW that John mentioned in his post titled “What is LabVIEW? about who it’s intended for and the balance between simpler and more complex applications. [...]

  2. eg Says:

    Hmm, a lot of money for an ingennering calculator??? Scilab is free for this issue.

  3. pasquarette Says:

    Touche’ Maybe the term “calculator” is a little too literal. You may have heard us state our original goal for LabVIEW was to “do for the engineer what the spreadsheet did for the financial analyst”. Financial guys still use calculators, but the spreadsheet opens up a whole new set of possibilities. With LabVIEW’s connection to hardware and its interactive UI, it can be used for more iterative/experimental work to do similar things.

    On a side note, we’ve worked with the Scilab guys to integrate Scilab with LabVIEW – if you are using both tools, you might want to check it out. (http://zone.ni.com/devzone/cda/epd/p/id/657)

  4. Tom Says:

    There are definitely several different types of LabVIEW user and I do feel that the package could do with being presented (if not actually sold) differently to suit the different groups. For example, novices to programming, those who are experienced in LabVIEW and want to move on to more complex tasks, and experienced programmers in text languages who are moving to LV will all come at it with very different skill sets, assumptions and expectations. The middle category could break down further into those who mainly want to create polished-looking applications, those who are building industrial UI’s for complex distributed systems, those who don’t worry so much about UI but need to implement advanced data acquisition and processing, and so on. Some of the comments on LabVIEW that I’ve seen on programming forums describe a poor experience with LV that I know as an experienced user isn’t representative of what the software can do, but these users have clearly had a hard time getting to grips with the product.

    I wonder if NI thinks specifically about how users from each group will approach LabVIEW and how to tailor the experience for each of them so that it’s easier and more productive. Some of this could be done through documentation and tutorials/examples as much as through actual changes to the product – I know good documentation isn’t easy but I do see it as a shortcoming at the moment.

    For myself I’d really like to see LabVIEW stay as easy as possible to use for the quick test or project, but also make it easy for me to learn about and incorporate more advanced features such as OOP and version control – at the moment both of these are a bit of a mystery.

    PS Any idea why I can’t select the text of that link above in order to copy it into my browser’s address bar? (it’s not clickable either!) I’m on IE6 if that makes a difference.

Leave a Reply