Millisecond Forums

Minimum time on a survey page

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

By LinasM - 2/12/2019

I would like to make sure participants spend a minimum amount of time reading a "news article" manipulation. I've looked into the "trialduration" attribute, but it seems like this would move participants away from the page once that time is up (I would like them to spend a minimum of 45 seconds, but also take as long as they need), and I'm also not sure how to integrate it with my current code. Current code for one condition below. Any tips? Thanks!

<surveypage CONTROL>
/ questions = [1=CONTROL]
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50, 95)
/ finishlabel="NEXT"
</surveypage>

<image CONTROL>
/ items = ("CONTROL.png")
/ position = (10, 5)
/ size = (375, 750)
</image>

<block Control>
/ screencolor = (255,255,255)
/ preinstructions=(ManipInstructions)
/ trials = [1 = Control]
/ skip=[dropdown.GENDER.response == "another gender"] / skip=[dropdown.TRANSGENDER.response == "yes"]
</block>
By Dave - 2/12/2019

LinasM - Tuesday, February 12, 2019
I would like to make sure participants spend a minimum amount of time reading a "news article" manipulation. I've looked into the "trialduration" attribute, but it seems like this would move participants away from the page once that time is up (I would like them to spend a minimum of 45 seconds, but also take as long as they need), and I'm also not sure how to integrate it with my current code. Current code for one condition below. Any tips? Thanks!

<surveypage CONTROL>
/ questions = [1=CONTROL]
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50, 95)
/ finishlabel="NEXT"
</surveypage>

<image CONTROL>
/ items = ("CONTROL.png")
/ position = (10, 5)
/ size = (375, 750)
</image>

<block Control>
/ screencolor = (255,255,255)
/ preinstructions=(ManipInstructions)
/ trials = [1 = Control]
/ skip=[dropdown.GENDER.response == "another gender"] / skip=[dropdown.TRANSGENDER.response == "yes"]
</block>

Don't use a <surveypage> to display your image, use a regular <trial> instead. You can then either use /beginresponsetime or /isvalidresponse to enforce a minimum time spent looking at the image before being allowed to move on. I.e.

<trial CONTROL>
/ inputdevice = mouse
/ stimulusframes = [1=control, nextbutton]
/ validresponse = (nextbutton)
/ beginresponsetime = 20000
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>

or

<trial CONTROL>
/ inputdevice = mouse
/ stimulusframes = [1=control, nextbutton]
/ validresponse = (nextbutton)
/ isvalidresponse = [trial.control.latency >= 20000]
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>

or you could even delay the display of the "NEXT" button until the point in time you want to start accepting responses / allow participants to move on:

<trial CONTROL>
/ inputdevice = mouse
/ stimulustimes = [1=control; 20000 = nextbutton]
/ validresponse = (nextbutton)
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>
By LinasM - 2/13/2019

Dave - Tuesday, February 12, 2019
LinasM - Tuesday, February 12, 2019
I would like to make sure participants spend a minimum amount of time reading a "news article" manipulation. I've looked into the "trialduration" attribute, but it seems like this would move participants away from the page once that time is up (I would like them to spend a minimum of 45 seconds, but also take as long as they need), and I'm also not sure how to integrate it with my current code. Current code for one condition below. Any tips? Thanks!

<surveypage CONTROL>
/ questions = [1=CONTROL]
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50, 95)
/ finishlabel="NEXT"
</surveypage>

<image CONTROL>
/ items = ("CONTROL.png")
/ position = (10, 5)
/ size = (375, 750)
</image>

<block Control>
/ screencolor = (255,255,255)
/ preinstructions=(ManipInstructions)
/ trials = [1 = Control]
/ skip=[dropdown.GENDER.response == "another gender"] / skip=[dropdown.TRANSGENDER.response == "yes"]
</block>

Don't use a <surveypage> to display your image, use a regular <trial> instead. You can then either use /beginresponsetime or /isvalidresponse to enforce a minimum time spent looking at the image before being allowed to move on. I.e.

<trial CONTROL>
/ inputdevice = mouse
/ stimulusframes = [1=control, nextbutton]
/ validresponse = (nextbutton)
/ beginresponsetime = 20000
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>

or

<trial CONTROL>
/ inputdevice = mouse
/ stimulusframes = [1=control, nextbutton]
/ validresponse = (nextbutton)
/ isvalidresponse = [trial.control.latency >= 20000]
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>

or you could even delay the display of the "NEXT" button until the point in time you want to start accepting responses / allow participants to move on:

<trial CONTROL>
/ inputdevice = mouse
/ stimulustimes = [1=control; 20000 = nextbutton]
/ validresponse = (nextbutton)
</trial>

<picture control>
/ items = ("control.png")
</picture>

<text nextbutton>
/ items = ("NEXT")
/ size = (14%, 7%)
/ vjustify = center
/ txbgcolor = grey
/ txcolor = black
/ position = (50%, 95%)
</text>

<block Control>
/ screencolor = (255,255,255)
/ trials = [1 = Control]
</block>

I used your code to delay the "next" display and it works perfectly! Thanks so much!