Giter Club home page Giter Club logo

exp-addons's Introduction

Experimenter Addons

This repo is deprecated. It has been merged into ember-lookit-frameplayer, and definitions of specific frames for use in Lookit experiments are now defined there along with the frame player.

To use with old versions of ember-lookit-frameplayer that have exp-addons as a subrepo, you will need to include exp-addons as a subrepo in the lib directory, install dependencies via yarn and bower, and use yarn link if working locally so that your updates are reflected.

cd lib
git submodule init
git submodule update
cd exp-player
yarn install --pure-lockfile
bower install
yarn link
cd ../..
yarn link exp-player

This repo contained documentation of components generated using YUIdoc (yarn run docs).

exp-addons's People

Contributors

abought avatar andrewsallans avatar binoculars avatar chrisseto avatar cwisecarver avatar datamance avatar ember-tomster avatar icereval avatar laurenbarker avatar pattisdr avatar samanehsan avatar samchrisinger avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

slpgrind

exp-addons's Issues

Story/verbal response page

  • “Story page” - show images, audio, wait for response
  • “Video page” - show video (possibly also images? combine?)
  • Auto-advance option
  • Replay option
  • When advance is allowed
  • Option of frame with parent text
  • Show/toggle webcam?
  • Allow choice of image/option, entry of text, or completion of form required to move on

Preview frame

  • Allow specification of whether to do recording throughout preview
  • Improve formatting
  • Progress bar

Cross-frame recording

Allow specification of frame where video recording should start and stop, across frames. Will need to handle video recording being started/stopped in an intermediate frame, never being explicitly stopped, etc.

Frame sequence structuring

  • Allow use of substitution in frame without randomizing
  • Ensure that a 2x2x2 factor design is easy to set up
  • Allow researchers to set up a simple reusable "frame group" that could be used multiple times in a study, with parameters overridden if needed

Fix error during setInterval fn in exp-lookit-video frame

line 787, exp-player/components/exp-lookit-video/component.js - e.$(...) is undefined
Not consistent but have observed multiple times, and see on Sentry on prod
Probably due to the interval timer not being removed correctly in all cases when moving to next frame

Leaving study early

  • Additional testing of F1 option
  • Provide alternate route to leaving early for various keyboards

Exit survey

  • Allow debriefing to use condition information
  • Allow debriefing to use session data more generally

Add informative error messages throughout

Esp. for errors researchers can cause: e.g., incorrect inputs to a frame.

Possibly provide w/i experimenter interface (i.e. as analogues to exp-player component):

  • parse JSON / generate simulated sequence of frames
  • check for resources (images/video)

Randomization: longitudinal study support

  • "Cycling through" randomizer (fixed or randomly assigned starting point, specify what counts as completed; e.g., all kids do sessions 1, 2, and 3)
  • Shuffle across sessions (e.g. all kids do sessions A, B, and C but in random order)
  • "Always assign to same condition" randomizer

Combo frame that allows use of form, instructions, image/video, webcam view elements

Not sure on implementation details yet, but some way for researchers to provide and arrange multiple elements from a reasonable list (e.g., a video plus a survey! their own webcam view plus some instructions, and optional record buttons!) would allow substantially more flexibility without having to create new frames. Potentially provide set of elements and their positions.

Dependence on previous data within session

Allow user-supplied function that maps from existing frame data onto parameters for this frame. May at same time create simple randomizer that takes a list of frames and an index so that one of the things the user-supplied function can do is determine which frame to go to (e.g., depending on eligibility as determined in survey frame, or depending on whether we've detected N correct answers in a row, etc.). Note that this will allow keeping track of state since parameter generated for this frame can then be used next time.

Looking time / preferential looking frame

  • Allow static image display w/ some easy default for central, left/right
  • Cover alternation designs
  • Cover video display
  • Implement general “segments” (e.g. calibration, attention-getter)
  • Allow more general specification of pause behavior
  • Allow displaying or toggling webcam on pause
  • Specify fullscreen behavior
  • Specify when to require recording

Consent form

  • Test current functionality and clean up as needed
  • Create assent variant
  • Allow using consent-only or consent + assent depending on age

Survey frame

  • Test current functionality and fix issues as needed
  • Create a small library of standard surveys and publish

Randomization: balanced condition assignment

Allow randomization with a goal of maintaining a given ratio of condition assignments

  • User specifies what counts as complete data record
  • User specifies whether to count unique participants only
  • Allow matching on specified child criteria (e.g., age, sex)

Base / base-unsafe fix

Figure out a more sensible and maintainable workaround for frames that lead to fullscreen vs. non-fullscreen following frames; right now frames that precede FS frames have to be of type unsafe.

Consider switch to ember-cli-addon-docs

Decide whether it makes sense to switch to ember-cli-addon-docs for frame documentation in exp-addons. The current docs technically include all necessary information but it's somewhat hard to interpret. (If so, will add additional "actually switch" task.)

Notes: See https://medium.com/build-addepar/ember-cli-addon-docs-shared-documentation-for-the-ember-ecosystem-6f29aa0cee87. We would still be using YUIdoc syntax for frame documentation, but my impression is that the categories we could keep track of might fit more naturally with the components we're writing, rather than having to e.g. use the serializeContent method to describe what info each frame sends to the server. (Or it might be just as much of a mess! But seems worth looking into.)

switch physics study over to standard frames for maintainability

Current frame types:
exp-video-config (ok)
exp-video-consent (-> exp-lookit-video-consent)
exp-physics-intro (-> exp-lookit-text)
exp-exit-survey (-> exp-lookit-exit-survey)
exp-mood-questionnaire (-> exp-lookit-mood-questionnaire)
exp-video-preview (ok)
exp-video-config-quality (ok)
exp-physics-pre-video (-> exp-lookit-instructions)
exp-physics-preview-explanation (-> exp-lookit-preview-explanation)
exp-video-physics (-> exp-lookit-video)

Feedback

Create a frame that shows previous sessions of the same stud with the same child, along with any feedback

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.