Skip to content

Commit

Permalink
72 frame additions and revisions (#147)
Browse files Browse the repository at this point in the history
* new frames progress (#138)

* changes to accompany those in https://github.com/lookit/lookit-api/tree/feature/62-pattern-preview-after-participate to allow saving data and using child info during preview

* formatting fixes including so that exp-video-config-quality 'showRecordMenu' option works with updated Pipe recorder

* make sure future frames of type exp-video-config-quality aren't affected

* gah still fixing for multiple frames

* finally actually tested fix for removing offending css

* fix for using exp-frame-select w/o any conditions

* Persist selection of cam/mic across sessions (dealing with Firefox issue similar to https://bugzilla.mozilla.org/show_bug.cgi?id=1142123), and allow selection of cam/mic on the setup page.

* style fixes

* simplify docs by removing pieces that are only used by developers but aren't really useful to them anyway

* add exp-lookit-webcam-display frame for simple display of webcam

* bump default font size up to encourage designing studies with less text

* add example videos to frame documentation and update docs

* style fixes

* fix a few examples in docs

* merge develop

* update docs

* set window title to experiment name instead of Lookit upon loading study

* condense event data stored by only saving video ID and pipe ID in one event

* remove useless fetch calls from expandAssets, document issues with this approach for later

* add exp-lookit-change-detection frame for alternation/change-detection paradigms

* update docs

* add combined preview frame (instead of separate preview-explanation and preview frames)

* provide information about data stored and sent to lookit for each frame individually, in separate tab of frame docs; remove deprecated frames from display; make properties researchers don't set private

* stimuli preview frame docs

* initial progress on image-audio and single-image frames

* simplify docs by removing pieces that are only used by developers but aren't really useful to them anyway

* add exp-lookit-webcam-display frame for simple display of webcam

* bump default font size up to encourage designing studies with less text

* fix a few examples in docs

* merge develop

* update docs

* set window title to experiment name instead of Lookit upon loading study

* condense event data stored by only saving video ID and pipe ID in one event

* remove useless fetch calls from expandAssets, document issues with this approach for later

* add exp-lookit-change-detection frame for alternation/change-detection paradigms

* update docs

* add combined preview frame (instead of separate preview-explanation and preview frames)

* provide information about data stored and sent to lookit for each frame individually, in separate tab of frame docs; remove deprecated frames from display; make properties researchers don't set private

* stimuli preview frame docs

* initial progress on image-audio and single-image frames

* add additional_segments option to exp-lookit-video-consent and update docs accordingly (#137)

* add documentation of stimuli-preview frame

* update mood-questionnaire formatting to make radio button questions easier to see and deal with bigger default font size

* add exp-lookit-single-image frame

* add consent_003 template for UBC with "Benefits, risks, and payment" section

* Bump jquery from 3.3.1 to 3.5.0

Bumps [jquery](https://github.com/jquery/jquery) from 3.3.1 to 3.5.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](jquery/jquery@3.3.1...3.5.0)

Signed-off-by: dependabot[bot] <[email protected]>

* finish jquery bump

* config frame addition - require checking permissions were saved, for firefox

* add option to prompt all adults for consent in exp-lookit-video-consent

* Add recording signal and ability (requirement) to review consent video to exp-lookit-video-consent, addresses #141. Add check of webcam permissions to exp-video-config.

* update font-awesome

* rename exp-lookit-image-audio -> exp-lookit-image-audio-base; store functions rather than only actions in base frame; finish exp-lookit-single-image-audio

* add exp-lookit-multi-image-audio frame with default left/right/center positions

* set up frame docs to show multiple versions from now on (latest at root, and previous releases under releases/<release>/, with a dropdown menu)

* Bump lodash from 4.17.11 to 4.17.13

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.11...4.17.13)

Signed-off-by: dependabot[bot] <[email protected]>

* bump ember-cli to 3.18.0 and use node 10 (lts for 8 dropped 12/2019)

* bump node-sass for update to sass-graph -> yargs to avoid vulnerability

* update ember-cli-showdown to avoid vulnerability in mem

* force use of more recent request to avoid yuidocjs using ~2.40.0 and resulting vulnerability in hoek dependency

* move from jscs to only using eslint to avoid a variety of deprecated dependencies including use of lodash 3.x

* finish eliminating use of lodash 3.x, bump handlebars direct dependency

* up-date ember-cli-template-lint which previously relied on an old version of lodash.template, and finish bumping handlebars version

* bump version of js-yaml due to vulnerability

* upgrade tar to 2.2.2 due to vulnerability

* bump fstream version due to vulnerability

* bump eslint-utils due to vulnerability

* bump mixin-deep due to vulnerability

* bump lodash.merge due to vulnerability

* bump lodash.defaultsdeep due to vulnerability

* bump version of set-value due to vulnerability. (Dependency chain was long - union-value, cache-base, base, snapdragon, (nanomatch, micromatch, extglob, expand-brackets, braces, ...) so removed locked version choices along chain & reinstalled.

* bump version of sourcemap-validator in order to avoid vulnerability in lodash.template dependency

* bump kind-of 6.0.2 -> 6.0.3 due to vulnerability (older versions ok)

* update so bsform works

* eslint fixes

* clean up unused jscs comments

* template linting passing with updated linter

* review yarn resolutions and only include those still necessary now, as specifically as possible

* add @babel/core which is required as a peer dependency for several other dependencies

* Revert "add @babel/core which is required as a peer dependency for several other dependencies"

This reverts commit 52ac7a7.

* bump version of broccoli-clean-css in order to avoid clean-css < 4.1.11 due to vulnerability

* add exp-lookit-image-choice frame that can require selecting one of N images to proceed. (will likely combine with exp-lookit-multi-image or have inherit and just set the isChoiceFrame property)

* add short delay before proceeding when clicking on one of the characters so participants can see what was clicked.

* allow limiting set of choices & specifying relative display timing on choice frame

* set up final 'training' frame. Will now need to clean up these image/audio frames to avoid unnecessary duplication etc.

* highlighting (with wiggling!) complete. Now to organize everything & make nice docs!

* combine single-image, single-image-audio, image-choice, multi-image-audio, and image-choice-training frames into single frame. Add documentation of parameters and example usage including video walkthrough.

* make test version for debugging builds without all the videos etc.

* test reverting node reqs

* test reverting ember-cli to version with support for node 8

* and ember-cli-template-lint

* and ember-data

* style fixes

* Revert "make test version for debugging builds without all the videos etc."

This reverts commit 668a7b4.

* exit fullscreen when pressing f1/ctrl-x (thanks Junyi!). Remove unnecessary extra exit fullscreen from deprecated exp-exit-survey frame still used in physics study

* fix fullscreen errors on sentry (harmless but annoying) and clean up fullscreen functionality so displayFullscreen is actually used to enter FS mode if appropriate

* cleanup: avoid fragile pattern of overriding an observer in the recording mixin to do things when recording is possible; instead actually start recording when possible from the mixin (if indicated) and just provide in consuming frame a function that's called upon that recording starting

* do a better job detecting leaving FS and making "return to FS" button visible in all cases (addresses #135 at least partially)

* fix for calibration audio not playing on first calibration segment in firefox during exp-lookit-video frame

* minor style etc. fixes

* allow customization of how long to wait at end of recording for it to get uploaded

* add exp-lookit-calibration frame and clean up exp-lookit-video slightly

* add docs for exp-lookit-calibration frame

* fix formatting of long mic/camera names on exp-video-config frame

* organize manually-maintained docs assets all under docs_assets

* style autofixes

* rename exp-lookit-video frame to exp-lookit-composite-video-trial

* make exp-lookit-images-audio positioning percentage parameters numbers rather than strings

* set aspect ratio of exp-lookit-images-audio story area to 1.75:1 rather than 2:1

* initial progress on new exp-lookit-video frame

* Revert "style autofixes"

This reverts commit d16f815.

* style fixes

* store isColor as util

* update exp-lookit-preferential-looking docs

* remove extraneous emp property of parentTextBlock on exp-lookit-images-audio

* finish up new exp-lookit-video frame

* update docs

* ignore compiled css

* move all docs-related files into docs/

* remove docs/ in preparation for adding submodule instead

* add docs/ as a submodule so we can easily update documentation from ember-lookit-frameplayer and push changes to lookit-frameplayer-docs

* avoid extraneous stopping of session recorder; don't do frame-level recording if session recording is active

* minor fixes for exp-lookit-calibration, exp-lookit-video (edge cases about starting/stopping video as frame is ending)

* remove unused meta name/description cruft

* store frameDuration on all frames as a convenience

* clean up comments

* add exp-lookit-start-recording and exp-lookit-stop-recording frames

* generate yuidocs for some deprecated frames but store separately

* remove pauseRecorder/resumeRecorder which don't actually do anything, as they'll need to be set up differently if eventually implementing

* docs update

* style fix

* quick temporary fix - copy fonts to assets/fonts where they are expected to be when running non-locally.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
Kim Scott and dependabot[bot] authored Jun 2, 2020
1 parent c131e72 commit 2aa08ee
Show file tree
Hide file tree
Showing 344 changed files with 11,801 additions and 90,930 deletions.
10 changes: 9 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
coverage
dist
docs
tmp
tests/*
package.json
bower.json
testem.js
config/environment.js
bower_components
node_modules
blueprints
vendor
helpers.js
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ module.exports = {
'PipeSDK': false
},
rules: { // 'warn', 'error', or 'off'
'no-console': 'off' // allow console.log
'no-console': 'off', // allow console.log
'indent': ['warn', 4]
}
};
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
/bower_components

# misc
/.sass-cache
app/styles/.sass-cache
app/styles/app.css
app/styles/app.css.map
/connect.lock
/coverage/*
/libpeerconnection.log
Expand All @@ -25,6 +27,7 @@ scripts/env

migration/output/*

themes/lookit/assets/screenshots/*

/ssl

# tools
.idea/*
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "docs"]
path = docs
url = https://github.com/lookit/lookit-frameplayer-docs.git
54 changes: 54 additions & 0 deletions app/components/consent-template001/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<div class="center-text">
<span class="exp-text-medium">
Consent to participate in non-biomedical research: {{experiment.name}}
</span>
</div>

<br>
<div class="video-consent-body">

<p> Study researchers led by {{PIName}} at {{institution}} are running this study, "{{experiment.name}}," on Lookit. </p>

<p class="exp-text-medium"> Purpose </p>
<p> {{purpose}} </p>

<p class="exp-text-medium"> Procedures </p>
<p> This study takes about {{experiment.duration}} to complete. {{procedures}} </p>

<p class="exp-text-medium"> Participation </p>
<p> You and your child are free to choose whether to be in this study. If you and your child choose to participate, it's okay to stop at any point during the session. Please do pause or stop the session if your child becomes very fussy or does not want to participate! If this is a study with multiple sessions, it's okay not to complete all the sessions.</p>

<p class="exp-text-medium"> Payment </p>
<p> {{payment}} </p>

<p class="exp-text-medium"> Data collection and webcam recording </p>
<p> During the session, you and your child will be recorded via your computer's webcam and microphone. Video recordings and other data you enter are sent securely to our lab. At the end of the session, you will be prompted to choose a privacy level for your webcam recordings. You will have the option to withdraw your video data at this point. </p>
<p>Data is stored securely on Lookit servers and by researchers. However, there is always a small risk that data transmitted over the internet may be intercepted or that the security of stored data may be compromised.</p>
<p>No video clips will be published or shared unless you allow this when selecting a privacy level. If we do not receive a consent recording (the video you'll make to the right) for this session and cannot verify that you agreed to participate, no other video from your session will be viewed.</p>

<p class="exp-text-medium"> Use of data by study researchers </p>
<p>The research group led by {{PIName}} at {{institution}} will have access to video and other data collected during this session. We will also have access to your account profile, demographic survey, and the child profile for the child who is participating, including changes you make in the future to any of this information. We may study your child's responses in connection with his or her previous responses to this or other studies run by our group, siblings' responses to this or other studies run by our group, or demographic survey responses.</p>
{{#if datause}}
<p>
{{datause}}
</p>
{{/if}}

<p class="exp-text-medium"> Use of data by Lookit </p>
<p> Because this study is being run on the Lookit platform, researchers working on the Lookit project at MIT will also have access to the data collected during this session, in addition to your account data, child profiles, and demographic survey responses. This data may be used by Lookit to detect and fix technical problems or identify new features that would be helpful; provide support to study researchers; assess data quality (for instance, how well an observer can tell which direction children are looking); evaluate the site's success in reaching a diverse population; and characterize family engagement (for instance, looking at what aspects of a study make parents more interested in coming back later). </p>

<p class="exp-text-medium"> Publication of results </p>
<p> The results of the research may be presented at scientific meetings or published in scientific journals. Raw data (for instance, looking times to the left and right of the screen) may be published when it cannot identify children. We never publish children's birthdates or names, and we never publish your demographic data in conjunction with your child's video. </p>

{{#if additional_segments}}
{{#each additional_segments as |segment|}}
<p class="exp-text-medium"> {{segment.title}} </p>
<p> {{exp-format segment.text}} </p>
{{/each}}
{{/if}}

<p class="exp-text-medium"> Researcher contact information </p>
<p> This study is run by {{PIName}} at {{institution}}. If you or your child have any questions or concerns about this study, or in the very unlikely event of a research-related injury, please contact {{PIContact}}. </p>
<p>If you or your child have any questions or concerns about the Lookit platform, please contact Kim Scott at [email protected] or 617 324 4859.</p>

</div>
65 changes: 65 additions & 0 deletions app/components/consent-template002/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<div class="center-text">
<span class="exp-text-medium">
Consent to participate in research: {{experiment.name}}
</span>
</div>

<br>
<div class="video-consent-body">

<p> Researchers led by {{PIName}} at {{institution}} are running this study, "{{experiment.name}}," on Lookit. </p>

<p class="exp-text-medium"> Purpose </p>
<p> {{purpose}} </p>

<p class="exp-text-medium"> Procedures </p>
<p> This study takes about {{experiment.duration}} to complete. {{procedures}} </p>

<p class="exp-text-medium"> Participation </p>
<p> You and your child are free to choose whether to be in this study. If you and your child choose to participate, it's okay to stop at any point during the session. Please pause or stop the session if your child becomes very fussy or does not want to participate! If this is a study with multiple sessions, it's okay not to complete all the sessions.</p>

<p class="exp-text-medium"> Payment </p>
<p> {{payment}} </p>

<p class="exp-text-medium"> Data collection and webcam recording </p>
<p> During the session, you and your child will be recorded via your computer's webcam and microphone. Video recordings and other data you enter are sent securely to the Lookit platform and stored indefinitely. At the end of the session, you will be prompted to choose a privacy level for your webcam recordings. You will have the option to withdraw your video data at this point. You can view your past recordings on Lookit under "Studies" -> "Your past studies" at any time.</p>
<p>Data is stored securely on Lookit servers and by researchers. However, there is always a small risk that data transmitted over the internet may be intercepted or that the security of stored data may be compromised.</p>
<p>No video clips will be published or shared unless you allow this when selecting a privacy level. If we do not receive a consent recording (the video you'll make to the right) for this session and cannot verify that you agreed to participate, no other video from your session will be viewed.</p>

<p class="exp-text-medium"> Use of data by study researchers </p>
<p>The research group led by {{PIName}} at {{institution}} will have access to video and other data collected during this session. We will also have access to your account profile, demographic survey, and the child profile for the child who is participating, including changes you make in the future to any of this information. We may study your child's responses in connection with his or her previous responses to this or other studies run by our group, siblings' responses to this or other studies run by our group, or demographic survey responses.</p>
{{#if datause}}
<p>
{{datause}}
</p>
{{/if}}

<p class="exp-text-medium"> Use of data by Lookit </p>
<p> Because this study is being run on the Lookit platform, researchers working on the Lookit project at MIT will also have access to the data collected during this session, in addition to your account data, child profiles, and demographic survey responses. This data may be used by Lookit to detect and fix technical problems or identify new features that would be helpful; provide support to study researchers; assess data quality (for instance, how well an observer can tell which direction children are looking); evaluate the site's success in reaching a diverse population; and characterize family engagement (for instance, looking at what aspects of a study make parents more interested in coming back later). </p>

<p class="exp-text-medium"> Publication of results </p>
<p> The results of the research may be presented at scientific meetings or published in scientific journals. Raw data (for instance, looking times to the left and right of the screen) may be published when it cannot identify children. We never publish children's birthdates or names, and we never publish your demographic data in conjunction with your child's video. </p>

{{#if additional_segments}}
{{#each additional_segments as |segment|}}
<p class="exp-text-medium"> {{segment.title}} </p>
<p> {{exp-format segment.text}} </p>
{{/each}}
{{/if}}

<p class="exp-text-medium"> Rights of research subjects </p>
<p> {{research_rights_statement}} </p>

{{#if gdpr}}
<p class="exp-text-medium"> General Data Protection Regulation (GDPR) information </p>
<p> As part of your participation, we will collect certain personal information about you, including: {{gdpr_personal_data}}. In addition, we will collect special category data, your personal information that is especially sensitive: {{gdpr_sensitive_data}}</p>

<p>Your personal information will be transferred to the United States. You understand that the data protection and privacy laws of the United States may not offer you the same level of protection as those in your country of origin.</p>
{{/if}}


<p class="exp-text-medium"> Researcher contact information </p>
<p> This study is run by {{PIName}} at {{institution}}. If you or your child have any questions or concerns about this study, or in the very unlikely event of a research-related injury, please contact {{PIContact}}. </p>
<p>If you or your child have any questions or concerns about the Lookit platform, please contact Kim Scott at [email protected] or 617 324 4859.</p>

</div>
65 changes: 65 additions & 0 deletions app/components/consent-template003/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<div class="center-text">
<span class="exp-text-medium">
Consent to participate in research: {{experiment.name}}
</span>
</div>

<br>
<div class="video-consent-body">

<p> Researchers led by {{PIName}} at {{institution}} are running this study, "{{experiment.name}}," on Lookit. </p>

<p class="exp-text-medium"> Purpose </p>
<p> {{purpose}} </p>

<p class="exp-text-medium"> Procedures </p>
<p> This study takes about {{experiment.duration}} to complete. {{procedures}} </p>

<p class="exp-text-medium"> Participation </p>
<p> You and your child are free to choose whether to be in this study. If you and your child choose to participate, it's okay to stop at any point during the session. Please pause or stop the session if your child becomes very fussy or does not want to participate! If this is a study with multiple sessions, it's okay not to complete all the sessions.</p>

<p class="exp-text-medium"> Benefits, risks, and payment </p>
<p> {{payment}} </p>

<p class="exp-text-medium"> Data collection and webcam recording </p>
<p> During the session, you and your child will be recorded via your computer's webcam and microphone. Video recordings and other data you enter are sent securely to the Lookit platform and stored indefinitely. At the end of the session, you will be prompted to choose a privacy level for your webcam recordings. You will have the option to withdraw your video data at this point. You can view your past recordings on Lookit under "Studies" -> "Your past studies" at any time.</p>
<p>Data is stored securely on Lookit servers and by researchers. However, there is always a small risk that data transmitted over the internet may be intercepted or that the security of stored data may be compromised.</p>
<p>No video clips will be published or shared unless you allow this when selecting a privacy level. If we do not receive a consent recording (the video you'll make to the right) for this session and cannot verify that you agreed to participate, no other video from your session will be viewed.</p>

<p class="exp-text-medium"> Use of data by study researchers </p>
<p>The research group led by {{PIName}} at {{institution}} will have access to video and other data collected during this session. We will also have access to your account profile, demographic survey, and the child profile for the child who is participating, including changes you make in the future to any of this information. We may study your child's responses in connection with his or her previous responses to this or other studies run by our group, siblings' responses to this or other studies run by our group, or demographic survey responses.</p>
{{#if datause}}
<p>
{{datause}}
</p>
{{/if}}

<p class="exp-text-medium"> Use of data by Lookit </p>
<p> Because this study is being run on the Lookit platform, researchers working on the Lookit project at MIT will also have access to the data collected during this session, in addition to your account data, child profiles, and demographic survey responses. This data may be used by Lookit to detect and fix technical problems or identify new features that would be helpful; provide support to study researchers; assess data quality (for instance, how well an observer can tell which direction children are looking); evaluate the site's success in reaching a diverse population; and characterize family engagement (for instance, looking at what aspects of a study make parents more interested in coming back later). </p>

<p class="exp-text-medium"> Publication of results </p>
<p> The results of the research may be presented at scientific meetings or published in scientific journals. Raw data (for instance, looking times to the left and right of the screen) may be published when it cannot identify children. We never publish children's birthdates or names, and we never publish your demographic data in conjunction with your child's video. </p>

{{#if additional_segments}}
{{#each additional_segments as |segment|}}
<p class="exp-text-medium"> {{segment.title}} </p>
<p> {{exp-format segment.text}} </p>
{{/each}}
{{/if}}

<p class="exp-text-medium"> Rights of research subjects </p>
<p> {{research_rights_statement}} </p>

{{#if gdpr}}
<p class="exp-text-medium"> General Data Protection Regulation (GDPR) information </p>
<p> As part of your participation, we will collect certain personal information about you, including: {{gdpr_personal_data}}. In addition, we will collect special category data, your personal information that is especially sensitive: {{gdpr_sensitive_data}}</p>

<p>Your personal information will be transferred to the United States. You understand that the data protection and privacy laws of the United States may not offer you the same level of protection as those in your country of origin.</p>
{{/if}}


<p class="exp-text-medium"> Researcher contact information </p>
<p> This study is run by {{PIName}} at {{institution}}. If you or your child have any questions or concerns about this study, or in the very unlikely event of a research-related injury, please contact {{PIContact}}. </p>
<p>If you or your child have any questions or concerns about the Lookit platform, please contact Kim Scott at [email protected] or 617 324 4859.</p>

</div>
14 changes: 5 additions & 9 deletions app/components/exp-exit-survey/component.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ import moment from 'moment';
import ExpFrameBaseComponent from '../exp-frame-base/component';
import FullScreen from '../../mixins/full-screen';

// Regular comment syntax to omit from docs
/*
* @module exp-player
* @submodule frames
* @submodule frames-deprecated
*/

// Use regular comment syntax here to exclude from docs for clarity
/*
This is the exit survey used by "Your baby the physicist". Use the updated frame {{#crossLink "Exp-lookit-exit-survey"}}{{/crossLink}} instead.
This is the exit survey used by "Your baby the physicist". For new studies, use the updated frame {{#crossLink "Exp-lookit-exit-survey"}}{{/crossLink}} instead.
@class Exp-exit-survey
@extends Exp-frame-base
Expand Down Expand Up @@ -48,8 +48,6 @@ export default ExpFrameBaseComponent.extend(Validations, FullScreen, {
fullScreenElementId: 'experiment-player',
frameSchemaProperties: {},
meta: {
name: 'ExpExitSurvey',
description: 'Exit survey for Lookit.',
data: {
type: 'object',
properties: {
Expand Down Expand Up @@ -154,8 +152,6 @@ export default ExpFrameBaseComponent.extend(Validations, FullScreen, {

progressValue: Ember.computed('currentSessionsCompleted', 'idealSessionsCompleted', function() {
return Math.min(100, Math.ceil((this.get('currentSessionsCompleted') / this.get('idealSessionsCompleted')) * 100));
}),
willRender() {
this.send('exitFullscreen');
}
})

});
Loading

0 comments on commit 2aa08ee

Please sign in to comment.