Local Variable Interface Asset

HI Alban, apologies for the delayed response.

I created a ‘director scene’, which has comparison values for the computer name, based on System Info IA. The director scene tells the XP which of the 6 scenes to enter.

Each scene also has comparison values to sort the student list by whichever program is being represented. For example when the creative advertising scene is entered, then the student list that shows at the home page is only creative advertising students.

Next, I use the System IA with comparison values to trigger philips hue lights. I use an if-then statement for when a student name is touched. If the name’s kiosk value matches the computer name, it will bring them to the profile of that student. If it doesn’t match, then it will change the color of the specific bulb above the kiosk where that student is located in the room.

The 6 different scenes have some changing graphics and other elements based on the program that is showing. I thought about having 1 scene for all 6 and setting triggers to only show the elements that matter to a specific program…but it started to get messy. 6 scenes makes it a bit more clean for now.

Hope that helps clarify! It’s been a lot of fun!

Alex

A variable that I could assign to an asset and I could bind to, would be really great to handle dynamic content. At the moment I am thinking of using a transparent textfield, but its quite hacky.
For a use-case where I create an image button collection that can have different filtering actions connected to it. If the button has a title than its easier, but in case it doesn’t a variable would be the best.

@gnagy
What type of filtering do you need the buttons to do?

There are times when I use text fields as a temporary storage of a value, I think that’s pretty common. Or I’ll use the Global Variable Interface Asset…or the comparison interface asset if two values need to be compared.

Also, it may not be necessary to make the text transparent…you could simply move the text outside of the viewable screen. I often do this with toggle buttons if I need several assets to perform similar actions stored in a toggle.

For my brief understanding of your situation, I assume you could store the image links in an excel file, then create an image button collection out of that. It should make it much easier for your filtering.

Just some ideas. Good luck!

@AlexB
Thanks for the ideas.
Good trick to move the textfield outside of the area. Will do this definitely.

Well the “big thing” I’d like is a menu hierarchy where touching one element show others and so forth until getting to the pdf, video, image, contents.
Basically a sort of folder structure for categorized product presentation. In this case a search feature would be nice as well to get direct visual content upon keywords.
I had an idea using multiple sheet excel where each level of content would be in one sheet so using “local variables” I might be able to filter the data when pushing one button.

@gnagy
Sounds fun. I think Intuiface was built exactly for what you’re trying to do. It sounds like there are lots of ways to accomplish your needs, depending on your specific situation.

For keywords, don’t forget about the comparsion interface asset, or the fact that you can set IF-Then triggers for your buttons. (For example, when button is pressed IF Value A = Value B, only then…do the action) I use that quite often as well when working with Excel.

One other quick thing - don’t forget that you don’t always need to filter Excel to match up data from different spreadsheets. Filtering an Excel collection will cause some or all of your items to disappear…and in some cases you want all items to show at all times.

So If your info is not dynamic withing those collections…meaning it will stay the same for this purpose, you could simply match up the Item in Focus variable between multiple collections. So when Collection A reaches the 12th item, it opens the 12th item of another collection…or creates an action like showing a group of buttons, go to a new scene, open a PDF, etc.

My post for this topic is regarding a LOCAL variable. Which means you could put the same experience on multiple computers/tablets, but one computer will keep a variable of A, while another has a value of B. Then your XP has triggers and actions to change based on the local variable for each computer. Vincent brought up the idea that the System Info tab allows you to create actions/bindings based on the computer name itself. Effectively accomplishing what I originally wanted. Good stuff all around.

1 Like

Great info thanks.
I am just looking into the conditionals, because according to asset type I’d like to show an image container or a youtube container in a data template of an asset grid. The asset type is defined for each row as image or video. Have you done something like that before?
At the moment I cannot see how to hook into a condition that verifies for each row if its an image then set opacity for image container to 1 and if video set opacity for youtube container to 1.

Hi @gnagy,

As I answered you on support about the data hierarchy, you should check this video : - YouTube

Regarding your second question, what I usually do when I have an Excel file with heterogeneous content, I add an “Is Image” and “Is Video” column with true/false values, then I bind the visibility of the Image / Video assets to these columns.

2 Likes

@Seb
Yes thanks very much. I just watched that webinar and it answers my question.
And thanks for the heterogeneous content idea. Now I understand how to get this done too. :thumbsup:

