Developer Center Resources

Showing results for 
Search instead for 
Did you mean: 

LabVIEW Tools Network Software Requirements

by Active Participant RDR ‎01-13-2010 12:31 PM - edited ‎01-30-2017 09:44 AM

» LabVIEW Tools Network Software Requirements

NOTE: These requirements were formerly known as Compatible with LabVIEW requirements.

Overview

Prior to submitting a product for the LabVIEW Tools Network, please review the software requirements outlined below.  We separate product requirements into the following categories:

  • LabVIEW Add-Ons—These requirements apply to APIs, code templates, custom controls, utilities, example code, and any other product used in the LabVIEW development environment.

  • Applications—These are stand-alone products executing outside of the LabVIEW environment.

  • Other—TestStand and VeriStand add-ons also have a home on the LabVIEW Tools Network and requirements documents are available upon request.

If you believe your product should be excepted from a particular requirement, please contact our team before submitting.

When you are ready to submit your product for review, please fill out an application here: LabVIEW Tools Network Submission Form

Requirements for LabVIEW Add-Ons

Last Updated Oct. 25, 2016

RequirementAdditional Resources
Packaging and InstallationVI Package Manager: An Introduction
The add-on is packaged with VI Package Manager.VI Package Manager: How to Create a Package
The package is configured for required and/or incompatible VI Packages.VIPM Support: Package Configuration
The package includes a EULA which complies with the “Restrictions” and “Application Deployment” sections of the NI Software License Agreement. www.ni.com/legal/license
The package supports at least the latest LabVIEW version. VIPM Documentation: Install Requirements
The package description outlines software and hardware requirements and incompatibilities.VIPM Documentation: Description
If the package requires LabVIEW or VIPM to be run with administrator privileges, the package description communicates this to the user. Checking LabVIEW Administrator Privileges
[Recommended] Package either checks for required software or prompts the user to manually check for required software.Example: Detect Hardware Drivers Before Loading a VI
Licensing and ActivationThird-Party Licensing and Activation Toolkit
[Recommended] The add-on utilizes the NI Third-Party Licensing and Activation Toolkit (TPLAT) for licensing.
The add-on is able to be evaluated immediately upon downloading the software.
Users are reminded of the remaining trial time or uses.
Upon the trial expiring, users are prompted to activate the add-on.
The add-on can be activated using appropriate credentials.
If the add-on is not using TPLAT, activation instructions must be placed in the detailed help.
ExamplesExample VI Guidelines
The add-on includes examples that demonstrate typical use cases to help the user get started. If examples are not appropriate for the add-on, a step-by-step tutorial should be added to the add-on's documentation.
Examples are integrated into the Task or Directory view of NI Example Finder.VI Package Manager: Adding Examples, Help, and Tools Menu Items
Examples include VI descriptions viewable from NI Example Finder.
Instructions on the front panel of example VIs describe exactly which steps the user must follow to run the example.
Example VIs are not part of a licensed library.
Example VIs contain unlocked, viewable block diagrams.
Example VI front panels and block diagrams are placed and sized for easy viewing.
Comments are used to explain block diagram functions and algorithms.
Default values of example VIs allow the user to run the example without modification unless documented to the user (e.g. "Specify an input channel for your DAQ device")
Example VIs comply with LabVIEW Style ChecklistLabVIEW Style Checklist
[Recommended] Example VIs contain non-default icons.
File StructureFile and Folder Names for Integrating into LabVIEW
Add-on files are placed in the correct locations.
Files and folders follow a recommended company/product naming convention to ensure namespacing and avoid conflicts with other add-ons.
Palettes and IconsLabVIEW Palette Guidelines
Add-on VI palettes are accessible from an existing category in the Functions palette. Any existing category may be used except "User Libraries".
Add-on controls palettes are accessible from a custom top-level category or within the "Addons" category of the Controls palette.
Palette organization follows palette guidelines.LabVIEW Palette Guidelines
VI and palette icons do not contain NI company or product logos.
VI and palette icons contain a similar style or glyph to help users understand the VIs are related.
[Recommended] VI and palette icons use glyphs or images to illustrate the VI's purpose.
API DesignStrategy for Designing an API
The API uses a consistent terminal design across all VIs (e.g. reference terminals aligned across all VIs)
API VIs contain error terminals on the bottom left and bottom right of the connector pane.
Left-side terminals of API VIs are used for inputs and right-side terminals are used for outputs.
All API VIs contain VI descriptions visible through Context Help.
API VI descriptions explain the inputs and outputs of the VI.
[Recommended] API VI descriptions contain a link to the API's detailed help.
Detailed HelpDocumentation Best Practices
The add-on includes detailed help accessible through the LabVIEW Help menu. This can be installed locally or hosted on the web. LabVIEW Help Menu Explained - Link to PDF, HTML, etc.
The detailed help outlines all hardware, software and operating system requirements.
The detailed help directs users to the appropriate support channel. Free products may list "not supported".
DeploymentAdd-on Development Guidelines
The add-on is able to be deployed to all targets with which it specifies compatibility (e.g. LabVIEW Real-Time, FPGA).
Reusable code provided by the add-on must be able to be built into a deployable application (e.g. DLL, EXE). Exceptions or limitations must be documented in the product detailed help.
If there are any special considerations for deployment using the add-on (such as licensing restrictions), these exceptions must be documented in the detailed help.
Utilities
Utility window placements and interactions are intuitive to the user.LabVIEW Help: Window Run-Time Position Page
Utility VIs run when opened and closes after execution.LabVIEW Help: Execution Page
Utility VIs exclude ".vi" from the window title. LabVIEW Help: Window Appearance Page
Utility VIs hide the toolbar during execution.LabVIEW Help: Window Appearance Page
The user is provided feedback during long operations. Tools for Long-Operation Feedback in LabVIEW
[Recommended] Utilities can be launched from the LabVIEW Tools menu. VI Package Manager: Adding Examples, Help, and Tools Menu Items
Miscellaneous
The product does not include or install any malicious software.
There are no unexpected crashes or errors when using the product.
There are no memory or processor resource issues when using the product. LabVIEW Help: Profiling VI Execution Time and Memory Usage
The product complies with the LabVIEW Tools Network Style Guide.LabVIEW Tools Network Style Guide
Custom error codes are registered with LabVIEW using an errors text file. Error Codes
The product and accompanying documentation are localized in English.
It is clear to the user when administrator rights are required for successful use of the add-on.
[Recommended] Custom error codes use a range assigned by the LabVIEW Tools Network team to avoid conflict with errors from other add-ons. Error Codes

