Idea for skipping an anagram task after 10 sec


Author
Message
Nadine
Nadine
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 15, Visits: 128
Dave - Wednesday, June 21, 2017
Nadine - Wednesday, June 21, 2017
Dave - Wednesday, May 17, 2017
Nadine - Wednesday, May 17, 2017
Hello everyone,
I'm currently programming two different tasks for an upcoming experiment one of which requires the ability to skip a task/trial. Because we want to avoid people quickly skipping a single anagram without even really trying to solve it, we would like to put a time limit on it. E.g. 10 seconds during which the subject should at least try to solve the anagram. During this time they can get to the next anagram trial if they put in either a correct or incorrect response and press the "Finish"-button e.g. If they haven't entered a solution within those 10 seconds, they can either keep trying to solve the anagram or be able to skip it by pressing a button e.g. It could also be done by pressing a certain key but they shouldn't be able to skip by pressing said button or key BEFORE the 10 sec minimum.

I've tried to come up with an idea how to put this into reality within Inquisit 4 and haven't found a solution yet. Before I spend too much time on this, I would like to know if this is even possible? And if so, how? I don't need step-by-step instructions just what elements to use would be fine. I believe I can probably figure out the rest on my own. 

If this is not possible under Inquisit 4 but would be under Inquisit 5 that would also be helpful to know because we might consider an upgrade then.

Thank you so much for taking the time to read and possibly reply.

Kind regards,
Nadine

This should be possible using some /isvalidresponse logic:

<openended solve>
/ stimulusframes = [1=anagram]
/ position = (50%, 60%)
/ isvalidresponse = [(openended.solve.response!="" && openended.solve.latency < 10000) || openended.solve.latency >= 10000]
</openended>

<text anagram>
/ items = ("Anagram A", "Anagram B")
</text>

<block myblock>
/ trials = [1-2=solve]
</block>




I'm sorry I didn't respond sooner but I didn't have time to get to it to try it out. I have now done so and it works (but only if I include / validresponse = (anyresponse) otherwise it doesn't let me skip the task even after 10 seconds. So thank you! :)

But now I have a different problem and that is, I would like to count the amount of tasks that were skipped. I am using a lot of /ontrialend =... lines to create different variables. My problem is how would the program recognize a noresponse. I have tried openended.anagrams.response == "" for "" to mean an empty response. This seems to work, the only problem is I also want to count the (actual) errors. I tried including openended.anagrams.response != "" into the regular logic but it still counts no responses as an error as well as regular errors. What is my mistake?

Also, I was wondering if it was possible to alert subjects after 7 seconds (we changed the time from 10 to 7 seconds) that now it's possible to skip the task so they won't have to click repeatedly if they try to skip before the 7 seconds have elapsed. I tried doing this by including a text in stimulustimes at the 7000 mark. But then it also only showed the openended and the button after 7 seconds. I saw this work on a picture story exercise Inquisit script so I'm confused why it won't work in my script.

This is the entire script of my openended for reference:

<openended anagrams>
/ stimulustimes = [1=anagrams, antworten; 7000=skip]
/ correctresponse = (antworten)
/ isvalidresponse = [(openended.anagrams.response!="" && openended.anagrams.latency < 7000) || openended.anagrams.latency >= 7000]
/ validresponse = (anyresponse)
/ position = (50%, 50%)
/ size = (5%, 5%)
/ position = (50%, 55%)
/ buttonlabel = "Weiter"
/ charlimit = 5
/ fontstyle = ("Arial", 24, true)
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000) values.anagrams_pre_bearbeitet_q1 = values.anagrams_pre_bearbeitet_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000) values.anagrams_pre_bearbeitet_q2 = values.anagrams_pre_bearbeitet_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000) values.anagrams_pre_bearbeitet_q3 = values.anagrams_pre_bearbeitet_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_q4 = values.anagrams_pre_bearbeitet_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q1 = values.anagrams_pre_fehler_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q2 = values.anagrams_pre_fehler_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q3 = values.anagrams_pre_fehler_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q4 = values.anagrams_pre_fehler_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && openended.anagrams.response=="") values.anagrams_pre_ausl_q1 = values.anagrams_pre_ausl_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && openended.anagrams.correct) values.anagrams_pre_ausl_q2 = values.anagrams_pre_ausl_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && openended.anagrams.correct) values.anagrams_pre_ausl_q3 = values.anagrams_pre_ausl_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_q4 = values.anagrams_pre_ausl_q4 + 1]

