Status of online options

The table below shows you the current state of play of PsychoJS. Per feature we list whether it’s:

  1. Built-in Supported via the PsychoPy Builder

  2. Prototype Supported via tutorials or customized experiments that can be cloned and adapted. Kudos to our users for pushing the envelope!

  3. Not supported Supported by PsychoPy, but not yet supported by PsychoJS

Feature

Status

Notes

Stimuli

Dots (RDK)

Prototype

The dots component isn’t yet in PsychoJS. You could use pre-created movies instead- or try a workaround with code components here thanks to Francesco Cabiddu

Images

Built-in

Ensure to use the image extension when referencing images in your experiment e.g. “.png” “.jpg” - this will help avoid “Unknown Resource” errors

Movies

Built-in

Do check mediaFormats

Polygons

Built-in

If using circles online use a “regular” polygon with 100 vertices - rather than using the dropdown “circle” option

Text

Built-in

We recommend using “Text” rather than “TextBox” for static text online - since TextBox is still in beta

Textbox

Built-in

For versions preceding 2022.1 textbox needed a code component with textbox.refresh() in the “Begin Routine” to be used on several trials

Not supported

Apertures, Envelope Gratings, Gratings, Noise

Responses

Form

Built-in

Gyroscope

Prototype

Measures the orientation of tablets and smartphones. Try it out

Eye-tracking

Prototype

Try it out

Keyboard

Built-in

Mouse

Built-in

Mouse components translate to touch responses on touch screens

Slider

Built-in

Use slider and not “rating” for online studies

TextBox

Built-in

see above

Brush

Built-in

Microphone

Built-in

available in 2021.2 onward

Not supported

Joystick, Button boxes (Cedrus & IO Labs), Button component

Data

CSV files

Built-in

These can easily be imported into analysis software, such as Matlab, R, JAMOVI, or JASP

Log files

Built-in

Low-level logs. These offer detailed information, but are hard to analyze

MongoDB

Built-in

Similar to CSV, but stored in a database instead of files

Not supported

XLSX

Flow and Logic

Code

Built-in

Insert snippets of programming code, which can be automatically translated from Python to JavaScript

Loops

Built-in

Loops allow randomization and importing condition files.

Staircases

Prototype

Adapt aspects of a trial based on earlier responses of a participant. Try out a “Just Noticeable Difference” staircase via staircase-demo

Multistair

Prototype

Interleave several basic staircases. This is currently possible through interleaving basic stair prototype (note that in this prototype the staircase list is randomly shuffled each time). You can try a Pavlovia demo

QUEST staircases

Prototype

This is currently supported via jsQUEST you can try a demo and access the gitlab project to build on for your own research

External Tools

AMT

Built-in

Amazon Mechanical Turk. See instructions in this forum post

Prolific

Built-in

See instructions at Recruiting with Prolific

Qualtrics

Built-in

There are many guides available for integrating Qualtrics on our forum

Sona

Built-in

See instructions at the Sona Systems website

Thanks go out to Anastasia Carter, Arnon Weinberg, Francesco Cabiddu, Lindsay Santacroce, and Wakefield Carter; they made tutorials and/or demo experiments available that we referenced in the list above.

Anything else we should add to the list above? Built a cool prototype? Please tell us via the PsychoPy Forum.


Back to top