Return to the Finger Drumming Task page
___________________________________________________________________________________________________________________	

									Millisecond Finger Drumming Task
									(for touchscreen devices only)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 04-28-2017
last updated:  11-11-2019 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 11-11-2019 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements a Finger Drumming Task, a test of fine motor skills, for a touchscreen device.
Note: script checks for a touchscreen - aborts script if no touchscreen is detected

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________											  
Participants are asked to use their fingers of either the left or your right hand to drum sequences on 
their touchscreen.
											  
3 versions: for all 3 versions, participants are asked to adjust the screen position of 4 buttons (one button for 
index finger, middle finger, ring finger and pinky each).

Version 1: tap 4 buttons in sequence, starting with index finger to pinky. Timelimit enforced.
Version 2: tap 4 buttons in sequence, starting with pinky to index finger. Timelimit enforced.
Version 3: tap any of the 4 buttons in a (randomly) selected sequence. Timelimit enforced.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 12 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored in the data files are:

(1) Raw data file: 'fingerdrummingtask_raw*.iqdat' (a separate file for each participant)*

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:				the platform the script was run on (win/mac/ios/android)
date, time, 						date and time script was run 
subject, group, 					with the current subject/groupnumber
script.sessionid:					with the current session id

blockcode, blocknum:			the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file. 
										
hand:								1 = Left Hand (LH); 2 = Right Hand (RH)
version:							3 versions: 1 vs. 2 vs. 3
Test:								1 = timed test; 0 = untimed practice (first 3 sequences)
countTaps:						a tap counter
index:								helper variable to determine the current tap in the sequence (index of the current tapsequence list)
nextIndex:							helper variable to determine the next tap in the sequence

currentButton:					stores the number of the current button in the sequence:
										4 = pinky
										3 = ring
										2 = middle
										1 = index
										
response:							the participant's response
correct:							accuracy of response: 1 = INITIAL correct response; 0 = otherwise 

latency: 							the response latency (in ms) of the current latency (correct latency)
									(for initially incorrect responses, latency will include an error adjustment penalty)
								
countCompletedSequences: 		a counter of how many sequences were completed						
buttonSize:						helper variable that stores the current button size (in percentage)


(2) Summary data file: 'fingerdrummingtask_summary*.iqdat' (a separate file for each participant)*

Computer Platform:				the platform the script was run on (win/mac/ios/android)
Date:								date script was run
Time:								time script was started
Subject ID:							assigned subject id number
Group ID:							assigned group id number
Session ID:							assigned session id number
Script Duration:					time it took to run script (in ms); measured from onset to offset of script
Script Completion:				0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)
						

Version1:
LH_completedSequences_V1: 		stores the number of completed sequences for left hand version1
LH_ACC_V1:							stores the proportion correct taps for left hand version1
LH_meanRT_V1:						stores the mean latency (in ms) of correct taps in non-error trials for left hand version1

RH_completedSequences_V1: 	stores the number of completed sequences for right hand version1
										Note: speed and accuracy are necessary for a high number of completed sequences
RH_ACC_V1:							stores the proportion correct taps for right hand version1
RH_meanRT_V1:						stores the mean latency (in ms) of correct taps in non-error trials for right hand version1


Version2:
LH_completedSequences_V2: 		stores the number of completed sequences for left hand version2
LH_ACC_V2:							stores the proportion correct taps for left hand version2
LH_meanRT_V2:						stores the mean latency (in ms) of correct taps in non-error trials for left hand version2

RH_completedSequences_V2: 	stores the number of completed sequences for right hand version2
										Note: speed and accuracy are necessary for a high number of completed sequences
RH_ACC_V2:							stores the proportion correct taps for right hand version2
RH_meanRT_V2:						stores the mean latency (in ms) of correct taps in non-error trials for right hand version2

Version3:
LH_completedSequences_V3: 		stores the number of completed sequences for left hand version3
LH_ACC_V3:							stores the proportion correct taps for left hand version3
LH_meanRT_V3:						stores the mean latency (in ms) of correct taps in non-error trials for left hand version3

RH_completedSequences_V3: 	stores the number of completed sequences for right hand version3
									Note: speed and accuracy are necessary for a high number of completed sequences
RH_ACC_V3:							stores the proportion correct taps for right hand version3
RH_meanRT_V3:						stores the mean latency (in ms) of correct taps in non-error trials for right hand version3


* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

2 hands: order of left-right hand is counterbalanced by groupnumber
odd groupumbers: run right hand first
even groupnumbers: run left hand first

Participants are asked to adjust the size of the response buttons at the start of the task
(Note: a min = 5% and max = 18% sizeare enforced).
Participants are asked to adjust the screen position of 4 buttons (one button for 
index finger, middle finger, ring finger and pinky each) for each hand.
  blocks run in random order (to change order go to section EXPERIMENT)

All versions start off with a practice run. After completion of 3 sequences, the task starts with the
appearance of a timer.

Version 1: tap 4 buttons in sequence, starting with index finger to pinky. Timelimit of 1 minute (default) enforced
Version 2: tap 4 buttons in sequence, starting with pinky to index finger. Timelimit of 1 minute (default) enforced.
In both versions, an incorrect tap highlights the missed button which needs to be pressed in order to move 
ahead in the sequence  

Version 3: tap any of the 4 buttons in a (randomly) selected sequence. The selected button
is highlighted in yellow. An incorrect button press presents feedback and alerts participants that
they have to press the highlighted button to move ahead. Timelimit of 1 minute (default) enforced. 

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
buttons appear gray on black with black finger labeling.
Size of buttons can be adjusted under section Editable Parameters.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software - can be edited under section Editable Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

/buttonSize:						the size of the response buttons in proportion to canvas height at script start (default: 10%)

/timeoutV1:						the time limit (in ms) for version 1 (default: 60000ms)
/timeoutV2:						the time limit (in ms) for version 2 (default: 60000ms)
/timeoutV3:						the time limit (in ms) for version 3 (default: 60000ms)

/correctSequenceV1:				stores the correct sequence for version 1 (starting at index: 1 to pinky: 4)
/correctSequenceV2:				stores the correct sequence for version 2 (starting at pinky: 4 to index: 1)