From f0f02295c390ad0e4223fddcbf8dae32ca979bb9 Mon Sep 17 00:00:00 2001 From: Anthony Truskinger Date: Sat, 9 Mar 2013 21:56:54 +1000 Subject: [PATCH] Finished template for experiments. Disabled unicorn gem for dev coz it bad n shizznee Disabled all of Mark's crappy google maps controls - coz they no work yet modified: Gemfile modified: app/assets/javascripts/angular/controllers/experiments.js modified: app/assets/javascripts/angular/controllers/home.js modified: app/assets/javascripts/app.js new file: app/assets/templates/experiment_base.html modified: app/assets/templates/home.html modified: app/assets/templates/rapid_scanning_experiment.html new file: public/ParticipantInformation.html new file: public/QUT_Square_CMYK.jpg new file: public/experiments/error.png new file: public/experiments/info.png modified: public/experiments/rapid_scan.json new file: public/experiments/success.png new file: public/experiments/warning.png --- .../angular/controllers/experiments.js | 95 ++++++- .../javascripts/angular/controllers/home.js | 135 +++++----- app/assets/javascripts/app.js | 4 +- app/assets/templates/experiment_base.html | 134 ++++++++++ app/assets/templates/home.html | 6 +- .../templates/rapid_scanning_experiment.html | 47 +--- public/ParticipantInformation.html | 251 ++++++++++++++++++ public/QUT_Square_CMYK.jpg | Bin 0 -> 45356 bytes public/experiments/error.png | Bin 0 -> 1415 bytes public/experiments/info.png | Bin 0 -> 1561 bytes public/experiments/rapid_scan.json | 21 +- public/experiments/success.png | Bin 0 -> 1202 bytes public/experiments/warning.png | Bin 0 -> 1418 bytes 13 files changed, 562 insertions(+), 131 deletions(-) create mode 100644 app/assets/templates/experiment_base.html create mode 100644 public/ParticipantInformation.html create mode 100644 public/QUT_Square_CMYK.jpg create mode 100644 public/experiments/error.png create mode 100644 public/experiments/info.png create mode 100644 public/experiments/success.png create mode 100644 public/experiments/warning.png diff --git a/app/assets/javascripts/angular/controllers/experiments.js b/app/assets/javascripts/angular/controllers/experiments.js index b0299366..477477d5 100644 --- a/app/assets/javascripts/angular/controllers/experiments.js +++ b/app/assets/javascripts/angular/controllers/experiments.js @@ -16,26 +16,107 @@ * @param Tag * @param Media * @param $route - * @param $http + * @param $http */ - function ExperimentsCtrl($scope, $resource, $routeParams, $route, $http, Media, AudioEvent, Tag) { + function ExperimentsCtrl($scope, $resource, $routeParams, $route, $http, Media, AudioEvent, Tag) { - $scope.results = {}; + $scope.PREFACE_STAGE = "preface"; + $scope.EXPERIMENT_STAGE = "experiment"; + $scope.FINAL_STAGE = "conclusion"; + + $scope.results = { + allowContact: true, + consented: false, + ethicsStatementViewed: false + }; + $scope.errors = []; + $scope.spec = { + experimentSteps: [] + }; + $scope.stage = $scope.PREFACE_STAGE; + $scope.step = 0; + $scope.resultsSending = false; + $scope.resultsSentSuccessfully = undefined; // todo: populate user information // download experiment protocol $http.get('/experiments/rapid_scan.json'). - success(function(data, status, headers, config) { + success(function (data, status, headers, config) { $scope.spec = data; - }).error(function( data, status, headers, config) { + $scope.results.experiment = $scope.spec.experiment; + }).error(function (data, status, headers, config) { alert("downloading test specification failed"); }); + $scope.login = function () { + $scope.$emit('event:auth-loginRequired'); + }; + + $scope.isChrome = function () { + return Boolean(window.chrome); + }; + + $scope.verifyPreface = function verifyPreface() { + $scope.errors.length = 0; + + if ($scope.results.consented !== true) { + $scope.errors.push("You must consent to participate in this experiment."); + } + + if ($scope.results.ethicsStatementViewed !== true) { + $scope.errors.push("You must view the ethics statement before continuing (click on the link please).") + } + + if ($scope.loggedIn && $scope.userData) { + $scope.results.userData = angular.copy($scope.userData); + } + else { + $scope.errors.push("You must be logged in to participate in this experiment, please log in.") + } + + if (!$scope.isChrome()) { + $scope.errors.push("You must be using the Google Chrome web browser to continue") + } + + if ($scope.errors.length > 0) { + return; + } + + $scope.step = 0; + $scope.stage = $scope.EXPERIMENT_STAGE; + + }; + + $scope.$watch(function () { + return $scope.step; + }, function (newValue, oldValue) { + if (newValue > $scope.spec.experimentSteps.length) { + $scope.finishExperiment(); + } + }); + + + $scope.finishExperiment = function () { + + $scope.step = 0; + $scope.stage = $scope.FINAL_STAGE; + + // send back results to server + $scope.resultsSending = true; + $scope.resultsSentSuccessfully = undefined; + $http.post('', $scope.results) + .success(function (data, status, headers, config) { - function downloadResults() { + $scope.resultsSending = false; + $scope.resultsSentSuccessfully = true; + }) + .error(function (data, status, headers, config) { + $scope.resultsSending = false; + $scope.resultsSentSuccessfully = false; + }); + }; - } }]); })(); diff --git a/app/assets/javascripts/angular/controllers/home.js b/app/assets/javascripts/angular/controllers/home.js index 8ebfa9b0..4066738b 100644 --- a/app/assets/javascripts/angular/controllers/home.js +++ b/app/assets/javascripts/angular/controllers/home.js @@ -1,73 +1,74 @@ "use strict"; function HomeCtrl($scope, $resource, $routeParams, Project) { - - // to get projects to display - // make request only include lat/long and title/desc/id - $scope.projectsResource = $resource('/projects', {}); - $scope.projects = $scope.projectsResource.query(); - - $scope.loadProjects = function(){ - console.log('loadProjects'); - $scope.populateProjectMarkers(); - }; - - // for map - $scope.myMarkers = []; - - $scope.mapOptions = { - center: new google.maps.LatLng(-20.911882621985757, 144.80555550000008), - zoom: 4, - mapTypeId: google.maps.MapTypeId.HYBRID - }; - - $scope.openMarkerInfo = function(marker) { - console.log('openMarkerInfo'); - $scope.currentMarker = marker; - $scope.currentMarkerLat = marker.getPosition().lat(); - $scope.currentMarkerLng = marker.getPosition().lng(); - $scope.currentMarkerTitle = marker.getTitle(); - $scope.currentMarkerId = marker.get('id'); - $scope.myInfoWindow.open($scope.projectMap, marker); - }; - - $scope.addMarker = function($event) { - $scope.myMarkers.push(new google.maps.Marker({ - map: $scope.projectMap, - position: $event.latLng - })); - }; - - $scope.setMarkerPosition = function(marker, lat, lng) { - marker.setPosition(new google.maps.LatLng(lat, lng)); - }; - - $scope.populateProjectMarkers = function(){ - var theProjects = $scope.projects; - var projectCount = theProjects.length; - angular.forEach(theProjects, function(value, key){ - $scope.myMarkers.push(new google.maps.Marker({ - map: $scope.projectMap, - position: new google.maps.LatLng (value.latitude, value.longitude), - title: value.name, - id: value.id - })); - }); - - $scope.zoomMapToFitMarkers(); - }; - - $scope.zoomMapToFitMarkers = function(){ - var bounds = new google.maps.LatLngBounds (); - var markerCount = $scope.myMarkers.length; - for (var index = 0; index < markerCount; index++) { - // And increase the bounds to take this point - bounds.extend ($scope.myMarkers[index].getPosition()); - } - - // Fit these bounds to the map - $scope.projectMap.fitBounds (bounds); - }; +//// TODO: disabled - authentication required for home page - BAD! +//// TODO: properly package this mess ... way too much in this controller +// // to get projects to display +// // make request only include lat/long and title/desc/id +// $scope.projectsResource = $resource('/projects', {}); +// $scope.projects = $scope.projectsResource.query(); +// +// $scope.loadProjects = function(){ +// console.log('loadProjects'); +// $scope.populateProjectMarkers(); +// }; +// +// // for map +// $scope.myMarkers = []; +// +// $scope.mapOptions = { +// center: new google.maps.LatLng(-20.911882621985757, 144.80555550000008), +// zoom: 4, +// mapTypeId: google.maps.MapTypeId.HYBRID +// }; +// +// $scope.openMarkerInfo = function(marker) { +// console.log('openMarkerInfo'); +// $scope.currentMarker = marker; +// $scope.currentMarkerLat = marker.getPosition().lat(); +// $scope.currentMarkerLng = marker.getPosition().lng(); +// $scope.currentMarkerTitle = marker.getTitle(); +// $scope.currentMarkerId = marker.get('id'); +// $scope.myInfoWindow.open($scope.projectMap, marker); +// }; +// +// $scope.addMarker = function($event) { +// $scope.myMarkers.push(new google.maps.Marker({ +// map: $scope.projectMap, +// position: $event.latLng +// })); +// }; +// +// $scope.setMarkerPosition = function(marker, lat, lng) { +// marker.setPosition(new google.maps.LatLng(lat, lng)); +// }; +// +// $scope.populateProjectMarkers = function(){ +// var theProjects = $scope.projects; +// var projectCount = theProjects.length; +// angular.forEach(theProjects, function(value, key){ +// $scope.myMarkers.push(new google.maps.Marker({ +// map: $scope.projectMap, +// position: new google.maps.LatLng (value.latitude, value.longitude), +// title: value.name, +// id: value.id +// })); +// }); +// +// $scope.zoomMapToFitMarkers(); +// }; +// +// $scope.zoomMapToFitMarkers = function(){ +// var bounds = new google.maps.LatLngBounds (); +// var markerCount = $scope.myMarkers.length; +// for (var index = 0; index < markerCount; index++) { +// // And increase the bounds to take this point +// bounds.extend ($scope.myMarkers[index].getPosition()); +// } +// +// // Fit these bounds to the map +// $scope.projectMap.fitBounds (bounds); +// }; } HomeCtrl.$inject = ['$scope', '$resource', '$routeParams', 'Project']; \ No newline at end of file diff --git a/app/assets/javascripts/app.js b/app/assets/javascripts/app.js index 42f1fc64..fd16ff7b 100644 --- a/app/assets/javascripts/app.js +++ b/app/assets/javascripts/app.js @@ -98,8 +98,8 @@ var bawApp = (function (undefined) { when('/attribution', {templateUrl: '/assets/attributions.html'}). // experiments - when('/experiments/tour', {templateUrl: '/assets/tour_experiment.html', controller: 'ExperimentsCtrl'}). - when('/experiments/rapidScan', {templateUrl: '/assets/rapid_scanning_experiment.html', controller: 'ExperimentsCtrl'}). + when('/experiments/tour', {templateUrl: '/assets/experiment_base.html', controller: 'ExperimentsCtrl'}). + when('/experiments/rapidScan', {templateUrl: '/assets/experiment_base.html', controller: 'ExperimentsCtrl'}). // missing route page when('/', {templateUrl: '/assets/home.html', controller: 'HomeCtrl'}). diff --git a/app/assets/templates/experiment_base.html b/app/assets/templates/experiment_base.html new file mode 100644 index 00000000..1b74655e --- /dev/null +++ b/app/assets/templates/experiment_base.html @@ -0,0 +1,134 @@ +
+ + +

