NOTE: This project is in alpha stage and under ongoing development. It may be subject to fundamental changes anytime.

Okra is a mobile (Android/iOS/web) app which allows its users to participate in psycholinguistic experiments. It receives the experiment setup and stimuli from a server of the institution conducting the experiment, presents the stimuli to the participant, collects responses and behavioral data, and sends them back to the server.

Supported tasks

The app currently provides implementations of various types of tasks related to psycholinguistics and reading comprehension in particular:

Issues and pull requests about adding more tasks are welcome.

Supported languages

The app is currently available in these localizations:

Pull requests adding more languages are welcome.

📄 Paper

💻 Source code

🖼️ Screenshots



  author   = {Säuberli, Andreas and Hansen-Schirra, Silvia and Holzknecht, Franz and Gutermuth, Silke and Deilen, Silvana and Schiffl, Laura and Ebling, Sarah},
  title    = {Enabling text comprehensibility assessment for people with intellectual disabilities using a mobile application},
  journal  = {Frontiers in Communication},
  volume   = {8},
  year     = {2023},
  url      = {https://www.frontiersin.org/articles/10.3389/fcomm.2023.1175625},
  doi      = {10.3389/fcomm.2023.1175625},
  issn     = {2297-900X}

Getting started

Conducting experiments

To create and conduct experiments, you need to:

  1. Set up a server that serves an API according to the specs. There is an example implementation.
  2. Create a participant ID and a registration key for each participant to authenticate them.
  3. Generate QR codes from strings like this:
  4. Give the QR codes to your participants to scan.
  5. Distribute experiments and tasks using the API according to your own logic.



While developing, you can use the dummy server under dev_server/ and connect to it from the app on your emulator (<port> on Android) or device.

Running tests:

Code formatting / static analysis: