Introduction

Thanks to Katie Perryman (University of Liverpool, UK) for writing part of the text below and her help with creating this library entry.

Oops! — Pouring cream into a requested black coffee or throwing away the vegetables while keeping their peelings are examples of action slips common in the everyday lives of normal people [3,21]. Such slips tend to happen when attention to task is degraded through such factors as boredom, worry or dividing attention between several tasks simultaneously. There is a considerable normal variation in action in action-error-proneness [3], and brain damage — particularly to the frontal lobes of the brain — increases the likelihood that individuals will stray from intended goals and hence make errors [33,34].

— From the original SART study by Robertson et al. (1997) in Neuropsychologia

The SART was designed by Robertson and colleagues in 1997 (Robertson, Andrade, Baddeley, Yiend) and used in other studies (some of them listed in the references, but there are more). The study by Robertson et al. is a highly cited study showing the importance of the SART.

Robertson, Manly, Andrade, Baddeley, and Yiend (1997) designed a novel continuous performance task (CPT), the Sustained Attention to Response Test (SART), which involves a motor response to frequent stimuli and a withheld motor response to a rare stimulus.

It was hypothesized that the SART would be a better measure of sustained attention, being less vulnerable than the classic vigilance CPT to responses becoming quickly automatic rather than controlled. The SART was indeed found to be sensitive to the ability to sustain attention to dull but demanding tasks Robertson et al., (1997).

Subsequently the SART has been used to measure sustained attention in studies exploring associations between, for example, attention and media multi-tasking (Ralph, Thomson, Seli, Carriere, & Smilek, 2015) and working memory and engagement on social networking sites (Alloway & Alloway, 2012).

About this implementation

There is also a slightly different version you might try, the SART 2, which I think is better.

The timing of events and stimulus sizes follow the original Robertson study, that is, the digit is present for 250 ms and the mask for 900 ms. This timing is not influened by whether people respond or not. There are five different font sizes (48 point, 72 point, 94 point, 100 point, and 120 point). The mask is, as in the Robertson study, a circle with a cross in it. Stimuli are presented in white on a black background.

It takes around 5 minutes to complete the experiment.

In this implementation, participants get feedback about the number and percentage of mistakes after the training and "real block". Note that the typical outcome is that people have a higher percentage of errors in the rare no-go trials than in the go trials.

Also note that digits never repeat one another. Also note that in the training block, each digit in the range 1 to 9 is used exactly 2x, and in the real block, each digit is used 25x.

Note that before each block, there is a "get ready" count down. This is also used, for example, in the corsi task which you can find on this website (find the stimuli for this there if you want to change them). This count down ensures people are fully ready for the upcoming stimuli.

Run the demo

There is also a slightly different version you might try, the SART 2, which I think is better.
In this example, you will view digits (1 to 9). Each time when it shows up, it will quickly be masked by a circle with a cross. You need to respond with a space bar, except when it is the digit 3.

Data output file

In PsyToolkit, the data output file is simply a textfile. The save line of the PsyToolkit experiment script determines what is being saved in the data output file. Typically, for each experimental trial, you would have exactly one line in your text file, and each number/word on that line gives you the information you need for your data analysis, such as the condition, response speed, and whether an error was made.

Meaning of the columns in the output datafile. For each trial (there are 18 training trials and 225 "real" trials), there is one line with 6 numbers (columns).

You need this information for your data analysis.

Colum Meaning

1

name of block

2

number of the block

3

go (1) or no-go trial (0)

4

digit (1-9)

5

size of the stimulus (values between 1 and 5, from smalles to biggest)

6

response outcome (0 is error, 1 is correct)

7

reaction time in milliseconds

PsyToolkit code

Click to expand the PsyToolkit script code (part of zip file below)
bitmaps
  mask
  titlescreen
  instruction1
  instruction2
  instruction_real
  mistake_wrong_press
  mistake_missed
  welldone_training
  welldone_experiment
  ready1
  ready2
  ready3

fonts
  feedbackfont arial 20 ## first font is the default font in feedback
  font1 arial 48 ## this and following font sizes are used in original study as well
  font2 arial 72
  font3 arial 94
  font4 arial 100
  font5 arial 120

task sart
  keys space
  set $current_digit &&mydigits remove first
  set $random_font random 2 6
  set $digit_size expression $random_font - 1 ## for report in save line
  font $random_font
  show text $current_digit
  readkey 1 250
  show bitmap mask
  if STATUS != TIMEOUT
    set $my_rt RT
  fi
  if STATUS == TIMEOUT
    readkey 1 900
    set $my_rt expression RT + 250
  fi
  ## the whole intertrial interval is 1150 ms (250 + 900)
  set $remaining_time expression 1150 - RT
  ## determine status of response and show feedback if necessary
  set $mystatus 1 ## assume people respond correctly
  if $current_digit == 3 && STATUS != TIMEOUT
    $mystatus = 0 ## pressed when there was a 3
    show bitmap mistake_wrong_press
    delay 3000
    clear -1
    delay 500
  fi
  if $current_digit != 3 && STATUS == TIMEOUT
    $mystatus = 0 ## not pressed when there was no 3
    show bitmap mistake_missed
    delay 3000
    clear -1
    delay 500
  fi
  if $mystatus == 1
    delay $remaining_time ## only wait if there was no mistake
  fi
  ## determine trial type (1=go,0=no-go)
  set $trial_type 1
  if $current_digit == 3
    set $trial_type 0
  fi
  save BLOCKNAME BLOCKNUMBER $trial_type $current_digit $digit_size $mystatus RT

