As recorded by the end of 2016, over 5 million of Amazon’s Echo devices have been sold in the US after being on the market for nearly two years now. If you haven’t heard of Echo, it is a smart speaker that utilizes cloud-based AI, Alexa, to answer questions from the user. Once you have enabled a corresponding Alexa function, which are called “Alexa Skills”, your Echo device allows you to set timers, call Uber, order pizza, shop on Amazon, control your smart home devices and more.
Amazon provides a development platform for developers and businesses to create customized Alexa skills according to their needs. Building Alexa skills is not particularly difficult; though it can be tricky when first getting started. In this blog, we’ll discuss a few useful tips for Alexa Skill development that will hopefully save you some time in the future and provide a better experience for end users.
1. Use re-prompt messages appropriately
Always include re-prompt messages on each speech response. Alexa will wait a short period for a user response, and if it doesn’t receive one it will re-prompt the user for input. If no re-prompt message is provided, Alexa will simply respond with “Undefined”, which just gives a bad user experience.
2. Anticipate user responses by providing Alexa with multiple utterances
Utterances are essential for Alexa to catch the user’s response precisely. Think about how a user might potentially respond to prompts within your custom skill. For example, a user might say “schedule an appointment for me”, “make an appointment”, or “set up an appointment”, all of which would lead to the same action. Creating multiple sample utterances for your skill is necessary to help Alexa understand and respond to a variety of scenarios.
3. Confirmation and error handling
Confirmation and error handling is very important to consider when building custom Alexa skills. There will be cases when Alexa completely misses or misunderstands the user’s response – developers should be sure ask for confirmation whenever a critical task is being performed – such as confirming the exact time for an appointment, confirming the correct product when placing an order, etc.
Error handling is also necessary to handle the case when a user says something unexpected. Instead of letting Alexa stop the skill by itself because of unhandled user respond, the best practice would be to ask the user what they are looking for specifically and guide the user back onto the right track.
4. Take advantage of Amazon built-in slot types
Amazon’s Alexa offers a variety of built-in “slot types” for developers to use, which save significant time and effort in enabling Alexa to recognize common, well-known proper names, product categories, and data types. Common data types such as names, times, dates, numbers, and durations are offered to simplify development and aid voice recognition. Amazon offers also many other slot types related to common concepts and proper names that aid in the development of custom skills – including actors, addresses, fictional characters, musicians, movies, sports and sports teams, and many more. Developers should absolutely take advantage of these slot types to simplify skill development.
5. Use states in your code to specify the skill flow
Using states in your code will help Alexa catch user response more accurately. For example, there could be multiple times when Alexa asks a yes/no question, where the answer could mean completely different things. Having states will help Alexa understand what the user means at a specific point in time and respond appropriately.
6. Testing with your real voice and Alexa device is essential
Do not fully rely on the Alexa voice simulator in the developer portal for testing. While the voice simulator is a useful tool for testing, it does not fully reflect all real use cases. For instance, a user’s response could include words that have multiple homophones. When you use the simulator, you always type in a response and see what the returned result looks like, so you’ll have no way to tell that some homophones might cause issue unless you actually test it with your real voice and an echo device. If you don’t have an echo device, the service Echoism.io (“Alexa in the browser”) can also be used to test out your skills, using the microphone on your computer.
In the future, we expect virtual personal assistant technologies (such as Alexa, Siri, Google Now, Cortana, and others) to continue to supplement and in some cases completely supplant mobile app experiences on traditional mobile phone and tablet devices. These types of systems will continue to enable increasingly intelligent, contextual, and personalized experiences for both consumer and enterprise use cases. Conversational user interfaces and experiences will become a necessary part of any consumer-facing product or service in the future, and will likely begin to replace many commonplace customer service interactions.
Our technology consulting professionals have experience in designing and building conversational and “chat bot” user experiences, using new tools such as Amazon’s Alexa, Google Home, and Microsoft’s Bot Framework. Contact John Sprunger for more information on how West Monroe Partners can help enable your business to drive powerful customer engagement using these emerging technologies.