Watts-Lab / mturk-helper

Package for supporting recruitment and payment of participants in multiplayer experiments
MIT License
0 stars 1 forks source link

💅 Design schema for manifest file #1

Open JamesPHoughton opened 1 year ago

JamesPHoughton commented 1 year ago

As an experiment runner, I want to be able to specify a manifest file that I can provide to the mturk-helper library that will specify HITs and launch them at specified times.

There are several major elements involved. One is a specification of a HIT as viewed by workers, that can be adjusted as needed. It includes things like the HIT's title and description, and also the visual display that the worker sees.

Another part of the specification is the sequence of HITs as they play out over time, and the number of assignments present in each HIT. These can form separate parts of the manifest file.

Here's a working draft that we'll need to refine as we get some experience:

hitTemplates:
  - name: surveyLink
    title: Complete an academic survey (6 mins)
    description: We are interested in your opinions about bagels
    reward:
      - amount: 1
      - currencyCode: USD
    keywords:
      - survey
      - research
      - study
    allowedTimeInMinutes: 5
    visibleForMinutes: 90
    autoApproveInMinutes: 30
    question: surveyLinkFile.html
    visibility: hidden

  - name: empiricaRecruit
    title: Qualify for a multiplayer game at ${launchDate}
    reward:
      - amount: 1
      - currencyCode: USD
    keywords:
      - research
      - study
      - game
      - multiplayer
    question: empiricaRecruit.html

sequences:
  - name: simpleSurvey
    desc: A single HIT that gives participants a long time to complete the task
    steps:
      - template: surveyLink
        allowedTimeInMinutes: 60
        nResponses: 9

  - name: multiPlayerGame
    desc: Coordinates 3 HITs to all be complete at "launchDate"
    reward:
      - amount: 2
        currencyCode: 3
    steps:
      - template: empiricaRecruit
        launchOffsetMinutes: -40
        visibleForMinutes: 10
        allowedTimeInMinutes: 30
      - template: empiricaRecruit
        launchOffsetMinutes: -30
        visibleForMinutes: 10
        allowedTimeInMinutes: 20
      - template: empiricaRecruit
        launchOffsetMinutes: -20
        visibleForMinutes: 10
        allowedTimeInMinutes: 10

If a parameter is present in both the hitTemplate and the sequence that uses it, the value in the sequence takes priority.

markwhiting commented 1 year ago

Comments from discussion:

Duncan — do we need this now? do we need this for current studies? is this going to get in the way of doing the big thing?