/ ontrialend = [if (block.anagrams.elapsedtime <= 80000) values.anagrams_pre_bearbeitet_t1 = values.anagrams_pre_bearbeitet_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000) values.anagrams_pre_bearbeitet_t2 = values.anagrams_pre_bearbeitet_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_t3 = values.anagrams_pre_bearbeitet_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t1 = values.anagrams_pre_fehler_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t2 = values.anagrams_pre_fehler_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t3 = values.anagrams_pre_fehler_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && openended.anagrams.correct) values.anagrams_pre_ausl_t1 = values.anagrams_pre_ausl_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && openended.anagrams.correct) values.anagrams_pre_ausl_t2 = values.anagrams_pre_ausl_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_t3 = values.anagrams_pre_ausl_t3 + 1]

/ skip = [block.anagrams.elapsedtime > 240000]
</openended>

<text skip>
/ items = ("Ab jetzt haben Sie auch die Möglichkeit, die Aufgabe zu Überspringen.")
/ position = (50%, 92%)
/ valign = bottom
</text>


> I have tried openended.anagrams.response == "" for "" to mean an empty response.
> This seems to work, the only problem is I also want to count the (actual) errors.

Why don't you simply subtract the number of non-responses (which you are able to count) from the total count of errors (which includes the non-responses). The difference of the two will give you what you call the "actual" errors.

> I tried doing this by including a text in stimulustimes at the 7000 mark. But then it also only showed the openended and the button after 7 seconds.

You need to set /beginresponsetime = 0 in the <openended> in addition.

You're right, Dave, that makes sense. I thought maybe I was doing something wrong. As always thank you for your help. Now I could get everything to work perfectly!
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
Nadine - Wednesday, June 21, 2017
Dave - Wednesday, May 17, 2017
Nadine - Wednesday, May 17, 2017
Hello everyone,
I'm currently programming two different tasks for an upcoming experiment one of which requires the ability to skip a task/trial. Because we want to avoid people quickly skipping a single anagram without even really trying to solve it, we would like to put a time limit on it. E.g. 10 seconds during which the subject should at least try to solve the anagram. During this time they can get to the next anagram trial if they put in either a correct or incorrect response and press the "Finish"-button e.g. If they haven't entered a solution within those 10 seconds, they can either keep trying to solve the anagram or be able to skip it by pressing a button e.g. It could also be done by pressing a certain key but they shouldn't be able to skip by pressing said button or key BEFORE the 10 sec minimum.

I've tried to come up with an idea how to put this into reality within Inquisit 4 and haven't found a solution yet. Before I spend too much time on this, I would like to know if this is even possible? And if so, how? I don't need step-by-step instructions just what elements to use would be fine. I believe I can probably figure out the rest on my own. 

If this is not possible under Inquisit 4 but would be under Inquisit 5 that would also be helpful to know because we might consider an upgrade then.

Thank you so much for taking the time to read and possibly reply.

Kind regards,
Nadine

This should be possible using some /isvalidresponse logic:

<openended solve>
/ stimulusframes = [1=anagram]
/ position = (50%, 60%)
/ isvalidresponse = [(openended.solve.response!="" && openended.solve.latency < 10000) || openended.solve.latency >= 10000]
</openended>

<text anagram>
/ items = ("Anagram A", "Anagram B")
</text>

<block myblock>
/ trials = [1-2=solve]
</block>




I'm sorry I didn't respond sooner but I didn't have time to get to it to try it out. I have now done so and it works (but only if I include / validresponse = (anyresponse) otherwise it doesn't let me skip the task even after 10 seconds. So thank you! :)

But now I have a different problem and that is, I would like to count the amount of tasks that were skipped. I am using a lot of /ontrialend =... lines to create different variables. My problem is how would the program recognize a noresponse. I have tried openended.anagrams.response == "" for "" to mean an empty response. This seems to work, the only problem is I also want to count the (actual) errors. I tried including openended.anagrams.response != "" into the regular logic but it still counts no responses as an error as well as regular errors. What is my mistake?

