Before uploading the lab.js script, please follow these recommendations to prevent the data loss:

  1. Make sure that your lab.js experiment ends. This means that you either have a predefined duration or a response on the last screen that concludes the experiment. When you preview your experiment in the lab.js builder, you should see the "Download" button sliding from the top at the time the experiment ends. In Open Lab, participants don't see a button, but at that moment they are redirected to the Open Lab landing page. You can edit the information you want to present on this page in the study settings. You can also automatically redirect participants to a different URL address without them seeing the landing page.
  2. Ending the lab.js experiment is also important for saving the data. During the experiment, lab.js saves the data by sending it to the server whenever there is a pause in user activity (about 3 seconds). This data appears in the dataset as incremental data. Additionally, at the end of the experiment, the complete data for the entire experiment is sent to the server. This data is referred to as full data in the dataset. If you don't end the lab.js script, you'll have only incremental data and risk losing the last part of the data at the end of the experiment.
  3. Consider reducing the size of your dataset by using the underscore in the name of non-important variables. By default, lab.js stores all variables and all parameters. However, you may not need some parameters in the dataset. For example, if you have long instructions, you may not want to store the instructions on every row of the dataset. In this case, start the name of the parameter with an underscore, for example, _parameterName. The variables that start with an underscore are not stored in the final dataset.

To export a task in Open Lab, please select the option Upload to Open Lab... in the builder interface. After receiving a confirmation you will be redirected to the Open Lab page. You will see a form for adding a new task that will be filled with information from lab.js. When you first join Open Lab, the form contains fields to register a new account by entering an email address and a password. The procedure is simple and fast, as shown here:

A dashboard with all the publicly viewable tasks gives you quick access to the range of tasks currently running in Open Lab. You can try a task by running it or, if you want to see the code behind it, you can download the json file, go to lab.js builder and open the file there.

There is a separate dashboard for the tasks that you have added. This is initially empty and will gradually be filled up by your tasks. After you have added your first task, you can run it, edit it, download its json file, or delete it using the shortcut buttons on the task card.

Adding a new task is straightforward. Enter the task’s name and description, select the json file, and add a cover photo, if you wish. Tags are not necessary but can help other researchers to find your task. Finally, choose how the task should be displayed. Public tasks are available for other researchers to see; they can run them and download the json file. If you do not yet want to share your task, mark it as private so that only you and your participants can see it. After saving it, your task will appear on the "My tasks" page.

By default, all images contained in the lab.js file are stored on the same server as the experiment script and data, a server located in Frankfurt, Germany. However, if the experiment contains a lot of images and the participants are spread all over the world, the download time may increase. To improve the download speed, we use Cloudinary Content Delivery Network (CDN), which is geographically distributed. The CDN takes care of processing and storing the images and optimizes their delivery to any location in the world. Since the use of Cloudinary CDN entails costs for us, this option is only available for users with Professional or Lab subscription.