Nafundi, Taskforce, and Grameen showcase ODK at Google I/O

May 14th, 2013 by Yaw Anokwa

Google I/O is an annual developer conference that showcases the latest from Google's product teams and partners. One of the exciting parts of I/O is the Developer Sandbox, where apps based on technologies and products are shown to attendees.

This year, three out of the nine presenters in the "Develop for Good" sandbox will be showcasing ODK-based projects! The three presenters are Nafundi, Taskforce for Global Health, and Grameen Foundation. Staff from all three organizations will be at I/O in San Francisco this week, so swing by their booths, and say hello!

Also present at I/O will be ODK core team members from the University of Washington. If you've ever wanted to chat with Waylon, Mitch, or Sam in person, now is your chance! Find them on the conference floor, share your ODK use case, and maybe get a demo of the upcoming tools.

If you won't be at I/O, make sure to check out Nafundi's ODK customization services, Taskforce's LINKS system, Grameen's TaroWorks system, and UW's paper on ODK's future.

Nafundi adds auto send, navigation buttons, and bulk configuration to Collect

April 22nd, 2013 by Yaw Anokwa

At Nafundi, we have made a commitment to improving ODK Collect, and for this new v1.3 release, we are excited to add features that make data collection easier for users. These features include auto sending of finalized forms, forward/backward buttons for navigation, and bulk configuration of devices.

Auto sending of finalized forms
In our consulting work, we've had a few clients request that we change ODK Collect so it automatically sends finalized forms to the server. This feature is needed because it ensures data is immediately available for reports. Auto send also reduces training requirements. Thanks to eHealth Nigeria, we are now able to provide this feature to the ODK community.

To enable auto send, go to the main screen, tap the menu button, and then tap General Settings. Scroll to the Auto Send section, and choose to auto send with Wi-Fi or the cell network or both.

Once enabled, auto send will try to send all finalized forms whenever any form is saved and finalized. It will also try to send finalized forms whenever a Wi-Fi or cell network connection becomes available. This feature works even while ODK Collect is not running.

Forward/backward buttons for navigation
Historically, ODK Collect has used swipes to move between form entry screens. This is because when the ODK project started, Android devices were small and so there was little screen real estate for buttons. While swipes required more training, that design saved precious on-screen space.

Today, Android devices are getting larger and we saw an opportunity to make form navigation more intuitive for novice users. To do this, we added an option for placing forward and backward buttons on the bottom of the form entry screens.

To try this feature, tap the menu button while on the main screen. Tap General Settings and scroll to the User Interface section. Tap on Navigation to choose between horizontal swipes (the default), forward/backward buttons, or both. We think you'll find that the buttons make navigation easier for users. Thanks to The Taskforce for Global Health for making this feature possible.

Bulk configuration of devices
Nafundi supports a number of ODK deployments with thousands of devices, and as you can imagine, configuring that many devices can be a chore! To improve that process, we created a feature that makes bulk configuration of many devices easier.

From the main screen, tap the menu button. Tap Admin Settings, tap the menu button again, tap Save Settings to Disk. This will save your general and admin settings to /odk/settings/collect.settings. Copy this settings file to /odk/collect.settings of any other device running ODK Collect v1.3, and when you re-launch ODK Collect, it will automatically load those settings, and delete that file.


Upgrade to ODK Collect v1.3 today to start using auto send, navigation buttons, and bulk configuration. And remember, you can hide any of these options from your users using admin mode -- a feature we added only a few months ago.

Updated ODK Tools Released (versions 1.3 and 2.0 alpha)

April 12th, 2013 by Waylon Brunette

The ODK Team is pleased to announce a new release that includes many new exciting features such as the ability to have Collect use an external Bluetooth printer.  This release includes bug fixes and new features for the 1.3 version of the tools as well as an introduction of some of the ODK 2.0 tool set. The goal is to include some of the functionality from 2.0 series in the 1.0 series of tools when practicable.  Here is a summary of the changes:

Collect 1.3

  • Added printer support on Android 3.1 and higher systems. See example printing widget and printer driver for more information
  • configurable display and use of 'back' and 'next' buttons, and the enabling or disabling of swipe treatment within form pages (contributed work by Nafundi).
  • configurable background transmission of submissions when network connections are detected (contributed work by Nafundi).
  • application settings can now be saved to disk and loaded from disk (makes configuring device fleets easier). (contributed work by Nafundi).
  • issue 401 - string prompts now can render a configurable-height text entry box, via the rows attribute on their <input> tag.
  • issue 751 - compact (a.k.a. grid view) select-one and select-multiple prompts now can render text label arrays or icon arrays.
  • compact (a.k.a. grid view) select-one and select-multiple prompts, if given a fixed column width (e.g., compact-4), will rescale the images so that they exactly fit the natural width of the device. Images are not rescaled when the device is then rotated 90 degrees.
  • if a meta/instanceName field is defined in a form, the non-empty value of that field will be used as the instanceName when the form is saved (and the user will be unable to alter it). Otherwise, the pre-1.3 instance naming treatment will be used. By defining this as a calculated field, the form designer can control the naming of the submission instances.
  • if itext contains constraintMsg or requiredMsg forms, then these will be used for the constraint failure and required-but-missing error messages.

Aggregate 1.3.1

  • Improved Fusion Tables publisher  that will batch submissions to move the data to Fusion Tables much faster (a reduction in speed occurred when Aggregate 1.3 moved away from Fusion Tables deprecated API to Fusion Tables API v1).
  • Automatically create a Fusion Tables View that includes all first-level repeats.
  • change watchdog to run more frequently if there is an active publisher. Provide a 'disable' button on the Site Admin / Preferences page to restore older behavior (to conserve GAE quota).
  • issue 794 - form upload failed for some forms on MySQL with stack exhaustion.
  • issue 761 - Fix to simple JSON publisher. had caused instability when used.
  • issue 697 - popups don't show centered in screen when displayed on top of scrolling regions.
  • issue 786 - forms with repeat groups cannot be versioned.
  • issue 768 - rows-per-page value keeps getting reset on refresh..

Sensors Framework 2.0 ALPHA

  • Initial ALPHA release
  • The Sensors framework simplifies the development of sensor-based mobile applications by creating a common abstraction point that enables all sensors to be accessed through a unified interface. To access an external sensor you need a driver (such as Zebra Printer Driver) for the external device. See documentation for more details

Zebra Printer Driver 2.0