Experiment: {{spec.experiment}}

+ +
+

Welcome

+ +

+ +

+ +

Instructions

+
    +
  • {{step}}
  • +
  • Please do not leave this page, or close your browser during the experiment, your progress will be lost
  • +
  • + Ensure you read the experiment ethics statement. You will need to click the link. +
    + +
    + + +
    + +
  • +
  • + You need to be signed in to participate in this experiment. Registration is very easy. +
    You are not signed in yet. Click to sign in.
    +
    You are signed in as {{userData.email}}
    +
  • +
  • + Google Chrome is required for this experiment. +

    You are using chrome

    +

    You are NOT using chrome

    +
  • +
+ +
+
    +
  • {{error}}
  • +
+
+ + +
+
+

Main experiment

+
+ Progress: {{step}}/{{spec.experimentSteps.length}} +
+
+ + +
+
+

Done!

+ +

Thank you very much for participating.

+ +

Your results are being saved at the moment. Please do not close the window or navigate away! +
+ +

+ +

Your results have been saved. You may now close this window. +

+ +
+ Saving the results failed. We don't know why but something didn't work. + We'd still really like your experiment data, could please email the information you see below? +
+ Copy this data: + +

+ and send to: anthony.truskinger@student.qut.edu.au +

+
+ + + +

