What you need to know about the State Machine Objects framework: Intro

Over the next few weeks I will be sharing the main things you need to know about JKI’s State Machine Objects (SMO) framework for LabVIEW, including what it is, how it works, how it can help you develop scalable applications, and how you can collaborate to make the framework even better! In addition, I will be sharing videos that will show you how to make your next LabVIEW application successful using the SMO framework.

Let’s start from the beginning…

What is the SMO framework?

The State Machine Objects (SMO) framework is an open-source and lightweight development framework for LabVIEW that is in continuous development by the JKI team and the LabVIEW community. Remember the JKI State Machine? The SMO framework extends the functionality of the JKI State Machine and allows you to create extendable and modular applications in LabVIEW using object-oriented design.

With the SMO framework you can spawn multiple state machines that run asynchronously and have them communicate to each other via events.

Continue reading

Posted in Community, LabVIEW, State Machine Objects | Tagged , , , | 9 Comments

JKI State Machine Objects Now on GitHub!


We are happy to announce that the JKI State Machine Objects (SMO) framework for LabVIEW has been released under an open source license on GitHub!

The State Machine Objects (SMO) framework is an open-source and lightweight development JKI State Machine based framework for LabVIEW for creating extendable and modular applications using object-oriented design. 

At JKI, we truly want you to collaborate in making the SMO framework even better. Help us shape and evolve the framework for the benefit of the entire LabVIEW community. All the source code and installation instructions are available on the project’s GitHub page, where you can create forks, make your own changes, and post ideas for features. In addition, the JKI SMO Community Group is a great place to have discussions about your ideas and feedback.

Want to learn even more about the SMO? We’ll be sharing tips, tricks and how-to videos over the next month on our blog to get you up and running successfully.

Until next time!

Posted in Company News, JKI State Machine, LabVIEW, Open Source | Tagged , , , , , | 5 Comments

How FPGAs Get Innovative Science and Technology to Market Fast

If you’re a scientist or engineer at a high-tech company, you know that a key to business success is being able to quickly get innovative ideas prototyped and developed into a viable product for the marketplace. To do this, you need to be able to quickly and gracefully adapt to changing requirements and evolving technology.

In order to achieve this speed and flexibility of development, many of the top scientists and engineers are using Field Programmable Gate Arrays (FPGAs) for their prototypes and products. FPGAs are integrated circuits that promise:

  • High-speed of execution
  • Parallelism and determinism
  • Flexibility of configuration after manufacturing
  • Industrial-strength reliability

In my work as an embedded systems architect at JKI, I’ve seen the huge difference FPGAs have made to many of our customers in a variety of different industries, including semiconductor, medical devices, biotech instrumentation, automotive, and beyond. FPGAs have been a key success factor in getting their products to market with speed and impact. Continue reading

Posted in Applications, LabVIEW, LabVIEW FPGA | Tagged , , | Leave a comment

#5 Best Practice for using the JKI State Machine: Left-justify State Strings

In my last post on JKI State Machine Best Practices, I explained the #4 Best Practice: Use macros (instead of “chaining” together sequential states).

In this post, I’ll talk about a very simple (yet important) best practice that will help make your code much more readable for you and others who work on or inherit your code.

The #5 Best Practice: Left-justify State Strings

I said this one was simple, right?

Left-justified text — easy to read.
Left-Justified State String

Right-justified text — hard to read.
Right-Justified State String

With left-justification, as you can hopefully see, it’s much easier to read the category headings/groupings for multi-line (multi-state) strings.

One quick tip to ensure you get a left-justified string constant is to copy the “Macro: Initialize” string constant (that’s outside the JKI State Machine on the left-hand side) and use that as your starting point, as shown below.

copy+paste macro init

We’d like to hear about your best practices for using the JKI State Machine. Please post comments and suggestions, below.  And, if you have ideas for making the JKI State Machine better, please post them to our Idea Exchange.

And a note from our sponsor: At JKI we use the JKI State Machine every day to help our our clients get their innovative high-tech products and technology to market fast. If you need help taking your system software to the next level or reach an important milestone, contact us to learn more about our services.

Posted in JKI State Machine, LabVIEW | Tagged , , , , | Leave a comment

Creating a Hamburger Menu in LabVIEW

This article is about how to create a Hamburger Menu — yes, you heard that correctly: we said “hamburger menu”!

No, we’re not talking about this type of hamburger menu…

Hamburger Menu

We’re talking about the software drop-down menu with three rounded horizontal bars that looks (somewhat) like a burger and two buns, as shown below:

