UI Interest Group Documents

Showing results for 
Search instead for 
Did you mean: 

Windows 8 Style UI demo

I finally had time this afternoon to post a back burner project I've been working on on and off (mostly off) for a couple of months.  Some things are still rough around the edges but rather than wait for it to be perfect I figured I'd put it out there just in case someone finds it useful.  Hopefully I'll find time to continue to work on it.

My goal was to create an application in LabVIEW that looks and feels like a Windows 8 style application.  I also hoped to build such an application on top of the Actor Framework in such a way that others could use some of my base classes in their applications. 

The code is attached - unzip and run "Launcher.vi" in the Win8uiDemo folder. [LabVIEW 2012 - I'm relying on Actor Framework (I used 4.1 but it should work with 4.0) so I don't plan to back-save to any previous versions.]

Quick Video Demo

Win8uiFramework quasi-UML Class Diagram


Win8uiDemo quasi-UML Class Diagram


Active Participant Thoric Active Participant
Active Participant

That's astonishing! I can't wait to get my proverbial teeth into this!

Well done sir!

Thoric (CLA, CLED, CTD and LabVIEW Champion)

Active Participant pallen
Active Participant

The video is really impressive.  Can't wait to check out the code. 

Patrick Allen: FunctionalityUnlimited.ca
Active Participant battler.
Active Participant

Code is broken for me.  Using LV 2012 on Win 7 64.

Active Participant David_Staab
Active Participant

Do you care to elaborate? Won't compile? Missing dependencies? Incorrect behavior? Errors getting thrown?

Not applicable

I ran the Launcher.vi from C:\Users\David\Desktop\Working\Simons Windows 8 UI Demo\Win8uiDemo and got the following missing dependency:

Actor Framework Debug.png

Opening the LabVIEW Project shows the following files as missing:

Win 8 Project.png

Active Participant David_Staab
Active Participant

David, you probably need this: https://decibel.ni.com/content/docs/DOC-23398

Not applicable

Thanks for the link David. Still getting lots of errors, as shown below. I'll try and sort through them later, and see what may be causing the problems on my PC (Wiindows 8 - 64bit).

LV W8 Error.png

Active Participant Thoric Active Participant
Active Participant

Oh dear, I'm afraid it's broken for me too. I've got Actor Framework 4.1.0, and when I load this project all the Launch Actor VIs appear to be being called with an extra (invalid) input. I'm not yet familiar with the Actor Framework so I'm not really in a position to investigate this, but does this snapshot help?


Thoric (CLA, CLED, CTD and LabVIEW Champion)

Member Drew.Rankin

Same here. Broken. Looks like the XControl is the culprit for the most part. It is also looking for files in the Emission Monitoring UI Working Copy.


I have gotten the demo to work by disconnecting the following VI's from their library:

Does It Fit.vi

Draw Text with Subscripts.vi

Find Max Font Size.vi

Find Subscript Text.vi

Find Text Origin.vi

Also, I had to replace the String XControl in the SensorViewSmall and SensorViewDetailed classes with the XControl in the project along with removing the property nodes for the string control in the Actor Core.vi's of those classes. The strings in the XControls don't look quite right now because of the missing functionality, but the demo does work!


NI Employee

Hmmm, looks like my SCC might have exported an older revision -- I thought I had fixed all these things.  Don't waste any time getting it to work, I'll figure it out and repost.

NI Employee

OK should be fixed now folks. I tested by moving from one VM to another so hopefully it's good.

Sorry for the bad post.

@Thoric - that's an artifact of me switching from the Debug AF to the release AF.  Launcher.vi in the Win8uiFramework library (i.e. not the one to run for the demo) is probably still broken like that.  Just delete the broken wire and it will run fine if you want to play with that one.

@DavidCorney, @Drew.Rankin - at some point in development I messed up the library association of the XControl.  Apparently I exported the messed up version.  It should be fixed in the zip file now.

Active Participant DanyAllard Active Participant
Active Participant

wow, it's a realy good example of using Actor Framework

Thank you Simon for this

Dany Allard

Member vishots.com

Simon, I'm impressed. Great Job!

Member Brandyn

This is awesome! Great job!!!!!

Certified LabVIEW Architect
Certified Professional Instructor
Active Participant Thoric Active Participant
Active Participant

This is truly inspirational - thank you muchly for sharing this with us all !

Thoric (CLA, CLED, CTD and LabVIEW Champion)

Active Participant crelf Active Participant
Active Participant

Mmmmmmmm coffee...

Copyright © 2004-2018 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
Member OwenGomsh


Active Participant Edjsch
Active Participant

Is there supposed to be audio? There is none for me which makes it difficult to understand what's going on.

Member ~Samuli

Really nice job Simon!

Style is Everything
Trusted Enthusiast
Trusted Enthusiast

Hey Simon,

This week I had an Application Assistance with a customer that had made a small demo where he integrated your "Windows 8 UI" in combination with a Measurement Abstraction Layer..

