Releases: cozie-app/cozie-apple
Releases · cozie-app/cozie-apple
Cozie v3.0.0
Cozie v3 is a rewrite of the Cozie app. The basic functionalities of watch survey and health data collection remain the same.
New features
- New HealthKit data points
- Heart rate variability (HRV)
- Wrist temperature
- Sleep analysis
- Offline data logging (in-app file download)
- Customizable backend configuration in the app
- Customizable watch surveys using JSON files
- Customizable phone survey using browser-based surveys (e.g., Qualtrics, Google Forms)
- Onboarding using a QR code
Cozie v2.0.0
This is the second working Cozie version. This version has been used extensively with more than 100 participants, across several deployments for research experiments and testing.
The structure and features of the app were as follows.
- Home tab:
- Indicator for the number of completed watch surveys
- Indicator for current experiment id
- Indicator for current participant id
- Indicator for currently selected question flows aka watch surveys
- Indicator for watch survey reminder
- Indicator for selected participation days during which the reminders are shown
- Indicator for selected participation hours during which the reminders are shown
- Button to weekly survey aka phone-based survey
- Weekly survey:
- hard-coded
- multiple choice questions
- unlimited response options
- Data tab:
- Bar chart with the number of completed watch surveys for the last five days
- Bar chart with two columns for total completed watch surveys and goal
- Download button to download all data saved data from the backend. (Unfortunately, this data is not stored locally. Instead, it is requested from the backend, which has a limitation of 6MB. Anyhow, this button never really worked)
- Settings tab
- Input field for participant id
- Input field for experiment id
- Button to sync settings with the watch
- Button to enable reminders for watch survey
- Question Flows (aka watch surveys) can be selected from a drop-down list. However, the question flows are hard-coded, i.e., changes to the question flows required a new release of the app.)
- Input for the reminder frequency for the watch survey reminders
- Input for the participation days for the watch survey reminders
- Input for the participation hours for the watch survey reminders
- Download button (same functionality as the download button on the data tab)
- Input for watch survey count goal
- Link to the GitHub repository of Cozie-Apple
- Link to the website of BUDS Lab
- Data logging:
- Watch survey responses
- including participant id and experiment id (
id_participant
,id_experiment
) - including vote count (
vote_count
) - including latitude, longitude, timestamp of location data (
longitude
,latitude
,timestamp_location
- including timestamp of the start and end of the survey (
time
,timestamp_end
)
- including participant id and experiment id (
- Physiological and sensor data retrieved from HealthKit
- The data is submitted in the background on a best-effort basis
- Modalities
- Noise (
sound_pressure
,ts_hearingEnvironmentalExposure
) - Heart rate (
heart_rate
,ts_heartRate
) - Resting heart rate (
ts_restingHeartRate
) - Step count (
ts_stepCount
) - Stand time (
ts_standTime
) - Walking distance (
ts_walkingDistance
) - Blood oxygen saturation (
ts_oxygenSaturation
) - Body mass (
body_mass
)
- Noise (
- Settings
- Participation start time (
settings_participation_time_start
) - Participation end time (
settings_participation_time_end
) - Participation days (
settings_participation_days
) - Reminder frequency (
settings_notification_frequency
) - OneSignal Player id (
id_one_signal
)
- Participation start time (
- Watch survey responses
- Backend:
- OneSignal (push notification)
- AWS Lambda function for web API
- "Write function" is called by the Cozie app and inserts all data. The timestamp of Lambda function invocation is appended as
timestamp_lambda
- "Read function" is called by the Cozie app to request the information for the survey counter on the 'Home' tab, the charts in the 'Data' tab, and the 'Download buttons'
- "Write function" is called by the Cozie app and inserts all data. The timestamp of Lambda function invocation is appended as
- InfluxDB for time-series database
Notably, some features have been removed from the previous version (1.0.0):
- Surveys based on ResearchKit (3rd party framework)
- User management based on FireBase (3rd party framework)
Cozie v1.0.0
Cozie v1.0.0
This is the first working Cozie version that has also been tested on a smaller scale.
The structure and features of the app were as follows.
- Home tab
- Registration with the user's e-mail address and a password using Firebase (3rd party framework)
- Onboarding using ResearchKit (3rd party framework)
- Eligibility survey
- Generic survey
- Consent form that can be signed, exported as PDF and sent via e-mail
- Onboarding survey
- Settings tab
- Participant ID
- Enable Notification (fixed time)
- Log out
- Watch survey (hard-coded).
- Push notifications through OneSignal (3rd party framework)
- Backend
- Firebase (user management)
- ResearchKit (phone-based surveys during onboarding)
- OneSignal (push notification)
- AWS Lambda function for web API
- InfluxDB for time-series database