Also, I was wondering if it was possible to alert subjects after 7 seconds (we changed the time from 10 to 7 seconds) that now it's possible to skip the task so they won't have to click repeatedly if they try to skip before the 7 seconds have elapsed. I tried doing this by including a text in stimulustimes at the 7000 mark. But then it also only showed the openended and the button after 7 seconds. I saw this work on a picture story exercise Inquisit script so I'm confused why it won't work in my script.

This is the entire script of my openended for reference:

<openended anagrams>
/ stimulustimes = [1=anagrams, antworten; 7000=skip]
/ correctresponse = (antworten)
/ isvalidresponse = [(openended.anagrams.response!="" && openended.anagrams.latency < 7000) || openended.anagrams.latency >= 7000]
/ validresponse = (anyresponse)
/ position = (50%, 50%)
/ size = (5%, 5%)
/ position = (50%, 55%)
/ buttonlabel = "Weiter"
/ charlimit = 5
/ fontstyle = ("Arial", 24, true)
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000) values.anagrams_pre_bearbeitet_q1 = values.anagrams_pre_bearbeitet_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000) values.anagrams_pre_bearbeitet_q2 = values.anagrams_pre_bearbeitet_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000) values.anagrams_pre_bearbeitet_q3 = values.anagrams_pre_bearbeitet_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_q4 = values.anagrams_pre_bearbeitet_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q1 = values.anagrams_pre_fehler_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q2 = values.anagrams_pre_fehler_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q3 = values.anagrams_pre_fehler_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q4 = values.anagrams_pre_fehler_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && openended.anagrams.response=="") values.anagrams_pre_ausl_q1 = values.anagrams_pre_ausl_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && openended.anagrams.correct) values.anagrams_pre_ausl_q2 = values.anagrams_pre_ausl_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && openended.anagrams.correct) values.anagrams_pre_ausl_q3 = values.anagrams_pre_ausl_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_q4 = values.anagrams_pre_ausl_q4 + 1]

/ ontrialend = [if (block.anagrams.elapsedtime <= 80000) values.anagrams_pre_bearbeitet_t1 = values.anagrams_pre_bearbeitet_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000) values.anagrams_pre_bearbeitet_t2 = values.anagrams_pre_bearbeitet_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_t3 = values.anagrams_pre_bearbeitet_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t1 = values.anagrams_pre_fehler_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t2 = values.anagrams_pre_fehler_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t3 = values.anagrams_pre_fehler_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && openended.anagrams.correct) values.anagrams_pre_ausl_t1 = values.anagrams_pre_ausl_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && openended.anagrams.correct) values.anagrams_pre_ausl_t2 = values.anagrams_pre_ausl_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_t3 = values.anagrams_pre_ausl_t3 + 1]

/ skip = [block.anagrams.elapsedtime > 240000]
</openended>

<text skip>
/ items = ("Ab jetzt haben Sie auch die Möglichkeit, die Aufgabe zu Überspringen.")
/ position = (50%, 92%)
/ valign = bottom
</text>


> I have tried openended.anagrams.response == "" for "" to mean an empty response.
> This seems to work, the only problem is I also want to count the (actual) errors.

Why don't you simply subtract the number of non-responses (which you are able to count) from the total count of errors (which includes the non-responses). The difference of the two will give you what you call the "actual" errors.

> I tried doing this by including a text in stimulustimes at the 7000 mark. But then it also only showed the openended and the button after 7 seconds.

You need to set /beginresponsetime = 0 in the <openended> in addition.

Nadine
Nadine
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 15, Visits: 128
Dave - Wednesday, May 17, 2017
Nadine - Wednesday, May 17, 2017
Hello everyone,
I'm currently programming two different tasks for an upcoming experiment one of which requires the ability to skip a task/trial. Because we want to avoid people quickly skipping a single anagram without even really trying to solve it, we would like to put a time limit on it. E.g. 10 seconds during which the subject should at least try to solve the anagram. During this time they can get to the next anagram trial if they put in either a correct or incorrect response and press the "Finish"-button e.g. If they haven't entered a solution within those 10 seconds, they can either keep trying to solve the anagram or be able to skip it by pressing a button e.g. It could also be done by pressing a certain key but they shouldn't be able to skip by pressing said button or key BEFORE the 10 sec minimum.

