Collect

ODK Collect renders forms into a sequence of input prompts that apply form logic, entry constraints, and repeating sub-structures. Users work through the prompts and can save the submission at any point. Finalized submissions can be sent to (and new forms downloaded from) a server. Currently, ODK Collect uses the Android platform, supports a wide variety of prompts (text, number, location, multimedia, barcodes), and works well without network connectivity.

Installation

  1. Please read all the instructions and notes before beginning.
  2. You will need an Android device (like the Google Nexus One) to install ODK Collect. If you don't have an Android device and you have some technical expertise, you can follow our instructions for installing the emulator.
  3. There must be an external SDCard on the device. Most Android 4.x devices have one of these built-in. Older Android 2.x devices generally do not and require that one be installed (typically in a slot near your SIM card). If ODK Collect fails to start, it is likely because the SDCard has become unseated or is missing. Re-seat or install the SDCard and try again.

Downloading from Google Play

  1. From your device's application drawer, choose the Play Store.
  2. Search for "ODK" and choose "ODK Collect" from "Open Data Kit".
  3. Select that result and click the Install button. Click OK after viewing the security settings.
  4. Download the Zxing Barcode Scanner using the same method.

Downloading from Web

  1. From your device's application drawer, choose Settings, then Applications. Make sure Unknown sources is checked.
  2. Return to the application drawer and choose Browser. Navigate to http://opendatakit.org/downloads/download-category/collect/ and download ODK Collect vN.N.N.apk
  3. In the download window, you will see ODK_Collect_vN.N.N.apk. Select it to download the file. On older devices, the APK will automatically install after you approve the security settings. On newer devices, you must go to the download list, rename the file to restore the .apk extension (the extension will have been renamed to .man during the download process), then click on it to install it.
  4. If you would like to use the barcode scanning capabilities, you should find and install the Zxing Barcode Scanner in the market, or at http://code.google.com/p/zxing.

Using the Application

  1. ODK Collect will appear in your application drawer. Select it to launch the application.
  2. Select Get Blank Form to download blank forms you can fill out. By default, ODK Collect gets forms from a demo installation of ODK Aggregate we have at https://opendatakit.appspot.com.
  3. The list of forms you see is from this demo server. Select a form that you want to enter data into. Widgets, New Widgets and Geo Tagger are good examples of forms.
  4. You can then go back to the Main Menu and Fill Blank Form. When you are finished with the data entry, mark the data as finalized.
  5. Now you can Send Finalized Fom. The data you send goes back to ODK Aggregate, so the results will appear at https://opendatakit.appspot.com.
  6. To change ODK Collect preferences, press your device's dedicated Menu button when you are in the ODK Collect start screen. On Android 3.x and 4.x devices without a dedicated Menu button, the Menu button functions are accessed through the narrow vertical glyph of three-small-squares displayed in the top right of the menu bar.

Useful Notes

  • The Android emulator is slow and buggy. If you can deploy on a real Android device, we highly recommend that approach.
  • Once you are satisfied with how Collect works, you will likely want to setup your own private of Aggregate to store your own forms and data. Use these instructions.
  • Your application url must be given to Collect before it will get forms from and submit data to your copy of Aggregate. In Collect's Main Menu, press the Menu button. Select Change Settings to set http://my-app-id.appspot.com as the server URL.
  • If you are using the emulator to connect to a localhost Aggregate instance, your url will be http://10.0.2.2:8080. Read emulator networking help for more.
  • Forms you design do not have to be uploaded to Aggregate for them to be used. They can be manually added to the device. Simply place them in the /odk/forms folder on your Android device's SD card.
  • Like forms, data does not have to be sent to Aggregate. You write an HTTP post to any web server or use an offline processor like Kobo Post Processor. You can also retrieve them from /odk/instances folder on your Android device's SD card.
  • If you want to debug what Android or Collect is doing, install the Android SDK and adb logcat to get a trace.
  • Use the Android SDK's adb tool if you need to install/uninstall the ODK Collect APK file when you are without an Internet connection.
  • If you'd like to fill out forms in a web browser (say, on a laptop), try PurcForms or TouchForms.