Pieter Edelman
14 September 2017

This year National Instruments released an ‘NXG’ version of its Labview programming environment in addition to its regular update. For now NXG is aimed at a select group of users, but with features like a renewed and scalable interface and better data storage capabilities, it’s set to replace the current Labview product over the next five to ten years.

For the last three decades, Labview has been the programming core of the National Instruments ecosystem: a programming environment with the design philosophy that it’s there to serve non-programmers, or rather, engineers who have better things to do than to hone their programming skills. Labview programs are graphically created as flowcharts that respond to data coming in, usually from a range of instruments that NI offers. This allows engineers to concentrate on the problem at hand, rather than on arcane implementation details.

Over those thirty-plus years, the tool has undergone heavy development to adapt to the current needs of the engineering community. For the past decade NI has released a new major version on a yearly basis. This year, however, the company from Austin bucked the trend by releasing not one but two versions at the same time: in addition to Labview 2017, there’s the 1.0 release of the brand-new Labview NXG. NXG is described as a tool that requires even less programming, using software guides to let engineers create relatively simple data acquisition applications with just a few mouse clicks.

But that’s just part of the story. The first NXG version is nothing less than the start of a journey to completely replace the current Labview product over the next five to ten years. ‘Labview does what it needs to do, but the world’s changing and the engineering and scientific community have to do things we never anticipated thirty years ago,’ says Charlotte Nicolaou, who works as a software marketing engineer for NI. ‘For example, there was nothing like the Internet of Things we have today, and the original Labview isn’t the best tool for trying to connect lots of different remote devices.’

Labview XG Interactive Data Analysis
Labview NXG allows users to interactively explore their incoming data.

Massive rewrite

So NI set out to create a new tool that’s better suited for current and future trends. Of course, that can’t be done overnight, so for now NXG is somewhat limited. But over the next few years it will be expanded until it’s just as capable as the original Labview. Until that time has come, NI will keep developing the current version and use a dual release strategy.


Device lifecycle management for fleets of IoT devices

Microchip gives insight on device management, what exactly is it, how to implement it and how to roll over the device management during the roll out phase when the products are in the field. Read more. .

So what is Labview NXG? The first thing to note is that NXG is fundamentally Labview. ‘The programming language in current Labview and Labview NXG are identical, or 99 percent identical,’ Nicolaou explains. ‘If you’re experienced in Labview, you can go into NXG and you’ll know how to program it. The underlying language, g-code, is also the same in both versions.’

But NI wants to expand functionality on top of the Labview base, and design choices made in the past prohibit this. For example, the way data is stored in the backend makes it hard to interact with. Another big difference is the use of vector graphics in the interface. ‘What we want to do with NXG requires being able to zoom in on things and interact with the user interface in more detail,’ says Nicolaou. ‘But we wouldn’t be able to implement these things without doing a massive rewrite.’

In fact, an interface rewrite was overdue, adds Erik van Hilten, an embedded systems marketing engineer at NI. ‘A lot of customers have been asking for a kind of zoom functionality. Not just for the interface for the end user, but also in the programming environment.’

The new Labview improves the user experience in many other ways as well. For example, it takes inspiration from Microsoft’s Powerpoint to manage the properties of objects in the programming environment.

Labview_NXG_In built_Learning
Labview NXG tries to shield users from programming, but it’s also able to guide them when they can’t avoid it.

Fluid and easy

With these changes in place, NI could start to work on the main goal: making it even simpler for non-experts to write programs. This is in response to the changing needs of the engineering community, Nicolaou says. ‘Labview was designed at a time when engineers would specialize in one or two tools. But today we’re finding more and more that engineers are familiar with up to ten tools, and students coming from universities are used to using Python and C and Labview and Matlab and all these things. So you don’t have time to become an expert in a specific type of software.’

The 1.0 release of NXG shows how this approach works for a field that’s becoming increasingly important: data processing. ‘We’re hearing a lot about big data at the moment, and how everybody has lots of data but isn’t exactly sure how to go about analyzing it,’ Nicolaou explains. ‘In the original Labview, you can collect data from a piece of hardware and maybe display it on a meter interface, but you won’t be able to interact with that data very well. In Labview NXG you can click on some hardware that’s connected and instantly see and record data, zoom in on parts of it and visually apply filters and analysis tunnels. So you can very quickly decide how to do your data analysis. And when you press a button, the accompanying code is generated to collect that data.’

The trends NI is seeing also mean that Labview needs to position itself a bit differently relative to the other parts of an application ecosystem. According to Nicolaou, there’s a huge emphasis on being able to interact with other components – both hardware and software. ‘People are using a mix of different technologies these days and we have to make sure Labview can integrate with them, so we’re trying to make NXG a lot more open to third-party hardware and software.’

On the hardware side this simply means including ever more drivers. The original Labview already knows how to speak to several types of external hardware, but it’s always easier to work with components made by NI itself. ‘You could always work with third-party hardware, but it wasn’t as fluid and easy as connecting to our own hardware’, says Nicolaou. ‘So now we’re trying to make that a bit more fluid as well.’

NI is also working to incorporate other programming languages as well, she adds. ‘That’s not specific to NXG; we’ve been doing that for Labview over the last few years anyway, and we’ll continue to improve on that. For example, we recently released an integration toolkit to incorporate Python code into Labview.’

This approach also means bringing Labview code into other environments, so making standalone programs is on the roadmap. And the beta version can already export a Labview program to an HTML/Javascript application that can be hosted on a web server to present a remote interface to the hardware.

It’s still early days for Labview NXG, and not everyone can use it yet – NI has a tool available for users to check whether their application can be converted. But the company thinks NXG will be a solid base to build on in the years to come, Nicolaou says. ‘We’ll add more and more functionality to enable people to address challenges like the Internet of Things, 5G and automotive, as well as other trends that are emerging.’