I've tried to come up with an idea how to put this into reality within Inquisit 4 and haven't found a solution yet. Before I spend too much time on this, I would like to know if this is even possible? And if so, how? I don't need step-by-step instructions just what elements to use would be fine. I believe I can probably figure out the rest on my own. 

If this is not possible under Inquisit 4 but would be under Inquisit 5 that would also be helpful to know because we might consider an upgrade then.

Thank you so much for taking the time to read and possibly reply.

Kind regards,
Nadine

This should be possible using some /isvalidresponse logic:

<openended solve>
/ stimulusframes = [1=anagram]
/ position = (50%, 60%)
/ isvalidresponse = [(openended.solve.response!="" && openended.solve.latency < 10000) || openended.solve.latency >= 10000]
</openended>

<text anagram>
/ items = ("Anagram A", "Anagram B")
</text>

<block myblock>
/ trials = [1-2=solve]
</block>




I'm sorry I didn't respond sooner but I didn't have time to get to it to try it out. I have now done so and it works (but only if I include / validresponse = (anyresponse) otherwise it doesn't let me skip the task even after 10 seconds. So thank you! :)

But now I have a different problem and that is, I would like to count the amount of tasks that were skipped. I am using a lot of /ontrialend =... lines to create different variables. My problem is how would the program recognize a noresponse. I have tried openended.anagrams.response == "" for "" to mean an empty response. This seems to work, the only problem is I also want to count the (actual) errors. I tried including openended.anagrams.response != "" into the regular logic but it still counts no responses as an error as well as regular errors. What is my mistake?

Also, I was wondering if it was possible to alert subjects after 7 seconds (we changed the time from 10 to 7 seconds) that now it's possible to skip the task so they won't have to click repeatedly if they try to skip before the 7 seconds have elapsed. I tried doing this by including a text in stimulustimes at the 7000 mark. But then it also only showed the openended and the button after 7 seconds. I saw this work on a picture story exercise Inquisit script so I'm confused why it won't work in my script.

This is the entire script of my openended for reference:

<openended anagrams>
/ stimulustimes = [1=anagrams, antworten; 7000=skip]
/ correctresponse = (antworten)
/ isvalidresponse = [(openended.anagrams.response!="" && openended.anagrams.latency < 7000) || openended.anagrams.latency >= 7000]
/ validresponse = (anyresponse)
/ position = (50%, 50%)
/ size = (5%, 5%)
/ position = (50%, 55%)
/ buttonlabel = "Weiter"
/ charlimit = 5
/ fontstyle = ("Arial", 24, true)
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000) values.anagrams_pre_bearbeitet_q1 = values.anagrams_pre_bearbeitet_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000) values.anagrams_pre_bearbeitet_q2 = values.anagrams_pre_bearbeitet_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000) values.anagrams_pre_bearbeitet_q3 = values.anagrams_pre_bearbeitet_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_q4 = values.anagrams_pre_bearbeitet_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q1 = values.anagrams_pre_fehler_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q2 = values.anagrams_pre_fehler_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q3 = values.anagrams_pre_fehler_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct && !openended.anagrams.response != "") values.anagrams_pre_fehler_q4 = values.anagrams_pre_fehler_q4 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 60000 && openended.anagrams.response=="") values.anagrams_pre_ausl_q1 = values.anagrams_pre_ausl_q1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 60000 && block.anagrams.elapsedtime <= 120000 && openended.anagrams.correct) values.anagrams_pre_ausl_q2 = values.anagrams_pre_ausl_q2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 120000 && block.anagrams.elapsedtime <= 180000 && openended.anagrams.correct) values.anagrams_pre_ausl_q3 = values.anagrams_pre_ausl_q3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 180000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_q4 = values.anagrams_pre_ausl_q4 + 1]