Below is a copy of the data we have saved

+ + + +
+
+ +
\ No newline at end of file diff --git a/app/assets/templates/home.html b/app/assets/templates/home.html index b48ccd7c..68b4d058 100644 --- a/app/assets/templates/home.html +++ b/app/assets/templates/home.html @@ -16,7 +16,7 @@

Time to get started! You can sign in using an account you already have!

- Show all Projects + +

Experiments

diff --git a/app/assets/templates/rapid_scanning_experiment.html b/app/assets/templates/rapid_scanning_experiment.html index 3e85412c..45bcfd62 100644 --- a/app/assets/templates/rapid_scanning_experiment.html +++ b/app/assets/templates/rapid_scanning_experiment.html @@ -1,46 +1 @@ -
-

Experiment

-
-

Welcome

-

- Ethics statement -

-

Instructions

-
    -
  • {{step}}
  • -
  • - Ensure you read the experiment ethics statement. You will need to click the link. -
    - -
    - -
    - -
  • -
-
-
-

Main experiment

- -
    -
  1. -
-
-
-

Done!

-

Thank you very much for participating.

-

If you choose you can download a copy of all the information we recorded during this experiment here.

-

Below is a summary of your results

-
-
- -
\ No newline at end of file +

BLA BLAH BLAH

\ No newline at end of file diff --git a/public/ParticipantInformation.html b/public/ParticipantInformation.html new file mode 100644 index 00000000..e258f4f0 --- /dev/null +++ b/public/ParticipantInformation.html @@ -0,0 +1,251 @@ + + + Participant Information for QUT Research Project + + + + + + + + + + + +
+ + +

