ODK Collect and Google Drive Integration to Store and Manage Your Data

More and more organizations are using mobile devices to collect data in the field. Open Data Kit (ODK) is a open-source suite of tools that allows data collection using Android mobile devices and data submission to an online server, even without an Internet connection or mobile carrier service at the time of data collection. Streamline the data collection process with ODK Collect by replacing traditional paper forms with electronic forms that allow text, numeric data, GPS, photo, video, barcodes, and audio uploads to an online server.

Created by developers at the University of Washington's Computer Science and Engineering department and members of Change, Open Data Kit is an open-source project available to all. To learn more about ODK, view recent updates, more tutorials, and to contribute to the project, visit www.opendatakit.org.

When using ODK Collect, you have several options for where to send the data you’ve collected in the field:

  • ODK Aggregate, allowing you to host survey forms and responses on your own cloud-based server.
  • Google Drive and Google Sheets, allowing ODK Collect to access survey forms in your Google Drive account and send data collected on an Android device directly to Google Sheets.

The Google Drive and Google Sheets option makes setting up a mobile data collection effort simple. Upload your ODK forms to Google Drive and ODK Collect will find them. Then, collect data on your mobile device offline in the field. When you’re back online, send it to Google Sheets. If your form includes photos, they will be stored unlisted on your Google Photos Album Archive and linked to from Google Sheets. This is a simple, user-friendly way to manage and store your ODK data without having to set up a server like ODK Aggregate.

If you need a more robust option for your project, review our ODK Aggregate tutorial.

Tutorial Contents

Prerequisites

  • You’ll need a Google Account (or create a new Google Account)
  • You need an Android mobile device running Android OS of 1.6 or newer.

Create Your Form for Data Collection & Submissions

There are several ways you can create forms for ODK. You can use ODK Build (a drag-and-drop form designer) or design your form in a spreadsheet using XLSForm. Most ODK users design their forms in Excel but if you're creating a form for the first time, ODK Build may be the simplest way to start. We cover the ODK Build method below but if you’re interested in other methods you can learn more in the ODK Docs.

  1. Go to ODK Build at http://build.opendatakit.org/

  2. Create a new account or log in with an existing account. Note that this account is different from your Google Account, and you can choose to use a different login and password. Your forms will be saved to this account for future reference.

    Image

  3. Add questions to your form by clicking on the type of question you'd like to add (eg. location, text, etc.) at the bottom of the page.

    Image

    Each question has several common properties as well as unique properties. For an explanation of the Common Properties, see below. You do not need to save each question as you go, but remember to save the form when you're satisfied with it.

  4. Enter a Text question, such as "What is your name?", in the Caption Text section.

    Fill in the properties of the text field question on the right-hand side. Optional: you can enter a minimum and/or maximum character length for the text field.

  5. Enter a Numeric field to allow users to record a number in their form, such as "What is your age?" in the Caption Text section.

    In the properties section, specify whether you'd like to record the number as an Integer (whole number) or Decimal (0.0)

  6. Allow the form users to specify a Date. The phone will automatically record the current date, and allow the user to enter the date or modify the date in your form.

  7. If the users of your form have a mobile device that is equipped with a GPS chipset, you can add a Location entry into your form. The question will prompt the user to record the GPS location. The user will be able to view an estimate of the phone's built-in GPS accuracy while the phone's GPS acquires satellite positions.

  8. Allow users of your form to attach media files to their form submissions. You can select from Image, Audio or Video as media format. The form will switch to the device's camera mode, voice memo mode or video camera mode, and the media will be stored with that form entry. For this example, enter "Take a photo" in the Caption Text section and select "Image" as the Kind of media you will use from the drop-down menu. Hint: if you know you're going to have a slow internet connection when you want to upload your form submissions, and you wish to have photos inside your forms, some devices allow you to reduce the default image size so the filesize is smaller when you want to send your completed data over the internet.

  9. Use the "Choose One" question type if you'd like the user to select one option from several options. You can specify which options you present by clicking "Add Option." Make sure you add an underlying value to your Options; this is required for each Option. Use lower case text and underscores ( _ ) instead of spaces.

  10. Use the "Choose Multiple" question type for multiple choice questions. As with Choose One, make sure to add an underlying value to each Option and use lower case and underscores for the underlying value fields.

    Common Properties in Form Questions:

    Data name (required): This is the variable name that is stored in the xml of your form. You must use lower case and underscores ( _ ) instead of spaces.

    Caption Text (required): Enter your question as you'd like it presented to the user.

    Hint: Specify a question's hint or help text. Note: If you are localizing your form, you must enter English text here as well as localized text. If you do not want to enter English default text, you must create the forms as xml in a text editor. See the tip at the end of this tutorial for more information about localizing forms.

    Default value: this is the default information that will be presented to the user. For example, if you are gathering information on a group of children and you know the majority of the childrens' age is 12, you can enter "12" as a default value.

    Read-only: If you don't want the user to be able to enter information for this question, check this box.

    Required: Users will not be able to save a form as completed unless they have entered information for questions that are checked "required."

    Image

  11. Once you're satisfied with your form, save it to your ODK Build account. Go to File > Save Form As. Next time you log in to your account, you can select File > Open to open the form.