Just to let you know that customers seem to be very eager to use this..

Kind Regards,
Thierry C - CLA, CTA - Staff R&D Engineer, RF Semiconductor Test - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. Smiley Wink
NI Employee


That's great to hear.  With some of the more complicated posts I make I'm never sure if people are able to use the code I post.  The old adage of "it's easier to write code than read code" definitely kicks in with larger projects like this one.

Not applicable

I can't see any code attachement. The only attachment I see is a  "socialgroup_image_small (4.3 K)? I'm logged in with my NI profile, but I don't think I'm a "member" of the UI interest group.

When I click "log in or register" and enter my NI profile user name and password, I get logged in as a "restAPI" in this group, and still no download link to the code?

NOTE: I am NOT "restapi" and I do not know where it came from or the NI e-mail address that is associated with it. I use my own e-mail and password to log in.. this is really weird.

NI Employee

It looks like our website is experiencing some issues.  All of the images on this thread are missing and have been replaced by odd images.

Member Robert_J_Loomis_III

Nice job! Looking forward to looking through the code

Member Cube404

Just for your project, I am installing Labview 2012 DS, which I delayed over 3 months.

Keep it up Simon

Member matt.baker

Great example!

Haha, love the Pac-Man 'Error Eater' icon.

I have managed to port the actor framework and message maker tool to LV 2009 and get some of this working.


Using LV2018 32 bit

Highly recommended open source screen capture software (useful for bug reports).

Member Prash_32

Its Superb.. Great work..Smiley Happy

Active Participant cirrusio
Active Participant

This is very nice, Simon.  I am currently looking at how we can use a similar architecture for a project that I am working on.

I have one question though related to the implementation: in Stop Core.vi of the Viewable Actor, you fire the user event Stop to kill the viewable Actor Cores and then immediately destroy the user event; is there any possiblility that you will run into a race condition with this (i.e. is it possible to destroy the event before the event handler can get to it)?  I do something similar but have always had the actual UI handle the destruction of the event.  Your method looks a lot cleaner, but I have always been concerned about the main UI not receiving the event.

Cheers, Matt

NI Employee


There's no danger of a race condition. Once the event is generated, all the event structures registered for it will get the event, even if it takes them a while to get back around to processing the event. You are safe to immediately destroy the event refnum without impacting the event structures.

I'll be honest though -- I did need to check in with R&D to make sure this was the case. You had me worried for a few minutes there.


Member andremakoski


Is it possible to generate a 2011 version?

Member TomFantasia

Just came across this.  Absoluteley amazing. 

Member kwkengineer

Simon - I'm attempting to re-use your framework, but hit a snag while incorporating the Sensor Definition library.  It is coupled to your uiDemo lib.  I found the methods in Sensor.lvclass which sends messages to the uiDemo. If you have time to improve the framework, maybe consider removing this coupling.

Good work!

Active Participant battler.
Active Participant

Hi Simon,

What resources (hopefully brief) did you use for designing UI to Windows 8 style?  What fonts and layout style etc..

The Windows 8 User Experiences guideline I found is very long..


Active Participant nolsqn
Active Participant

amazing work man thumbs up

Member MyLabSQL

Good job simon!

I finally managed to create an application using this code.

Thank you for sharing here.


Member Aventador

Pure Excellence ! Mind blowing work. . . Hats Off. .

LabVIEW Developer

Life may control my car, but I steer it ! !
Member eokeefe

Thanks for posting this, Simon, I've been struggling with AF for a very long time Between this and NI's Hands-On tutorial there aren't really any better ways of learning AF! Thanks again Simon.

Member Amiri

Great demo, thank you.  I've seen this before, did you present this at an NI Week?

What tools did you use to create the UML? 

Is there one (or two) UML tools that LabVIEW developers out there prefer? 

I'm trying to get into this UML stuff, but am not sure where to start, open to suggestions.  GOOP? Symbio? StarUML?

Member egraham

I've heard that NI uses yEd for diagrams and UML. I've grown particularly fond of Gliffy.

Member VenuGopal@57

Mindblowing example i didnt know we can do this sort of vi's in Labview. can i take this example as a jump start to Actor Framework?  Guide me Folks  Thanking You All,  Venu

Member Ajayvignesh_MV

Man..! That's really astonishing... I didn't get a chance to look at this for almost 2+ years though I use Win 8/10.  Even after then, it I said "huwoohh.." when I saw the video..

Member xband

This is very nice.  I opened it with no problems in Lv2013.  Though I have no idea how to exploit this structure for my Crio project.  I'm looking for UI examples for touchscreen computers with a CRio-9081.

Would also like to use something similar for a 9035.

Thanks for any insight.


Member AliA15

Amazing work

Member ewaqas

Great Work !  Can someone explain the development flow if it is not restricted?

thank you


Member rupesh.v

its very awesome designed...thanks for sharing ....