One of the major pain points in my day-to-day use of LabVIEW (which I love) is building stand-alone applications. I suspect that the reason this is so painful for me is that (in addition to my use cases being fairly advanced) most of the developers at NI who are on the LabVIEW development team probably don't build applications using LabVIEW -- they are not eating their own dog food.
For example, LVOOP (native LabVIEW Object Oriented Programming) dynamic method overriding requires VIs of the same name, but it is impossible to store two VIs of the same name inside an EXE? How could this feature conflict possibly happen? I suspect that nobody actually tried to build an application that used LVOOP until well after the feature was implemented. What's even crazier is that NI was working on this feature for many years, before it was released.
As time goes by, more people within NI are developing code in LabVIEW on a daily basis. However, I'll bet that most of them never actually use the application builder to build stand-alone applications, since most LabVIEW code is shipped in source form and never gets "built" -- it's just one big, monolithic reuse library.
So, I'd like to challenge developers at NI to find ways to incorporate stand-alone (built) LabVIEW applications into their internal systems and processes. It will make a huge difference to your customers.
I'll have you know that I'm committed to eating my own dog food, too. At JKI, we work very hard to use our own products in a variety of ways:
- EasyXML is being used inside VI Package Manager (and other JKI products and projects), for reading and writing XML files.
- VI Package Manager (VIPM) is used to install EasyXML, as well as manage the LabVIEW configuration needed to develop and build EasyXML (and every other JKI product and project).
I should close by saying that I know some of the people who work on the LabVIEW application builder and LVOOP and they are all very nice/smart people who are very competent LabVIEW developers and software designers. The only problem is that they are probably not eating their own dog food. NI has stated that they are committed to this, so I want to make sure that this is one area they do not neglect