Skip to content


The ODIN (Open Dynamic Interaction Network system) was developed as open-source software under National Science Foundation Social and Behavioral Sciences grant #1338485.  This system consists of an Android cellphone application (“ODIN app”) and a central server (“ODIN server”).  Together, the ODIN System allows for secure anonymized collection of disaggregated interaction sequences, which are essential to understanding the stochastic relationship between interactions and behavior.

ODIN app



The ODIN app is able to track the interaction between each study participant and (1) Service Stations, (2) other study participants; it also supports (3) recording self-reported data from study participants on a periodic basis.  This is achieved by the ODIN app in the following manner:

  1.  Each Service Station with whom contact is to be recorded, is allocated a unique Bluetooth beacon at the outset.  The ODIN app on each participant’s phone then passively detects whenever the participant is engaging with the service station, based on the proximity of the two.  The ODIN app records such interactions in the form “Participant #123 engaged Service Station #6 on 9/1/14”.ODIN_survey
  2. The ODIN app continuously uses Bluetooth technology to monitor the proximity of other cellphones also running the ODIN app.  Whenever two phones running ODIN are within 1 meter (determined by Bluetooth signal strength), ODIN assumes that the owners are interacting.   The ODIN app records such pairwise interactions (e.g. “Participant #123 interacted with participant #456 on 9/1/14”).
  3. Every 24 hours, the ODIN app asks the participant a series of categorical questions assessing daily attitudes, orientations, and behaviors.

ODIN server


ODIN Server

The ODIN server receives interaction data from the ODIN app every 24 hours. This includes data on: (1) the participant’s engagement with Service Stations, (2) the participant’s interactions with other participants in the study, (3) the participant’s self-reports of daily behavior. This transfer takes place in the background over a secure SSL connection and requires no participant intervention.

Note that privacy is ensured because all data is indexed by participant ID, and no record binds data to real-world participant identities.  Once aggregated at the ODIN server, this de-identified interaction and behavioral data is analyzed to model the influence of interactions (1&2) on self-reported behaviors (3), across different classes of study participants.

Anonymity. Participants who provide informed consent to participate will download and install the ODIN app on his/her phone.  Upon first installation, the ODIN app randomly generates a unique 10-digit “participant ID” (e.g. #0000000123).  This artificial participant ID indexes all communication between the ODIN app and the data collection infrastructure.  No personally identifiable information is collected by the ODIN app, and no binding exists between the artificial participant ID and the real-world identity of the participant.

Confidentiality.  All interaction data that is stored on the cellphone is encrypted by a cryptographic secret key, and once this data has been transferred to the ODIN server, the transferred data is deleted from the phone.  The ODIN server runs on a dedicated machine, residing behind a secure gateway configured to allow transfers of data into the server from authorized phones, but no possibility of any data transfers out of the server.

Analytic engine


ODIN_graphA specialized analytic engine is provided with ODIN.  This engine is capable of analyzing the interaction data collected by ODIN, towards determining the extent to which each constituent interaction is driven by either homophily or diffusion – with respect to any specified longitudinal function computed from the self-reported data of each subject over time.