block training
  message titlescreen
  message instruction1
  message instruction2
  set &&digitrange range 1 9 
  set &&mydigits &&digitrange times 2
  set &&mydigits shuffle no_repeat
  bitmap ready3
  delay 1000
  bitmap ready2
  delay 1000  
  bitmap ready1
  delay 1000
  clear screen
  delay 1000
  clear screen
  delay 1000
  tasklist
     sart 18
  end
  feedback
    set &totalGo       count    ; select c2 == 1 && c3 == 1
    set &GoMistakes    count    ; select c2 == 1 && c3 == 1 && c6 == 0
    set &GoMistakesP   perc 16  ; select c2 == 1 && c3 == 1 && c6 == 0
    set &totalNoGo     count    ; select c2 == 1 && c3 == 0
    set &NoGoMistakes  count    ; select c2 == 1 && c3 == 0 && c6 == 0
    set &NoGoMistakesP perc 2   ; select c2 == 1 && c3 == 0 && c6 == 0
    text align left
    text -200 -200 "Results in training block:"    
    text -200 -150 &totalGo        ; prefix "Number Go trials:" 
    text -200 -100 &GoMistakes     ; prefix "Number Go mistakes:"
    text -200 -50  &GoMistakesP    ; prefix "Go mistakes:" ; postfix "%"
    text -200   0  &totalNoGo      ; prefix "Number No Go trials:" 
    text -200  50  &NoGoMistakes   ; prefix "Number No Go mistakes:"
    text -200 100  &NoGoMistakesP  ; prefix "No Go mistakes:" ; postfix "%"
    text -200 150  "Press space bar to continue"
  end
  message welldone_training

block realtest
  message instruction_real
  set &&digitrange range 1 9 
  set &&mydigits &&digitrange times 25
  set &&mydigits shuffle no_repeat
  bitmap ready3
  delay 1000
  bitmap ready2
  delay 1000  
  bitmap ready1
  delay 1000  
  tasklist
     sart 225
  end
  feedback
    set &totalGo       count    ; select c2 == 2 && c3 == 1
    set &GoMistakes    count    ; select c2 == 2 && c3 == 1 && c6 == 0
    set &GoMistakesP   perc 200 ; select c2 == 2 && c3 == 1 && c6 == 0
    set &totalNoGo     count    ; select c2 == 2 && c3 == 0
    set &NoGoMistakes  count    ; select c2 == 2 && c3 == 0 && c6 == 0
    set &NoGoMistakesP perc 25  ; select c2 == 2 && c3 == 0 && c6 == 0
    text align left
    text -200 -200 "Results in second block:"    
    text -200 -150 &totalGo        ; prefix "Number Go trials:" 
    text -200 -100 &GoMistakes     ; prefix "Number Go mistakes:"
    text -200 -50  &GoMistakesP    ; prefix "Go mistakes:" ; postfix "%"
    text -200   0  &totalNoGo      ; prefix "Number No Go trials:" 
    text -200  50  &NoGoMistakes   ; prefix "Number No Go mistakes:"
    text -200 100  &NoGoMistakesP  ; prefix "No Go mistakes:" ; postfix "%"
    text -200 150  "Press space bar to continue"
  end
  message welldone_experiment

Download

There is also a slightly different version you might try, the SART 2, which I think is better.
If you have a PsyToolkit account, you can upload the zipfile directly to your PsyToolkit account. Watch a video on how to do that. If you want to upload the zipfile into your PsyToolkit account, make sure the file is not automatically uncompressed (some browsers, especially Mac Safari, by default uncompress zip files). Read here how to easily deal with this.

Further reading

  • Robertson, I.H., Manly, T., Andrade, J., Baddeley, B.T., Yiend, J. (1997). 'Oops!': performance correlates of everyday attentional failures in traumatic brain injured and normal subjects. Neuropsychologia, 35(6), 747-758.

  • Ralph, B.C.W., Thomson, D.R., Seli, P., Carriere, J.S.A., Smilek, D. Media multitasking and behavioral measures of sustained attention. Attention, Perception, & Psychophysics, 77, 390-401.

  • Alloway, T. P., & Alloway, R. G. (2012). The impact of engagement with social networking sites (SNSs) on cognitive skills. Computers in Human Behavior, 28(5), 1748-1754.