Hamburger MenuThe hamburger menu is a very simple navigation tool that has become nearly ubiquitous in the past 10 years.


It provides a nice place to put features that are frequently used, but should not be visible all the time.

NI Days Touch UI Demo

As you can see, above, the hamburger menu leaves the main navigation toolbar looking very clean (uncluttered).

Some nice things about the hamburger menu are that it is:

  • Clean and Professional – It declutters the navigation bar, providing a place to put high-level navigation options that you don’t want visible on the main icon bar — it leaves the application looking clean and professional.
  • Familiar to Users – It doesn’t require users to learn a new mode of interacting with the software — users will intuitively know that this is a menu of options
  • Relatively Scalable – It can be expanded to include many submenu options. Want a new feature? Think about adding that option to the Hamburger menu.

Side note: although the hamburger menu has been criticized by some as being a crutch used in lieu of better Ux design possibilities, we think it’s a great tool for most apps (especially when getting started with touch apps).

Hamburger Example VI (Download) – If you’d like to create your own Hamburger Menu, you can download and try out the attached Hamburger Menu VI that we’ve created for you — it’s a great starting point.

JKI Hamburger Example

As we hope you agree, the hamburger menu is a very useful software user experience element for keeping things simple and easy for users, while still looking quite professional.

Danielle and Roam Burger

Me, Danielle, eating a delicious hamburger from Roam Burger in Lafayette, CA, just down the street from JKI.

Thanks for reading and please let me know if you have any feedback on the hamburger menu or other tips for making professional looking touch UIs in LabVIEW.


And, now, a note from our sponsor :-)


Be sure to read the other articles in our series on Tips for Creating Modern Touch UIs in LabVIEW (link coming soon!) with tips and tricks we learned while working on touch applications like touchscreen RF instruments and our recent demo of a Blood Pressure Monitoring app at NIDays 2015 San Jose.

JKI NIDays 2015

Do our shades make the demo even cooler? We think so :)

You can also contact us to find out how JKI can help you create amazing touch UIs for your LabVIEW-based applications.

Credits: Hamburger image from demacmedia


Posted in LabVIEW | Tagged , , , , , , | 8 Comments

2015 JKI Annual Report

It’s been an eventful 2015 here at JKI!

Scroll down for a list of our
exciting results and fun facts for 2015…






1…   Video Produced!

This year, we made a video where Jim Kring explains how JKI uses LabVIEW to help our customers get their innovative high-tech products to market with speed and impact. Watch the video and let us know what you think!







ian and danielle2…    New JKI Engineers Hired!

Welcome to the team, Danielle and Ian! We’re excited to have you on-board (and up our number of physics grads, too)!








2…    NI Engineering Impact Awards

We are proud to have won both the Energy Category and Community Choice awards. Read our award-winning paper, “Controlling Zinc-Flow Batteries and Switch-Mode Power Regulation for Megawatt-Scale Energy Storage.”







2…    Most Used Terms to Describe JKI

Competent” and “Professional” — These were the two words most used to describe JKI’s team, in a recent customer survey. We’re very proud of this and happy our customers can count on us to get the job done. 







3…   Webinars and Trainings

At JKI, we love to teach others how to do what we do. This past year we held webinars on Getting Started with the Actor Framework, JKI State Machine for LabVIEW FPGA, and even held a day-long JKI State Machine training course at our offices. We’ll be hosting more webinars and trainings in 2016 so stay tuned!







Caraya4…   JKI Tools Open Sourced this Year

At JKI, we also love to share our code.  This year, we’re proud to have released Caraya, JKI State Machine, JKI State Machine Objects, and EasyXML as open source projects. We’re planning on spending time in 2016 opening up even more of our great tools.








JKI State Machine4…   JKI State Machine Best Practices blogged

We posted four of the top JKI State Machine Best Practices on our blog. What are your best practices?










Einstein4…   Physics Majors at JKI

“There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.”

― Albert Einstein









4…   UC Berkeley Grads at JKI

JKI is located just a few miles east of UC Berkeley and we’re just a short BART ride away. It’s no wonder Cal grads love JKI (and vice versa). Go Bears! 









JKI Presentations7…   LabVIEW User Group, CLA Summit, and NIWeek Presentations

At JKI, we love giving presentations — we even ask JKI career candidates (who want to join our team give) give us a presentation during the interview process!








JKI International7…   Languages Spoken at JKI

We have an international team who speak English, German, Spanish, Finnish, Swedish, and French! Does LabVIEW count as a language? We think it does :-) Plus, we like to say “Voulez-vous LabVIEW?








