ODK Collect v1.12 Beta

ODK Collect betas are an opportunity to get community feedback on upcoming releases. If you have an ongoing data collection campaign, we recommend quickly verifying part of your form. The release will be delayed until all reported issues are fixed.

Joining the beta program
To join the beta program, find ODK Collect in the Play Store and scroll all the way down. Please don't join the beta with a device or account actively used for data collection! In particular, note that joining the beta is account-based. If you use the same Google account across multiple devices, do not join the beta with that account.

Leaving the beta program
You can leave the beta program from the bottom of the Play Store page at any time. Once you leave, you will get the next production update once it is released. If you need to go back to the previous production release, uninstall and reinstall the app. Your settings will be reset but your forms will remain (though backups are always recommended).

What to check in this release
Thanks so much to everyone who has reported issues or made suggestions (@luis_gabriel_Bohorqu, @Megan_Schroeder, @Frances, @Lieke, and others). Please confirm that this beta fixes them!

The important changes to verify are:

  • Device-wide setting to prevent moving backwards (Admin Settings, Form Entry Settings)
  • New calendars with 'coptic' and 'islamic' appearance
  • Show separators for numbers with 'thousands-sep' appearance
  • Faster downloads of large forms
  • Deleting a repeat when there are many repeats

Note: a new version of the All Widgets form on the https://opendatakit.appspot.com server has been published and includes the new appearances.

If you have some time, please also verify the other changes in the release notes:

The upcoming release will go out to the Play Store on Sunday unless you report any problems below.


Great work everyone!

As one of the people who requested the thousands separator I decided to try it out (thanks for building it @srv-twry!).

It's working very well in my forms with one exception: if my android device is set to a language that uses the period as a thousands separator (I tried for example Dutch, German, Vietnamese) fields that have a thousands-sep appearance do not accept input (as in, if I try to type numbers they don't appear on screen).

For languages that use the comma or space as thousands separator (e.g. English, French, Swedish) it's working fine. Any idea why this is happening?

I use a tablet with Android 5.1.1. Let me know if you need more information!


I will look into it right now.


Good catch, @Lieke!

We can fix part of the issue but unfortunately, it looks like we won't be able to perfectly support all locales immediately. You've probably already noticed that the decimal marker is not localized in regular decimal fields and is always set to a period. That's an Android issue - https://issuetracker.google.com/issues/36907764. There are workarounds that could be explored but that will not be available for this next release.

For now I see two options:

  • Use '.' as the thousands separator for locales that use it. This will mean that it's not possible to enter decimals with the thousands-sep appearance for those locales because the decimal marker is also '.' For numbers that don't use the thousands-sep appearance '.' will continue to be the decimal marker. Having '.' mean different things for different fields seems confusing to me.
  • Use ' ' as the thousands separator for locales that normally use '.'. For example, a number that in German would usually be represented as '2.017' would be shown as '2 017'.

I'm leaning towards the second option. What do people who want to use this in languages that use '.' as thousands separators think?

1 Like

I would also be in favour of the second option. The main function of the thousands separator in our case is to help people keep track of how many zeros they've entered, and a ' ' does that just as well as a '.'. And having '.' mean different things in the same questionnaire would indeed be confusing for the user.