Skip to content
A-Ivan edited this page Sep 27, 2021 · 7 revisions

Within human experiments, there are several concepts & features which are widely used; and often re-implemented for each experiment. These concepts have been implemented in UXF, giving researchers a base platform to build upon when building experiment software, without the need to implement this common set of features.

The main concepts are the Session, Block and Trial, which describe discrete stages of an experiment.

Concept Description
Trial The base unit of experiments. A trial is usually a singular attempt at a task by a participant after/during the presentation of a stimulus.
Block A set of trials โ€“ often used to group consecutive trials that share something in common.
Session A session encapsulates a full โ€œrunโ€ of the experiment. Sessions are usually separated by a significant amount of time, and could be used per subject (for collection of data from a singular participant over several sessions) or across subjects (for collection of data from several participants each carrying out a single session), or both.
Settings Settings are parameters or variables for an experiment, block, or trial, usually predetermined, that quantitatively define the experiment. Settings are useful for programming the experimental manipulation.
Behavioural data We perform an experiment to measure the effect of an independent variable on a dependent variable. Behavioural data collection allows for the collection of measured values of dependent variables on a trial-by-trial basis. For example, we may wish to collect the response to a multiple-choice question, or the distance a user throws a virtual ball.
Continuous data In some cases, we want to measure some parameter constantly over time. For example, the movement of an object within each trial. Tracking would allow us to record the position & orientation of an object in the virtual world. This could be one that is mapped to a real-world object (e.g. participant head, hands) or a fully virtual object (virtual ball in a throwing experiment). Measuring position is the most common use case, but this can extend to other measurements (e.g. measuring pressure of a stylus on a tablet over time).
Participant information There may be other variables that we cannot control within the software which we may wish to measure to record to examine its effects on the result. For example, age and gender of the participant.

Trial order

A Session is split into Blocks, and a Block is split into Trials. Our experiment should sequentially iterate through the trials, using the settings for the trial when needed. You can imagine the structure of a Session with 2 Blocks each of 5 Trials like this:

Sessions Blocks Trials Trial In Block
Session 1 Block 1 Trial 1 Trial 1
... ... Trial 2 Trial 2
... ... Trial 3 Trial 3
... ... Trial 4 Trial 4
... ... Trial 5 Trial 5
... Block 2 Trial 6 Trial 1
... ... Trial 7 Trial 2
... ... Trial 8 Trial 3
... ... Trial 9 Trial 4
... ... Trial 10 Trial 5

๐Ÿง  Core topics

โ“ More help


๐Ÿ‘ฉโ€๐Ÿ’ป Programming reference

Unit tests

Clone this wiki locally