Well, the Wellcome Trust grant is now officially at an end, so I thought I’d write a quick blog-style post to summarise some of our developments over the last 2 years. None of the following could have been achieved without the Wellcome Trust funding.
I believe it’s been a very productive period for PsychoPy and we look forward to the new developments that will be coming.
Many thanks Wellcome Trust, and best wishes to all our supporters,
Jon
PsychoJS for online studies
The primary grant objective was to make it possible to run studies online (and on iOS/Android devices). We had a proof-of-principle javascript port of PsychoPy called PsychoJS, but this needed rewriting from scratch for modern JavaScript (ES6) as well as extending to support more of the PsychoPy features.
PsychoJS now supports most of the core functionality of PsychoPy and works on all modern browsers (support for older browsers such as Internet Explorer is coming in the next release, PsychoJS 2020.1).
It also connects happily to recruitment tools like Prolific Academic, MTurk and Sona and can daisy-chain with tools like Quatrics.
Pavlovia for running online and sharing studies
We needed a place to upload experiments to run online so we created Pavlovia.org (this had to be done from scratch). PsychoPy will projects with Pavlovia from within the application or you can use the web interface or git to up/download files instead. The studies can then be launched in a browser from anywhere and the data can be synced back to the desktop.
Pavlovia uses git/GitLab as its engine so you also get a full version control system and project management (users, teams, private/public sharing, communication, issue-tracking…).
We have hope that Pavlovia.org will really become the place that people share their experiment code from all software platforms.
Substantially improved timing
PsychoPy’s visual timing was always good but audio libraries in Python never achieved very low-latency audio presentation. We contracted Mario Kleiner to port his Psychphysics Toolbox audio engine (PsychPortAudio) to Python and we now use that for sound, with sub-millisecond audio precision on standard hardware (you don’t need a “fancy” audio card) on all desktop platforms.
We also got Mario to port his keyboard code (PsychHID) to Python and now benefit from the timestamping-at-source that it provides, for better keyboard timing too.
PsychoPy is now best-in-class in terms of experiment/reponse timing (data for which we will be publishing soon).
Fewer bugs and better support
Having time/staff to work on PsychoPy full-time has made a huge difference to the professionalism of PsychoPy. Open source software is generally written by volunteers inbetween their other (paid) commitments) and PsychoPy was no exception to this. That meant we couldn’t always dedicate time to the project, including fixing bugs and testing. The Wellcome funding allowed us to spend much more time on both the testing and the bug-fixing,
We also get to spend more time answering questions on the PsychoPy forum which, in 2019 alone, received over 8.5k posts in 1.9k topics! David Bridges alone wrote 1.3k replies in 2019! Great work @dvbridges!
Sustainable professional development
Given the better support, fewer bugs and rate of feature development we’ve enjoyed in the last 2 years, we can’t bear to let that go. We have secured funding from the Chan Zuckerberg Initiative for a year of further development, which is great, but we need to make sure that we can keep paying for staff long-term.
To this end, Pavlovia now charges tiny sums of money (£0.20 per participant or £1500 for an unlimited use institution license), a revenue stream managed by our new company Open Science Tools Ltd..
We believe the funds generated will allow continued professional development while keeping PsychoPy itself free and open-source. They key is to have large numbers of users so that the cost to each is kept absolutely minimal. The forecast, so far, is that in its first year it will generate enough to pay for Jon Peirce to work on PsychoPy full-time (buying out his teaching) but not for further staff as yet. Hopefully, as users grow around Pavlovia.org, we will be able to devlop more tools and Open Science Tools is committed to that as its mission and will be spending all available revenue on that goal.
Hopefully we can make this work together! The future looks bright!