+ Participant Information for QUT Research Project

+

+ –- Questionnaire and Website -–

+
+

+ Ecosounds +

+

+ QUT Ethics Approval Number 1200000307

+
+

+ RESEARCH TEAM

+

+ Principal Researcher: Mark-Cottman Fields, Masters Student, QUT +

+

+ Associate Researcher: Anthony Truskinger, PhD Student, QUT +

+

+ Supervisor: Professor Paul Roe, QUT +

+

+ DESCRIPTION

+

+ This project is being undertaken as part of a PhD study for Anthony Truskinger and + a Masters study for Mark Cottman-Fields. +

+

+ The purpose of this research is to investigate ways for interested volunteers to + interact with audio recordings of environmental sounds, with a focus on sounds made + by animals such as bird, frog, and koala calls. The recordings are from areas with + little to no human activity. The two main goals of the research are to provide ecologists + with information about the animals present in the area the sound recordings were + made, and create a website that enables people to listen to and label audio in an + easy and straightforward way. +

+

+ You are invited to participate in this project if you have an interest in the project. + The research team is looking for anyone who is interested in listening to audio + recordings of the natural environment, and willing to indicate interesting sounds + or suggest the name of the animal that made a call. For example, people with bird + watching experience, people who camp or hike regularly, people who enjoy listening + to the sounds of nature, or those who live outside the city. +

+

+ You will need access to a computer, an Internet connection, and some way to listen + to audio, such as speakers or a pair of headphones. +

+

+ PARTICIPATION

+

+ Your participation in this project is entirely voluntary. If you do agree to participate, + you can withdraw from the project without comment or penalty. Any personally identifiable + information already obtained from you will be destroyed. However, other contributed + data will be made anonymous and kept. Your decision to participate (or not), will + in no way impact upon your current or future relationship with QUT. +

+

+ To participate, complete and submit a questionnaire (on the website), + or create an account on the website. +

+

+ You can withdraw by not submitting a questionnaire. You can stop + and discard an incomplete or complete questionnaire before you submit it. Once a + questionnaire is submitted, it is not possible to withdraw it, as the questionnaire + is anonymous. +

+

+ You can withdraw by deleting your account on the website. If you + delete your account, information you have entered in your personal profile will + be deleted. Other contributions you may have made, such as adding tags, will be + made anonymous and kept. +

+

+ Participation will involve interaction with a number of web pages and completing + questionnaires about your experience with these web pages. Each web page is designed + in a slightly different way to investigate the most effective way to collect data + and help the environment. Some of these web pages will be more like a traditional + question/answer survey (some with Likert Scales – e.g. strongly agree to strongly + disagree and some short answer questions). +

