Google Home Business Voice Application
Google released their Home Personal Assistant device in early 2017, initially in the USA, and then more recently in the UK and Europe. Similar to the Amazon Alexa, Google Home places a voice enabled assistant directly into your home.
The Voice Application I developed was for 360Jungle and was the first app to be released in the Business and Finance section of the Google voice app store.
Voice User Interface
Creating a voice app for Google Home requires a new approach to the software analysis / design phase of a project - the development of a voice user interface (VUI).
A voice app consists of a series of 2 way conversations (between the device and the user). Each conversation has to be worked through meticulously to drive out the key elements of dialog that can subsequently be used as variables to determine a response.
As an example, a customer might ask "How much do your products cost?", in response the VUI might seek clarification by asking "Are you enquiring about Product A or Product B?", to which the customer replies "Product B". Product B is then used in a query to the database to get a price that can be spoken back to the user.
DialogFlow.com was the software used to build the conversational VUI of the voice app.
Restful Knowledge API
DialogFlow is a great place to start building voice applications, however, to unlock its real potential it needs to be hooked in to custom Restful services. These services are used to derive answers to more complex user questions.
As an example, you may want your Google Home app to give out prices for your products, or maybe answer questions from an existing knowledgebase. DialogFlow will pull variables out of user speech, which are then passed to your API. The API then passes back a custom answer containing dynamic information e.g. "The price of Product B is just £1.99".
The 360Jungle voice app has a custom .net based web api that backs onto an 'answers' database. This database can then be dynamically updated over time without having to re-deploy the voice app whenever an answer to a question changes.
The final part of the Voice App jigsaw is the Google Assistant. With the Conversation Framework in DialogFlow and the custom API deployed, the last step is to package up the app and submit it to Google for consideration.
App submission can take anything up to 2 / 3 weeks and you can expect to have to makes some tweaks and re-submit a couple of times - Google expect quality, and will reject you app for the smallest spelling mistake.
For a demonstration of the 360Jungle voice app in action on Google Home take a look at the video!