Binding - General Concepts

    Overview

    Binding is the ability of one item's property, trigger parameter or action parameter - aka the "target" - to mirror the value of a different item's property, trigger parameter or action parameter - aka the "source". Whenever the source changes, the target changes as well. Uses are virtually infinite but examples include:

    • Design-time example: Place an Image asset containing your company logo on all scenes, binding the X and Y property of this Image asset on spaces 2 thru the end of the experience to the X and Y property of the logo on the first scene. Moving the position of the logo on the first scene will cause the logo to move on all other scenes.
    • Runtime example: Create an interface asset for a weather service. Using binding, take a city name entered by a user and push it up to the weather service. In response, use binding to take weather information returned by the service and display it in your experience. This is how the Weather interface asset works.

    Graphical assets, interface assets, collections and controls can all be the source or target for binding.

    Understanding Binding

    The binding concept is related to the well-understood and proven computing model:
    WHEN this [happens] THEN [do] that

    Applied to the specific instance of binding a value of Item B to a value of Item A, it becomes:
    WHEN value of A changes THEN change value of B

    The possible variants of binding in IntuiFace are:

    1. Property to Property (P2P)
    2. Trigger Parameter to Property (T2P)
    3. Action Parameter to Property (A2P)

    This is represented by the blue arrows in the diagram below:

    Binding0.jpg

    To investigate each variant in detail:

    • for P2P binding, click here
    • for T2P binding, click here
    • for A2P binding, click here

    Please note the following limitations in IntuiFace version 4.0:

    • It is not possible to bind from / to :
      • scene background properties (color, source of image, video ...)
      • style properties of all assets (i.e. "book", "horizontal", or "vertical" for a Document asset's Style property)
      • container properties of all assets (i.e. "static", "pin", or "default" for assets in each layer)
      • timer triggers (thus it is not possible to pass the timer's duration into an Interface asset.)
      • gesture trigger parameters (e.g. "grab", "east", "west", etc.)
      • general and navigation actions (e.g. "go to space", "flip screen", etc.)
    • Bindings are broken if you copy / paste bound assets from one IntuiFace Composer to another.
    • When a binding is deleted, the latest bound property value is retained by Composer.