mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-10 19:20:55 +00:00
clarify how plugins do/do not differ from existing solutions
This commit is contained in:
parent
5cefd9e16a
commit
0f0f158999
4
paper.md
4
paper.md
@ -45,9 +45,9 @@ Highlights of the changes include:
|
|||||||
|
|
||||||
# Statement of need
|
# Statement of need
|
||||||
|
|
||||||
jsPsych is one of many software options for building online experiments [e.g., @almaatouq2021empirica; @henninger2021lab; @anwyl2020gorilla; @peirce2022building; @stoet2017psytoolkit; @scott2017lookit; @harrison2020psychtestr; @balietti2017nodegame; @mathot2012opensesame; @zehr2018penncontroller]. jsPsych and these other options vary in ways such as available features, closed vs. open source, primary programming language, and syntax/style choices, but the main distinction is the particular way that jsPsych abstracts the design of an experiment. jsPsych experiments are constructed using plugins — self-contained modules that define an event and its parameters. This mode of abstraction allows developers to create both generic plugins that can be used in many different experiments (e.g., show some HTML on the screen and record a keyboard response) and plugins that implement specific experimental paradigms (e.g., display a circular visual search array with a specific number of distractors). Once a plugin is created, it is relatively easy for researchers with no previous web development experience to incorporate the plugin into their own experiments.
|
jsPsych is one of many software options for building online experiments [e.g., @almaatouq2021empirica; @henninger2021lab; @anwyl2020gorilla; @peirce2022building; @stoet2017psytoolkit; @scott2017lookit; @harrison2020psychtestr; @balietti2017nodegame; @mathot2012opensesame; @zehr2018penncontroller]. jsPsych and these other options vary in ways such as available features, closed vs. open source, primary programming language, and syntax/style choices, but the main distinction is the particular way that jsPsych abstracts the design of an experiment. jsPsych experiments are constructed using plugins — self-contained modules that define an event and its parameters. This mode of abstraction allows developers to create both generic plugins that can be used in many different experiments (e.g., show some HTML on the screen and record a keyboard response) and plugins that implement specific experimental paradigms (e.g., display a circular visual search array with a specific number of distractors). Once a plugin is created, it is relatively easy for researchers with no previous web development experience to incorporate the plugin into their own experiments. While some experiment building tools contain abstractions analogous to plugins, it is typically hard for novice web developers to develop and distribute their own plugins.
|
||||||
|
|
||||||
jsPsych’s plugin architecture lends itself to community-driven, decentralized development. Researchers can develop plugins that abstract an experiment at a level that makes sense for a particular paradigm and then these plugins can be shared with other researchers who want to construct similar experiments. Over the past several years, there have been a handful of researchers who have published articles describing new jsPsych plugins [@kuroki2022jsquestplus; @kuroki2021new; @rajananda2018random; @donhauser2022audio; @gibeau2021corsi; @kinley2022jspsych; @strittmatter2022random]. As more users of jsPsych feel comfortable with developing their own plugins and publishing them in easily-accessible repositories, the development work that any individual researcher will need to do to create an experiment will decrease. We hope the changes introduced in version 7 of jsPsych to support this process will enable a robust ecosystem of open-source behavioral experiments.
|
We have developed a system for jsPsych that makes it easy for researchers to modify existing plugins to suit their needs, create entirely new plugins for their custom tasks, and share these with other psychologists via open-source code (e.g., GitHub) and package (e.g., npm) repositories. This facilitates community-driven, decentralized development. Researchers can develop plugins that abstract an experiment at a level that makes sense for a particular paradigm and then these plugins can be shared with other researchers who want to construct similar experiments. Over the past several years, there have been a handful of researchers who have published articles describing new jsPsych plugins [@kuroki2022jsquestplus; @kuroki2021new; @rajananda2018random; @donhauser2022audio; @gibeau2021corsi; @kinley2022jspsych; @strittmatter2022random]. Our [community contributions repository](https://github.com/jspsych/jspsych-contrib), launched in 2021, currently contains 22 plugins and extensions enabling a variety of experiments that would be difficult or impossible to make with the official set of plugins included in the main jsPsych repository. As more users of jsPsych feel comfortable with developing their own plugins and publishing them in easily-accessible repositories, the development work that any individual researcher will need to do to create an experiment will decrease. We hope the changes introduced in version 7 of jsPsych to support this process will enable a robust ecosystem of open-source behavioral experiments.
|
||||||
|
|
||||||
# Acknowledgements
|
# Acknowledgements
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user