You are viewing unmaintained documentation for an older version of OpenSesame. Click here to view the current documentation. Your version of OpenSesame: Language:

OpenSesame 3.0.0 will bring amazing new features! Curious? Take it for a test spin, and help us iron out the kinks.

Runtime for Android

OpenSesame runtime for Android

Download

You can download the OpenSesame runtime for Android through the Android market / Google Play Store:

Get it on Google Play

Alternatively, you can download the latest OpenSesame runtime for Android package in .apk format from here:

Once you have installed this package (please refer to Google for tips on installing .apk packages on your device) the OpenSesame runtime will simply appear as an app.

Usage

When you start the OpenSesame runtime, you will be asked where your experiments are located. By default, OpenSesame assumes that they are in the /sdcard/ folder, or (if it exists) in the /sdcard/Experiments/ folder. If you have no experiments on your device, pressing enter will show the example experiments that are bundled with the .apk.

The Back button serves the same purpose as the Escape key on regular systems, and will exit OpenSesame.

Supported devices

If you have tested the OpenSesame runtime for Android on a device, please share your experiences. OpenSesame is developed with the Nexus 4 and 9 as reference devices. In general, any device that runs Android 2.2. ‘Froyo’ or later appears to work.

Disabling automatic updates

If you are using the OpenSesame runtime for Android in a production environment (e.g., while you are running an experiment), it is recommended to disable the Auto-update feature of the Google Play Store, at least for OpenSesame. This will prevent the app from being updated and potentially changing its behavior.

Automatically start an experiment

If you want to directly launch a specific experiment when the OpenSesame runtime for Android is started, you can create a file called opensesame-autorun.yml in the /sdcard/ folder of your device. This is a YAML file with the following structure:

experiment: /sdcard/experiments/my_experiment.opensesame
subject_nr: 3
logfile: /sdcard/data/subject03.csv

Developing experiments for Android

Back-end

The OpenSesame runtime for Android requires the droid back-end, which is available as of OpenSesame 0.27.2.

Design tips

Implement most user interactions through the mouse_response item or touch_response plug-in. In general, screen touches are registered as mouse clicks. Using keyboard input will work as well, but it will show and hide the virtual keyboard after every key that is entered, which looks a bit messy.

The resolution for the droid backend is fixed at 1280x800. On Android, your experiment will be automatically scaled up or down depending on the resolution of the device, but the resolution that you design with is always 1280x800.

Available Python modules

The OpenSesame runtime for Android is based on the PyGame subset 4 Android. A list of available Python modules can be found here:

Debugging

Debug output is written to /sdcard/opensesame-debug.txt.

Limitations

  • The synth item and openexp.synth module are not functional.
  • The sampler item and openexp.sampler module will ignore panning and pitching.
  • Participants may be eaten by dragons.

Know issue: Frozen or misbehaving virtual keyboard

On some devices, the default virtual keyboard is unresponsive (i.e. it shows but doesn’t respond to taps) or doesn’t respond normally. This appears to happen on phones with recent versions of Android. To work around this issue, you can install a third-party keyboard. Keyboards that have been reported to work are:

Forum topics

A general forum topic on the OpenSesame runtime for Android:

Eoin Traver’s project to test the OpenSesame runtime for Android (call for testers):