Understanding O-ELIDDI's data collection and export formats
O-ELIDDI collects timeline data across multiple dimensions and exports it in a structured CSV format. The application supports two export methods: automatic upload to OSF via JSPsych DataPipe (recommended) or local CSV download as a fallback.
Automatically uploads data to OSF via JSPsych DataPipe service. This is the default method for seamless data collection.
https://pipe.jspsych.org/api/data/
Downloads CSV file directly to participant's computer. Used as fallback or when DataPipe is unavailable.
fallbackToCSV: true
)timeline_{pid}_{timestamp}.csv
Each row in the exported CSV represents one time interval with activity information. The data structure captures both the activity details and contextual metadata.
Field | Type | Description | Example |
---|---|---|---|
timelineKey |
String | Timeline identifier (primary, secondary, location, etc.) | primary |
activity |
String | Activity name(s), multiple activities separated by " | " | Sleeping or Work | Computer |
category |
String | Activity category from configuration | Personal |
startTime |
String | Activity start time in YYYY-MM-DD HH:MM format | 2024-07-01 06:30 |
endTime |
String | Activity end time in YYYY-MM-DD HH:MM format | 2024-07-01 08:00 |
Field | Type | Description | Source |
---|---|---|---|
pid |
String | Primary participant identifier | URL parameter or auto-generated |
PROLIFIC_PID |
String | Prolific platform participant ID | URL parameter |
STUDY_ID |
String | Study identifier | URL parameter |
SESSION_ID |
String | Session/wave identifier | URL parameter |
diaryWave |
Integer | Diary wave number | URL parameter (DIARY_WAVE) |
Field | Type | Description | Purpose |
---|---|---|---|
viewportWidth |
Integer | Browser viewport width in pixels | Device/display analysis |
viewportHeight |
Integer | Browser viewport height in pixels | Device/display analysis |
layoutHorizontal |
Boolean | Whether desktop layout was used | Interface mode tracking |
browserName |
String | Browser name (Chrome, Firefox, etc.) | Technical compatibility analysis |
browserVersion |
String | Browser version number | Technical compatibility analysis |
instructions |
Boolean | Whether instructions were completed | Data quality assessment |
O-ELIDDI uses a 24-hour timeline starting at 4:00 AM to accommodate typical sleep patterns and ensure each "day" captures a complete sleep cycle.
2024-07-01 04:00
2024-07-01 18:30
2024-07-01 23:45
2024-07-02 01:30
Activities are recorded in configurable time intervals (default: 10 minutes). Each row represents one continuous period of activity within a specific timeline.
O-ELIDDI supports multiple concurrent timelines, each representing a different dimension of activity tracking:
Each timeline generates separate rows in the CSV export, allowing for comprehensive multi-dimensional analysis of time use patterns.
Here's a sample of what the exported CSV data looks like:
timelineKey | activity | category | startTime | endTime | pid | diaryWave | viewportWidth | viewportHeight | layoutHorizontal | browserName | browserVersion | instructions | PROLIFIC_PID | STUDY_ID | SESSION_ID |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
primary | Sleeping | Personal | 2024-07-01 04:00 | 2024-07-01 07:30 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
primary | Washing and Dressing | Personal | 2024-07-01 07:30 | 2024-07-01 08:00 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
primary | Eating Breakfast | Personal | 2024-07-01 08:00 | 2024-07-01 08:30 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
location | Home | Indoor | 2024-07-01 04:00 | 2024-07-01 09:00 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
who | Alone | Solo | 2024-07-01 04:00 | 2024-07-01 08:00 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
who | Spouse/Partner | Family | 2024-07-01 08:00 | 2024-07-01 08:30 | P001 | 1 | 1920 | 1080 | true | Chrome | 126.0.0.0 | true | 5f8c2a1b3d4e | TimeUse2024 | baseline |
instructions
- Whether participant viewed instructionslayoutHorizontal
- Interface mode (may affect data quality)When multiple activities are selected for a time period (in multiple-choice timelines), they are concatenated with " | " separators. You may need to split these during analysis.
# R example
library(tidyverse)
data %>%
separate_rows(activity, sep = " \\| ") %>%
# Continue analysis with individual activities
# Python example
import pandas as pd
data['activity'].str.split(' | ').explode()
# Continue analysis with individual activities
Empty time periods (where participants didn't select any activity) are not included in the export. This means gaps in the timeline indicate unrecorded periods rather than "no activity".
Files uploaded to OSF via DataPipe follow this naming convention:
timeline_{participantID}_{timestamp}.csv
timeline_P001_2024-07-01T14-30-15.csv
timeline_5f8c2a1b3d4e_2024-07-01T09-45-22.csv