+

+ These web pages involve completing tasks that will take varying amounts of time. + However each task is designed to be small (no more than a minute) and you can choose + to stop participating at any time. +

+

+ The tasks will include activities like listening to audio on a web page, and pressing + a button to indicate an interesting sound. Other input may include suggestions for + the animal that made the sound. Tasks may show a visualisation of recorded audio. + An example activity might be drawing a rectangle around a part of the visualisation + to indicate an area of interest (an interesting sound you might be hearing in the + recorded audio). +

+

+ The questionnaires will include questions about the user interfaces, your reaction + to them, and experience with them. For example “Did you understand the tasks you + were asked to complete?” and “Did the visualisation accurately represent the sound + you heard?” +

+

+ Your participation in this project may include content created by other participants + on the website. This might occur through viewing the history of another participant’s + activity on the website, or as part of a list of suggested tags. The website may + include competitive elements, such as a display of participants ranked by the amount + of work each has completed up to that point in time. +

+

+ If you agree to participate you do not have to answer any question(s) or complete + any task(s) that you are uncomfortable with. +

+

+ EXPECTED BENEFITS

+

+ It is expected that this project will not directly benefit you. However, it may + benefit you in that you may learn to recognise a range of animal calls as well as + exposing you to other people interested in the environment and listening to animal + calls. As part of this project you may receive training in identifying particular + calls. This would take the form of informative pages on the website that give examples + of different species, or tips on how to associate spectrograms (visualisations of + audio) with underlying audio. When you complete a task, you may receive feedback + on your performance in that task. This feedback will be calculated based on data + collected by other participants on the website. Again, the feedback is provided + so that you may know when you have correctly identified an animal call. In this + way we hope you will be able to apply this knowledge for other recreational activities. +

+

+ This project aims to benefit environmental research, particularly research into + animal populations. This can include studies of changes in particular environmental + regions and evaluations of proposed development works on the environment. In this + way any participation on your behalf will go towards understanding the environment. +

+

+ RISKS

+

+ There are no risks beyond normal day-to-day living associated with your participation + in this project. +

+

+ PRIVACY AND CONFIDENTIALITY

+

+ All comments, responses, and personally identifiable user contributed data will + be treated confidentially. The actions that you perform to complete tasks on the + website may be monitored, such as the buttons you click and the identifier of the + recorded audio that is loaded. This monitoring will not include any personally identifiable + information. The monitoring is only for evaluating and improving the website, and + will only be available to the research team. +

+

+ Any data collected as part of this project will be stored securely as per QUT’s + management of research data policy. +

+

+ Please note that non-identifiable data collected in this project may be used as + comparative data in future projects. +

+

+ CONSENT TO PARTICIPATE

+

+ There are two main ways for you to confirm your consent to participate in this project. +

+

+ Signing up and creating an account on the website, or clicking ‘I Accept’ or ‘Submit’ + button at the bottom of the online Participation Consent form on the website is + accepted as an indication of your consent to participate in this project. +

+

+ Submitting a completed online questionnaire is accepted as an indication of your + consent to participate in that questionnaire. It does not indicate your consent + to participate in other aspects of the project. +

+

+ If you are involved in a discovery or some other notable event, we may ask you for + permission to publically use your username, real name or both. This is entirely + optional. +

+

+ QUESTIONS / FURTHER INFORMATION ABOUT THE PROJECT

+

+ If have any questions or require any further information please contact one of the + research team members below.

+ + + + + + +
+ Mark Cottman-Fields - Masters Student +
+ Science and Engineering Faculty +
+ Queensland University of Technology +
+ 3138 9340 +
+ m.cottman-fields@student.qut.edu.au +
+ Anthony Truskinger - PhD Student +
+ Science and Engineering Faculty +
+ Queensland University of Technology +
+ 3138 9340 +
+ anthony.truskinger@student.qut.edu.au +
+ Prof Paul Roe – Supervisor +
+ Science and Engineering Faculty +
+ Queensland University of Technology +
+
+ p.roe@qut.edu.au +
+

+ CONCERNS / COMPLAINTS REGARDING THE CONDUCT OF THE PROJECT

+

