Skip to content

Session Recording Definition

Martin Konopka edited this page Mar 6, 2019 · 11 revisions

Session recording may be defined through the application user interface, or by supplying Session Definition JSON. This JSON definition can be imported using the UXC app UI, local REST API or retrieved from the UXR management application.

Session Control UI

Session definition JSON structure

Every session recording is defined with the Session Definition object.

  • name : string - name of the session recording.
  • project : string (optional) - name of the project which this session belongs to.
  • devices : DeviceDefinition[] - selection of devices for session recording.
  • welcome : WelcomeStep (optional) - definition of the first timeline step with introduction into the experiment, may be omitted or ignored. Welcome step is a special Timeline step, see step details for options.
  • preSessionSteps : TimelineStep[] (optional) - array of stimuli which are executed in sequence before the recording with devices starts. No data is recorded during this part of the session.
  • sessionSteps : TimelineStep[] (optional) - the main stimuli timeline with steps executed during the recording.
    • If ommitted or the array is empty, defaults to the single Show Desktop step.
    • Note, do not use Eye Tracker Calibration step here, since the eye tracker will be recording data and will not be able to switch into calibration mode. Instead, use the Eye Tracker Validation step to display similar points sequence for eye tracking data validation.
  • postSessionSteps : TimelineStep[] (optional) - last sequence of steps displayed after the main timeline is completed. No data is recorded with devices during this part of the session.
    • Example: show concluding Instructions to the participant, e.g., "Thanks for participating.", or give Questionary, answers will be still saved to the session data.

Device definition

Each device required for the session recording is specified with the typecode of the device and, optionally, its configuration.

Template

The template for session definition is available in the project repository . To use the template, fill in or remove blocks enclosed in comments /* ... */, since the JSON does not support comments.

{
    "project": /* project name */,
    "name": /* session name */,
    "devices": [
         /* insert device definitions */ 
    ],
    "recorders": [ 
         /* insert required data recorders */
    ],
    "welcome": /* welcome step definition */,
    "preSessionSteps": [
        /* insert session preparation steps */
    ],
    "sessionSteps": [
        /* insert session recording steps */
    ],
    "postSessionSteps": [
        /* insert session processing steps */
    ]
}

Example of a session definition for a simple web usability study:

  • Project name (study): Website usability study
  • Session name: Pilot session
  • Selected devices for recording: eye tracker, webcam, screencast, keyboard and mouse events.
  • Welcome step - introduce participant to the experiment, request his or her name before start.
  • Pre-session stimuli timeline (devices are not recording data):
    • Eye tracker calibration with default 9-point animation.
  • Session stimuli timeline (data is recorded)
    • Instructions for eye tracker validation,
    • Eye tracker data validation with default 9-point animation,
    • Instructions for the actual task in the experiment,
    • User interaction with an application, e.g., a webpage displayed in fullscreen,
    • Questionary.
  • Post-session stimuli timeline (devices are not recording data):
    • Thank the participant.

Corresponding Session Definition JSON file for this session can be found in the docs directory in the project's repository and follows below:

{
    "project" : "Website usability study",
    "name" : "Pilot session",
    "devices" : [
        { "device": "ET" }, 
        { "device": "WCV" }, 
        { "device": "SC" },
        { "device": "KB" }, 
        { "device": "ME" }
    ],
    "welcome" : {
        "description" : [
            "In this experiment you will search a website for requested information.",
            "",
            "During the experiment, data of your eye movements, mouse movements, key presses,",
            "screencast and webcam video will be recorded for the research purposes.",
            "",
            "Experiment outline:",
            "1. Eye tracker setup - calibration & validation",
            "2. Experiment task",
            "3. Questionary"
        ],
        "id": "Participant",
        "questions": [
            {
                "actionType": "WriteAnswerQuestion",
                "id": "Name",
                "question": "Please, enter your name before starting the experiment.",
                "isRequired": true
            }
        ]
    },
    "preSessionSteps": [
        { 
            "action": { "actionType": "EyeTrackerCalibration" } 
        } 
    ],
    "sessionSteps": [
        {
            "action": { 
                "actionType": "Instructions",
                "instructions": [
                    "In the next screen you will be presented with similar point animation.",
                    "",
                    "Follow the moving point on the screen with your eyes.",
                    "",
                    "Start the animation by pressing the Continue button."
                ],
                "showContinue": true
            }
        },
        {
            "action": { "actionType": "EyeTrackerValidation" } 
        },
        {
            "action": {
                "actionType": "Instructions",
                "instructions": [
                    "Search the website of the UXIsk research group for the information page about their eye tracking group lab.",
                    "Study the webpage about the group lab.",
                    "",
                    "When you feel you have found all available information about the lab, press the F10 key.",
                    "",
                    "Open the web by pressing the Continue button."
                ],
                "showContinue": true
            }
        },
        { 
            "action": {
                "actionType": "LaunchProgram",
                "path": "c:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
                "arguments": "--kiosk --incognito https://www.pewe.sk/uxi/"
            },
            "completion": { "hotkeys": [ "F10" ] } 
        },
        {
            "action": { 
                "actionType": "Questionary",
                "id": "Question",
                "questions": [
                    {
                        "actionType": "WriteAnswerQuestion",
                        "id": "WorkstationsCount",
                        "question": "How many workstations with an eye tracker are in the laboratory?",
                        "isRequired": true,
                        "validAnswerRegexPattern": "[0-9]+"
                    },
                    {
                        "actionType": "ChooseAnswerQuestion",
                        "id": "OtherSensorTypes",
                        "question": "What other sensor types are available in the laboratory?",
                        "limit": null,
                        "isRequired": true,
                        "answers": [
                            "EEG sensor",
                            "ECG sensor",
                            "GSR sensor",
                            "Webcam",
                            "Hand tracking"
                        ]
                    }
                ]
            }
        }
    ],
    "postSessionSteps": [
        {
            "action": {
                "actionType": "Instructions",
                "instructions": "Thank you for participating in the experiment." 
            },
            "completion": { "duration": "00:00:03" }
        }
    ]
}
Clone this wiki locally