Hacker News new | ask | show | jobs
Show HN: Voice Overlay for iOS and Android Apps
15 points by ndessaigne 2820 days ago
We're seeing at Algolia a lot of developers implementing speech to text in their mobile apps, but didn'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.

iOS/Swift: https://github.com/algolia/voice-overlay-ios/ Android/Kotlin: https://github.com/algolia/voice-overlay-android/

We wanted to take away the boilerplate necessary and leave the UI and other customizations in place.

We've been looking forward to sharing this with the HN community and getting your feedback!

3 comments

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?
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.)

The Android version looks like a really bad iOS port, complete with double permission prompts, ridiculously loud colours, and excessive gradients.
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...): 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...), 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.`

I work for Algolia, and touch on this project but didn't build it myself. That said, I can speak to it well.

The overlay isn't forcing any specific UI--what you see on Github is an example design. (I shared with the designer that we should get something on there that looks more Android native.) Each of them were built specifically for the platform to handle the permissions, the output, and to provide a framework for the design, without forcing you into one.

The iOS version isn’t too idiomatic either.
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 ?
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.