assurance-tunnel
assurance-tunnel
assurance-tunnel
assurance-tunnel

durational trigger system???



  • Hello Isadorites,

    i have an interactive installation running as part of Oulu Light Festival this week. i'm trying to monitor how many people engage with the work, so i set up a simple system to count the visitors. this has a Calc Brightness - Comparator - Counter, so that when somebody enters the range of the kinect, it adds 1. easy. but: it also counts people that pass by and don't engage with the work. I'm trying to develop it so that it only counts people who are on screen for at least 10 seconds.

    any ideas?

    peace and love,

    john


  • Tech Staff

    Oooo a difficult one.

    Maybe in conjunction with the timer tool? A trigger to start the counting; when it reaches over 10(seconds) then add to the counter?



  • got it: 2 Comparators, an Envelope Generator and a Gate. Comparator 1 is set to Always, and opens the Gate. Comparator 2 is set to Change and starts an Envelope, who's End Trigger runs thru the Gate into the Counter. Bingo!


  • Tech Staff

    @dbini wonderful solution 



  • @dbini said:

    Bingo!

    Hi,

    That’s great! It might be interesting to also think about a way to capture the duration that users are engaged in the experience? Do you have any ideas for that in a patch? Best wishes for your production.

    Cheers

    Bonemap 


  • Beta Gold

    For the visual learners in the group (like myself):


  • Beta Gold

    Better picture (closer, w/o the Control Panel):


  • Beta Gold

    Also, I may have gotten carried away and made a thing that will: 

    • Display how many people have interacted with the installation for at least 10 seconds.
    • Display how long the current person has been interacting with the installation.
    • Display the average amount of time people spend interacting with the installation.
      • Has a reset button to erase the data recorded with the Data Array actor.

    I believe that the averaging function I built using the Data Array actor works properly, but please, anybody, feel free to prove me wrong. It's actually the first time I've used the Data Array actor (been meaning to get to it for years), so it's entirely possible that what I built has some flaws.

    >>>Patch Attached Here<<<

     


  • Beta Gold

    Also made a couple of handy Macros in the process.

    >>>Time Parser 1.0<<<

    >>>Simple Time Parser 1.0<<<

    Edit: Can't attach files for some reason right now. I blame my terrible internet.

    >>>Dropbox link to Time Parser Macros<<<



  • @woland

    OMG! you are a patch factory!

    best wishes

    bonemap


  • Beta Gold

    @bonemap

    I'm overwhelmed with the urge to have this printed and framed for motivational purposes:

    Best wishes,

    Woland



  • @Woland - wow! more lovely creative problem solving. do you think you might be addicted? ;)


  • Beta Gold

    @dbini
    I think I may have a slight, massive addiction to Isadora, yes.

    Also noticed that when I copied my Macro's guts to make the non-simple version, I forgot to re-order the Inputs and Outputs. Here's an updated version.

    >>>Time Parser 1.1 Dropbox Link<<<


  • Beta Gold

    @woland said:

    • Display how long the current person has been interacting with the installation.
    • Display the average amount of time people spend interacting with the installation.
      • Has a reset button to erase the data recorded with the Data Array actor.

    I believe that the averaging function I built using the Data Array actor works properly, but please, anybody, feel free to prove me wrong. It's actually the first time I've used the Data Array actor (been meaning to get to it for years), so it's entirely possible that what I built has some flaws.

    It's worth noting that with a little reworking, one could use this to get an average for how long you usually sit in the same Isadora Scene for any given production. The easiest way would be: 

    - A text file per Scene
    - Trigger the Timer actor start with an Enter Scene actor
    - Trigger the write function with the same thing you use to trigger your Jump[++] actor)

    I've sometimes built systems like this:

    - Out of boredom
    - To give myself and stage managers an easy way to tell how much time we have before the next Isadora cue (purely for peace of mind)

    Best wishes,

    Woland



  • @woland

    Hi,

    I was looking at how you have implemented the Data Array. So if I understand your logic each user generates a data set that is stored by a new line in the text file associated with the Data Array actor? When you trigger the Add input you create a new line of data to the text file.

    I haven’t got my head around all of what you have done yet, but in terms of collecting useful information about audiences, adding a time/date stamp to each new user should be possible.

    Other useful data gathering like age, gender, socioeconomic status and where they are from, is a bit harder and really impossible from a fleeting digital shadow or ghost in the machine captured by a Kinect.

    I never thought about using Isadora to construct a quantitative research tool before! It’s interesting but potentially very boring compared to the sensual movement of art.

    Best wishes 

    Bonemap 


  • Beta Gold

    @bonemap said:

    @woland

    Other data gathering like age, gender, socioeconomic status and where they are from, might be a bit harder and from a fleeting digital shadow or ghost in the machine.
    I never thought about using Isadora to construct a quantitative research tool before! It’s interesting but potentially very boring compared to the sensual movement of art.
    Best wishes 
    Bonemap 

    Not quite sure where you got this from in what I posted, but I like the idea.

    The values my Data Array actor stores are

    1. Hours (Current Person has been interacting with the installation)

    2. Minutes (Current Person has been interacting with the installation) 

    3. Seconds (Current Person has been interacting with the installation) 

    4. Unparsed Secs (Current Person has been interacting with the installation) 

    5. Running Total of Unparsed Secs (All people who have interacted with the installation) 
    - This is divided by the number of lines that have been written (which is the same as the number of people that have triggered the installation)
    - This provides the average amount of time of interaction with the installation (in unparsed Secs)
    - The average (in unparsed Secs) is then parsed into Hours, Minutes, and Seconds.

    Come to think of it, my averaging system (Comparator 3) doesn't pass through @dbini 's two-comparator system, and really should. It could either involve setting up logic to write over the current line if it's less than 10 seconds or, something that might be easier, just setting it up to only start the Comparator 3 Timer actor after ten seconds of interaction have passed and then adding in a Calculator actor that adds 10 seconds to the current Timer actor's output to compensate for not starting the Timer actor as soon as someone starts interacting with the installation.

    Best wishes,

    Woland




  • @Woland 

    I am thinking the text file that the Data Array writes to can store data for each user over the duration of the installation, that way there is a useful database file that can be used for quantitative evaluation of the production overall, that has compiled itself using Isadora.

    This is a slight modification of your patch file, which is focused toward outputting to a visual display in the control panel. To me it looks like the Data Array could be doing more by storing the data over a number of sessions or days.

    Anyway there is some nice work in your patch. I don’t think I would be able to ‘see’ a solution so directly as that.

    Best wishes

    Bonemap 


Log in to reply
 

Looks like your connection to TroikaTronix Community Forum was lost, please wait while we try to reconnect.