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.

Downloading from Market

  1. From your device's application drawer, choose Market.
  2. Search for "ODK" and there should be one result, "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 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://code.google.com/p/opendatakit and in the green Featured Downloads download ODK Collect vN.N.N.apk
  3. In the download window, you will see ODK_Collect_vN.N.N.apk. Select it to install after you approve the security settings.
  4. If you would like to use the barcode scanning capabilities, you should find and install the 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 Menu button when you are in the ODK Collect start screen.

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.
  • If you'd like to fill out forms in a web browser (say, on a laptop), try PurcForms or TouchForms.