.. _history:

History
=======

The PsyNet project began in 2020 as a collaboration between Peter Harrison and Nori Jacoby,
attempting to build a higher level of abstraction
around the `Dallinger platform <https://dallinger.readthedocs.io/en/latest/>`_.
Highlights of Dallinger included sophisticated code for deploying online experiments onto
Heroku webservers, an advanced system for representing network-based experiments as graph-based
structures, and excellent integration with Amazon Mechanical Turk. However, implementing
experiments with Dallinger proved rather time-consuming, with each experiment requiring
a significant amount of front-end web programming and boiler-plate experiment logic.

PsyNet was conceived to make experiment development more efficient.
A particularly important feature was the introduction of the *timeline*, through which
the experimenter specifies the order of events within the experiment. Using familiar constructs
from other programming languages (e.g. for loops, while loops, conditionals),
the experimenter can construct very complex procedures in an intuitive and readable fashion.
Moreover, timeline components can easily be wrapped into self-contained components
(e.g. functions, classes) which can then be distributed and reused in other contexts.
Much of the logic here is inspired by Peter Harrison's
`psychTestR <https://pmcharrison.github.io/psychTestR/>`_,
an experiment design framework for the R programming language.

Our early applications for PsyNet involved several experiments with complex audiovisual components
(e.g. videos generated by deep neural networks, audio recordings of participants singing),
and so the efficient management and processing of audiovisual media was a high priority
in PsyNet development. As a result PsyNet contains extensive systems for dealing with such data,
making it easy to run such experiments without having to worry about practicalities of
data management and processing.

The project started while Peter Harrison was based in Nori Jacoby's
`Computational Auditory Perception <https://www.aesthetics.mpg.de/en/research/research-group-computational-auditory-perception.html>`_
research group at the
`Max Planck Institute for Empirical Aesthetics <https://www.aesthetics.mpg.de/en.html>`_
in Frankfurt, Germany. Many other team members contributed directly or indirectly to the PsyNet project
at this stage, using early PsyNet versions to implement their own experiments,
and often contributing new features themselves to PsyNet's codebase. We were subsequently lucky
to have Frank Höger join as a part-time software developer on the project.
In 2021 Peter moved to the University of Cambridge as director of the
`Centre for Music and Science <https://cms.mus.cam.ac.uk/>`_,
but the PsyNet collaboration has continued apace across the two research groups,
in part with support from the Cambridge Humanities Research Grants Scheme.

PsyNet has been used since 2020 for research projects by group members, but we are progressively
opening up the project for wider use by the research community. We have already made the software
open access, but (as of 2022) the codebase is still under heavy development as we prepare
for a proper launch. Most of its features are ready, but some important details are still
undocumented or unfinished. We recommend checking in with the PsyNet developers before using
PsyNet for your own research projects.