RSS24…   Blog Articles

This year, we posted 24 blog articles. We love sharing what we’re working on and useful techniques that help LabVIEW developers and engineers build high-quality systems faster.








53…   Photos Posted on Instagram

This year, we started posting photos and images to instagram to give a window into our work-life at JKI. You can follow us @jkisoftware.









LabVIEW104…   Combined Years of LabVIEW Experience!

We love LabVIEW and use it to help scientists and engineers to rapidly prototype and deploy their innovative systems. And, we’ve got a lot of experience!







753…   Pots of Coffee Brewed

We have several coffee connoisseurs in the office and its one of the passions that fuels our work. If you ever come visit us, expect to be offered a fresh-ground cup of coffee brewed just for you!









Trader Joes1255…   Trader Joes Lunch Runs

It’s a short 4 minute walk to TJ’s from our office and many of us stroll there and back, daily, to pick up sandwiches, wraps, and salads for lunch. “Anyone want something from TJs?”









JKI Happy Holidays12,551…   People Opened our Holiday Card

We have a lot of fun creating our holiday card and this year over 12k people opened and read it! This was a really big debut for the JKI robot mascot — he was so excited, he came back to announce our 2015 report :-)








231,081…   New VIPM Installations

We’re excited that VIPM was installed onto 231,081 new computers this year. Wow!!!









VI Package Network448,300…   Packages Downloaded from the JKI Package Network

We tracked almost half a million package downloads from the JKI Package Network using VIPM and we’re really proud of how VIPM is used to find and reuse LabVIEW code around the world.










0…   Number of Times Jim Auditioned for “America’s got Talent”

There’s a rumor going around that Jim auditioned for America’s got Talent — actually, we took this fun photo at the San Jose Convention Center during the NIDays 2015 San Jose event.






Until next year!



We hope you had a great year, too, and enjoyed this fun look back at JKI’s 2015 accomplishments/happenings and cool company facts. We’re looking forward to sharing an exciting year with you in 2016 on our mission to make a difference in the world, using LabVIEW to help scientists and engineers turn their ideas and visions into reality.

– The JKI Team




Posted in Company News | Tagged , , | 3 Comments

Happy Holidays from JKI!

unnamed (1)

Wishing You a Wonderful Holiday Season!

With sincere appreciation for all that you do, we wish you a joyful holiday season and a Happy New Year!

– The JKI Team

Posted in Company News | Tagged , , | 4 Comments

Celebrate Cyber Monday 2015 with 50% off VIPM Pro


Cyber Monday is here! What better way to kick off your holiday shopping than by getting something for yourself and your team?

This week, we’re taking 50% off all VIPM license purchases and renewals (via credit card on our website). Buy VIPM from our website and enter the discount code CYBERMONDAY at checkout, or click this link to add VIPM Pro to your cart and apply the discount automatically.

Have you been thinking of purchasing VIPM Pro for yourself or your colleagues? There’s no time like the present.

To learn more about VIPM, visit our website.

Posted in Events, JKI Software Products, VIPM | Tagged , , | Leave a comment

Introduction to Unit Testing in LabVIEW with Caraya

New to Caraya and want to lean how to create unit test cases for your LabVIEW project with JKI’s latest unit test framework? This introductory video from JKI’s Tomi Maila helps you to get started with Caraya by showing how to convert your debug code into a unit test case and how to add comprehensive test coverage for your project by composing unit test hierarchies.

Visit the Caraya GitHub page to get Caraya or learn more.

Posted in Caraya, LabVIEW, Open Source | Leave a comment

Caraya – A New Take On LabVIEW Unit Testing


How many times you have had good intentions to write unit tests for your LabVIEW project but when the time came you had more pressing fires to put out? Or how often have you created a small debug VI to test your software but never created a unit test to cover the same functionality?

JKI is excited to announce Caraya, a new experimental open source assertion and unit testing framework for LabVIEW. It takes a whole new approach to unit testing; your VI is your test. Caraya allows you to convert your manual test VIs you use for debugging into unit test cases with nearly no effort. Even running the tests is easy, just run the test case VI. Caraya significantly lowers the barrier for developers to write unit tests leading into improved overall code quality in real-world projects where developers don’t always have the luxury to write unit test cases first.


Excited? So are we! Visit the Caraya GitHub page to get Caraya or learn more.

Learn More »

Posted in Caraya, Community, Company News, JKI Software Products, LabVIEW, Open Source | Tagged , , , , | Leave a comment