codeforamerica / cityvoice

A place-based call-in system for gathering and sharing community feedback
MIT License
47 stars 35 forks source link

Let call-in users re-record voice message #249

Open jmadans opened 8 years ago

jmadans commented 8 years ago

The open-ended question asks users to articulate their concise opinion about a community issue - mostly on the fly. Users have left messages saying something to the effect of "I didn't expect to have to leave a voice message so this is rambling." Others seem to find their point closer to the end of their message. Let's give residents the chance to have a do-over an the chance to be as articulate and concise as they want to be. Apart from relieving performance anxiety for participants, it also increases the likelihood that survey organizers will get more direct, concise & high value feedback.

Proposed Solution: Right now we tell users to use the # key to end their message. Let's users them press the * key to listen to heard the prompt again and re-record their message.

jmadans commented 8 years ago

@daguar, any way to rely on twilio here? For instance, we started directing users to hit the # sign to end their open-ended feedback and I don't think that command is anywhere in the cityvoice code.

daguar commented 8 years ago

@jmadans The way it is working now is that it is relying on the default —by default, when Twilio is recording a phone call, it stops recording when the user presses any key (see the finishOnKey default here: https://www.twilio.com/docs/api/twiml/record#attributes )

So to get the functionality you're describing, there'd have to be a change in the application code to check what digit had been pressed, and if it was * then to not save the voice recording and instead re-render the same XML (how the phone prompt is coded.)

Additionally, this probably implies a change to the builder to prompt app setup users to make sure they record in their voice question prompt "press # to end recording, or press * to delete your recording and try again."

(Of course alternately you could add an additional phone prompt after recording prompting users to re-record if they want, but that's probably more effort.)