Minimum time on a survey page


Author
Message
LinasM
LinasM
Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)
Group: Forum Members
Posts: 2, Visits: 3
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>

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
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>

LinasM
LinasM
Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)Associate Member (171 reputation)
Group: Forum Members
Posts: 2, Visits: 3
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!
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search