Skip navigation

Community

Manage categories

Close

Create and manage categories in LabVIEW Tools Network Developer Center. Removing a category will not remove content.

Categories in LabVIEW Tools Network Developer Center
Add a new category (0 remaining)

Manage Announcements

Close

Create and manage announcements in LabVIEW Tools Network Developer Center. Try to limit the announcements to keep them useful.

Announcements in LabVIEW Tools Network Developer Center
Subject Author Date Actions

Blog Posts

70 Posts 1 2 Previous Next
2

It's that time of the year again.  The LabVIEW 2014 beta 1 has officially been released and it's time to sign up.   We are working on a few new features that will directly benefit LabVIEW Tools Network products which you should especially test out:

 

(Note: links below will not work until you have been accepted to the LabVIEW 2014 beta program)

 

 

Even if you don’t plan to use these new features right away, it is important to test your products with the 2014 beta to ensure their compatibility with the new version and make sure no unexpected issues are introduced into your product (we don't usually do this on purpose, but mistakes happen!).  The sooner you do your testing, the better chance we can fix any bugs before 2014 is officially released.

 

You can sign up for the new LabVIEW 2014 beta at ni.com/beta.  Please sign up, test your products and give feedback via the beta forum. 


0

Cool Toys for Big Kids

Posted by penrenpo Dec 19, 2013

toys.jpg

Let’s face it, the holidays are for kids - sons, daughters, nieces, nephews, and grandkids, all wide-eyed and squealing with laughter on Christmas Eve or morning about the gifts that Santa delivered. But what about the big kid on our shopping list?  As a mom and marketer, I’m inundated with the flashy, full-colored print ads in the mailbox, and online ads in my inbox for every retailer on the planet. However being married to a gadget geek, I still struggle with finding that cool gift for my tech savvy husband and not ending up with the traditional shirt/tie box set, new video game, or favorite collegiate or pro football clothing or gear. We’re really all just big kids living vicariously through our younger generation and the evolution of technology they can access.  And who needs another pair of Darth Vader lounge pants?

 

Get the big kid on your list what they really want – new software “toys” from the LabVIEW Tools Network!  These cool tools will give you hours of LabVIEW playtime and hopefully an excuse to escape the “assembly-required” part of kid’s holiday gifts.  Grab some hot cocoa, sneak off to your computer hide-out, download from the list below, and get started.

 

 

Electronics Prototyping - LabVIEW Interface for Arduino Toolkit

Interface Your Microsoft Kinect with LabVIEW - Kinesthesia Toolkit for Microsoft Kinect

Control Your Synthesizers, Musical Instruments and other Multimedia Devices - Open Sound Control for LabVIEW

Build VIs for Drones - AR Drone Toolkit for LabVIEW

Create a Robot with Your Roomba Vacuum - iRobot Create for LabVIEW

 

 

LabVIEW Hacker, creators of the AR Drone Toolkit and iRobot Create, have some exciting software toys designed to interface with a variety of cool devices:

 

Use the Leap Motion Controller to Capture Gestures with LabVIEW - LabVIEW Leap Interface

Send and Receive Tweets Without Leaving LabVIEW - i3 Twitter Toolkit for LabVIEW

Utilize the Sensors of an Android Device Directly in LabVIEW - LabVIEW Android Interface

Pull Motion Data and Button Actions from a Nintendo Wiimote into LabVIEW - LabVIEW Wiimote Interface

 

 

Have fun and Happy Holidays!

 

 

Penny Wright

Marketing Communications Manager

LabVIEW Tools Network

1

The holiday season is the time of the year when people are traveling, spending time with family, and using up last minute accrued vacation hours before they expire in the new year.  Because of this, you may have a lot of down time in which you are hankering for some juicy LabVIEW nuggets to keep your expertise fresh and continuously growing.  The good news is that TONS of developers out there love LabVIEW so much that they spend time each week writing their thoughts down about their favorite graphical programming language.  In the spirit of holiday sharing, I wanted to let you all in on some of the blogs I personally follow so you can all be as informed as can be.  Here's a few of my favorites:

 

LabVIEW News

https://decibel.ni.com/content/blogs/labview-news-english

 

LabVIEW News.png

 

As the official LabVIEW News blog, Laura Arnold and her team gather LabVIEW content from around the web in all topic areas (as long as it's about LabVIEW).  This is the same news feed that shows up in your LabVIEW Gettering Started Window each day.

 

Eyes on VIs

http://blog.eyesonvis.com/

 

Eyes on VIs.png

Christina Rogers is a developer in LabVIEW R&D and active member of the LabVIEW community.  Her blog tends to focus on hidden LabVIEW tips and tricks and new features of LabVIEW that she is excited about.

 

VIShots

http://vishots.com/

 

VIShots.png

VI Shots is a podcast by LabVIEW Champion Michael Aivaliotis.  Each post, Michael will interview someone from the LabVIEW community and talk about advanced LabVIEW development as well as new and exciting LabVIEW tools.

 

Software Engineering for LabVIEW

http://ekerry.wordpress.com/

 

ekerry.png

Eli Kerry is the Senior Product Manager for LabVIEW at National Instruments as well as a CLA and LabVIEW enthusiast.  His blog focuses on Large application development tips and best practices using LVOOP, Actor Framework, and many other advanced frameworks and technologies.

 

Random Ramblings on LabVIEW Design

https://decibel.ni.com/content/blogs/labviewramblings

 

swatts.png

 

Steve Watts is a LabVIEW developer from the UK who quite literally wrote the book on LabVIEW.  In his blog, he writes about anything from UI design to software development best practices and how they can be applied to LabVIEW.

 

LabVIEW Field Journal

http://labviewjournal.com/

 

LabVIEWfieldjournal.png

 

The National Instruments Field Architects are a small, elite group of LabVIEW experts.  In their blog, Nancy Hollenback, Charlie Knapp and Brian Powell cover advanced topics to help guide software architecture and encourage good software engineering practices in LabVIEW. 

 

ExpressionFlow

http://expressionflow.com/

 

expressionflow.png

 

Returning to the blog scene after a multiple year hiatus, LabVIEW champion Tomi Maila writes his blog about flow-based programming.  While LabVIEW is one of the two main languages he discusses (the other being NoFlo), the blog discusses broader concepts and provides a different perspective on programming in a graphical world.

 

 

LabVIEW Tools Network Developer Center Blog

https://decibel.ni.com/content/groups/labview-add-on-dev-center?view=blog

 

lvtn -small.png

 

Yes, yes, I know.  I'm promoting our own blog on the blog of blogs, but I want to make sure that whose who stumble across this article by accident know who we are.  The LabVIEW Tools Network Developer Center blog is a collaborative blog by the LabVIEW Tools Network team (currently Matthew Friedman, Will Schoettler, Robert Des Rosier,Patrick Simmons and Penny Wright).  Here we discuss technical and marketing topics aimed at helping developer create quality toolkits, applications and add-ons for LabVIEW.

 

 

Others

 

There are TONS of other LabVIEW blogs out there, and this post only scratches the surface.  What are the favorite blogs you follow (shameless plugs graciously accepted)?

0

Your website is an important vehicle to help generate leads for your business and to create awareness for your products and solutions. This section covers the following:

 

  1. Things to Consider When Creating Your Website
  2. Making Your Website Search Engine-Friendly
  3. Linking to ni.com from Your Website

 

 

1. Things to Consider When Creating Your Website

  • Clearly define the strategy for your site and decide on the primary goals and objectives.
    It is important to establish what you are trying to accomplish in each area of your site. Having clearly identified objectives (i.e.collecting leads, driving e-commerce, generating inbound calls, educating users) helps you prioritize which content to include on your pages. When adding content to an area of your web site, always ask yourself, "Does this content match my objective?"

  • Create compelling content and present it clearly on your site.
    When writing content for your website, keep your users in mind. Address their needs, pain points, and concerns and explain how your products and solutions alleviate those problems. They care about how your system benefits them. Having useful content is crucial, but it doesn’t help anyone if users cannot find it on your site. Think about how to most logically group your content and organize it on your site. Clearly label sections of information and pieces of content so that users can skim the page and find what they’re looking for. Based on your experience with your customers, highlight their most typical key points of interest.

  • Check to make sure you have a clear user experience and friendly interface.
    Make sure that your site is easy to use and to navigate for your users. If it’s hard for them to find what they’re looking for, they might give up and leave. It is tempting to try to cram a bunch of content and calls to action on one page, but that often clutters the experience and potentially confuses the user. If in doubt, keep things simple, and refer to your primary objectives to decide what to prioritize and present on the page. When you are working with customers, feel free to request their feedback on your website, and what they would like to add or change.

2. Make Your Website Search Engine-Friendly

Search engine optimization (SEO) helps increase traffic, and therefore leads, to your website. This section covers the following: understanding how search works, understanding the user, optimizing content on the page, and promoting content off the page. This is intended as a basic introduction. There is much more you can learn about SEO. It is recommended that you continue pursuing this topic as it can directly impact the performance of your website.

 

Understanding How Search Works

Search engines feature four main functions:

  1. Finding content: Search engines use software (bots) that move from page to page through links to find your content.
  2. Indexing content: This is the process of bots parsing through the HTML on a page and storing it in a file for the search engine to reference when a user searches for a term.
  3. Returning results to the user based on relevancy: The main way that search engines determine relevancy to a page is through something called anchor text or link text. Anchor text is the visible, clickable text in a hyperlink. You want this anchor text to match as closely as possible to the keyword you are trying to optimize.
  4. Ranking those results based on importance: Search engines determine importance based on popularity and the quality of your popularity (for example, who is deeming your content popular). Search engines are trying to reward good content, so it assumes that popular content is deemed good by users.

Understanding the User

The way the user interacts with a search engine is by inputting keywords. It’s important to understand the language users use to describe their applications and your products and services. That way, you can get the right people to your site. By using these keywords in your web site content, search engines will associate your web site with these keywords and direct users to it.

 

Brainstorming Keywords

  • Ask yourself/sales team
  • Search the keyword
  • Use your web analytics tool
  • Look it up on the Google keyword tool
  • Test it with Google AdWords

Selecting Keywords

  • Narrow your list of keywords down to 1-3 per page
  • Think about long tail SEO. That is the distribution of search terms from broad to niche. Which 20% of keywords gives you 80% of the correct traffic?
  • Broad terms: A very broad word such as “daq” is going to get a lot of search traffic, have a lot of competition, and have a lower probability of converting.
  • More niche terms: These phrases have less competition and less search volume, meaning you could potentially get less traffic to your site. But these terms also convert better, meaning the customers that get to your site are more likely to continue shopping and browsing because your site applies to them well.
  • When selecting a particular keyword for one page, think about your goals. Are you trying to build awareness that you are a DAQ vendor but are less concerned with converting people to leads or sales? Then a broad term might be a good decision.

 

Optimizing Content on the Page

Search engines view certain content on the page as more important based on where you place it. The items with a higher weight are page title, headings, and URL, so you want to make sure that your keywords are included at this level.

  • HTML tag: This is a code surrounded by brackets (<>) that denotes format, hyperlinks, or information for the bot.
  • Page title: The page title or title tag shows up in a few places. It is visible at the top of the browser. It is also the clickable link in the search engine results.
  • Meta tag: This is a type of HTML tag that gives information about the page. The bot can see this information in the HTML, but the user can’t see it on the page. Users can see it on the search engine results page below the clickable link. It is not a factor in determining your rankings, but it can help persuade users to click on your link versus another one on the first page.
  • Heading: This is recognized by the HTML tag “H” and then the number, such as H1 or H2 as the heading tag.
  • Keyword at the page level: Sprinkle the keyword throughout the body content, with a few variations to allow for user variations in the query and for natural writing in the content. At the page level, it’s really important to remember your users. If they type in a search term, get to a page, and find out it’s not about that keyword, they’re going to leave.

Promoting Content off the Page

Of all the things you can do to optimize your content for search, this is the most important. The search engine determines your popularity and relevence at the top of the results page largely based on which external sites link to yours.

  • Get links from trusted, relevant sites. Examples include:
    • Credible institutions: .edu, .gov
    • User-generated: blogs, forums
  • Focus more on external links than internal
  • Get links from multiple unique domains

 

Build links to your site by

  1. Creating exciting content: If people are really excited about what you do as a company, they are naturally going to talk about you and link back to your site.
  2. Building relationships: Build relationships with editors to get them to write articles for you; build relationships with bloggers in your industry to get them to write posts about you.
  3. Taking advantage of social media: Post comments on blogs and forums related to your industry. Social media is a great way to get links back to your site.
  4. Participating: Make sure you are participating in the forums, conferences, and communities that contain your target audience. This helps you spread the word, forge relationships, build credibility, and much more.

 

3. Linking to ni.com from Your Website

Cross-linking between relevant and content-rich sites is important for driving traffic. Your company can greatly benefit from linking to our site. For example, by linking between sites, you improve your ranking in web search engines, as we just discussed above. Higher rankings mean better chances that customers will come to both ni.com and your websites looking for your services and solutions.

 

As a contributor to the LabVIEW Tools Network, take advantage of the Related Links section of your model page to link back to important documentation and demos on your own website. Link back to your model page on ni.com and the LabVIEW Tools Network to strengthen the link connection.

 

As always, feel free to post your own ideas below.

 

Will Schoettler

LabVIEW Tools Network Product Manager

2

Design and Implementation

 

In Tools For Developing Tools, Part 1 we looked at a variety of tools that improve the process of creating detailed documentation that meets the Compatible with LabVIEW standard.  In order to utilize tools for documentation, you must have code worth documenting.  Fortunately, there are a wide array of different tools available on the LabVIEW Tools Network that assist in the the actual design and implementation of a large application.  Many of the tools on the LabVIEW Tools Network are extremely useful for specific applications, such as the set of VIs used to program KUKA Robots.  The focus of this post will be on more generic tools that are useful in a wider variety of applications.

 

 

General Purpose Toolkits

openg_libraries_l.jpg

 

OpenG Libraries

 

The OpenG community has built and shared hundreds of open-source VIs that cover a wide variety of different functions.  There are additional palettes with advanced functions for working with arrays, strings, application control, file handling, and more.  If you aren't already using OpenG, you probably should be.

 

 

GPower Toolsets

 

Another set of useful functions, the GPower Toolsets include functionality for advanced error handling, timing functions, overflow arithmetic, dynamic VIs, and more.  They also introduce the concept of VI Registers, which are extremely useful for global access throughout your application.

 

 

MGI Library - Moore Good Ideas

 

Moore Good Ideas employees consolidated a free set of VIs created by MGI over time.  This toolkit includes functions for most of the categories in the default LabVIEW Programming palette, expanding on built-in functionality with advanced re-usable VIs.

 

 

NI Labs: LabVIEW VI Scripting

 

VI scripting allows you to programmatically generate, run, inspect, and modify LabVIEW code.  These tools are indispensable when working with large sets of code, and can significantly decrease the amount of time needed to generate large libraries.

 

 

EasyGIO Tools

 

EasyGIO Tools is an add-on that addresses a wide variety of new functionality.  It includes VIs to create HTML help files automatically, set help options programmatically, modify VI descriptions, update front panel tip strips, and more.  In fact, this tool addresses much more than just documentation.  It includes functions that manipulate controls on your front panel, easily create FGVs, rename and save VIs without conflicts, and create a top-level VI with project.  The EasyGIO Tools are exceptionaly useful utility VIs that assist in many phases of development.

 

 

Third-Party Licensing and Activation Toolkit

 

Properly licensing code for distribution to customers presents a number of challenges, such as managing activations and preventing fraud.  Implementing custom licensing can be very time consuming, especially when maintaining a positive end-user experience.  The Third-Party Licensing and Activation Toolkit is an out-of-the-box solution that takes care of licensing, activation, evaluation, and more.  It supports development and deployment licensing and is highly recommended for use with any code that needs to be licensed.

 

 

Source Code Control


tsvntoolbar_l.jpgTSVN Toolkit

 

Source code control allows teams of developers to ensure easy access to shared code while mitigating conflicting changes, allowing check outs of code, merging versions, and more.  Tortoise SVN is a very popular free set of code that performs source code control from a file browser.  Viewpoint Systems' TSVN Toolkit integrates the functionality of source code control programs directly into LabVIEW, extending the native source code control of LabVIEW with an intuitive interface that overlays directly on a LabVIEW project.

 

 

TortoiseSVN Tool for LabVIEW

 

Similar to TSVN, this toolkit incorporates source code control into the LabVIEW Tools menu.  Created by JKI, this full-featured toolkit saves time for developers, accessing common TortoiseSVN operations without leaving LabVIEW, allowing them to focus on their work rather than source code control.

 

 

Clusters and OOP

 

Cluster_Toolkit_l.jpg

 

Cluster Toolkit

 

Clusters are an extremely powerful way to manage elements in LabVIEW.  This set of VIs simplifies a number of different operations related to working with clusters.  You can easily obtain individual or sets of elements, manipulate elements, split or index cluster subsets, convert clusters to other data structures, and sort clusters programmatically.  The Cluster Toolkit also works with clusters in the form of variant data, further increasing the flexibility of this powerful toolkit.

 

 

Cluster Tools

 

Cluster Tools by IMS builds on the native LabVIEW cluster functions by allowing programmatic indexing, register reference, recursive operations, and more.  Allowing direct access to cluster element references means you can perform manipulation of those elements without bundling values with references.  Overall, Cluster Tools is extremely useful when working with code that is heavily dependent on clusters as a data structure.

 

 

GOOP Development Suite

 

Object oriented programming in LabVIEW has grown by leaps and bounds in recent years.  Object data is stored in wires that are accessed via cluster tools.  There also exists a series of tools designed to extend LabVIEW's OOP feature set.  The GOOP Development Suite simplifies management of classes, allows automatic code generation, and incorporates Unified Modeling Language support into LabVIEW. 

 

 

G# Framework

 

This toolkit adds reference-based object oriented support, includes a debugger for tracing object instantiation, and adds automated garbage collection to remove the need to manually destroy objects.  The toolkit's object oriented support makes LabVIEW as powerful as any object oriented language.

 

 

UI Customization

 

ProgressBar_screenshot_l.jpg

 

WF ProgressBar

 

The WireFlow WF ProgressBar module is a simple, easy way to add progress bars into your application.  It allows full customization of the appearance, giving you control over the user interface and allowing the end user to potentially cancel longer operations.  For more progress bar functionality, check out the LabVIEW Taskbar Progress Bar API, which allows you to use the progress bar embedded in Windows 7 by leveraging very simple VIs.

 

 

VI Box XControls

 

One of my personal favorites, this XControl allows you to create a tab control on your LabVIEW front panel that performs similarly to a browser.  You can create additional tabs, manipulate their locations, pop them into separate windows, and more - all during run-time.  The ability to provide users an intuitive tabbed experience similar to what they are used to from internet browsers increases the usability of a wide variety of applications.

 

 

UI Control Suite

 

The UI Control Suite adds controls and indicators that differ aesthetically from the built-in LabVIEW UI objects.  Available in Metallic Theme, NI Theme, and System Controls, the UI Control Suites offer the ability to make engaging, coherently styled UIs for a variety of desired looks.

 

 

UI Tools

 

The UI Tools palette, created by LAVA, allows the LabVIEW front panel to fade in or out, smoothly move objects programmatically, override generic dialog boxes, and more.  This powerful toolset also incorporates functionality to improve the usability of front panels of LabVIEW OOP VIs.

 

 

 

 

There are many more tools available on the LabVIEW Tools Network that facilitate productivity, expand built-in functionality, and incorporate specific applications to save you and your developers time and effort during the Design and Implementation phase of your project.  In Part 3 of this series, we will take a look at a number of tools that simplify the Deployment process in a variety of different ways.

 

Patrick Simmons

LabVIEW Tools Network Engineer

0

We are making a change to the re-certification process of the Compatible with LabVIEW Program in order to scale with the popularity of the LabVIEW Tools Network and the number of products we are certifying each year.  This blog post will describe the process for re-certifying your products and these changes go into effect immediately.

 

Expectations

  1. LabVIEW Tools Network Partners  be responsible for verifying that their products continue to meet the requirements of their current level of Compatible with LabVIEW certification for the latest versions of NI software.
  2. All partner products must maintain compatibility with the latest versions of NI software before 12/31 or the associated product listings will be pulled from the LabVIEW Tools Network [1]
  3. Once product testing has been completed by the partner, each partner is expected to submit the  Compatible with LabVIEW Re-Certification Form

 

You can download the latest software releases for LabVIEW, VeriStand, TestStand, and device drivers through ni.com/downloads.

 

Accountability

We will continue to test all new products for the Compatible with LabVIEW Program certification.  We will hold an audit of the existing product re-certifications each year to ensure our expectations listed above our met.

 

Get Ahead of the Game

The LabVIEW Beta program is made public in Q1 of each year and provides the opportunity to test your products prior to release to ensure compatibility is met in the new version.  This allows you to re-certify or achieve a higher Compatible with LabVIEW level before NIWeek each year.  We deliver announcements when the beta opens for registration at ni.com/beta.

 

Please let us know if you have any questions about this change to our program.

 

-LabVIEW Tools Network Team

 

 

 

[1] - Note: Stand-alone or compiled executables do not need to be recompiled in the latest LabVIEW version unless updates to NI software require associated product updates to partner applications in order to maintain compatibility for features.

0

We have added a new technical document to the LabVIEW Tools Network Developer Center entitled "Creating a Custom Bookmark Manager for LabVIEW".  This guide introduces VI Bookmarks, one of the exciting new features of LabVIEW 2013, and discusses how developers can customize the Bookmark Manager or create their own.  Check it out now, and if you have any questions or information to add, feel free to leave a comment!

 

Creating a Custom Bookmark Manager for LabVIEW

https://decibel.ni.com/content/docs/DOC-31854

 

--David

0

Developing code to share via the LabVIEW Tools Network presents a unique set of challenges and requirements. Transforming an idea into a finished product can prove to be a time consuming process, even for experienced LabVIEW programmers interested in sharing their VIs or built executables. The Tools For Developing Tools series will address a variety of methods that can help decrease the time necessary to complete this process.  In Part 1, we will take a look at improving the process of creating detailed documentation that lives up to the Compatible with LabVIEW Certification

 

 

Understanding the Requirements

 

The requirements for documentation are similar for the different levels of Compatible with LabVIEW Certification.  Documentation starts and ends with the end user of the software in mind.  Including getting started instructions, well-explained examples, and detailed help information will allow your customers to get the most they can from your tools right out of the box.  Start with general Product Documentation, then expand into Professionalize Your Add-On or App With Icons and Documentation Best Practices.  Once you understand just how much documentation can be included, it becomes clear that manually entering all of the necessary information can be time consuming.  Let’s dive in to the tools available to assist in this process.

 

 

VIPE+edit+items.jpg

 

VI Properties Editor

 

The VI Properties Editor is a free tool that allows you to edit a VI’s Description, Help Tag, Help Path, and Name/Description/Tip in a single window. It also allows you to quickly scroll through multiple VIs on disk, decreasing the amount of time necessary to populate the Context Help for each VI.

 

 

 

 

 

 

 

VI+to+XML+5.jpg

 

VI To XML Documentation Tool

 

Use the VI To XML Documentation Tool to generate a set of XML documents describing your VIs.  You can also convert that XML into HTML, then use an HTML Editor and CHM tool to create CHM files from this HTML source.  If you plan on using XML extensively, then you can also check out the EasyXML Toolkit for LabVIEW, which makes XML editing as easy as working with a cluster.

 

 

 

 

 

 

 

 

 

 

 

helper_logo_l.jpg

 

HELPer: Help Editor for LabVIEW Programs

 

HELPer is an easy to use documentation tool that you can use to create and edit VI documents like those found in the “Detailed VI Help” links from the context help.  This tool takes care of the formatting and style, automatically matching current LabVIEW design while allowing you to focus on content.  It does allow you to customize formatting as you see fit, and generates ready-to-use HTML documents, allowing you to avoid programming directly in HTML.

 

 

 

 

 

 

 

 

 

 

vi_helpeks_l.jpg

 

VI Helpeks

 

Similar to HELPer, VI Helpeks simplifies the generation of completed HTML format documentation files and provides support for creating CHM files.  This tool automatically takes information from your VIs and compiles that information into the help files.  The more VIs you have to create documentation for, the more useful this tool becomes.

 

 

 

 

 

 

 

 

 

 

 

easygio_tools_l.jpg

 

EasyGIO Tools

 

EasyGIO Tools is an add-on that addresses a wide variety of new functionality.  It includes VIs to create HTML help files automatically, set help options programmatically, modify VI descriptions, update front panel tip strips, and more.  In fact, this tool addresses much more than just documentation.  It includes functions that manipulate controls on your front panel, easily create FGVs, rename and save VIs without conflicts, and create a top-level VI with project.  The EasyGIO Tools are exceptionaly useful utility VIs that assist in many phases of development.

 

 

 

 

 

 

 

 

 

icon_library_update_tool_l.jpg

 

Icon Library Update Tool

 

As mentioned in the Professionalize Your Add-On or App With Icons and Documentation Best Practices, icons play a large part in how your code is perceived by customers.  The icon will be seen each time a customer drops one of your functions on the block diagram.  In order to simplify this process, you can use the Icon Library Update Tool to enhance the built-in capabilities of LabVIEW.  With this toolkit, you’ll be able to apply glyphs to controls or indicators, make your UI more user friendly, and incorporate improved icon conventions.

 

 

 

 

 

 

 

 

 

localize_fifi_l.jpg

 

LabVIEW Localization Toolkit

 

Creating code for multilanguage applications can present a unique challenge.  Use the LabVIEW Localization Toolkit to simplify the process.  This toolkit allows you to create multilangue applications, change languages on the fly, and create language-dependent formatting rules.  This tool greatly reduces the effort needed to create and incorporate help documentation in multiple languages.

 

 

 

 

 

 

 

 

 

 

 

Stay tuned for Part 2!

(Edit: Check out Tools For Developing Tools, Part 2: Design and Implementation)

 

Patrick Simmons

LabVIEW Tools Network Engineer

0

Case studies document how our customers use our products and services to develop innovative solutions, optimize existing applications, or perform cutting-edge research. They are excellent tools for demonstrating the capabilities of your products and building credibility in industry. This post will cover how to write an effective case study. We will cover:

 

  1. Type of content you want to include
  2. How to structure your case study
  3. Important details

 

Type of Content you Want to Include

Case studies are inherently about projects that your customers have created. So typically you will work directly with your customers to obtain content and review the messaging that is used. When obtaining content for your case study, be sure to cover the following points:

 

  • Demonstrate how your application met the customer’s challenges better than any other company and include examples of other options the customer may have chosen.
  • Communicate the challenge clearly and include the “pain points” the customer was trying to alleviate.
  • Highlight all of the software, hardware, and services used to develop the solution.
  • Quantify the results. Include phrases such as, “We helped the customer increase efficiency by X percent, decrease costs by X dollars, and decrease test time by X minutes/hours.” The more specific you can be, the better.

 

How to Structure Your Case Study

Now that you have your content, how do you present it to the reader? You want to make it as easy as possible for your reader to get a snapshot of the solution. You should also have more detailed supporting content so they can learn more if they are interested.

 

  1. Provide a conside but descriptive Title. 60 characters maximum.

  2. Start by crediting the Author(s), including the company name that created the solution. This helps you gain credibility in the eyes of the reader. A recognized name that uses your products will have the most weight in the eyes of the reader.

  3. State your Products used in this case study. Simply state them - description will come later.

  4. Next, mention the Industry and Application Area that the solution pertains to. This allows readers to self-select by their interest area.

  5. Now it's time to describe the Challenge your customer needed to overcome. This is the reason they needed your product. Make this 25-50 words.

  6. Follow the Challege by the Solution. Describe how your customer solved the problem using your products. This should also be 25-50 words.

This completes your snapshot of the solution. You have given the reader enough information to decide if this fits their interests and if they want to learn more. The next step is to provide more details on the customer, the solution, and reasoning why your product was chosen for the solution. This is the main Body of the case study. It should be 800-1200 words.

 

  1. First paragraphs should be a Brief Description of the Customer. Specifically who they are, what they do, and who they serve. Elaborate on the engineering problem they were trying to solve and why it was important.

  2. The next few paragraphs should describe the Project itself that was used to solve the challenge. This is a high-level description of how the system works. Be sure to describe:
    • Other options besides your own, that could have solved the problem.
    • Why the customer chose your product over the other options.
    • The specific features of your product that were most utilitized and why they were important for the success of the solution.
    • Mention any additional services you provided that were helpful for the project.

  3. Now explain the Benefits of the Solution. Provide detail, and give quantifiable measures of the benefits. Specifically:
    • Practical benefits (Increased efficiency, ability to reuse or scale, etc)
    • Business benefits (Cost savings, time savings, meeting more customer needs)
    • Any benefits your or your customer did not expect

  4. The Final Paragraph should discuss how this solution and specifically your products met the customer's objective for their project.

  5. Follow the body with Contact Information to learn more about your products and the solution as well as any Additional Materials you may want to include like code or supplemental technical documents.

 

Once complete, your case study should have the following structure:

 

Case Study Title

 

Author(s):

 

Products Used:

 

Industry:

 

Application Area:

 

The Challenge (25-50 words)

 

The Solution (25-50 words)

 

Body (800-1200 words)

    • Brief Description of the Customer
    • Project Itself
    • Benefits of the Solution
    • Final Paragraph

 

Contact Information

 

Additional Information

 

Important Details

There are a few details that help to make a case study particularly engaging and effective. Always do the following:

 

  1. Include links or methods for readers to learn more about your product and get in contact with you. They should always have a next step.

  2. Choose a solution that is either attention grabbing or solves a very common problem in the industry you serve. This will help get people interested and give the case study more mileage.

  3. When possible, include pictures. Graphics and photographs immediately add a new element and sense of reality to your case study. People will be able to understand the case study more effectively. It also adds additional credibility.

  4. When possible, include video of the solution or concepts applied in the solution. Videos are one of the most effective methods to gain attention and get important messages across to the viewer.

 

Final Thoughts

Case studies can be a very effective addition to your overall marketing strategy. They give you the opportunity to demonstrate your technical aptitude while quickly showing others how people are effectively using your products. One of the best ways to gain exposure and increase sales is by demonstrating that respected organizations in your industry are happily using your product.

 

For example case studies, take a look at ni.com/casestudies. As always, free to post questions or your own examples below.

 

Have a great weekend!

 

Will Schoettler

LabVIEW Tools Network Product Manager

0

What is a session-based API?

Many LabVIEW toolkits can be defined as session-based APIs where there is always a beginning and an end to an interaction with some object.  This could be an instrument driver like the DAQmx driver where the API is used to configure and control the DAQ board, an API for reading and writing to configuration (.INI) files, or even an API for communicating over TCP.   Session-based API is characterized by the definition "a period of time devoted to a specific activity".  We often see these session-based APIs with an initialization/configuration or 'open connection' operation, a series of operations to manipulate & control the session, and an ending or closing of the session.  This is a common model used for APIs in LabVIEW, let's take a look at DAQmx and the Configuration File palettes:

 

  • A Configure HW - Read/Write Data - Clear Task session-based API model used in DAQmx for data acquisition
    daqmx.png


  • A similar Create/Open File - Read/Write Data - Close File session-based API model is used with Configuration File I/O
    config file.png


Great, how does this relate to me?

As you can see in the images above and by browsing the palettes in LabVIEW, most LabVIEW APIs created by NI R&D have a unique reference data type (Instrument IO References, File I/O References, etc.), access to property & method nodes, and an associated wire color for the different reference types in these APIs.  To date, creating a new custom reference type has not been exposed to third-parties, which often results in third-party developers using a cluster to pass their session data between their API VIs.  However, LabVIEW classes provide some very useful features like defining custom wire appearances & property nodes.  Lets take a look at how LabVIEW classes can be used in our APIs.

 

In the image below, I have created a session-based API by defining my own ZIP File.lvclass.  Using a LabVIEW class lets me as the developer define my own custom wire appearance, which will set my API apart from other LabVIEW .ZIP toolkits and prevents my customers from attempting to accidentally misuse my API by combining it with other file I/O operations.  I also created a custom property for this API where, when called, behind the scenes it executes a VI to read the File Size for my .ZIP file.  The advantage of using a property node instead of a VI to read this property is you can combine multiple property operations into a single Property Node and avoid stringing together additional VIs on the block diagram.  This makes my API much easier for my customers to use.

 

2013-08-29_13-17-09.png

 

 

 

This image displays a session-based API for working with .ZIP files that uses a LabVIEW class - notice the custom property node for reading the file size & the custom wire type.  I've attached the code below.

 

 

 

 

 

 

 

 

 

You mentioned LVOOP, where does it come into play?

In order to create the ZIP file API shown above, I used a tool created by Systems Engineering called the Extensible Session Framework (ESF) to generate the starter code & framework used in my session-based API.  This tool makes use of scripting, LVOOP and LabVIEW Classes to generate a template project and LabVIEW class framework with an architecture optimized for use in a session-based API.  Here are some of the features:

  1. Multiple instances - You can instantiate multiple unique copies of your session, each with a unique string name to identify it. So if you have a session named "Serial Waveform" and want to generate multiple different serial messages in your program, you can do so by simply creating multiple wires and naming them uniquely.
  2. Multiple accessors - Because the sessions are uniquely named, you can obtain a reference to any session that already exists from anywhere in your application space. This is analogous to the behavior provided by LV Notifiers and Queues.
  3. LV Class features - Your session is implemented as a class in LabVIEW, so you get all the nice features of classes: encapsulation and inheritance, password protection of private methods, and (in LV 2010) native property nodes
  4. Simple interface to C and TestStand - The session handle is a DVR to your class. This means that your methods, when called from TS or C/C++, only have to pass an integer (the DVR) to the caller. This is much much nicer than passing a cluster.

 

Please review the attached slide deck for an overview of the Extensible Session Framework and I encourage you to head over to the LabVIEW Development Practices Community to view the accompanying example code & download their VI Package containing the tool used to generate ESF template classes as I have done:

Framework for creating Session-based APIs

1 2 Previous Next

Actions

Notifications