Requirements for Applications 

Requirement

Additional Resources

Installation

Application is shipped with an installer appropriate for the target operating system(s)zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/build_checklist/
Installer includes and/or documents any software dependencies
Product includes a EULA, which complies with section 4 and 12A from NI EULA when including NI software/driverswww.ni.com/legal/license
Users can uninstall the application
There is a documented or intuitive update process
Activation (if applicable)
Users can evaluate the application immediately upon downloading the softwareNote: users should not be required to request a license to evaluate the software.
Users are reminded of the remaining trial period
Users are prompted to activate the application when the trial period expires     
Users can activate the product with appropriate credentials       
Examples and Tutorials

Product provides examples and/or tutorials to demonstrate typical customer use cases
Examples and tutorials are intuitive and any required steps are documented
Tutorials include explanations to describe what is demonstrated or accomplished by following the tutorial in order to serve as a learning aid for customers
File Structure

Files and folders follow a recommended naming convention (combination of company and/or product names) to ensure namespacing and avoid conflicts with other add-ons or code
Documentation

Application contains a help document accessible from within the product
Documentation describes any installation steps outside of running the installer  (if applicable)
Third-party and NI software dependencies are documented (if applicable)
Hardware system requirements are documented (if applicable)
Supported operating systems are documented in the product manual
Works on all operating systems that are listed as supported (Windows x64, Windows x86, Mac, Linux, RT, and so on)
Documentation describes any required communication ports and firewall settings (if applicable)
Product directs users to a support channel for technical supportFree products may specify "not supported" or direct users to a community/forum/and so on.  All paid products must provide support contact information.
VI Server and Communication

Users can modify port settings required for communication (if applicable)
User Experience

The application runs when opened
The application closes when finished executing
The user interface for applications and dialogs are visible to the user

One of the most common resolutions is still 1024x768 [source].  Specify in the hardware requirements if a higher resolution is required for an application, and consider support for multiple resolutions by creating a resizable user interface.

Resizable UI’s in LabVIEW

User interface is intuitive
User is provided with feedback during long operations (that is, progress bar, busy cursor, and so on)

Set Mouse Cursor to Busy (hourglass) or Custom Cursor

Progress Bar API for LabVIEW

WireFlow ProgressBar -sine.ni.com/nips/cds/view/p/lang/en/nid/210761

Taskbar Progress Bar API -sine.ni.com/nips/cds/view/p/lang/en/nid/210184

It is clear to the user when administrator rights are required for execution
No crashes or unexpected errors are reported
There are no apparent memory leaks or undocumented spikes in CPU or memory usage
Stand-alone applications do not override common keyboard shortcuts (such as copy/paste)
Other

Product does not include any malicious software (malware, viruses, and so on)
Product complies with LabVIEW Tools Network Style GuideLabVIEW Tools Network Style Guide
Product and accompanying documentation are localized in English
Contributors