/ ontrialend = [if (block.anagrams.elapsedtime <= 80000) values.anagrams_pre_bearbeitet_t1 = values.anagrams_pre_bearbeitet_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000) values.anagrams_pre_bearbeitet_t2 = values.anagrams_pre_bearbeitet_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000) values.anagrams_pre_bearbeitet_t3 = values.anagrams_pre_bearbeitet_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t1 = values.anagrams_pre_fehler_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t2 = values.anagrams_pre_fehler_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && !openended.anagrams.correct) values.anagrams_pre_fehler_t3 = values.anagrams_pre_fehler_t3 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime <= 80000 && openended.anagrams.correct) values.anagrams_pre_ausl_t1 = values.anagrams_pre_ausl_t1 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 80000 && block.anagrams.elapsedtime <= 160000 && openended.anagrams.correct) values.anagrams_pre_ausl_t2 = values.anagrams_pre_ausl_t2 + 1]
/ ontrialend = [if (block.anagrams.elapsedtime > 160000 && block.anagrams.elapsedtime <= 240000 && openended.anagrams.correct) values.anagrams_pre_ausl_t3 = values.anagrams_pre_ausl_t3 + 1]

/ skip = [block.anagrams.elapsedtime > 240000]
</openended>

<text skip>
/ items = ("Ab jetzt haben Sie auch die Möglichkeit, die Aufgabe zu Überspringen.")
/ position = (50%, 92%)
/ valign = bottom
</text>


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
Nadine - Wednesday, May 17, 2017
Hello everyone,
I'm currently programming two different tasks for an upcoming experiment one of which requires the ability to skip a task/trial. Because we want to avoid people quickly skipping a single anagram without even really trying to solve it, we would like to put a time limit on it. E.g. 10 seconds during which the subject should at least try to solve the anagram. During this time they can get to the next anagram trial if they put in either a correct or incorrect response and press the "Finish"-button e.g. If they haven't entered a solution within those 10 seconds, they can either keep trying to solve the anagram or be able to skip it by pressing a button e.g. It could also be done by pressing a certain key but they shouldn't be able to skip by pressing said button or key BEFORE the 10 sec minimum.

I've tried to come up with an idea how to put this into reality within Inquisit 4 and haven't found a solution yet. Before I spend too much time on this, I would like to know if this is even possible? And if so, how? I don't need step-by-step instructions just what elements to use would be fine. I believe I can probably figure out the rest on my own. 

If this is not possible under Inquisit 4 but would be under Inquisit 5 that would also be helpful to know because we might consider an upgrade then.

Thank you so much for taking the time to read and possibly reply.

Kind regards,
Nadine

This should be possible using some /isvalidresponse logic:

<openended solve>
/ stimulusframes = [1=anagram]
/ position = (50%, 60%)
/ isvalidresponse = [(openended.solve.response!="" && openended.solve.latency < 10000) || openended.solve.latency >= 10000]
</openended>

<text anagram>
/ items = ("Anagram A", "Anagram B")
</text>

<block myblock>
/ trials = [1-2=solve]
</block>




Nadine
Nadine
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 15, Visits: 128
Hello everyone,
I'm currently programming two different tasks for an upcoming experiment one of which requires the ability to skip a task/trial. Because we want to avoid people quickly skipping a single anagram without even really trying to solve it, we would like to put a time limit on it. E.g. 10 seconds during which the subject should at least try to solve the anagram. During this time they can get to the next anagram trial if they put in either a correct or incorrect response and press the "Finish"-button e.g. If they haven't entered a solution within those 10 seconds, they can either keep trying to solve the anagram or be able to skip it by pressing a button e.g. It could also be done by pressing a certain key but they shouldn't be able to skip by pressing said button or key BEFORE the 10 sec minimum.

I've tried to come up with an idea how to put this into reality within Inquisit 4 and haven't found a solution yet. Before I spend too much time on this, I would like to know if this is even possible? And if so, how? I don't need step-by-step instructions just what elements to use would be fine. I believe I can probably figure out the rest on my own. 

If this is not possible under Inquisit 4 but would be under Inquisit 5 that would also be helpful to know because we might consider an upgrade then.

Thank you so much for taking the time to read and possibly reply.

Kind regards,
Nadine
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search