ODK Collect v1.16 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 on a test device. 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 when 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
This release adds the following features:

  • Sending submissions over SMS :heart_eyes:
  • Using rank widget to rank choices :sunglasses:
  • Randomize select ones and select multiples :dizzy_face:

We've put three new forms (SMS Test, Rank Test, Randomize Test) at https://opendatakit.appspot.com to help you try these features.

SMS submissions
You will only be able to send text messages from a device with a SIM. In server settings, change "Send submissions via" to SMS and send a destination phone number. This can be any number that receives text messages.

Some needed feedback:

  • Are the changes to the form sending screen easy to understand without retraining?
  • Are the settings clear?
  • Does the text message format work for you?

Some issues we are aware of that still need to be worked out:

  • Order of forms can change once one is sent
  • Saved forms can't be edited
  • XLSForm support is not yet available

Rank widget
Is the user interface clear? Some potential changes we have discussed are:

  • Adding numbers to the left of the items to indicate which rank each has
  • Changing the "Tap twice to start" interface to use a button like with the date or geo widgets

Randomize selects
Does it work well for you?

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

Unlike our usual betas that run for a week, this one will run for two weeks because there are a lot of changes in this release.


If you select Send Submission via SMS then the "Destination Phone Number" and ?the SMS Submission settings menu options should not be greyed out (they work but its not clear they are active because remain greyed out)

Note these options do change colour if you exit the menu and come back in to server settings but not at the time that you select SMS even though the option is available

1 Like

Also trying to send the initial SMS Test form:
error when sending "This form has no questions with SMS tags"

1 Like

Ranking widget very nice.
Personally I found the "Double tap to start" text a bit jarring from a GUI point of view - not sure if can be softened slightly.
Also I think it would be nice to display the rank numbers next to the items - i.e so I can see what is 2 and what is 7 at a glance without counting.

I note both mentioned above as possible options and I would be in favour of both being implemented


@dr_michaelmarks thanks for testing.

It's in order to support null values. You mean it should be a bit smaller or it's a bad approach at all?

I think we might add numbers as a new appearance. I can see two options:

  1. Numbers by default and an appearance eg. no-numbers
  2. No numbers by default and an appearance numbers

Hi, i have tried the SMS submission, i cant get it to work. I have downloaded the form in a device with sim, completed the form, when i try to send finalized, the check box blinks and nothing happens. Can you provide a step by step procedures of how to do it. Also the number format to be provided in the destination number.


I had tried out all three features:

  1. Ranking Widget
    The User Interface was good. The "Tap twice to start" was different than expected. It was not bad, but unlike any other buttons on ODK Collect. So it might be more intuitive to use buttons similar to data or geo widgets?

  2. Randomize Selects
    It worked well. Though I would be really interested to see what the XLSForm syntax for this feature would look like to better understand how it works.

  3. SMS Messages
    Some of the issues I and my team encountered were:

  • The form would not send with an error there was no sms tags, even though the form has the SMS tags
  • When you initially go to the server to set up the SMS Message delivery, under Send submissions via, you select SMS, the additional settings are greyed out. You had to navigate outside of server settings and go back for the options to allow you enter the destination number for the messages. Even when we had entered a number, the SMS messages did not go there.

The changes to the form sending screen are easy to understand.

The settings were pretty clear.

The text message format works.


Hey everyone! Thanks for the feedback! I resolved the errors that were causing the SMS submissions to fail.

  • Forms with SMS tags can now be submitted. A namespace issue occurred that caused the hiccup in the first place.

  • A new approach has been implemented for the transport settings so now the enabled/disabled state is displayed instantly instead of restarting the Server Settings screen.

A beta with these changes is gonna roll out in short order!


Thank you @dr_michaelmarks, @dicksonsamwel and @mschroeder for the great feedback and @joeldean for the quick fix!

@Grzesiek2010 could you please prepare a variation of rank that uses a button like the date, time or geo questions? The text can say "Start ranking". The button should only appear when the value of the question is empty (exactly when "Double tap to start" appears now). When the button is tapped, the options to rank should appear as they do now.

@alxndrsn, @aurdipas if you have other ideas for the UI, do share.

Why not always add them?


I remember that @yanokwa wasn't in favor of adding numbers (always) I can't recall if it was a comment somewhere or he said that during one of our meetings but I'm sure he was skeptical (it was long time ago when I started work on it probably a year ago)

1 Like

button "start ranking" is OK. Didn't like so much the double Tap :slight_smile:


