The App Store revolution is sparking a widespread usage of apps and Add-Ons. You can find it in the technology platforms you use every day. It has transformed the way you interact with your mobile devices (iPhone), browse the Web (Firefox), build CRM systems (Salesforce.com), or even play video games (Xbox LIVE).
However, can this approach also revolutionize the way engineers and scientists use their tools of the trade to create innovative products and more robust test systems? This article aims to answer that question by examining how National Instruments and LabVIEW developers are sharing valuable IP (intellectual property) through the LabVIEW Tools Network.
Figure 1. The LabVIEW Tools Network has more than 100 Add-Ons and Apps from NI and third parties, and is a marketplace of free and paid Add-Ons and Apps for engineers and scientists focused on accelerating code development.
How NI Enables LabVIEW Add-on Developers' Success
At the heart of the NI platform is LabVIEW, a strong software core that has been proven in industry for more than 20 years and been used by legions of engineers. That strong software core is a common thread in all the platforms that have produced a successful developer community, and it is the DNA that gives apps or Add-Ons the power to thrive. In addition, the NI platform relies heavily on innovative hardware, and tight integration between the software and hardware. The breadth of applications solved by NI hardware is demonstrated by the following characteristics:
- The modular approach of NI platforms such as PXI and CompactRIO that take advantage of off-the-shelf PC technology, delivering cost savings and scalability over time.
- The latest A/D and hardware timing technology in NI measurement devices to take any measurement.
- The scaling from high-end multicore and field-programmable gate array (FPGA) processing capabilities down to low-power embedded targets, to meet any computation demand.
So, with respect to fostering a strong community of Add-Ons, the ability to leverage this hardware innovation is unique to LabVIEW. What else is needed to enable Add-On developers to create innovative IP with LabVIEW?
The December 15, 2009, Morgan Stanley Research report entitled “The Mobile Internet Report” provides a detailed look at the success Apple has had with their App Store and offers one suggestion:
It should come as no surprise, the third piece is distribution. For Apple, this means iTunes. For other platforms, the distribution varies significantly based on the asset. In the case of LabVIEW, where the asset is LabVIEW code, the distribution must give developers the ability to both download code and share code more effectively.
Importance of Distribution
Long before there were App Stores, or even before the mass adoption of the Internet, the distribution model of choice for software users was sneaker transfer via floppy disks. As a point of reference, in 1988, 55 floppies could get you all the LabVIEW instrument drivers available. Sharing code in LabVIEW has evolved quite a bit since then, with significant milestones listed on the chart below:
Figure 2. LabVIEW Code Reuse Timeline
Naturally, the advent of the Internet led to enormous strides of code sharing and collaboration. There’s even VI Snippets, or small pieces of code, that can be dragged and dropped from a web page image directly to your block diagram. Even in the midst of that growth, however, the pure volume of code made it challenging to search the Web to find the right code, navigate through everything available, figure out if it works in a given application, and then install and use the code. Specific challenges included the following:
- Searching, browsing, and downloading the right code
- Handling a code library that could be in different file formats/install instructions (Is it just a .VI file? Is it a ZIP? Is it a .lvlib? If it’s a palette, where do the .mnu’s go in my LabVIEW directory?)
- Accounting for missing dependencies
- Accommodating compatibility issues when using code on multiple versions of LabVIEW
These challenges led to the next generation of code sharing in LabVIEW that can address these issues: VI Package Manager (VIPM). VIPM is a package management solution, or code distribution system, developed by LabVIEW experts at JKI. NI has adopted and backed the package format (which is the format used by VIPM) as the standard for distributing code on the LabVIEW Tools Network.
VI Package Manager
VI Package Manager makes sharing a palette of VIs as simple as sharing a PDF document, and you can download VIPM Free. A VI Package is a single file that you click on and it is handled automatically by VIPM. This makes sharing LabVIEW code a trivial task with the following added benefits:
- Installs the package into LabVIEW seamlessly, so you do not need to know where to put individual files.
- Handles different versions of LabVIEW with the same package (no need to rebuild), and works with multiple OSs (Windows, Mac, and Linux).
- Automatically mass compiles your G code into the version of LabVIEW you are installing the packages into.
- If a package requires dependencies, VIPM notifies you. If those dependencies are available, VIPM gives the option to install those as well.
- When a new package is installed, VIPM helps you get started out of the gate and directs you to Examples and Help.
Figure 3. VI Package Manager shows the list of available packages for download.
New in LabVIEW 2011, VI Package Manager can be reached through the Find Add-ons option in the Tools menu. This provides a special LabVIEW Tools Network view for easy navigation and installation.
Figure 4. The LabVIEW Tools Network can be reached from the Find Add-ons option the Tools menu.
In addition, VIPM makes it easy to share code libraries with other developers. The built-in Package Builder simplifies the process of bundling up your VIs and preparing them for distribution.
Figure 5. The Package Builder is included in VIPM and used for creating VI Packages and preparing an Add-On for distribution.
The LabVIEW Tools Network has a repository of packages that you can connect to from your desktop to download add-ons directly into LabVIEW or get updates for packages you already have installed. In terms of quality assurance, all third-party products on the LabVIEW Tools Network repository (which VIPM connects to automatically) are tested as part of the Compatible with LabVIEW program.
In addition, for developers who create paid Add-Ons, VIPM also integrates fully with the third-party licensing/activation feature in LabVIEW. This gives developers the ability to protect their intellectual property and offer free 7-day evaluations of their software.
Note that VIPM was not built as a replacement for building an EXE installer. For deploying LabVIEW EXEs or stand-alone products, you still want to build a traditional MSI installer using the LabVIEW Application Builder or another installer technology. Rather, VIPM’s sweet spot is really for code reuse scenarios, whether that’s sharing Add-Ons that are a VI-based APIs (that is, the “palette” use-case), or part of a software engineering process. For advanced package management functionality, such as configuration management or managing code repositories within an organization, JKI offers a Pro version of the product.
Summary and Next Steps
So can this Add-on approach revolutionize the way engineers and scientists use their tools of the trade, to create innovative products and more effective test systems? As we embark on the next-generation of code sharing in LabVIEW, with the LabVIEW Tools Network and VI Package Manager, the future certainly looks bright.
Try it for yourself by downloading VI Package Manager, and one of the Add-Ons from the LabVIEW Tools Network.
- Step 1: Download & Install VI Package Manager (VIPM). Skip to step 2 if you already have VI Package Manager 2012 installed. Before installing please note: If you don’t have LabVIEW 2009 SP1 or later, download and install the LabVIEW 2011 Run-Time Engine.
- Step 2: Browse for Add-Ons on the LabVIEW Tools Network or from VIPM directly
- Step 3: Download Add-Ons with VI Package Manager
Once you find an Add-On on the Tools Network, click on the download button to automatically download and install the add-on directly into LabVIEW using VI Package Manager. Note that some Add-ons on the LabVIEW Tools Network do not use VI Package Manager, for example, those requiring a full EXE installer. (Download and install those Add-Ons manually.)
Questions or Feedback? Contact the LabVIEW Partner Program team.
Note: All trademarks, brands, and names used in this article are the property of their respective owners.