Alpaca icon indicating copy to clipboard operation
Alpaca copied to clipboard

Ask for users consent before downloading the speech model

Open lightonflux opened this issue 7 months ago • 3 comments

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.

lightonflux avatar Apr 13 '25 17:04 lightonflux

Hi thanks for the feedback this is what I did:

1. Option to select from multiple models

Image

2. Consent when using model for the first time

Image

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

Image

4. Added option to delete model from model manager

Image

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.

Image

Jeffser avatar Apr 14 '25 21:04 Jeffser

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.

SuperUserNameMan avatar Apr 15 '25 08:04 SuperUserNameMan

Fair enough I did not considered that.

I'll just make it show an error dialog if it fails to download the model.

Jeffser avatar Apr 15 '25 21:04 Jeffser

Hi I just added the error message if the TTS model can't be downloaded

Image

https://github.com/Jeffser/Alpaca/commit/3e6db2f411e195649e3b8858c25ccbd82b819ce0

Jeffser avatar Jun 03 '25 23:06 Jeffser