Millisecond Forums

Feedback for "too fast" or "too slow" response

https://forums.millisecond.com/Topic2700.aspx

By Zinaidat - 4/5/2009

Hi! How can we let our participants know that they are responding too fast or too slow on each trial during an IAT test?


I appreciate any help, thanks!


- Zina

By Zinaidat - 4/9/2009

To partly answer my own question, I found the following link helpful. I am going to try to adapt this information for what I am trying to do. - Z


http://www.millisecond.com/forums/Topic2118.aspx

By Dave - 4/9/2009

I believe you're on the right track. However, I don't think that the '/ responsemessage' attribute will be enough in this case. I'd suggest adding two <trial> elements to your script -- one that presents the 'Too fast' message and the other one to display the 'Too slow' prompt. Then you'd define some '/ branch' commands in your main <trial> elements that call these trials if the condition is met:

<text tooslow_msg>
/ items = ("Too slow!")
[...]
</text>

<text toofast_msg>

/ items = ("Too fast!")

[...]

</text>

<trial tooslow>
/ stimulusframes = [tooslow_msg]
/ validresponse = (noresponse)
/ trialduration = 500
/ recorddata = false
[...]
</trial>

<trial toofast>

/ stimulusframes = [toofast_msg]

/ validresponse = (noresponse)

/ trialduration = 500
/ recorddata = false
[...]

</trial>

<trial maintrial>
[...]
/ branch = [if(trial.maintrial.latency<300)trial.toofast]
/ branch = [if(trial.maintrial.latency>2000)trial.tooslow]
</trial>


Alternatively you may want to consider using Inquisit's response window facilities (see documentation on the <response> element) to do something like this.

Best wishes from a fellow Inquisit user,
~Dave
By pops - 8/4/2011

Hi Inquisit users,


I've been spending all day trying to get this trial branching thing to work but to no avail. I first tried it as in the example above i.e. have the branching within my trial called Pavquerytrial, but that wasn't working - it would just ignore the branching. Now I have tried to create a separate trial called feedbacktrial and within the block I am presenting alternating Pavquerytrials and feedbacktrials, but it is just showing a black screen inbetween the Pavquery trials. Any ideas why? Thanks!


<trial 1creditFB>
/ stimulustimes=[1=1point]
/ timeout = 1000
/ validresponse = (noresponse)
/ recorddata = false
</trial>

<trial 10creditsFB>
/ stimulustimes=[1=10points]
/ timeout = 1000
/ validresponse = (noresponse)
/ recorddata = false
</trial>

<trial toolateFB>
/ stimulustimes=[1=toolate]
/ validresponse = (noresponse)
/ recorddata = false
/ timeout=1000
</trial>

<trial Pavquerytrial>
/ stimulustimes = [1=Queryshape1, Queryshape2]
/ timeout=2000
/ validresponse=(72,80)
</trial>

<trial feedbacktrial>
/ branch = [ if (trial.Pavquerytrial.latency>2000) trial.toolateFB]
/ branch= [ if (trial.Pavquerytrial.response=="72") trial.1creditFB]
/ branch= [ if (trial.Pavquerytrial.response=="80") trial.10creditsFB]
/ timeout = 1000
</trial>

By Dave - 8/4/2011

<trial Pavquerytrial>
/ stimulustimes = [1=Queryshape1, Queryshape2]
/ timeout=2000
/ validresponse=(72,80)
</trial>


See https://www.millisecond.com/forums/Topic1004.aspx#1004 for the correct scan codes for the keyboard's arrow keys (200 & 208). That's why your branches wouldn't work.


<trial feedbacktrial>
/ branch = [ if (trial.Pavquerytrial.latency>2000) trial.toolateFB]
/ branch= [ if (trial.Pavquerytrial.response=="72") trial.1creditFB]
/ branch= [ if (trial.Pavquerytrial.response=="80") trial.10creditsFB]
/ timeout = 1000
</trial>


First /branch doesn't make too much sense. With a 2000ms timeout on <trial Pavquerytrial>, the condition latency > 2000 will never evaluate to true, thus the "too late" feedback trial will never be run. Not sure about your actual intention, but how about checking for no response instead, i.e. if(trial.Pavquerytrial.response==0)... ? Of course, you need to adjust the scan codes in the other branches. Also, you can move the branches back to <trial Pavquerytrial>, there is no need for <trial feedbacktrial>.


Regards,


~Dave

By pops - 8/4/2011

Thanks a million - it is now working beautifully. Of course now it seems completely obvious that my first branching was illogical! On to the next section of code!

By France - 12/22/2015

I tried to do the same but my problem is that the "too fast"- message appears always although I defined it to appear if the subjects respond earlier than 300 ms. It doesn't matter for how long I wait, and even if I wait 2000 ms which is the point when the "too slow"-message should appear, the "too fast"- message appears instead. How can it be?