Recording participant responses

Soliciting choice responses

A common response to solicit from participants is a choice among researcher-defined alternatives. This is common in surveys as well as alternative-forced choice trials.

The following tasks can all be completed with the "choice" response type.

Permitting only a single choice

Use the plain "choice" response type without any special modifications of the defaults. By default, it displays a set of buttons for your participants to choose from and only one choice is allowed. List the button labels under the "choices" property.

"choice_response": {
    "type": "choice",
    "choices": ["yes", "no", "maybe"]
}

Allowing multiple selections in a choice response

If you want participants to be able to select more than one answer, set the "multi_select" property to true. Participants will lock in their answer with a confirm button.

"multi_select_response": {
    "type": "choice",
    "responses": ["Georgia", "Colorado", "New York", "Michigan", "Washington"],
    "multi_select": true
}

Note the reaction time recorded in the case of "multi_select" is the total number of milliseconds participants spend on making all selections.

Vertically arranging alternatives in a choice response

By default, the buttons in a choice response are displayed horizontally. This can be suboptimal when there are more than 3 options to choose from.

To list them vertically, simply set "layout" to "vertical". Omitting the "layout" property (which means leaving it at default) or setting it any other value will result in a horizontal layout.

"multi_select_response": {
    "type": "choice",
    "responses": ["Georgia", "Colorado", "New York", "Michigan", "Washington"],
    "multi_select": true,
    "layout": "vertical"
}

Allowing keyboard interactions in choice responses

By default, participants can respond via mouse click only. To enable keyboard responses, list the keys that correspond to the "responses" in the property "key_mapping".

"choice_response": {
    "type": "choice",
    "responses": ["yes", "no", "maybe"],
    "key_mapping": ["F", "J", "B"],
    "key_only": false // setting this to true will disable clicking
}

If you want participants to respond only with key presses, set the "key_only" property to true.

Getting accuracy information in choice responses

To record the accuracy of your participants’ responses, specify the correct answer(s) in the "target" property. Make sure that the correct answer is already listed in the "choices" of the response!

"accuracy_response": {
    "type": "choice",
    "responses": ["yes", "no", "maybe"],
    "target": ["yes", "maybe"]
}

You’ll get the accuracy information in the participant data, which is available for download once a study session is complete.

Giving trial-by-trial feedback to participants

To provide trial-by-trial feedback to your participants (for example in the context of a reinforcement learning study), specify your "target" and set the "feedback" property to true. This will display trial-by-trial feedback to your participants by highlighting the correct response(s) in green. Additionally, a pleasant sound will be played for a correct answer while an unpleasant sound will alert participants of an incorrect answer.

"feedback_response": {
    "type": "choice",
    "responses": ["Russian Blue", "Malamute"],
    "target": ["Russian Blue"],
    "feedback": true
}

For example, the following image demonstrates the feedback when the participant’s choice is correct:

../_images/feedback.png

Soliciting participants’ opinions in the form of ratings

Rating responses allow participants to express their opinions with a range of numbers.

  • Use "upper_bound" to indicate the highest number on the displayed rating scale (default is 5).
  • Set "zero_centered" to ``true if you want the rating scale to range from -upper_bound to +upper_bound instead of the default 1 to +upper_bound.
"rating_response": {
    "type": "rating",
    "upper_bound": 3,
    "zero_centered": false
}

Note

When "zero_centered" is false, participants can also use the number keys to respond.

Soliciting free-text responses

A text response allows participants to respond by typing whatever they wish to in a text box.

If desired, you can limit the number of characters participants may type with the "max_char" property.

"text_response": {
      "type": "text",
      "max_char": 100
}

Customizing various types of responses

Recording multiple responses within a single trial

If you’d like your participants to answer multiple questions within a single trial (i.e., in response to the same stimulus), place those responses in a nested list within your trial template. This would be useful, for instance, if you wanted participants to select an answer (choice response) and then provide their confidence for that answer (rating response).

"multi_response_trial": {
    "stimuli": ["s1", "s2", "s3"],
    "responses": [["choice_response", "rating_response"]]
}

This trial template will generate 3 trials, each featuring one of “s1”, “s2”, or “s3”. On each trial, two responses will be recorded, first the choice response, and then the rating responses.

Warning

When the responses list contains more than one set of elements (e.g., ["r1", ["r2", "r3"]]), the stimuli list cannot contain more than one set of elements (e.g., ["s1", ["s2", "s3"]]). Otherwise, it would imply simultaneously sampling from stimuli and responses, which can lead to unpredictable behavior.

Customizing instructions for responses

You can provide instructions on how participants should respond with the "instruction" property of the relevant response.

"text_response": {
   "type": "text",
   "max_char": 100,
   "instruction": "Please provide English words only."
}

Note that this instruction will apear for every trial that includes this response.

Requiring response confirmation

Set the "response_confirm" property of a trial_template to true if you want participants to explicitly confirm their response before proceedign to the next trial.

This makes more sense in some scenarios than others - for example, we do NOT recommend use this feature in choice responses when "multi_select" is true, which would automatically trigger a confirm button already. Having two steps of confirmation doesn’t really make sense. You can experiment with that, however, and see if you agree with our recommendation. We’ll leave the decision up to you. ;)

../_images/response-confirm.png

Reponse timing

By default, FindingFive displays responses immediately after all stimuli have been presented. To alter this behavior, specify the number of seconds you wish to pause before dispaying the response options with the "delay" property of the relevant response.

"text_response": {
    "type": "text",
    "max_char": 100,
    "delay": 5
}

This is particularly useful if you’d like to prevent participants from responding too early (for example, in response to a sentence or paragraph).

Note

This delay is relative to the latest onset of a stimulus on a given trial (i.e., the moment when the last stimulus just becomes visible or starts playing).

In all cases, responses remain on the screen until a selection has been made.