The ODIN App

Download the ODIN App here.

The ODIN App allows study participants to register to an researcher-defined study a using a randomly generated “coupon”, as well as obtain information about the study’s purpose and data to be collected, and indicate consent.  After this, the participant can actively self-report events, and be prompted with context-sensitive questions, allowing researchers to collect psychological, behavioral, sociological, and sensor data at the precise moment of interest.

To ensure privacy, collected data is tagged by only the participant’s coupon number, and no personally identifiable information is retained.  While being collected, data is stored on the participant’s smartphone in encrypted form.  Newly acquired data is periodically uploaded to the ODIN server and then deleted from the smartphone.


This page is written for researchers who intend to use the ODIN system to conduct a scientific study. The document serves to provide a description of the experience of a study participant using the ODIN App.  Information about how researchers go about specifying a study is available here. Technical information about the internals of the ODIN App’s software design is available here.

Once a study participant has been vetted by the researcher with respect to the project’s eligibility criteria, the researcher issues the participant a study coupon (the process by which coupons are generated is described here ).  In general, the coupon is a unique random 10-character code, which is guaranteed (by the ODIN server) to have never been used previously by any other participant in any other study.  Typically, the coupon number is communicated to the participant with a piece of paper, which includes the coupon number as well as additional information about how to contact field staff during the participation period.  The participant is asked to download the ODIN App onto their Android phone, or loaned an Android phone with the ODIN App pre-installed.  Upon launching the ODIN App, the participant sees a screen that looks like this:

The participant enters the issued coupon number into the text entry box and presses the register button.  The ODIN App then contacts the ODIN server, conveys the coupon number to it, and downloads all the questions, rules, parameters, and forms relevant to the appropriate study.  The study-specific questions, rules, parameters, and forms have been determined by the researcher(s) ahead of time (see here for details on how this is achieved).

Next, the study participant is shown a sequence of 9 screens, following the ResearchStack framework (, which is the Android adaptation of Apple’s ResearchKit (  Each of the 9 screens presents a short version of informational text, and allows the participant to elicit a longer explanation if desired.  Both the long and short versions of the informational text have been specified by the researcher(s) in the process of designing their study (see here for more details).  The 9 screens are:

  1. Welcome
  2. Data Gathering
  3. Study Survey
  4. Study Tasks
  5. Withdrawing
  6. Privacy
  7. Consent
  8. Name
  9. Signature

Each of the screens is shown and described briefly below.

1. Welcome: This screen welcomes the participant to the research study, it’s scope, purpose, and impacts.

Short version Long version

2. Data Gathering: This screen informs the participant about the data storage measures of the research study.

3. Study Survey: This screen asserts any implications of study participation on participant behaviors.

4. Study Tasks: This screen informs the participant about the types of questions the ODIN App will ask and the data it will record.

5. Withdrawing: This screen informs the participant about how they can use the ODIN App functionality to withdraw from the study.

6. Privacy: This screen informs the participant about how their privacy is ensured by using a random ID to tag the data they provide.

7. Consent: This screen asks the participant to consent to participate.

Consent (Step 1) Confirmation (Step 2)

8. Name: This screen asks the participant to enter a name (or a nickname), to be associated with this consent form data.

9. Signature: This screen asks the participant to sign their name,  to be associated with this consent form data.

After this, the consent data collected in screens 7, 8, and 9 is transmitted to the server, and the participant’s ODIN App is considered to be operational.

The ODIN App collects 3 types of data:

  • Self-reported data in the form of answers to questions that are asked when the user presses a button in the App.
  • Passive sensor data using phone sensors that the researcher chose to enable in their study
  • Answers to contextually-triggered questions that are asked when certain researcher-specified conditions or “rules” are met, based on the data from phone sensors, previous answers, and time.

Acquisition of self-reported data.  ODIN supports allowing the participants to actively self-report data by pressing a button.  Researcher(s) must specify the names of the buttons they want to appear in their study participants’ ODIN Apps, as well as the questions that they want to ask when each of the buttons is pressed (see here for how this is done).  The appearance of an operational ODIN App will depend on details of the study, as specified by the lead researcher(s).  Below is an example of what the ODIN App might look like for a study participant if the researcher had chosen to that two self-report buttons be made available.

Below is what the ODIN App would look like when each of the two buttons was pressed, respectively.

Participant presses the “I’m hungry” button Participant presses the “I’m tired” button

Acquisition of passive sensor data.  ODIN supports multiple independent and parallel sensors.  Researcher(s) must specify which sensors are to be engaged when they define their studies (see here for how this is done).  The following sensors are presently supported:

  • Time
  • Location via GPS
  • Physical proximity to other participants in the same study using Bluetooth LE
  • Heart rate, heart rate variability, and stress using the Empatica E4
  • Physical activity (walking, running, biking, driving, standing still) using the Activity Recognition API
  • Phone calls to/from study participants
  • SMS messages to/from study participants

Acquisition of answers to contextually-triggered questions. ODIN supports asking participants questions based on their current context.  Researchers must specify not just the questions but also, the conditions or “rules” that must be met (based on the data from phone sensors, previous answers, and time) in order for the participant to be prompted (see here for how this is done).  Below is an example of what the ODIN App might look like for a study participant when a time-based question (left) or a location-based question (right) is shown.

A time-based question A location-based question

Options. Information about the operational status of the ODIN App, the participant’s performance within the study, and mechanisms to withdraw from the study are all provided via a side panel.