This page has been deprecated.

See FAQ.

What is ODK?

Open Data Kit (ODK) is a free and open-source set of tools which help organizations create mobile data collection solutions.

Our blog and deployments page have good examples of what others have used ODK for. Our research page also has videos and slides that explain ODK.

How do I use ODK?

Please read through the documentation on our implementer instructions and on the developer wiki.

If that doesn't help, search the ODK forum to see if the issue has been answered.

If you don't find an answer after searching, then post your question to the appropriate category.

What kinds of questions do you answer on the mailing list?

Our team only answers questions about the supported tools. We generally do not answer form design questions, and instead refer you to the form design guide. You are more than welcome to post any message -- someone else in the community is likely to help.

An ODK tool isn't working the way I expected. What do I do?

Make sure you are running the latest versions of ODK software. You can find them under our downloads page.

Search the issue tracker to see if the problem you are having has been reported. If you can't find it, report it there.

Please be precise about the tool you are using, the version of the software, and include all the steps you did so we can reproduce the same problem. If you can get a stack trace, please attach it. If the problem is with a form, please attach it as well. If you are new to filing bug reports, read How to Report Bugs Effectively.

If your issue is urgent, we recommend you hire help from one of the ODK implementations companies.

How do I get a stack trace or log after an Android "Force Close"?

See Collect Troubleshooting. Capturing an error log is more difficult now that the newer Android operating systems restrict access to the system log stream. Once you begin capturing a log and have reproduced the crash, please open an issue here and attach the captured log file.

How do I request a new feature or enhancement?

Search the issue tracker to see if the feature you want has been suggested. If you find it, vote for it by adding yourself to receive notifications. If you don't find it, open a new issue (feature request) describing the scenario which you need the feature for.

How do I customize or implement an ODK solution?

The core team does not provide code or implementation support beyond what is described on our implementer site and on the developer site. If you need more support, hire help from one of the ODK implementations companies.

How should I cite Open Data Kit in a publication?

People often ask "How do I cite ODK?". Since Open Data Kit is an academic research project, please cite the academic research papers corresponding to the appropriate tool version.

If you are using ODK tools with a version code 1.x cite:
Open Data Kit: Tools to Build Information Services for Developing Regions
Carl Hartung, Yaw Anokwa, Waylon Brunette, Adam Lerer, Clint Tseng, Gaetano Borriello
In ICTD, 2010. http://dl.acm.org/citation.cfm?id=2369236

If you are using ODK tools with a version code 2.x cite:

Open Data Kit 2.0: A Services-Based Application Framework for Disconnected Data Management
Waylon Brunette, Samuel Sudar, Mitchell Sundt, Clarice Larson, Jeffery Beorse, Richard Anderson
In MobiSys, 2017

Other publications to cite for individual ODK tools are available on the Research page.

Are there other data collection systems I should consider?

Of course! There are many other data collection systems that might work better for you. Some of them use ODK in some way (Ona, Survey CTO, KoBo Toolbox, Commcare HQ, DoForms, DataWinners, ViewWorld, PhiCollect) while others are ODK compatible (JavaRosa, OpenXData, RapidSMS).

There are also great systems that were designed more for SMS (FrontlineSMS, Ushahidi), systems that work on iOS (iFormBuilder), even systems that work on Palm Pilots and Windows Mobile (Pendragon Forms, CyberTracker) and Nokias (Nokia Data Gathering).

If you want to find out more, MobileActive is a great place to learn more about data collection. Mobile Data Collection Tools - Comparison Matrix and Mobile-Phone-Based Data Collection Systems Comparison Table, Mobile and Web Technologies for Social and Economic Development report, Comparing Mobile Solutions for GIS Data Collection and Display, and Nomad Mobile Collection Systems Decision Tool are also good resources.

We also have peer-reviewed research and user stories that describe the situations where ODK is likely to be easier to use, less error-prone, more cost-effective and more timely when compared to other data collection systems.

Should I email members of the ODK team directly?

Probably not. If you have a private question you cannot post to the list, please send it to contact@opendatakit.org.

What Android phone/tablet/device should I use?

The Android ecosystem changes too rapidly to recommend one device. In general, we recommend you get devices that you can source in-country and run the latest Android OS (even though we support Android OS 1.6+ and higher). ODK Collect will run on most Android form factors (including tablets and netbooks).

We recommend you spend a little more to get a higher quality device, instead of buying the cheapest phone. If you need a supplier, try amazon.com, newegg.com, ebay.com, n1wireless.com, expansys-usa.com and negrielectronics.com.

For a list of all Android devices, try wikipedia.org, gsmarena.com, and phonescoop.com.

Why are my messages on the list being delayed?

If you are a first-time poster (or are not subscribed) to the lists, your emails are moderated. This process can take a few hours, so no need to send multiple messages.

Do you support XForms?

Not exactly. We support the OpenROSA 1.0 subset of XForms described at https://bitbucket.org/javarosa/javarosa/wiki/xform-jr-compat.

Do you have an API?

Yes. We support the OpenROSA 1.0 API as described at https://bitbucket.org/javarosa/javarosa/wiki/OpenRosaAPI.

How do I change the language that Collect is using?

The tools understand the text internationalization features of javarosa Xforms and can restructure your input so that the question text is grouped into an <itext/> translation block for internationalization. Therefore, to support multiple languages you need to specify the question text in the appropriate language using the tag. To change the language the Xform's questions are being rendered in, simply click the 'Menu' button on the Android while filling out a form and click the 'Change Language' button.

To change the language ODK Collect (version 1.2 and higher) is using to render the  user interface (e.g., button text, instructions) you need to change the phone's language settings. Collect determines its user interface language (not question language) based on the phone's overall settings. For example, in the phone settings if you set the phone's locale to Espanol, Collect will render its navigation text in Spanish.