
Show HN: Voice Overlay for iOS and Android Apps - ndessaigne
We&#x27;re seeing at Algolia a lot of developers implementing speech to text in their mobile apps, but didn&#x27;t see much in the way of tooling to help them do it. So we set out to fix it, and wanted to release it not just for our users, but for any devs who want to do this.<p>iOS&#x2F;Swift: <a href="https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;voice-overlay-ios&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;voice-overlay-ios&#x2F;</a>
Android&#x2F;Kotlin: <a href="https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;voice-overlay-android&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;voice-overlay-android&#x2F;</a><p>We wanted to take away the boilerplate necessary and leave the UI and other customizations in place.<p>We&#x27;ve been looking forward to sharing this with the HN community and getting your feedback!
======
saagarjha
I don’t know about Android, but standard iOS text controls allow for using
voice input, and I’m pretty sure iOS has a voice recognition API as well. So,
is this just a UI library?

~~~
dustincoates
Sorry for the late reply, but this is built on top of the iOS and Android
voice recognition APIs. It's a UI library and it handles the permissions, as
well.

(I work for Algolia, touching this project but didn't build it myself.)

------
Nullabillity
The Android version looks like a really bad iOS port, complete with double
permission prompts, ridiculously loud colours, and excessive gradients.

~~~
plnech
Having worked on the Android library, I'll try to answer your comment.

\- Regarding the aesthetics of the overlay, it is indeed an opinionated design
with a colorful style. You can however customize its colors, or replace the
animation altogether if it doesn't fill your needs: the aim of this library is
to provide a plug-and-play voice input that you can adapt to your needs, not
to force you to use any color if you find it too loud for your use-case :)

\- Regarding permission prompts: the iOS version indeed asks for two
permissions, but the Android permission model only requires one
(`RECORD_AUDIO`). This library however helps implement the [recommended
permission
handling]([https://developer.android.com/training/permissions/requestin...](https://developer.android.com/training/permissions/requesting)):
Explain why the app needs permissions, Request the permission and Show an
explanation to the user asynchronously if they deny it, including manual
instructions to enable it if the user previously checked "Don't ask again".
This is also consistent with the [documentation on App permissions best
practices]([https://developer.android.com/training/permissions/usage-
not...](https://developer.android.com/training/permissions/usage-
notes#be_transparent)), which tells that `whenever possible, you should
provide an explanation of your request both at the time of the request and in
a follow-up dialog if the user denies the request.`

------
lucasverra
Hey there, im a PO of web apps. How can this make my life (or my users) easier
or simpler ? I understand that this is for native apps, but is this coming to
web also ?

~~~
dustincoates
Our goal was to make it easier to implement voice input into native apps. You
could do all of this without the overlay, but this is just to do it quicker.

The question about the web is a good one. It's something we'd really like to
do. The trouble there is that whatever we built would have to (outside of
Chrome) need to use a third party API rather than the native STT you get in
Android and iOS apps. We'll keep looking at the demand for it, though, to see
if it's something we can devote time to.

