Skip to content

Deadline with timeout message

Enforce a response deadline and tell participants when they miss it, without interrupting trials they answer in time.

Speeded tasks need participants to feel the deadline, and a silent timeout does not teach anyone to go faster: the trial just vanishes and the participant may not even notice they were too slow. This recipe enforces the deadline and shows a message only on missed trials, so answered trials keep their rhythm. If you want trial-by-trial accuracy coaching as well, the Accuracy feedback block recipe covers the full correct, incorrect, and timeout grammar.

typestimFormattitlecontentstim1responseWindowkeyboardkeyfeedbackfeedbackTimebutton1
instructionsBeat the deadlinePress F if the word names an animal and J if it does not. You have 1.5 seconds per word; slow trials will tell you so.NEXT
testwordHORSE1500f jftimeout: Too slow. Answer before the word disappears800
testwordBOTTLE1500f jjtimeout: Too slow. Answer before the word disappears800
testwordPIGEON1500f jftimeout: Too slow. Answer before the word disappears800
testwordCARPET1500f jjtimeout: Too slow. Answer before the word disappears800
testwordRABBIT1500f jftimeout: Too slow. Answer before the word disappears800
testwordMIRROR1500f jjtimeout: Too slow. Answer before the word disappears800

The numeric responseWindow of 1500 is the deadline: it opens when the word appears and closes 1500 ms later, recording the response as timeout and auto-advancing when nothing was pressed. That timeout outcome is what the feedback grammar branches on. The cell holds a single timeout: message segment and nothing else, so on answered trials no segment matches and the feedback screen is skipped entirely; only missed trials pause for the message. The timeout: key has to be spelled out even in fuller feedback cells, because a timed-out trial never falls through to incorrect: or a catch-all.

Keep the cell free of bare text: a segment without a colon is a catch-all, shown on every answered trial, which would put a screen between every trial and its successor. key still scores each response in the results, it just never surfaces as feedback here.

feedbackTime set to 800 makes the message self-dismissing, preserving the task’s pace. An empty cell is not a faster alternative; it replaces the auto-advance with a NEXT button and hands the pacing back to the participant. Non-numeric values are worse still: something like fast is read as a 0 ms delay, so the message flashes for about one frame. Feedback only runs on test and practice trials, so the instructions row shows nothing.

  • Add correct: and incorrect: segments to the same feedback cell to coach accuracy as well as speed (see the Accuracy feedback block recipe).
  • Vary the pressure per row by changing responseWindow; the recorded timeout rate tells you when a deadline is too strict.
  • Count the deadline from stimulus offset instead of onset with responseWindow afterStim_1500, paired with a presTime to take the stimulus down.
  • Show responders their speed by adding a catch-all segment such as You took %rt% ms to feedback; variables are substituted before the cell is parsed.