Basic Trial Template¶
The basic
trial template structures each trial by presenting stimuli above responses in a vertical layout. In any trial using this template, responses always appear below stimuli. This design reflects a common and intuitive way of structuring trials in psychological research. Additionally, because both stimuli and responses are optional, the basic
trial template allows for considerable flexibility—trials may consist of only stimuli, only responses, or both, depending on the study's needs.
Given the many configurable settings within a trial template, the following sections categorize these properties by function—such as stimulus behavior, timing, and trial progression—to facilitate navigation and conceptual clarity.
Looking for Trial Template Types "instruction" and "AFC"?
These trial templates are now deprecated and should not be used in studies anymore. For existing studies that have these trial template types, simply set the "type"
property to "basic"
. For archived documentation on these template types, check out this page.
Stimulus Properties¶
type¶
stimuli¶
- Definition: A list of items specifying which stimuli to be used in a trial template and how they are used (such as the locations of stimuli and whether multiple stimuli are presented on the same trial).
- Possible values:
- Definition: This option takes a list of stimulus names (e.g.,
["s1", "s2", "s3"]
) that define which stimuli to present on each realized instance of this trial template. These stimuli will be presented in standard locations. - Possible values: A list of stimulus names (e.g.,
["s1", "s2", "s3"]
). Use nested lists to present multiple stimuli on a single trial (e.g.,["s1", ["s2", "s3"]]
). -
Example code: For example, consider the trial template
"T1"
defined as:This trial template will generate a total of three trials:
s1
will be displayed on the first trial,s2
ands3
will be displayed on the second trial, ands4
will be displayed on the third trial. The locations of these stimuli are chosen by FindingFive - when there's one stimulus per trial, the stimulus will be in the center of the trial; when there are more than one stimulus per trial, the stimuli will be placed in intuitive default locations.
- Definition: A list of dictionaries of stimulus names, paired with their locations in a 3x3 grid. Optionally, one can also specify whether to randomly shuffle the stimuli across the defined locations.
- The 3x3 grid is organized as follows:
- Possible values: A list of dictionaries specified in the form:
{"which": [LIST_OF_STIMULI], "location": [LIST_OF_LOCATIONS], "randomize_location": true or false}
. Note that "randomize_location" is optional and its default value isfalse
. Also note that with the custom option, each dictionary refers to stimuli-location pairings for a single trial. Include one dictionary for each desired trial. -
Example code: For example, to place two stimuli on a single trial so that one is at the top left corner and the other at the bottom right corner, one can specify:
In the above trial template,
s1
ands2
will be displayed on the first trial. Becauserandomize_location
is specified astrue
,s1
ands2
will be randomly placed in the top left corner (location1
) and bottom right corner (location9
).s3
ands4
will be displayed on the second trial. Becauserandomize_location
is not specified (equivalent to"randomize_location": false
),s3
will appear in the top left corner (location1
) ands4
will appear in the top right corner (location3
).
Stimulus names can also be a special syntax that refers to participant responses collected on previous trials of the same experiment (carryover responses). This can be useful for experimental designs where the participant is asked to review or judge their own responses in perception or decision making tasks. At the time being, FindingFive supports using participant data collected from text and audio responses as text and audio stimuli, respectively.
The special syntax is:
Each instance of this special stimulus name carries over exactly one participant response. In a typical design, the same ResponseName response may be used many times with different stimuli on the same trial template. To carry over multiple participant responses that can be matched by this special syntax, simply use as many instances of this special stimulus name as needed. For example:
The above trial template will create 5 different trials, each of which uses a different response that has been collected on the AudioRecordingTrial in the TrainingBlock (note you must make sure that that trial has collected at least 5 AudioResponses).
By default, you do not need to define a separate stimulus for carryover responses used as stimuli. However, in the event that customization is necessary, you can create a stimulus of the same name. For example, we can create a stimulus named %r:TrainingBlock|AudioRecordingTrial|AudioResponse after we have used the same syntax in the "stimuli" property of the above trial template. Then, we would like to make the stimulus invisible and truncated to only 5 seconds (let’s pretend the original audio response collected 10s of recording):
Importantly, as a general rule for using carryover responses, those responses must have been already collected in an earlier block than the block referencing them.
stimulus_pattern¶
Definition: A dictionary that specifies how the supplied stimuli are used on realized trials. The dictionary usually consists of a set of optional properties for tweaking the presentation of stimuli on trials generated from a template, such as:
"attribute"¶
- Definition: A stimulus can have custom-named properties that serve as attributes of the stimulus. This is useful for controlling the presentation pattern of particular types of stimuli, when used together with some of the below options for
"order"
. - Possible values: A custom-named property defined for one or more of the stimuli listed in the
"stimuli"
property of a trial template. - Default: there is no default for this property as it is completely optional. That is, the
"attribute"
property can be omitted from"stimulus_pattern"
.
For example, one can set a custom attribute called "grammatical"
with values of either true
or false
for a group of text stimuli:
and
"order"¶
- Definition: The order in which stimuli within a trial template are presented on trials generated from this template.
- Possible values:
"fixed"
,"random"
,"pseudorandom"
,"ascending"
,"descending"
,"alternate"
,"every"
. See the following tabs for details on each of these. - Default:
"fixed"
.
"fixed"
presents stimuli in the same order as they are listed in the "stimuli"
property of the trial template. For example:
A total of two trials will be generated from this trial template: the first trial presents the stimulus "s1" and the second trial "s2". In other words, stimuli are presented in the order they are listed in the "stimuli"
property due to the "fixed"
order. This is the default and can be omitted.
"random"
presents stimuli randomly, using true randomization that is generated each time a participant views the study, with no counterbalancing within or between participants.
In the above code, the presentation order of stimuli "s1" and "s2" is randomized per participant, and per instance of the trial template. For example, if the same trial template is used multiple times in a study, the trials generated from the template will be randomized separately for each occurrence of that trial template for each participant.
"pseudorandom"
presents stimuli randomly, subject to the constraint that stimuli with a designated custom attribute (in this example, "ungrammatical"
) will appear in a row at least "min_N"
times (defaults to 1) and at most "max_N"
times (defaults to, and is always at least equal to, "min_N"
).
"ungrammatical"
set to true
) are presented at least twice in a row, but no more than 4 times consecutively.
"ascending"
presents stimuli in increasing order by the value of a designated custom attribute (in this example, "length"
).
Consider that the following stimuli are defined in your study:
The following trial template:
"length"
increases (singleShort1, singleShort2, singleShort3, etc.). Intuitively, changing "ascending"
to "descending"
has the exact opposite effect.
Note that if two or more stimuli have the same value for "length"
, then their relative order can be randomized setting "pre_shuffle"
to true
:
"pre_shuffle"
has no effect.
"descending"
presents stimuli in decreasing order by the value of a designated custom attribute (in this example, "length"
).
Consider that the following stimuli are defined in your study:
"length"
decreases (singleShort5, singleShort4, singleShort3, etc.). Intuitively, changing "descending"
to "ascending"
has the exact opposite effect.
Note that if two or more stimuli have the same value for "length"
, then their relative order can be randomized setting "pre_shuffle"
to true
:
"pre_shuffle"
has no effect.
"alternate"
presents stimuli so that they alternate between values of a defined custom attribute.
Consider that the following stimuli are defined in your study:
The following trial template then presents the stimuli so that "easy"
and "hard"
alternate:
"every"
presents one stimulus with a defined custom attribute after presenting N-1
stimuli without this attribute. An additional property "N"
must also be specified.
Consider that the following stimuli are defined in your study:
"N"
-1) without custom property "difficult"
, then presents 1 stimulus with "difficult" : true
, and repeats until all stimuli are displayed (e.g., singleShort1, singleShort2, singleShort4, singleShort3, singleShort6, singleShort5).
"preshuffle"¶
- Definition: Whether or not to randomize the stimulus order as given in the
"stimuli"
property of a trial template before applying the specified pattern - Possible values:
true
orfalse
- Default:
false
- This property is ignored if
"order"
is"fixed"
or"random"
- In cases where
"order"
implies strict ordering (such as"ascending"
),"pre_shuffle"
only affects cases where attribute values are the same.
Consider that the following stimuli are defined in your study:
Consider the effects of "pre_shuffle"
:
"pre_shuffle"
set to false
(which can be omitted since it's the default), the stimuli are always going to be presented in the order "singleShort1", "singleShort4", "singleShort2", "singleShort5", "singleShort3"*
"pre_shuffle"
set to true
, although "easy"
and "hard"
still alternate, it is possible to obtain a sequence such as "singleShort2", "singleShort5", "singleShort1", "singleShort4", "singleShort3". That is, the order in which stimulus names are listed in the trial template has no effect on the generated alternating order anymore.
"N"¶
- Definition: This property is required when
"order"
is"every"
, meaning that for every N trials, present one stimulus with the attribute specified in"every"
(that is, present one trial with the attribute of interest after every N-1 trials without the attribute). - Possible values: An integer
- Default: there is no default as this property is only required for some types of
"order"
and should be omitted in most cases.
Consider that the following stimuli are defined in your study:
"N"
-1) without custom property "difficult"
, then presents 1 stimulus with "difficult" : true
, and repeats until all stimuli are displayed (e.g., singleShort1, singleShort2, singleShort4, singleShort3, singleShort6, singleShort5).
"limit"¶
- Definition: When set to K, an integer, FindingFive applies the stimulus pattern as defined and then shows only the first K stimuli
- Possible values: An integer smaller than or equal to the total number of stimuli that can be rendered from this trial template
- Default: there is no default as this property is completely optional and can be omitted.
The most common use of "limit"
is to randomly sample a subset of stimuli from a given collection:
Response Properties¶
responses¶
- Definition: A list of response names representing responses to be used on realized trials.
- Possible values: Single plain text label (e.g.,
["response1"]
) or nested list (e.g.,[["response1", "response2"]]
). Nested lists can be used to present more than one response in a single realized trial.
r1
for the first trial (which presents s1
) and r2
for the second trial (which presents s2
).
The above code presents both r1
and r2
for both the trial presenting s1
and the trial presenting s2
.
response_pairing¶
- Definition: When both the
"stimuli"
and the"responses"
lists contain more than one element,"response_pairing"
tells FindingFive how to combine stimuli and responses across trials. - Possible values:
"alternate"
,"partitioned"
,"random"
. See the following tabs for details on each of these. - Default:
"alternate"
. - Responses are always evenly distributed among the stimuli - that is, if a trial template contains N times as many stimuli as responses, each response will be associated with exactly N stimuli
- The number of stimuli must be an exact multiple of the number of responses.
- The pattern as specified by
"stimulus_pattern"
is applied after response pairing - that is, FindingFive pairs stimuli and responses together according to the specified "response_pairing" first, and then applies the specified"stimulus_pattern"
.
"alternate"
pairs the first response (r1
) with the first stimulus (s1
), the second response (r2
) with the second stimulus (s2
), the third response (r3
) with the third stimulus (s3
), and so on, until all responses are used, at which point FindingFive goes back to the beginning of the response list and continues to pair the responses with the remaining stimuli in the same pattern.
r1
will be paired with s1
and s4
, r2
with s2
and s5
, r3
with s3
and s6
.
"partitioned"
evenly divides the entire list of stimuli into sublists according to the number of responses. For example, if there are 9 stimuli and 3 responses, the stimuli will be partitioned into 3 sublists of 3. Then, preserving the original order of the stimulus list, "partitioned"
pairs the first response with the stimuli in the first sublist, the second response with the stimuli in the second sublist, and so on until all responses are used.
r1
will be paired with s1
and s2
, r2
with s3
and s4
, r3
with s5
and s6
.
"random"
randomly pairs each response with stimuli. If there are more stimuli than responses, multiple stimuli will be assigned to each response. For example, if there are 9 stimuli and 3 responses, FindingFive will create 9 trials for which each response is randomly paired with 3 stimuli, without overlap.
r1
might be paired with s4
and s5
, r2
with s2
and s6
, r3
with s1
and s3
.
follow_up_responses¶
- Definition: One or more responses to conditionally display depending on how a participant has responded to a previous question (defined in the
"responses"
of this trial template). - Possible values: Dictionary including the name of the previous response, the values of this response to match, and the name of the follow-up response. Multiple follow-up conditions can be used (see example).
"follow_up_response1"
if the participant chooses either value1
or value2
in the "previous_choice_response"
(which must be defined in "responses"
of this trial template), and display two other different responses if the participant chooses value3
instead.
response_confirm¶
- Definition: If set to true, participants will need to explicitly confirm their responses before proceeding to the next trial. Default (or omission) is false, in which case the study will proceed to the next trial immediately after all responses on the current trial have been recorded.
- Possible values:
true
orfalse
- Default:
false
Timing Properties¶
delay¶
- Definition: Delay the onset of a trial. This is particularly useful for implementing an inter-trial interval.
- Possible values: A number of seconds (fractions are supported)
duration¶
- Definition: The amount of time to wait before automatically proceeding to the next trial. This is useful in cases where no responses are needed (such as during a training phase). This feature should not be used on trials where participant resposnes are needed. To turn off automatic advancement to the next trial, see
“auto_advance”
. - Possible values: A number of seconds (fractions are supported)
countdown_visible¶
- Definition: If set to
true
and"duration"
is greater than0
, then a timer will appear on each trial to remind participants explicitly that this is a timed trial. - Possible values:
true
orfalse
- Default:
false
Trial Progression Properties¶
auto_advance¶
- Definition: If set to
true
, participants will automatically advance to the next trial when stimuli with barrier finish on the current trial. When set tofalse
, a continue button will appear for participants to click on to advance to the next trial. - Possible values:
true
orfalse
- Default: When
"duration"
is longer than0
, the default istrue
; otherwise,false
.
"duration"
is not specified, "auto_advance"
will be set to false'
. Participants will be required to click a continue button to advance to the next trial.
continue_button¶
- Definition: Whether or not a continue button is displayed and when it appears. By default, FindingFive automatically determines if a trial will have a continue button and when that continue button appears, which should produce the desired behavior for most cases.
- Possible values: see the
display
andonset
sub-properties below.
"display"¶
- Definition: Whether to always display the continue button or to allow FindingFive to automatically determine if it is displayed.
- Possible values:
"auto"
or"always"
- Default:
"auto"
"onset"¶
- Definition: Whether to display the continue button from the beginning of the trial or to allow FindingFive to automatically determine when it is displayed.
- Possible values:
"auto"
or"immediate"
- Default:
"auto"
Data Submission Properties¶
submission_point¶
- Definition: If set to
false
, then data collected on trials generated from this template will not be submitted to the server right away. Instead, it will be cached and waiting to be submitted until the next trial that doesn’t have this setting. Setting this property tofalse
is recommended for reaction-time-critical trials to avoid network latencies. - Possible values:
true
orfalse
- Default:
true
, meaning that data collected on a trial will be submitted at the end of the trial by default.
Display Properties¶
vertical_center¶
- Definition: If set to
true
, stimuli and responses on this trial will be displayed from the very top of the screen; normally, FindingFive vertically centers all content. - Possible values:
true
orfalse
- Default:
false
Misc Properties¶
replayable¶
- Definition: If set to
true
, a clickable banner saying “replay this trial” will appear on the top left corner of all trials generated from this trial template. Participants can refresh a trial by clicking that banner. When multiple questions are displayed on a trial, this allows participants who have not yet submitted an answer to the final question to change their responses. - Possible values:
true
orfalse
- Default:
false
r1
, r2
, and r3
) and must provide them again.