-
Notifications
You must be signed in to change notification settings - Fork 48
Concepts
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. |
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
- ๐ Background
- โจ UXF 2.0
- โ๏ธ Compatibility
- ๐ถ๏ธ Oculus Quest Setup
- ๐ญ Concepts
- ๐ ๏ธ Get started
- ๐ Examples
- ๐ฅ๏ธ Built-in UI
- ๐ Session generation
- โฐ Events
- ๐ Data collection
- โ๏ธ Collect custom data
- ๐ Custom Data Handler
- ๐ Remote Data Collection
- ๐๏ธ WebGL DynamoDB setup
- ๐ Processing DynamoDB CSVs
- ๐ซ HTTP Post Setup
- ๐ง Settings system
- ๐๐ฝ Tracker system
- ๐ Logging system
โ ๏ธ Common issues- ๐ผ๏ธ Multi-scene experiments
- ๐บ Videos
- ๐จโ๐ Full written tutorial
- ๐ฆ Asset links
- ๐จโ๐ซ Unity tutorial links
- ๐ Useful code snippets
- ๐ก Programming ideas
- ๐งฎ Example R processing