Development & Hosting of Online Experiments in the TRR 265
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.
| 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 |
| 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 |
| 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 |