TL;DR Web Speech Recognition has a vendor prefix on desktop. We are asking for feedback on whether to use the same vendor prefix on android, or to remove the prefix across desktop and android to move recognition behind a flag.
Emails
Spec (mind: unofficial)
Summary
The Web Speech Recognition API’s goal is to enable web developers to programmatically incorporate speech recognition into their web apps. It is already implemented on desktop and exposed since M25 with a vendor prefix (“webkitSpeechRecognition”).
We intend to leverage Android’s excellent platform speech recognition capabilities by implementing the Web Speech API’s SpeechRecognition in Chrome for Android. This will expose the same JavaScript interfaces as on the desktop: webkitSpeechRecognition, webkitSpeechRecognitionEvent, webkitSpeechRecognitionError, webkitSpeechGrammar and webkitSpeechGrammarList.
Note that the specification also defines a SpeechSynthesis interface, which is out of the scope of this Intent to Implement as it was handled in a separate one. FYI its launch bug tracker is at
http://crbug.com/239503.
Exposing “webkitSpeechRecognition” on mobile will further increase the incentive for developers to use the vendor prefix. Since Blink came with the promise not to use vendor prefixes for new features, because they are painful for developers, we are interested in feedback as to how best deal with the existing prefix.
The two options we are considering are:
1) Keep the prefix on desktop and use the same prefix for the android version.
2) Remove the prefix and hide both desktop and android versions behind the same flag.
API test pages
Motivation
“Voice commands are going to be increasingly important. It’s just much less hassle to talk than type! So this quarter we launched Chrome support for web speech APIs. Developers can now easily add voice recognition into their web apps. We expect to see a lot of innovation there.”
Android’s platform voice recognition capabilities are excellent, and work both online and offline. Exposing it on mobile Chrome will allow a new generation of voice-driven web applications, unleashing innovation in domains like speech-to-text dictation, conversational apps and more.
Compatibility Risk
Low. The compatibility risk due to the unofficial status of the specification and the absence of other browsers exposing it is offset by the use of the vendor prefix. Once a consensus emerges among browsers, we will be able to remove the prefix (or flag) from both desktop and android. A consensus on the Web Speech API seems likely, because Safari implemented the SpeechSynthesis interface, and Firefox already implemented the whole API, though they shipped without an engine, so their API has no effect yet and they haven’t talked about it in their release notes.
Firefox:
Opera: N/A
Internet Explorer: N/A
OWP launch tracking bug
Row on feature dashboard?
Yes
Requesting simultaneous permission to ship?
Our immediate goal is to expose the feature behind either vendor prefix or flag to perform testing across desktop and mobile, and surface spec issues to route back to the W3C.