diff --git a/docs/about/about.md b/docs/about/about.md index 61bf260b..d72bf25d 100644 --- a/docs/about/about.md +++ b/docs/about/about.md @@ -1,18 +1,11 @@ # About jsPsych -jsPsych was created by [Josh de Leeuw](http://www.twitter.com/joshdeleeuw). There have been [many other contributors](https://github.com/jodeleeuw/jsPsych/blob/master/contributors.md) to the library; thanks to all of them! +jsPsych is open source project with [numerous contributors](https://github.com/jspsych/jsPsych/graphs/contributors). The project is currently managed by the core team of Josh de Leeuw ([@jodeleeuw](https://github.com/jodeleeuw)), Becky Gilbert ([@becky-gilbert](https://github.com/becky-gilbert)), and Björn Luchterhandt ([@bjoluc](https://github.com/bjoluc)). + +jsPsych was created by [Josh de Leeuw :fontawesome-brands-twitter:](http://www.twitter.com/joshdeleeuw). ### Citation -If you use jsPsych for academic work please cite the following paper. +If you use jsPsych please cite the following paper. -de Leeuw, J. R. (2015). jsPsych: A JavaScript library for creating behavioral experiments in a web browser. _Behavior Research Methods_, _47_(1), 1-12. doi:10.3758/s13428-014-0458-y. - -### Response times - -Wondering if jsPsych can be used for research that depends on accurate response time measurement? For most purposes, the answer is yes. Response time measurements in jsPsych (and JavaScript in general) are comparable to those taken in standard lab software like Psychophysics Toolbox and E-Prime. Response times measured in JavaScript tend to be a little bit longer (10-40ms), but have similar variance. See the following references for extensive work on this topic. - -* [de Leeuw, J. R., & Motz, B. A. (2016). Psychophysics in a Web browser? Comparing response times collected with JavaScript and Psychophysics Toolbox in a visual search task. *Behavior Research Methods*, *48*(1), 1-12.](http://link.springer.com/article/10.3758%2Fs13428-015-0567-2) -* [Hilbig, B. E. (2016). Reaction time effects in lab- versus web-based research: Experimental evidence. *Behavior Research Methods*, *48*(4), 1718-1724.](http://dx.doi.org/10.3758/s13428-015-0678-9) -* [Pinet, S., Zielinski, C., Mathôt, S. et al. (in press). Measuring sequences of keystrokes with jsPsych: Reliability of response times and interkeystroke intervals. *Behavior Research Methods*.](http://link.springer.com/article/10.3758/s13428-016-0776-3) -* [Reimers, S., & Stewart, N. (2015). Presentation and response time accuracy in Adobe Flash and HTML5/JavaScript Web experiments. *Behavior Research Methods*, *47*(2), 309-327.](http://link.springer.com/article/10.3758%2Fs13428-014-0471-1) +de Leeuw, J. R. (2015). jsPsych: A JavaScript library for creating behavioral experiments in a web browser. _Behavior Research Methods_, _47_(1), 1-12. [doi:10.3758/s13428-014-0458-y](https://doi.org/10.3758/s13428-014-0458-y). diff --git a/docs/developers/contributing.md b/docs/developers/contributing.md index 537e9bfe..57ec4b5e 100644 --- a/docs/developers/contributing.md +++ b/docs/developers/contributing.md @@ -1,6 +1,6 @@ # Contributing to jsPsych -jsPsych is open source project with [numerous contributors](https://github.com/jspsych/jsPsych/graphs/contributors). The project is currently managed by the core team of Josh de Leeuw ([@jodeleeuw](https://github.com/jodeleeuw)), Becky Gilbert ([@becky-gilbert](https://github.com/becky-gilbert)), and Björn Luchterhandt ([@bjoluc](https://github.com/bjoluc)). We welcome contributions of all kinds, including changes to the core codebase, the development of new plugins and extensions, and improvements to the documentation. +We welcome contributions of all kinds, including changes to the core codebase, the development of new plugins and extensions, and improvements to the documentation. The project is managed entirely through the [GitHub repository](https://github.com/jspsych/jsPsych). There you can: diff --git a/docs/overview/timing-accuracy.md b/docs/overview/timing-accuracy.md new file mode 100644 index 00000000..4d59ea16 --- /dev/null +++ b/docs/overview/timing-accuracy.md @@ -0,0 +1,29 @@ +# Timing accuracy + +Wondering if jsPsych can be used for research that depends on accurate display times or response time measurement? For most purposes, the answer is yes. + +**Display timing** is somewhat less accurate in JavaScript than in standard experimental software that runs on a desktop. Desktop software can have closer integration with the graphics devices of the machine than JavaScript currently permits. If a one or two frame (17-33ms) difference in display timing matters for your experiment, then you'll want to be careful with JavaScript-based experiments. It is possible to achieve this level of control in JavaScript, but it often requires code that is more tailored to your experiment and some restrictions about which browsers can be used to run the experiment. + +!!! tip + If you are hoping to run an experiment with the best timing that jsPsych can offer, we currently recommend using the [jspsych-psychophysics plugin](https://jspsychophysics.hes.kyushu-u.ac.jp/) developed by [Daiichiro Kuroki](https://twitter.com/kurokida1). + + Kuroki, D. (2021). A new jsPsych plugin for psychophysics, providing accurate display duration and stimulus onset asynchrony. *Behavior Research Methods*, *53*, 301–310. [https://doi.org/10.3758/s13428-020-01445-w](https://doi.org/10.3758/s13428-020-01445-w) + +**Response time** measurements in jsPsych (and JavaScript in general) are comparable to those taken in standard lab software like Psychophysics Toolbox and E-Prime. Response times measured in JavaScript tend to be a little bit longer (10-40ms), but have similar variance. + +## References + +See the following papers for extensive work on display and response timing in browser-based experiments. + +Note that browsers are updating frequently and the JavaScript language specification is also changing. It's possible that the results from these papers do not apply to current versions of web browsers. + +Future updates to JavaScript APIs will likely improve the ability of online experiments to provide more accurate display timing and response time measurement. + +* [Bridges, D., Pitiot, A., MacAskill, M. R., & Peirce, J. W. (2020). The timing mega-study: Comparing a range of experiment generators, both lab-based and online. *PeerJ, 8*, e9414.](https://peerj.com/articles/9414/) +* [Anwyl-Irvine, A., Dalmaijer, E. S., Hodges, N., & Evershed, J. K. (2020). Realistic precision and accuracy of online experiment platforms, web browsers, and devices. *Behavior Research Methods, 53,* 1-19.](https://link.springer.com/article/10.3758/s13428-020-01501-5) +* [Pronk, T., Wiers, R. W., Molenkamp, B., & Murre, J. (2020). Mental chronometry in the pocket? Timing accuracy of web applications on touchscreen and keyboard devices. *Behavior Research Methods, 52*(3), 1371-1382.](https://link.springer.com/article/10.3758/s13428-019-01321-2) +* [Pinet, S., Zielinski, C., Mathôt, S. et al. (2017). Measuring sequences of keystrokes with jsPsych: Reliability of response times and interkeystroke intervals. *Behavior Research Methods*, *49*(3), 1177-1178.](http://link.springer.com/article/10.3758/s13428-016-0776-3) +* [de Leeuw, J. R., & Motz, B. A. (2016). Psychophysics in a Web browser? Comparing response times collected with JavaScript and Psychophysics Toolbox in a visual search task. *Behavior Research Methods*, *48*(1), 1-12.](http://link.springer.com/article/10.3758%2Fs13428-015-0567-2) +* [Hilbig, B. E. (2016). Reaction time effects in lab- versus web-based research: Experimental evidence. *Behavior Research Methods*, *48*(4), 1718-1724.](http://dx.doi.org/10.3758/s13428-015-0678-9) +* [Reimers, S., & Stewart, N. (2015). Presentation and response time accuracy in Adobe Flash and HTML5/JavaScript Web experiments. *Behavior Research Methods*, *47*(2), 309-327.](http://link.springer.com/article/10.3758%2Fs13428-014-0471-1) + diff --git a/mkdocs.yml b/mkdocs.yml index f4a352de..21c02531 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,6 +29,9 @@ markdown_extensions: - pymdownx.tabbed - pymdownx.details - pymdownx.snippets + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg repo_url: 'https://github.com/jspsych/jsPsych' repo_name: 'jspsych/jspsych' docs_dir: docs @@ -57,6 +60,7 @@ nav: - 'Integrating with Prolific': 'overview/prolific.md' - 'Integrating with Mechanical Turk': 'overview/mturk.md' - 'Browser and Device Support': 'overview/browser-device-support.md' + - 'Timing Accuracy': 'overview/timing-accuracy.md' - Reference: - 'jsPsych': 'reference/jspsych.md' - 'jsPsych.data': 'reference/jspsych-data.md'