JATOS & Lab.js: Workers created autonomously and 'personal single' worker-type not working
Hey there,
I created a lab.js experiment and am currently hosting it on a jatos server.
At first I wanted to go with the worker type "personal single". But no matter whom I sended a link, they got the error message that the link had been already used (it hadn't). I need every subject to have their personal link, because I do the counterbalancing via a url parameter "sub_id". I create a batch for every subject because I use the name of the batch to check if a sub_id has been sucessfully used. I want to subjects to go through the study in one single session, so I thought that "personal single" would be optimal. A friend of mine had the same problem with the "personal single" type and she then went for "personal multiple" (she video-chatted with her subjects). I read about the same problem here: https://forum.cogsci.nl/discussion/6284/obsolescence-of-links-for-participants#latest
After "personal single" didn't work out, I went for "general single". It works in the sense that it doesn't produce error messages. However, for two batches (aka two links that I sent) stuff got mixed up. Suddenly I had multiple results from multiple people in the same batch and the person I sended the link to, hadn't even open it yet! I checked that I didn't spread links from that same batch anywhere else. I then wanted to exclude this possibility by restricting the worker count per batch. I chose 2 because there's always one of the "jatos worker" type right from the start. It worked when I tested it on my own devices, but then I sent a link to a friend, and the max. worker count had already been reached without her clicking the link. A worker had already been created with the state "started" - not by me nor her! What does "started" even mean? This is a thing that I noticed before. Per batch multiple workers are created, all with the state "started", although I provided the link only to one person and they are only allowed to click it once.
Besides that, jatos works for me and I am really thankful for the servers! Providing free servers is helping thousands of students world-wide!
Comments
Hi Christina,
May I ask how you distribute your study links? Services like Google Hangout, Slack or Google Keep and maybe even Twitter, Facebook or Reddit call the link you paste to gather more information (e.g. a nice image and introduction text). Problem is, JATOS doesn't know who calls and counts this already as an 'official' request. If you use a Personal/General Single worker all subsequent requests will then lead to an error because for JATOS the study was already started.
One way to avoid this is to hand out the link in a different way, e.g. via email. Another way is to allow previews of the study. In a preview of a study the participant can use the study link as often as they want as long as they do not go past the first component. From the second component on the normal rules of as Single worker apply. Although this would make sense only if you have more than one component. But even if you currently have only one component you can always add an introduction component in front.
Best,
Kristian
oh wow! That explanation was really helpful! I spread the links via mail, whatsapp and telegram. That explains why it sometimes worked and sometimes not.
I don't know if you are familiar with lab.js. Right now I only have one component, because the lab.js experiments are exported as one single component. Do you have an idea how I could extract my instructions from the rest of the experiment for preview purposes? Because that sounds really useful. I wrote the html / javascript myself but within the item/flow logic of lab.js. I'm not really keen on having to handle the jatos.onload functionality etc. myself.
Thank you so much!
The answer depends a lot on your instructions but if you're familiar with a HTML (and it sounds like you are, at least with the basics), you could follow one of our two Instructions/Consent Form examples:
https://github.com/JATOS/JATOS_examples/raw/master/examples/consent_form.zip
Or more even better in your case, to see the preview feature:
https://github.com/JATOS/JATOS_examples/raw/master/examples/consent_form_and_introduction_with_preview_feature.zip
You'll have to combine two different files and components into a single study. If you have any questions on that, have a look at this other question from some time ago: https://forum.cogsci.nl/discussion/5468/integrating-osweb-as-a-jatos-component
Best