In my story titled “Just the Facts, Alexa” I talked about my first experience building apps for the Amazon Echo. (If Alexa and Echo mean nothing to you, I suggest you read that.) In this next story I dig deeper into more robust features, using a third party API service and Custom Slot Types for allowing more flexibility when asking Alexa questions. If you live in Austin, you will be especially interested in this new Skill!
To date there are still less than 1,000 Alexa Skills written for the Echo. Amazon is pushing hard for developers to build custom tools using their platform; they provide all types of education on how to build a Skill for the Echo. I got 2 shirts from Amazon for the Fact Skills I built when first learning the platform. Thanks Amazon!
Then again, I’m not doing this to expand my collection of random tech shirts. I’m interested in the Echo and what crazy new things we can build to take us beyond a phone, tapping on a screen, or typing on a laptop. Something that brings us closer to the physical world. Something that…tells me where to drink? Yes, where can I get a cheap drink in Austin, Texas? Oh, and where can I see some live music too? Right?
Meet ATX Dillo*
ATX Dillo is my latest creation available in the Amazon Skills listing. The invocation (how you launch the skill when speaking to Alexa) is simply Dillo. Why Dillo? Because Dillo digs things up. Well, two things for now: happy hours and shows. With ATX Dillo you can call up a happy hour occurring today in Austin:
“Alexa, ask Dillo to dig up a happy hour.”
Looking for live music to see on the weekend? You can have Dillo to dig up a show:
“Alexa, ask Dillo to dig up a show on Friday.”
Behind the Scenes
This was my first time working with Custom Slot Types. Custom Slot Types allow you to grab information a user says and use it to serve up the correct answer. For instance, my Custom Slot Type for this Skill is called LIST_OF_DAYS. This consists of a list of weekdays: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday. So when a user says “Alexa, ask Dillo to dig me up a show on Friday”, I grab “Friday” from the user response and use it to present an option happening in Austin on the next occurring Friday.
Skill Certification Woes
Now that I have gotten a handful of Skills published for the Amazon Echo, I want to share some thoughts on the certification process. The TLDR version? It needs work. More specifically:
I failed certification because why?
I’ve seen a few reasons for denying certification come back that are vague at best. For instance, I’ve been denied because my code breaks if they add elements to their JSON response coming from the Echo. I tested it by adding more items and it worked fine. What does this mean? It means they should be more specific and actually write out the steps they took in order to reproduce the error. Otherwise I’m all ¯\_(ツ)_/¯.
When naming your invocation, choose wisely (or dumb-ly?)
I thought I had a really cool invocation name for one of my Skills, but Amazon didn’t think so. For a skill called Bueller, they came back with “Your invocation name is generic and may cause customer confusion.” I disagree. If this data is correct, my audience will most definitely know Bueller by name. So I changed the name to Ferris Bueller, thinking “that oughta fix it.” But no, it failed it again: “Your invocation name does not meet the necessary requirements.” I looked up their requirements, and I think this one did me in: “The skill invocation name must not infringe upon the intellectual property rights of an entity or person.” By the way, I will talk about the skill Bueller (now called Totally 80s) in Part III of this series.
In the final part of this series I will talk about the latest skill I’ve been working on. As of today, Amazon has yet to certify it, and for fair reason that I’ll detail in the next post. I’ve also entered this skill into a hackster.io contest that has lots of really cool entries.
This entire experience of building Amazon Alexa Skills has been real, y’all. But…I have to say, the more I do it, the more I’m looking forward to what Google has to offer as an alternative to the Echo. I wish Amazon all the best, but they better step up their game.