+ QUT is committed to research integrity and the ethical conduct of research projects. + However, if you do have any concerns or complaints about the ethical conduct of + the project you may contact the QUT Research Ethics Unit on 3138 5123 or email ethicscontact@qut.edu.au. The QUT + Research Ethics Unit is not connected with the research project and can facilitate + a resolution to your concern in an impartial manner. +

+

+ Thank you for helping with this research project. Please note the url of this information + sheet for future reference.

+ + + diff --git a/public/QUT_Square_CMYK.jpg b/public/QUT_Square_CMYK.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1994675099938ddafde08cc2c0c07a53fee8f080 GIT binary patch literal 45356 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 literal 0 HcmV?d00001 diff --git a/public/experiments/error.png b/public/experiments/error.png new file mode 100644 index 0000000000000000000000000000000000000000..50b604fb9e2177b99a74971ff7d5afa94fa77ffc GIT binary patch literal 1415 zcmV;21$g?2P)X52^tSIxZUw%T3#p>dtR{>^N{$lv57AKr& zEV$v!g_F6&dz)(8jiXxPgJG~X5CuLI1}b3`?_T#!R|-T5z}cGWvce_)uM%Ui`gnK@ z!jb?0)&{c3hr+7zL?Rjs-qGz2K_HxOtZCPdYO#kRfDj-8*f2;66a|)oK|9x+S`B?#7z7gri!n4TYg4xyC90ibxyFdZMoDoJqo`7h&h-4bm5#IL3yzxotBDU}fMb z^1;8XVhq5~jvc>md@u}>(lulzPLmL!rrv?iQ(n7W!{eJ9q$e_Tj5z}YrVG z+ue22J2H|LB8O>`GSr+wJSPAEeB4kYy^-+0fzTvH=)sEv8O4D-n$bf)cI#;KBSB5n zp0T>;d(24rKrZpT003b3p;w>?aScYEZW6>(`Q*-d1OV{Ct$}thw=Cq#fq*!K4DRe3 z$lAbi0vuT#Xk+Hq1!&K;I7u0NGz&ylfOl3eeC6{5rXjXJ-Z$Xhz%l{6{ohueDnir8 z@ubU6xB|SfD$s^}#0ir`bdC+z=P@@Hj17BeVC19%V0E)~ty-bHzK%i{iGOY+ES+ zR8V->2-)K>pwir7K!J=AGW6UW@mYJ}yDn{4R5lw>r(3+5jt6_Z&+ofDsFRxMMfld8 zbrq43kyEVo?Q=&6P#(+LvA=(yGhIC04y?SngPDUV@kH==eNXN0z4T_vqL~>M(ToO! zV%9I!ZK|{*;ZwwB0~i329yk2(!GXa~ETXcRx#``X0YC$ZP0Opyc8}<=h?>9*5W!fU zXAksUK1f7T0tNsp<|IG?fC>Pm0DKyVul1J(w)%_rS-_&-?8Jv(grg@Uuw>4$xdH%S z4O}m61u9)MyAH~=O9L=>|<3t#~#0^kGS0pQWo-;!|v5`afe z!_5lQoaYqrxjQi6Q+VG?i!GyaE0%yW#(i{{{`S V@&HjAEHnTB002ovPDHLkV1jWXiX#93 literal 0 HcmV?d00001 diff --git a/public/experiments/info.png b/public/experiments/info.png new file mode 100644 index 0000000000000000000000000000000000000000..3e841c9e727904376be7e013d33bb3b7ea618a0c GIT binary patch literal 1561 zcmV+!2Il#RP)q#hQCOhJm6Ddyq_j;6ElraY zYzG|MeRFp) z$Q=wk?_IuUrciPM7c=MHOvF9^nSFcCUW-3-wJCVw-1)nPg77PaT<%a{OoTD4YEA3i zsgO8#x|*fGs3wh{-v8cx@&66*_)BlxI2?tKjYZMjzUL8JN8&72l;*1m5O^M;=Tiup zn_5Yezb~c91NYxNb?kozc-cxvc=*fjnfm@U13dbd*QUpd#XpWjQEs+YBNM^*%$g9eq8I}^O9d*8nE86l zXsJZzEC4$SMMRakdi{|H4($E*RRetI&#z8y&lg_Vp3e_os?|WDBQ^k{O5k~XVrmz= zhYDoY^5jeBI9p5EF*=G9!HO_ZEMiret<^sL(5?G_-5aa#F%13SXG6K%@cET0iF0Hs zB+_k_%rZ4nV)sx1fLsvp$(wItd1;YYlvD%(E>vq6V<_cvKYsYRmv7h<;K5Tb-&qWD zcm5|%s9H-VO5$Xlr6MdQS(kRX(I8VuoNKSMD!g5-5&6ML&iLQl6d?4xuUQr5;~1xX zf{PG4M<&Xt`78Y9{J&U8GTvIM@RKutqqub&iM4B>PN`%Wl`JFj{m*@M=JeLicwLR? zODA5O*ik4{t zN`YVUjCTb1WnTbe%m-7Eu+ci_8Ln%05+~eR9^>8{Cm1j0+w-$a6@GB)G*xd4;&nr> zfeQvuIMfNyl>)1}zh*6U>qupN;bp3*3P)eR!0#^1wsjMu!`%JOoy=dkLW)_Zi$zGB zTdk?R15;o{CsxGb2J{AF;7_v)BqEfTY8;*%Cup6|d@dk!jzk1;(pT@Y48@cO0wf}# z6YWmlItox#%7v&M9N_IrmCW;rt!3l(uKqxP*txmQ;sdN?mYYU~y5`PYUciJAiFE^1 zEq=q|K!8N#yj;c8(W-J_`{)`_y}{Y#DvWF+mQ4UK7Y71}>dACK{@TGs*_IF4H@c-g z_v+kbW;1121-FUbH|E*S?_HGnCI|>m8w~r8HDMEjUz?g6J##;yQ)S=rF-!oqr1W@pOet&6>N@m-d&);@{ zCl4Lu<6}kYag6rtf&d17c>KtRUg(WC@IvyDXJ#G}<$JwH(g1bqm>eqb(VbX^?@=)pUQ`5Js3%22vZ2Fm*M^yRNIuVeF(69~#JPi53C-lr} zzwcaoyqwS7bM#~HPx{5!^iq1qv6G*2&izQC-22N04Q<^SJ!2j{apd-|Z?twDK+qH$ zz&Jov<-@;vdZ(6#9wf+p7SC@z&lNhg#x!Lr4(E<}s^2|v&-BTbPmfkf*xvN0DuFQ} zFanf-5XjMNQXb$tNP$}U;0LB|IDGGPe%ItJeragZ55qAGzGQaUHR_ks`MJL?J~uOS z>9$I^{1$`|2zIKJ>MoJ6OFmr00000 LNkvXXu0mjf)S&N? literal 0 HcmV?d00001 diff --git a/public/experiments/rapid_scan.json b/public/experiments/rapid_scan.json index a7442688..c3d91a43 100644 --- a/public/experiments/rapid_scan.json +++ b/public/experiments/rapid_scan.json @@ -1,13 +1,22 @@ { - "experiment": "Rapid Spectrogtam Scanning", + "experiment": "Rapid Spectrogram Scanning", "instructions": [ - "Step 1", - "Step 2" + "This is a timed experiment. You are encouraged to balance accurate work with finishing quickly.", + "This experiment is designed to measure how quickly acoustic events of interest can be detected", + "There are 3 parts of this experiment to complete", + "In total the experiment should take no longer than 30 minutes", + "You may use external resources to assist you. We recommend preparing them before the experiment." ], "experimentSteps": [ - {}, - {}, - {} + { + "template": "/assets/rapid_scanning_experiment.html" + }, + { + "template": "/assets/rapid_scanning_experiment.html" + }, + { + "template": "/assets/rapid_scanning_experiment.html" + } ], "experimentResultsPostUri": "/experiments" } \ No newline at end of file diff --git a/public/experiments/success.png b/public/experiments/success.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2b4f3258b83717856a3af346e6e731fd6038aa GIT binary patch literal 1202 zcmV;j1Wo&iP)q40(!$75sI>V@#OmF>qs-s=p9p-`v%$wHuPrKvyh4q^$&2CStF%;?-yI43{MIX* zw7F~opLF@Ickr7!!}j?iA;-bU38hVNwgPU)ZIC+fb;n=rbxk$X+$HUS*G>{~UeX$} zhKfuv2@N--X3+4!Ru%%$UlFl~t8On?$!Btmr4+a&XUqFhd*r^T?FX?eNTmVL6%-Lj zQ^W3i{c_0#4tG~SX3OBNpmhm^EI=U+4iE^891XiR{PAgg-jejd$6Zy0Qmfwr(cirq z3Y4a@1op<>@`1OLf6urA@3oaxXFFEa+bVo^=lUP^&LtqV@x_#R(JPb!QR*!ju`gdP zzmNh4GBn|VGnJ3K9mU6^BD5KBy>zIfx+N35sq@jDVSD_ch?s(c6H>E;P?~p#b5FC*k1JnBWLq?_&jVC0)de0UJV!bepO%g&9?ZlA9mH=Xo+C|L}b9jDBWBrXprm9 zS2y+zW)euqI&kKZjex7!AG`od3IHBxxG@$QM8uw|Yi!?|uo6OwBa_h)k5mMqSW0N^ z*gh9LMPM>AdjCjZ08v{&N&`X=gdj-e#OTx@!d9^EgVS4&P0QA9pNdXA7&1c%V`p;& zKl*0H*<*9Tfus_=`2Cs^f^nKa`RN8rZDVEj&B%7;^+oN#T7U3QSK5vz8fD~O^Umgu z$wdhOzzg5q<kv$-M6K;bv}4n0RU(?ez#9)brL{9 zN&*0>1&BBp2+7$*?AwDiebozr0~sE}#+tr5GDF>uvu#>I{$wE+B z&n*-V%=1t9Y)h$6sm$d_J~-pgAKun;XvqWs;K|QReQJ)Ln7t9G{pizu_bdhuEMPls zeyX?MvRH*_!f%>@Wu=B`K?~clW3g~x5u4G&AFW$!TjD1W@-ef^#!@+B`%l#O?)f(Y zX*VN-2rk95FctfXB`xfr%R`3f2`@D3Rf;)m2!^6Yfe-Clsx)>yW_BswOV*&zz z2_OXE@~pr-%b!pR0+;}#*4ic_#;1kjp~;^UBDoC9_Fk~it<8 literal 0 HcmV?d00001 diff --git a/public/experiments/warning.png b/public/experiments/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..01ad7d038405b0ae11ee3b4fb4a4dadf40c8fdce GIT binary patch literal 1418 zcmV;51$Fv~P)=4K4gJJC20{t zUy2|I`cf336g{YnB!eJ`A_z445K&Y_&;vDssOVuq4@RYoY$ggB9rVt1?&F-Z_v*tr zGjr#9&y3awH!Lpup8a3zzyIs(we}HJN+ z4^7x#zEKaJjXycl6g2nACW-p*mvH&@c-1K5?xx%T3a*JJV?Szq>~(FktFl>J|C>PL z6S+vD(#xi@`ew`mG_65$9CfEa<18>fm5XmfcpdcZr8qlfv5K_Jfl4H2ZBac@$>2qgIVDbamVEUGQD&-3T zH*pYb6U@vjqc+7`vL5l5lKk}#R`bOUaf?#-3He!eQwU6NeUebXxv282~bmv ziBmMSKyZC$$l0Y>%_W*zG<7|*le0t<(DuX(tXV^oI;uW6=?znbI0a|c787v6a*b2w ztInE&YaO3~HBM&lgf*xuLS@Pc3>6YkD`6IWo+g=sw(BzlS~bu%Y9nxSVHNE*UP5c>-LD+VV_)>Ny0&oG2uKHAl{@I||9s?uVKxfJqwBzNF1iLlyJ?>(-41XCEn1LXtUKDGu;=W zC%VI(MqtUkKettbdkSS#A6p+M8ToP=0Z0FEp zs=BjhDr}6D7E-zT0VG;X@nIyYOkEi|h9YA21<9J57H$9fw5M}k$;Ngp-Hz(h zr#%osZIYK`MS=Y_>SebTWeneh7{?s!)}itxliMn z=LerU`pBHiy9xLrxf{d+s_G6reBpTu!}!s_=$*bWpm`)!Mal1|Imjy3s_b#%J$wF+ zzrV?S8ZzpdcEuA_#TN;Ig+LVufq<+?8Njm;1CuwbDX+fk^74jN1LlhUNLEC?S!@I^ zwpyEvb!@cee%W(4{&M&J`cL^TswOMW4oHE7+!s(wRpTN8er{e)!T`o*4jTDpLnD4U z@{wlZTHxAb7q$o}