Hi all, the SMS option look great thanks to the team, but i have three views about which I think it will be useful to researchers using ODK for data collection.

  1. In a way of saying thank you to respondents who participate in your study, you will like to send a Thank You Message to each and every respondent who provide you with his or her contact during the data collection process, can it be possible to provide an option to send the Thank you Message in a bulk form using their phone contacts, something like send to all as an option using a list of contacts.
  2. If it can also be created in such a way that one have the option to send the data/responses in collect to both wife/cellular and SMS in the server settings so that there will be main data can go to aggregate server and the fields with SMS tag can go to SMS. (I still stand by sending to multiple numbers here)
  3. A text field when use with the SMS tag replace space between words to / , so if you type Thank You, the results in the SMS will be Thank /You, if that can also be look at.


@Grzesiek2010 I don't recall saying no to numbers, but if I did, I was wrong! I think the consensus here and (on Twitter) is that we should add numbers by default.

@mschroeder Thanks for your feedback! The syntax is at https://github.com/XLSForm/pyxform/issues/183 and we will be adding it to the docs at http://docs.opendatakit.org before the final release.

1 Like

@aurdipas @mschroeder @dr_michaelmarks @Matt_Berg Here's what it looks like in the code that's going out for the next beta.

  1. You tap Start ranking button and then you are immediately shown the ranking UI inline.
  2. You can re-arrange the elements with a long press and drag like in the current beta.
  3. When you swipe to the next or previous screen it saves like every other widget
  4. To reset, you long press on the question text to remove the response every other widget

My concern is that this rank UI is not exactly like the "tap a button" widgets (e.g., date, barcode) that you find in All Widgets. In those, the button is always visible at the top, the answer is at the bottom, and changing the answer requires that you tap the button first. In rank, the button is only there when the answer is empty and all the changes are inline.

Here's what the date widget looks like:

I worry a lot about consistency, so my question is why not make the rank widget exactly like the date widget? The interaction would be:

  1. You tap Start ranking button and then a large dialog pops up (or maybe full-screen)
  2. You can re-arrange the elements with a long press and drag
  3. When you are done you click OK and the answers are printed below the button
  4. When you swipe to the next or previous screen it saves like every other widget
  5. To reset, you long press on the question text to remove the response every other widget

The pros are that this is consistent with other widgets which means consistent interactions which means less training. And it's vertically small, which can be nice for multiple widgets on a screen.

The cons are that you have to press the button each time you want to rank or re-rank. And you don't see the options when you land on that screen. And a dialog would be smaller than just doing it inline. And consistency for consistency's sake is lunacy. Maybe we do want to have more things inline.

Anyone prefer one over the other?

@yanokwa I agree on what you say about consistency. The actual version is enough intuitive and not bad at all, but if it would be possible to have the same style of the other widgets (e.g. date widget) also for the rank one, that would be better.

@yanokwa I agree with @aurdipas. Consistency is nice especially for training purposes. However, option 1 is quite intuitive and could be easily adopted by users. I think I actually prefer option 1 to option 2.

Pretty strong preference to keep what the first video shows. Depending on the device screen size, ranking in a dialog may mean having to scroll vertically while moving items around. That requires quite a bit of dexterity. In that case, not all of the choices would be visible on the screen at once which could bias results.

@aurdipas do you have any specific concerns about not having the button always available? My sense is that data collectors are unlikely to make the connection with date or geo questions and so wouldn't notice an inconsistency.

One possible concern would be that clearing an answer is not very discoverable but note that date and geo questions have that same property.

I like the button to start ranking. The screen layout looks good.
It would if possible be preferable to have a (re)-start ranking button if you go back to the question later.

Also +1 from me for @Fabla suggestion

If it can also be created in such a way that one have the option to send the data/responses in collect to both wife/cellular and SMS in the server settings so that there will be main data can go to aggregate server and the fields with SMS tag can go to SMS. (I still stand by sending to multiple numbers here)

I can see many situations where this would be useful. And/or option to send the minimum SMS dataset but keep the data so that it sends next time you have data/wifi.

1 Like

Interesting! Would love to hear more about what you're seeing as the benefits. Seems I'm in the minority so happy to be wrong on this one but it would help me to understand what the overarching goals are.

The feature we're looking at here is meant to send form contents via SMS. You can do what you're describing by launching the default text app with number and message content using the external app feature. I'll try to share a sample form soon.

Agreed with you and @dr_michaelmarks. This is planned for a later release once we know the SMS feature is used and working well.

When you design your form, you can set what the delimiter between field values should be. For example, you could set it to be | so your message would look something like SMS-test|fn|Marie Jo|ln|Bar. The delimiter is escaped for server processing. That is, if the text sent were SMS-test fn Marie\ Jo ln Bar, the server can tell that the space in the first name is part of that answer and not meant to be used as a delimiter.

Again, this feature is meant to sent texts that will be automatically read and used by some kind of server on the other end. I'll share a form to send more free-form texts (that can also include values from the form).


@LN, thanks for your respond, i will be glad to get those forms, nice work to all.

1 Like