Introduction
Interface Assets (IA) enable Intuiface experiences to access, in real time:
- external data
- external business logic
- external devices
For business logic and devices, the properties (e.g. variables and values), actions (e.g. methods and functions), and triggers (e.g.. events and signals) associated with them are exposed as well.
These services can be public or private. An example of a public service is Airtable. Examples of business logic include database searches and back office systems. Examples of devices include barcode scanners, printers, or gadgets in the connected home or the Internet of Things.
The bottom third of the following architecture diagram shows how IAs extend the Intuiface platform. In Intuiface, the underlying protocols supported for interface assets are REST Web Services, .NET DLLs, and TypeScript. You can click on the diagram to zoom in:
Use of Interface Assets in Composer
The following sections detail how to work with Interface Assets in your Intuiface experiences. The approach is the same for all supported protocols - i.e. for REST Web APIs, .NET, and TypeScript) and is the same for both the off-the-shelf IAs delivered with Intuiface and the interfaces you create yourself.
Accessing Interface Assets
All available Interface Assets can be found by opening the Interface Assets panel using the associated button in the blue ribbon at the top of Composer.
Clicking on Add an Interface Asset will display the Select an Interface Asset panel (picture below) which combines both off-the-shelf IAs shipped with Intuiface and user-defined IAs you create for your own work.
Adding Interface Assets into an experience
- Click on an Interface Asset in the Select an Interface Asset panel
- Click the "Add" button to insert the selected Interface Asset into your experience
You can add multiple instances of the same IA into a project. For example, you could insert two Clock interfaces, one for the EST timezone and the other for GMT.
Once you have added an IA, it will appear in the Interface Assets panel on the left side of Composer. This list will include all the IAs you have added to your project.
You can rename/copy/paste/delete these IA instances.
Using Interface Assets
After choosing the IA and adding it to the Interface Assets panel, you can drag and drop it on the scene or right-click on it and use 'Insert in scene' option to create a visual representation.
Inserting it in the scene will automatically create bindings, triggers, and actions to the respective Interface Asset. The created content (Default Template) supports full customization as any other element on your scene.
Adding Triggers and Actions from an IA
Each interface asset has its own set of triggers. Some interface assets do not have their own triggers (ex: Excel Interface Asset). However, you can still call actions on them by using triggers on other elements.
To add a trigger on the Interface Asset, select it from the "Interface Assets" list and open the Triggers and Actions panel.
Adding Triggers and Actions targeting an IA
You can change the behavior or perform an action on an Interface Asset at runtime using triggers on other assets.
For example, you can have a button send an e-mail to a predefined e-mail address with a simple touch. Such triggers can be placed on any element of your experience with an action targeting the Interface Asset.
Creating bindings to and from an Interface Asset
Bindings allow you to display content returned from an IA or pass values to an Interface Asset.
- You can create bindings to content coming from an Interface Asset. For example, you can bind a text to the output of a Clock IA to display the current time.
- You can also create a binding to a property of an Interface Asset from another asset. For example, bind the initial value of a Simple Counter to a Text Input Asset.
Using X-Ray panel
The X-Ray panel gives you one-click access to all properties, triggers, and actions associated with an interface asset. Through the use of the X-Ray panel, you can:
- change an IA's properties
- add a trigger to your experience (if the IA has triggers)
- call an action for any trigger (if the IA has actions)
Specifying the scope of interface asset triggers
By default, each interface asset instance has a global scope, meaning its triggers can be activated regardless of the active scene. This may be appropriate in some cases, but in others, limiting IA triggers to particular scenes may be better.
To limit IA triggers to specific scenes:
- When inserting an IA trigger into your experience, note the "Happens in" section within the "Trigger parameters" column of the Triggers view in the Triggers & Actions panel.
- Choose the "Happens in" option that best applies to this particular trigger instance.
- Any Scene
Use if the trigger should be accessible across all scenes - Any Scene except
Use if the trigger will be on most scenes but to the exclusion of a few - Selected Scenes
Use if the trigger will only be available on a small subset of the scenes.
- Any Scene
Location on disk of Interface Assets
The physical location of Intuiface's out-of-the-box interfaces is different from the location in which custom interfaces are stored:
- Intuiface off-the-shelf IAs are located in
C:\Users\{UserName}\AppData\Local\IntuiLab\Intuiface\Composer\Resources\Interface Assets
This folder should not be used to add custom interfaces as it is overwritten upon each Composer update.
- User-defined IAs are located in
C:\Users\{UserName}\Documents\Intuiface\Interface Assets
Custom interface assets should be placed here to ensure they will not be affected by the installation of Intuiface updates.
Once you have added an instance of a custom Interface Asset into your project, the files associated with that IA are copied into your project folder, below Files\InterfaceAssets
sub-folder. To open the folder directly, right-click on the Custom interface asset and choose "Open file location".
- As a result, changes to this custom IA in the folder
C:\Users\{UserName}\Documents\Intuiface\Interface Assets
will NOT be detected in your project.
To update an IA already added into your project, you must either:
- Modify the local version of the IA located in your project sub-folder,
or - Manually delete the IA sub-folder and its reference(s) in your experience, modify the original IA located outside of your project, and then re-add that IA into your experience.
Off-the-Shelf Interface Assets
See this article for a list of the prebuilt interface assets that ship with Intuiface.
Visual Representation of Off-the-Shelf Interface Assets
All off-the-shelf IAs come with a pre-designed visual representation. For example, the Clock interface asset has a default clock design. It is NOT necessary to add these visual representations to an experience; the properties, triggers, and actions associated with an IA are available regardless. However, many IAs are intended to be visual, so we've created a default design for you.
To add this visual representation to an experience, drag & drop any IA instance from the Interface Asset panel into the scene, creating its default visual representation - aka data template. This visual representation is a representative example and does not have to be used. You can also have several visual representations of the same Interface Asset in the same scene or different scenes.
Feel free to break this representation and add/remove/rearrange at will. For example, for Weather IA, keep only the current-day weather icon and temperature.
If you want to create a visual representation for your custom Interface Asset, read this article.
Create Your Own Interface Asset
If you want to create your own Interface Assets, read this article.
Don't forget you will have to put your IAs in the following folder to make them available in Composer: C:\Users\{UserName}\Documents\Intuiface\Interface Assets
Limitations
- Even when deleted from within Composer, IAs are not cleaned up inside the project folder on your file system. They remain under
Files/InterfaceAssets
. - No default error management is available.
- Interface Assets cannot be loaded if the experience's (filesystem) path contains a
+
character
Comments
0 comments
Article is closed for comments.