Table of Contents

Online Experiment Management

Development & Hosting of Online Experiments in the TRR 265


Overview

The development of online experiments is sometimes linked to specific hosting systems and vice versa. For instance, the Python-Library PsychoPy can only be used together with the hosting platform Pavlovia, and the hosting platform Openlab accepts experiments built with the development tool LabJS only. The table below contains information about such dependencies.


Hosting Platforms

Pros Cons
Expfactory
https://www.expfactory.org
• Supports tests based on jsPsych and LabJS
• Hosted within TUD
• Free & Open-source
• Comes with a large library of tasks one can use
• Needs INF project to set up a new task
Neurotest/ Openlab/ RDoC
https://lab.js.org/
• Free of Charge
• Hosting within TRR possible (hosted by TUD)
• Comes with an easy to use experiment builder (LabJS)
• Accepts experiments built with LabJS only, but adding custom JavaScript code is possible (should be tested)
Pavlovia
https://pavlovia.org/
• Comes with an easy to use experiment builder PsychoPy
• Hosts any JavaScript file (according to them, untested by us)
- JavaScript on Pavlovia discourse
• Not for free (£0.24 per participant + £1,800 per year)
• Hosting outside TRR
Jatos
https://www.jatos.org
• Free and open source
• Can host any JavaScript file
• Hosting within TRR possible (currently hosted in Berlin by BCCN)
- https://www.jatos.org/JATOS-on-a-server.html
• Easy to set up tasks: Just add a few lines of code to JavaScript file
- How to: Tutorial
- Example: Example on Git
• It might support PsychoPy (possibly an alternative to Pavlovia)
• Likely JavaScript programming skills required
• Supports LabJS, confer https://www.jatos.org/labjs-and-JATOS.html
• Adaption to to Pavlovia not out of the box
Labvanced
https://www.labvanced.com/
• Free and Open-source • No experience gathered yet


Development Tools

General Information Hosting
PsychoPy
PsychoPy
• Python library & Standalone version (for Windows) with a drag-and-drop user interface
• Fast to use and implement
• Possibly restricted in task structure, problem for complex tasks
• Restricted in Python packages that can be used, general python code can cause problems
• JavaScript translation appears implemented, did not really work yet though
• Hosting is coupled to Pavlovia (but which works effortlessly)
• Open question whether it can be used without Pavlovia for online hosting
JavaScript (plain)
https://www.javascript.com/
• Requires programming knowledge
• Slower to implement
• Can deal with any task structure, important especially for more complex sequential decision tasks
• Native to general server architectures
• Can therefore be hosted on Expfactory and Jatos
PsychoJS
https://github.com/psychopy/psychojs
• JavaScript partner to PsychoPy
• Fast and easy to implement using Python builder
• Possibly restricted for task structures
• Is very much under development yet though
• Theoretically everywhere, however, see PsychoPy hosting comments
LabJS
https://lab.js.org/
• Is a “what you see is what you get” online experiment builder running in a browser
• Very fast and easy drag and drop builder
• Setting up complex tasks can be difficult or impossible
• Allows for adding custom JavaScript code, which may solve the restriction on tasks
• Close contact to developers, quick support
• Hosting is coupled to Neurotest/ Openlab
• Can be exported for Expfactory and possibly Pavlovia
- https://pavlovia.org/docs/experiments/create-labjs
Godot
https://godotengine.org/
• Powerful 2D & 3D Game engine
• Standalone tool for any operating system
• Uses a “what you see is what you get” user interface combined with a scripting language called GDScript (similar to Python)
• Excellent exports to HTML5/ JavaScript
• Export to Phones possible
• Can be hosted on any platform that accepts JavaScript files


Experiments in the TRR 265

Online Experiment Name Hosting Platfom Development Tool Project ID Comments Contact
Value Based Decision Making (VBDM) Expfactory JavaScript S01/B03/B09 hosted in Dresden willi.hieke@tu-dresden.de
Action-Sequence-Task (AST) Expfactory LabJS B09 hosted in Dresden sascha.froelich@tu-dresden.de
Space-Adeventure-Task (SAT) Expfactory JavaScript B09 hosted in Dresden sophia-helen.sass@tu-dresden.de
Two-Galaxies-Task (TGT) Expfactory JavaScript B09 hosted in Dresden willi.hieke@tu-dresden.de
Pavlovian to Instrumental Transter (PIT) - - - PsychoPy B03 used offline up to now hao.chen@tu-dresden.de
Counting-Stroop - - - PsychoPy B03 used offline up to now
Simon Go-Nogo Task - - - - - - B03 used offline up to now
Spatial Working Memory Task (SWM) Expfactory LabJS B09 - - -
Identical Pictures Task (IDP) Expfactory LabJS B09 - - -
Raven Task Expfactory LabJS B09 - - -
Reduced Successor Representation Task JATOS JavaScript B01 work in progress
Delay Task RDoC/Openlab JavaScript C01 hosted in Mannheim
Dot-Probe Task (Nicotine) RDoC/Openlab JavaScript C01 hosted in Mannheim
Card Sorting Task RDoC/Openlab JavaScript C01 hosted in Mannheim
Continuos Performance Task RDoC/Openlab JavaScript C01 hosted in Mannheim
Modified Stroop Task (Nicotine) RDoC/Openlab JavaScript C01 hosted in Mannheim, work in progress
Cue Reactivity (Nicotine) RDoC/Openlab JavaScript C01 hosted in Mannheim, work in progress