Alpaca
Alpaca copied to clipboard
Ask for users consent before downloading the speech model
Describe the bug
When clicking the mic symbol to activate speech recognition, the app just starts downloading the model.
Expected behaviour
The app should indicate that the button press triggers a download before clicking it. E.g. with a different symbol or by presenting the user with a choice to postpone the download via a dialogue.
Why is this important? The network might be metered and incurs cost to the user. Or the user does not have the storage space or wants to use it for this feature.
In the context of Shneiderman’s 'Eight Golden Rules of Interface Design':
Consistency: Other downloads in Alpaca are clearly communicating that a download is about to happen e.g. by using a download icon, also other downloads in the app provide feedback about progress and offer a button to stop the download.
Feedback: The toast with the download message disappears quite quickly. But if your internet connection is slow the download can take some time without informing the user about the progress (except for the "stop" button).
Error handling: Haven't seen the error UI yet, but i assume it is a toast. Then repeatedly clicking on the mic symbol could be quite frustrating.
Hi thanks for the feedback this is what I did:
1. Option to select from multiple models
2. Consent when using model for the first time
3. Show model being downloaded in model manager
There's still work to be done here because it isn't clear that the model is STT
4. Added option to delete model from model manager
Text to Speech Approach
Now for TTS, it won't ask for consent, this is because each model is around 1MB so I don't think it matters that much.
Now, you can still see which ones are added from the Model Manager and can still remove them if needed.
Now for TTS, it won't ask for consent, this is because each model is around 1MB so I don't think it matters that much.
The computer might be offline, and the user might not understand why nothing happens.
Fair enough I did not considered that.
I'll just make it show an error dialog if it fails to download the model.
Hi I just added the error message if the TTS model can't be downloaded
https://github.com/Jeffser/Alpaca/commit/3e6db2f411e195649e3b8858c25ccbd82b819ce0