Repeat Groups -Add "null" Repeat Dialogue and Remove Repeat

1. What is the issue? Please be detailed.
ODK Collect v2024.3.0 Beta 4

  1. Removing a repeat group is very unintuitive. Could we just have a button added on the left side of the repeat dialogue or whatever the attached screenshot is called? The button could just say "Remove".

  2. The repeat groups dialogue is also off-putting. Is there a good reason "null" cannot be changed to "repeat" or "repeat group".

  3. Also, "Do Not Add" should just be changed to "Cancel" like most standard dialogues.

2. What steps can we take to reproduce this issue?
In ODK Collect, after completing the first repeat group, click Next. You can also click the plus button to the left of the save disk that appear during a repeat group.

3. What have you tried to fix the issue?

4. Upload any forms or screenshots you can share publicly below.

Note the location of the plaint text edits that would match the UI theme colors appropriately.

1 Like

How commonly does a repeat instance need to be removed in your context? Can you please tell us about how the need to delete is discovered and what the user does next (e.g. do they add a repeat to replace what they had before)? There's the potential to lose a lot of data when deleting a repeat instance so there are tradeoffs in exposing it more.

Interesting! We must not have tested with a blank repeat label. Yes, we can make a better generic prompt in case of no repeat label. I'd also recommend specifying a label for the repeat so that it can be used in this context. We have this described in a note at https://docs.getodk.org/form-logic/#user-controlled-repeats and maybe we should make it more visible.

:+1:

1 Like

Hie @Tyler_Depke could you please help me with the odk form you used to get this issue? I am starting new to contribute to ODK Collect. Would be super helpful for me to debug and try to fix it. Thanks!

This XLSForm should reproduce the issue -- it has a repeat with no label.

It’s been a while since we made this change. We are curious to know how it’s working for everyone?

Recently, we’ve heard “Cancel” confuses data collectors, and they aren’t sure what’s going to happen next. What if instead of “Cancel” we say “Don’t add” and include icons to make the two actions more clear. What do you think?

3 Likes

Hi @Aly_Blenkin, I was about to post about it...
Yes, I think "cancel" is confusing and can let enumerator think it will cancel the last iteration.
"Don't add" or simply "No" is more explicit and not confusing.

1 Like

Hi all,

We've found that the Cancel button can be confusing for some of our data collectors as well. Many users seem to assume that Cancel does more than simply stop another repeat from being added, and they worry it might cause them to lose data.

Using labels like ‘Do not add’ or even just ‘No’, as @mathieubossaert suggested would probably describe the action more accurately than ‘Cancel’.

1 Like

Agreed. Because of the panic-struck ‘what happens if I select cancel’ questions I’ve had during testing, I have taken to using the method in the docs with a separate ‘more friendly’ select_one question:

  • Would you like to add another [group-name]?

[hint / guidance] Selecting Yes will return you to the beginning of this set of questions to repeat the process. Selecting No will allow you to fill in the rest of this form - you can navigate back here using the jump menu

  • Yes
  • No

This produces two additional columns in datasets, which can be a bit annoying, but seems to be more useful for enumerators.

It’s not clear to an inexperienced enumerator what’s happened when they ‘step outside the loop’ if the repeat is in the middle of the form, or how to easily find their way back, if they need to add another repeat ‘unexpectedly’. Not yet sure how to address that (except perhaps with a note after the repeat - ‘Welcome to the outside world’?).

1 Like

I have also had to explain that 'cancel' is exiting the infinite loop and not the entire form.

I hadn't considered trying the 'repeat as long as a condition is met' approach, but have resorted to some awkward repeat names so the message popup reads a little clearer, but the first one is then weird. eg 'another item' so the message says 'Add another item?', but then the first is already 'another item'

x Don't add | + Add is clearer to me than the current configuration, as it's more obviously prompting to 'add a photo?' 'add an item?' 'add a tree?'. The only way to be even clearer is to somehow indicate that 'don't add' is only exiting a repeat but that's a lot to communicate in a popup.

2 Likes

Thanks for all the feedback! We certainly don’t want people to panic or be confused by the cancel button, and it sounds like Don’t add with the icons works for most of you.

I also considered Finished or Done but I wasn’t sure if that was more confusing or not.

Sorry, I'd say at least as confusing as it potentially conflicts with having finished the Form... Without wanting to teach you to suck eggs, we need this to be 'impossible' to mistake for any other action / implication.

If the pop-up can't provide context (i.e. you are at the end of a loop / repeat - also bearing in mind enumerators might not speak ODK) then I'd say Add / Do not add would have least potential for panic / confusion. Which is a long way of repeating @ahblake (I'm such a sycophant :slight_smile: ).

Or perhaps even more simply: answer the question in the pop up as Yes / No

2 Likes

Thanks for bringing up this discussion, I have also been facing trouble training the enumerators. I suggest using ‘Exit list’ instead of ‘Finish’ or ‘Don’t Add’.This way it serves both purpose “to not add the item to the list” and “not exiting whole form”. Meaning only the list/loop is being exited. These words are descriptive and brief enough to fit the dialogue window. Mostly we use the repeat group in listing/recording a list of items. So using the word list is very intuitive to the purpose. Otherwise am okay with other suggestions apart from ‘cancel’.