iOS Engineer, Ron Lisle shows us the ropes of developing an app for Amazon’s voice assistant, Alexa.
New to development or a pro who needs help? Just tweet your question to #AskADev. We’ll pick the best ones and have a developer answer them.
Want to read along?
Hi I’m Ron Lisle, welcome back to Ask a Dev. Today’s question is from Don. He asks “How do I get started developing apps for Alexa?” That’s a great question, Don. Alexa is the speech recognition system running on Amazon’s Echo device. What’s really cool is that a developer can expand Alexa’s speech capabilities by creating what is called a “Skill”. It actually isn’t very hard to do, and the entire process is free. You could even do so without owning an Echo device, but that wouldn’t be as much fun.
What does creating an Alexa Skill allow us to do? Well, you can design conversations that you can have with Alexa. This allows you to say something to Alexa that will cause it to run a program in the cloud. That program could then access other web services to do just about anything you can imagine.
For example, in one of Skills I’ve written, I’m having it access the Particle.io web service to communicate with the devices that control the lights in my RV:
“Alexa, tell My RV to dim the kitchen lights.”
The Skill that you create can have Alexa respond to you verbally with the results of having run that program, or possibly with information returned by it.
The really nice part of this is that Alexa handles the difficult tasks of converting and parsing what is said. You define the words and sentences for Alexa to listen for when you define the Skill. Alexa then passes the words to your program to do whatever you want with them.
So how does this work? There are two main components of a Skill:
The Alexa Skills Kit definition
The service endpoint
The Alexa Skills Kit definition defines the words that a user would say to Alexa using the new skill, and the service endpoint is the programming that handles responding to those words.
To access the Alexa Skills Kit, you’ll need to setup a free developer account on the Amazon Developer Portal.
For creating a service endpoint, you could create and use your own web service, but Amazon makes this easy using what is called a Lambda Function.
This part may sound a bit intimidating, but there are templates available to make this process pretty easy.
There is a very good getting started tutorial on the Amazon developer website. Go to developer.amazon.com and select “Alexa”. The tutorial is called “Build a Skill in 60 minutes”.