The first step in the journey to add VAX is to think about the use-cases which will be voice enabled and how the user will trigger that and how the app will react to it. As with building any feature, it's important to spec out the requirement and think through how the interaction design would be.
As a way to help formalize this thought process, we developed a Design SpecSheet.
It can be accessed as a Google sheet here. Its has some sample examples in different tables. Create a copy or download it locally as an Excel sheet to start using it
The SpecSheet is primarily a spreadsheet to help document the requirement and think through the design. Let's try to understand how to fill this up using a sample telecom app.
The first column is where you write down the top level app features you want to serve by voice.
Now for each of these features, break them down into sub-features that typically have their own flow. In the telecom example, while there is only one type of flow for viewing a plan, there are two types of roaming (domestic and international) and they both have their own internal flows.
For each of the sub-type, now list out the entities or data that needs to be collected before the app can complete that flow.
The next most important step is to provide some samples of how we think the end user will actually trigger that feature. What are some of the ways in which he or she can speak? Try to be as natural as one would be, as if they are talking to a human service provider
When the user is speaking, they might not always provide all the details that is needed to complete the flow. The next step is to list out the various combinations that we want to support in the app
The final step is to specify what action the app is going to take when any of the rows of the flows are hit. The action could be just a spoken response, or a screen transition or a combination of both.
The above steps might seem like a lot of steps, but if done well, will help you build out a better VAX integration in your app.