+xI 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>