Hide 'take picture' & 'choose image' buttons for image widget when defaults are being used

What high-level problem are you trying to solve?
When I design a form with a default image that is loaded to the widget for annotation, it is possible for the enumerator to accidentally replace the default image if they are not paying attention.

They then need to discard the submission and start again or potentially don't realise what they've done and submit bad data. (This is not theoretical, it is happening to me and all I can do currently is put big red warning notes in the label)

Stretch: If someone is annotating and saves it, but realises they made a bad annotation, could there be a 'reload' button that could force the dynamic image to be reloaded to start again?

Any ideas on how ODK could help you solve it?
If the 'Take Picture' and 'Choose Image' buttons were suppressed, and the only option was to annotate the image, then this error would be prevented.

This would be an appearance for the widget, similar to annotate, eg no-capture, no-choose would each suppress one button so the appearance value would be annotate no-capture no-choose, or a single annotate_default to apply all three flags.

I think this is possible and perhaps not that difficult (‽) as currently annotate is an appearance that "unsuppresses" a button, and there was recent discussion about changing visible buttons for sound recording:

1 Like

Thanks so much for sharing. This makes a lot of sense to me. If the user goal is to annotate the image, not 'Take Picture' and 'Choose Image' then hiding those buttons sounds like a good solution.

Beyond removing 'take picture' and 'choose image' buttons, an additional button for this workflow that would be helpful for the use of default images would be a 'reset' (probably then with an 'Are you sure?' popup!), so that if the default had been annotated and saved but was in error, the default could be reloaded back in.

Currently in this case the submission needs to be trashed and restarted to reset the default, or adding a question that is only relevant when the image field is not jr://images/... and using it as a trigger to recalculate the default image in again.

1 Like

Interesting idea! It's certainly not ideal to reload the default image this way, but at least there is a way to do it. How frequently do people need to reset default images?

I am also curious to hear from others who might have a similar need for resetting default images in their workflow. :speech_balloon: