- Create an experiment from the available experiment types (or clone an existing experiment).
- Configure the experiment as needed, modifying round durations and other experiment-specific configuration parameters (this won't be implemented until later, but for the time being a select few experimenters can be given access to Django's admin interface)
- Add / invite participants to the experiment via mass emails. For controlled experiments in the lab, this can be done transparently via the participant tracker (to be implemented later as well)
- Start the experiment when ready, sending all connected participants to an experiment-specific instructions page.
- Monitor the experiment and provide explicit input when needed. This will be described in more detail below.
Experimenter driven with timed rounds
We are first implementing support for controlled experiments. These can be experimenter driven at times, with active rounds that have a specific timed duration. Each round has an associated
RoundConfiguration that specifies:
- whether or not the round should go indefinitely until explicitly signalled by the experimenter (e.g., a checkpoint round).
- what type of round it is (current types include quiz rounds, chat rounds, instruction rounds, and normal play rounds.
- a integer duration, specified in seconds. If a round has a duration of 0, the round will continue indefinitely until signaled by the experimenter (even if the checkpoint flag is set to false).
- an arbitrary number of experiment-specific
RoundParameter key-value pairs.
- various other book-keeping metadata (creation date, created by, sequence number
Experimenter monitored with long-lived, spaced out rounds
This is to support long-lived experiments that go on over weeks. Each round might be one day or one hour, where participants must contribute to some collective action issue. Will fill in implementation details here later.
- When participants first login to an experiment that hasn't started, they should be ferried to a general instructions welcome screen that acts as a waiting room of sorts.
- After the experiment is started by the experimenter, they can progress to the next experiment-specific instructions screen (NOTE: needs server push or constant client polling)
- After this, the participant will engage in whatever sequence of round configurations have been specified for the given experiment.
More to come later.