Technical Considerations for Voice Assistant Development

The iOS platform created new possibilities for mobile computing when it was first released in 2007. Platforms such as Amazon’s Alexa and Google Assistant are providing similar opportunities for voice apps. These next generation apps are now going well beyond performing relatively simple tasks such as playing music and retrieving weather reports. The adoption trend in voice apps both by consumers and businesses is undeniable.

Voice Assistant Application Development

No different from mobile application development, the need to support multiple platforms presents a challenge for voice app developers. Alexa and Google Assistant are already commercially available, and other platforms such as Bixby and Cortana are contenders for greater market share in the virtual assistant market in the near future. Voice apps must therefore support platforms with a variety of form factors and features, including touch controls, motion sensors and others.

The speed at which voice platforms are evolving is also a major consideration for developers and application providers. This rate of change can be measured by the frequency of versions in these platforms. For example, three major updates of Alexa were released in 2017, and multiple minor versions are typically released each month. Some of these versions included changes that prevented older apps from working at all.

The solution to this problem is to use common frameworks and libraries that abstract much of this complexity in the same way that JavaScript frameworks like JQuery simplified the development of mobile apps. Instead of writing separate JavaScript code for each web browser, JQuery allows developers to write code only once. Similarly, platforms like the one from Prodigy can unify voice apps so that developers don’t need to worry about accommodating multiple platforms.

Mobile App vs. Voice Assistant Development Best Practices

The lessons and tricks learned from mobile app development will allow developers to zone-in best practices for voice apps. Mobile app developers generally try to learn what the customer wants without investing more time than necessary, which often includes the use of evolutionary prototyping. This approach typically involves developers creating screen mockups, which the customer can then review. Screen mockups usually don’t require a great deal of time to develop, allowing developers to quickly refine the app’s front end to the customer’s liking without investing in the back end. Voice app developers can use a similar process, in which they create a voice mockup they can present to the user.

The use of common frameworks and software development kits (SDKs) is another best practice in voice app development that can be carried over from mobile apps. These tools allow developers to target multiple platforms without writing code for each device. The ability to abstract code is even more important in voice apps due to the newness of this technology.

Conversational Application Deployment

Developers need to deploy their completed voice app before users can access it. To be distributed on platforms such as Amazon and Google, a newly developed (or modified) app must be submitted for certification before it becomes available to end-users. By controlling the certification requirements, these platforms are ensuring that apps don’t negatively impact their quality perception from end-users. Experienced companies like Prodigy know how to structure an app’s releases in a way that minimizes the need for subsequent revisions to require additional approval.

Some criteria for deploying an app deals with its functionality. For example, the Amazon Appstore requires developers to thoroughly test their apps and ensure they’re stable and free of obvious defects. The app must provide a well-thought-out experience that doesn’t confuse users, including indications of when a user’s actions have succeeded or failed. It must also fail gracefully when the user attempts to access an unsupported feature, generally by providing an appropriate message.

The takeaway

Developing a successful voice application requires a number of technical considerations. These include technical strategies to facilitate support for multiple voice platforms, leveraging best practices for voice app development, and careful planning around platform-specific requirements for deployment.