Thanks to all who helped shape built-in audio recording, especially @Tino_Kreutzer and Ignacio who contributed to the visual design of the feature. Built-in recording is available in Collect v1.29 and ready to be leveraged for background audio capture.
We intend to build a first version of background audio capture for Collect v1.30 which will enable recording an entire form filling session as a single audio file. Examples of future additions would include configuring a subset of questions to record and configuring a probability that any given form filling session is recorded.
By default, we propose producing AMR files with a 12.2kbps bit rate and sample rate of 8kHz. This corresponds to the voice-only
audio quality option and would result in file sizes of ~5MB/hour. The other audio quality options would be configurable at the form level.
See the proposed form definition specification for more details.
We propose only recording the first form filling session. That is, if a data collector edits a saved form or the form session ends and is reopened from a savepoint, no audio would be captured. This reduces complexity and we expect that in most cases edits would not lead to useful audio. The audit log could be used to identify when form edits took place.
A recording status bar will be displayed for the duration of background audio recording. This bar will look like a compact version of the foreground reporting bar with a small waveform to provide visual feedback on audio volume:
If the form requests background audio capture but Collect can’t initiate it (e.g. because microphone permissions have not been granted), the recording status bar will indicate that recording has been requested but isn’t working:
It will be possible to toggle background audio recording from the overflow (⋮) menu. If audio recording is turned off during a form filling session, a confirmation dialog will be displayed explaining that any audio previously recorded will be discarded. If the user confirms, the audio file will be immediately discarded. The recording status bar will be updated to indicate that recording is disabled. If audio recording is turned on during a form filling session, recording will begin immediately and the recording status bar will be updated. If audit logging is enabled, toggling background audio recording results in an audit log event with name background audio enabled/disabled
. The toggle will look like the start-geopoint
toggle:
Because ODK Collect is a generic tool used around the world, we can’t provide built-in consent mechanisms. For example, in some US states, it is legal to record a conversation if only one party gives consent. Data collection contexts also vary widely so this feature could be used to capture things like notes to self or ambient sounds which would not require consent in any locale. What we will do is provide documentation that describes project designers’ responsibility to understand their local laws, IRB requirements, etc and shares some sample form design concepts for requesting consent.
Similarly, determining whether encryption or additional device protection is needed is the responsibility of project designers.
We look forward to any feedback on this user experience proposal and the corresponding spec proposal!