soupslurpr / Transcribro

Private and on-device speech recognition keyboard and service for Android.
ISC License
426 stars 9 forks source link

User Experience - Suggestions for Improvement #49

Closed UnitedWithCode closed 3 months ago

UnitedWithCode commented 3 months ago

This voice keyboard app for Android phones is fantastic! I really enjoy using it. The error rate is quite low. There are just a couple of things I think could be improved.

First, would it be possible to turn off the sound notification that plays when you start and stop recording?

Second, when you start recording, a message letting the user know it's recording would be helpful. Similarly, when you stop recording, a loading or processing sign would be great. Right now, I press stop and don't know how long the processing will take. From a user interface standpoint, these small changes would make a big difference.

soupslurpr commented 3 months ago

Heyy thanks for the feedback!

  1. It only plays when the system ringer is set to sound, similar to other voice inputs I've seen such as Google's.
  2. I think the fact that its recording is adequately shown with it being toggled + the system showing the microphone access indicator at the top right. I initially tried to implement an infinite loading circle as a sign its processing but failed to because it added padding that messed with the rest of the UI. I may try to do that again, but since we don't know the actual progress of the transcription (due to how the model works), it has to remain an infinite loading circle rather than one that advances with progress. Perhaps there could be an estimated time remaining based on the length of the audio and average of previous runs but its still dependent on how fast you speak and possibly other factors too.
UnitedWithCode commented 3 months ago

A simple loading indicator, like an infinite loop, would be perfectly fine. We don't actually need to see how much progress something is making. Users don't need a detailed progress bar. All they need is a visual cue that shows something is happening after they've pressed a button. That lets them know their action was received and is being processed.

We need visual signals to let users know when the recording has begun, ended, and when the system is working on processing the audio. Think about other voice-to-text programs, like those made by Google. They clearly show users when they can start, stop recording, and when the system is busy converting their voice to text. We need to do the same thing.

soupslurpr commented 3 months ago

I agree but as I said the infinite loading loop may not work due to it adding padding. A progress bar at the top of the recognition toggle should work, but I'm not sure how that can be infinite.

soupslurpr commented 3 months ago

BTW I created #51 and #53 to address those points.

UnitedWithCode commented 3 months ago

Thank you very much for proactively taking this feedback