More information about ODK Build is available on the ODK website.


Deploy Your Form

Now you will need to host the survey form you built with ODK Build in your Google Drive so that your project team will be able to download it to their Android phones. You’ll also need to create a spreadsheet which will be where completed survey responses from your project team will be sent and stored.

  1. Log in to Google Drive with your Google account.

  2. Create a Google Drive folder for your ODK project. Select Add new and choose Folder. Give the folder a name you’ll remember.

  3. In the ODK project folder, add a new spreadsheet. Select Add new and choose Sheet. This will be the spreadsheet that collects your ODK survey responses.

  4. In the new Sheet, click the Share button and set the Sheet to “Anyone with the link can edit”.

    Image

  5. Copy the Sheet URL.

  6. In another browser tab, open your survey form in ODK Build.

  7. In ODK Build, go to Edit > Form Properties. Paste the Sheet URL in the submission URL field.

    Image

  8. In ODK Build, download your form as an XML file. Click File > Export to XML. Then in the pop up window, click Download.

  9. Switching back to Google Drive, click New and upload the xml form to your ODK project folder.

  10. Click on the XML file in your ODK project folder, then click the Share button. Change the settings to “Anyone with the link” can edit and add any individuals who need to download the form on their Android. For a person to be able to download your form, the form must be shared with their Google account so they see it in their "Shared With Me" Drive files.


Install & Configure ODK Collect

  1. Go to the Google Play Store and search for ODK Collect. If you already have ODK Collect installed, update it so you have the newest version.

  2. Open the ODK Collect app

  3. Click on the Menu (three dots in the upper right corner)

  4. Click on General Settings

  5. Under Server Settings, click on Type so you can change the destination path for where your ODK Collect data will be sent.

  6. Select "Google Drive, Google Sheets"

  7. Next, click on Google Account and choose the account you wish to use with ODK Collect. This account will be where you store your forms on Google Drive and where your spreadsheet with all your and others’ ODK data submissions will live. (Do not enter anything in the "Fallback submission URL" field.)

  8. TIP: The Android device needs to be connected to a Google Account with editing rights to the form you created. Add a Google Account to your Android phone.

  9. Hit the back button to return to the main menu.


Collect Data Using ODK Collect

  1. Click "Get Blank Form." Then click "My Drive." Click "Allow" to let ODK Collect access your Google Drive account. ODK Collect will search your Google Drive account for XML files, which will display after your list of folders. A good trick is to organize your XML files into a folder so you can find them easily.

    1. Searching for forms: It’s faster to search for forms than to browse for forms.

    2. Browsing My Drive or Shared With Me: you can browse My Drive or Shared With Me (e.g. if you’ve shared your form with data collectors, this is where they would go to navigate to your form, but search is faster). XML files will display underneath your folder directory.

  2. Search for the form you just added by entering the form name in the search box. Click the check box on the right side and hit "Download Selected." You’ll see a window appear saying "Success" once the form completes downloading. Download your sample form that you just created.

  3. In the main menu of ODK Collect, click "Fill Blank Form" and proceed to fill out your information. When complete, hit "Send Finalized Form" and your submission will appear in your Google Sheet.

    1. The first time you send a submission to your new sheet, your device will ask for permission to submit to Google Drive. Click Allow to send data to your sheet.

    2. TIP: If you encounter an error submitting to Sheets, try deleting other forms you’re no longer using. Main Menu > Delete Saved Form.

    3. This video shows how to submit ODK Collect data to Google Sheets. (1:53)


View Your Data

  1. Go to your submission Sheet to view your data. You don’t need to refresh the page to see new data streaming in.

  2. If you’ve included a photo in your form, your sheet will include a link to the photo. Photos are sent to each user’s Google Photos Album Archive associated with their Google account in an unlisted album where only users with the link can view. Each photo will be stored in an album with the form name, so you can browse through photos submitted to one form.

  3. To visualize your data submissions on a map, you can use Google My Maps. Maps that you create are also stored in your Google Drive account, so all of your ODK data can be hosted, managed and visualized in one Drive Folder. Follow step-by-step instructions to import info into Google Maps, or visit the Visualize Your Data on a Custom Map using My Maps tutorial. You can either download your data as a CSV file or import directly from Google Sheets.

Congratulations -- you are now using Google Drive to store and manage your ODK Collect data!


What's Next