1 Like

Hello Paolo,

I’ve just seen your video on Intuiface’s showcase, “Future of interactive storytelling using multi-touch devices”.
I really love the visual effect and the way you slide from one page to another.
I would like to have the same effect on a project I am working on.
Can you please give me some tips about the way you did it?

Thanks in advance for your kind reply.

Best regards,

Lionel

Hello @lionel.nkombe,

I am working right now on a project with a similar interaction using 5 panels. The trick is to put your content into Pinboards and animate these pinboards using move to actions. Always keep a part of each pinboard visible where you would put a button that looks like a vertical ribbon. Each button will move the 5 pinboards so that the selected one is entirely visible.

Depending on the width of the “ribbons”, you then just have to do some little maths to get the correct positions for each pinboard when they are “opened”.

Seb

1 Like

Hello Seb,

Thanks for taking your time for helping others with precious tips, I try what you suggested and it rocks ;-D
It works perfectly.

Thanks again and wish you good fortune with your project.

Kind regards

Lionel

2 Likes

By the way, for a similar, but somewhat different effect - if you wanted to have multiple ribbons that can all expand to fit the full width (as opposed to one at a time) - I’ve used Groups or pinboards, and bound their positions to Counters. Then touching the lowest ribbon (a toggle button) adds or subtracts X to the other ribbons in front of it. Then the second lowest ribbon adds or subtracts x to all the counters on top of it, and so on. This would allow you to have multiple expanded at once, in no particular order. Collapsing all simply unchecks all toggles.
Pretty simple, but maybe someone finds it helpful here!

1 Like

@AlexB Your solution looks pretty good too. Would you have a short video / GIF showing the result so we have a better “vision” of if?

Sure @Seb, I created a quick video for what I did. You can watch it here: RealEyes Intuiface Collapsable Menu - YouTube

5 Likes

@AlexB that’s a brilliant way to create a collapsible menu! I’ll share your nice tutorial to the team and more :wink:

Thanks!

Hey Everyone,
I wanted to re-open this possible Idea of a local variable Interface Asset.

The System Info works well - however it makes testing quite difficult. Using the example of a project I recently completed - I have 6 different interactive screens. One XP goes to all the PC’s. The XP looks at the computer name from the system info IA, and changes content/filters according to that name.

This works great on Player, but it’s very difficult when changes need to be made and I need to “test” that each kiosk works correctly. I literally had to change my own computer’s name to resemble the name of a kiosk to make sure that all the interactions are correct.

So for that reason, in future projects, I’d prefer not to keep changing the name of my own computer to test how player will react. It’s a tedious process that requires restarts, and I’m not super confident that it’s a good solution :slight_smile:

Again, thanks for opening the discussion again. With a local variable (an IA that we can point to a specific file on the local drive of the player pc) I’d be able to change it as I’m working to make sure all interactions work properly. No restarts required!

Thanks again!

Hi @AlexB,

We have a similar issue, we have one XP going to multiple ‘dealers’. Although the project is the same for all, we need to customize the “about us” scene.

The way we did it, is by using the License number of the player from the System Info IA (didn’t want to do machine name since a user can change it). We added a JSON file to the XP the holds a list of all Dealers -> License. So, when the XP runs, it compares the License of the player to the list and sets the correct client. BTW we encrypt the file so a user cannot modify it.

In your case, if you need to test all the functionality on one device…you can have 6 files that each point your license to the functionality you are testing, then just swap out the file before you run the XP.

Again, you don’t need a lot of the security we used. So, you could do it by Computer Name and use an Excel file. Just swap out the XLS in the IA directory before you run the XP.

Hope this help.

1 Like

@AlexL
Thanks so much for the advice, that’s a great idea! One quick question to clarify - the Application License property of the System Info IA…that’s the license for whatever is playing the xp? So if I’m previewing in composer, it shows the composer license. But if I open it in player, it shows the player’s license?

I must have looked over that! For some reason, I thought it was the XP’s ID…but I never looked close enough.
Much appreciated.

@AlexB

Yes, the License number is of whatever is currently playing the XP…so, it’s the Composer license during build…but, it will be the player license when it’s playing on the Player.

BTW - it’s not the full License number, but It should be enough to identify a unique player in your environment.

1 Like