In our first post, we shared why Discovery decided to build an Alexa skill and what requirements they outlined as they thought through what the voice experience should look like. In this post, we’ll share how they built and tested their Alexa skill and their tips for other Alexa developers.
When Stephen Garlick, Lead Development and Operations Engineer at Discovery Channel, took the lead in developing the Alexa skill, it was a chance to learn how to design a new experience for customers. He had no prior experience with AWS Lambda and Alexa Skills Kit (ASK). To start, he spent some time digging into online technical documentation and code samples provided on the Alexa Github repo. This helped him gain a deeper understanding of how to build the foundation of the Alexa skill and handle basic tasks.
By using AWS Lambda and ASK, Stephen and team were able to keep things simple and quickly deploy the code without the need to set up additional infrastructure to support the skill. Additionally, they were easily able to extend the node.js skill without having to create a skill from scratch.
Initially, Discovery used Alexa to respond with facts; later, they decided to customize her voice by using a mp3 playback. To accomplish this, Stephen used the SSML support for mp3 playback and AWS S3 with cloud front for hosting the files reliably. Each mp3 was less than 90 seconds in length, 48 kbps, and adhered to MPEG version 2 specifications. All the resources were created and deployed using the AWS CloudFormation service.
For the countdown feature, Stephen pulled in the moment.js dependency into node.js to help simplify some time-based calculations. The countdown now combines a mp3 playback for everything except the actual time which is played back by Alexa.
To test the skill, they used the skill test pane within the Alexa app. The testing tool made it easy to quickly test various scenarios without an Alexa-enabled device. Once the skill was operating as expected (and desired) in the test pane, Stephen asked other people to test the Shark Week skill on Alexa-enabled devices. This allowed them to collect additional feedback and iterate accordingly.
Overall, the entire process of learning these new technologies, coding, and building the skill took no more than 12 hours. This included a few iterations of the Alexa skill as well.
Tip #1: Make The Skill As Human As Possible: Initially, Discovery had the Alexa voice state each of the randomized facts. In an attempt to assist with the pronunciation, they spelled a few of the words and numbers phonetically. However, in doing so, the cards displayed in the Alexa app weren't correct. It quickly became apparent that a recorded reading of each fact eliminated the pronunciation issues, enabled proper spelling of facts for the cards in the Alexa app, and made the entire experience more personal.
Tip #2: Plan for Time Sensitive Coding: If you're building time specific functionality (e.g.; a countdown timer to a specific time), make sure you think about what happens when the specific time arrives. The team at Discovery was able to account for the Shark Week kickoff by providing three different countdown messages based on time in each specific time zone. The first was the countdown lead in, the second was a message indicating that Shark Week already started, and the third indicated that Shark Week had concluded and that the Shark Week website provides other shark-related information year-round.
Tip #3: Control for Volume: If you're using a combination of recordings and Alexa powered speech, make sure the volume levels are consistent throughout the experience.
Tip #4: Be Creative with Your Intent Schema and Utterances: People think, act, and speak differently. Therefore, it's important that you account for as many different intents as possible. For example, after you ask for a Shark Week fact, the skill will ask if you would like to hear another. Just a few of Discovery’s "no" utterances include "no," "nope," "no thanks," "no thank you," "not really," "definitely not," "no way," "nah," negative," "no sir," "maybe another time," and many more. It's better to be as inclusive as possible, rather than having Alexa unable to understand.
Tip #5: Take Chances: Push your limits and think big when it comes to building your Alexa skill. Discovery started the project with a broad scope in mind and were able to quickly iterate and resubmit the skill for certification.
Share other innovative ways you’re using Alexa in your life. Tweet us @alexadevs with hashtag #AlexaDevStory.
The Amazon Alexa team has collaborated with Big Nerd Ranch, known globally for its highly effective immersive development bootcamps and app development services, to develop deep technical training courses for the Alexa Skills Kit. Today we launch a new developer education experience that showcases all the free learning materials created in collaboration with Big Nerd Ranch.
Our six educational modules will dive into building voice user interfaces using the Alexa Skills Kit. The training materials will teach you about the Alexa skill architecture and interface configuration, slots and utterances, sessions and voice user interfaces, persistence, account linking, and certification and testing.
Each module page features a variety of learning materials:
Start learning: check out our new developer education pages.
Check out these Alexa developer resources:
Hello, my name is Michael Palermo, and I recently joined the Alexa team as the first dedicated evangelist for smart home. When friends and acquaintances ask what I do, they often looked puzzled before I get past my title. Inevitably I get questions like: What is a “smart home”? Who or what is Alexa? Why are you called an evangelist?
In this post, I’ll answer a lot of these questions. Granted, you may already be familiar with some of the topics, but stay tuned as I will also provide additional insights as to why it might matter to you.
The term “smart home” or “Connected Home” (CoHo) refers to a residence consisting of one or more smart products which enhance the living experience with benefits such as convenience, control, and optimization of resources. A product is deemed “smart” when it is capable of communicating with other smart products and/or a user interface to manage it.
From a consumer perspective, a more familiar brand name is Echo. Alexa is the voice service that powers Echo and other similar devices like Amazon Tap and Echo Dot. With Alexa, developers can build new voice experiences with the Alexa Skills Kit (ASK) or by adding voice to connected devices with Alexa Voice Service (AVS).[Read More]
Today we’re happy to announce the new alexa-sdk for Node.js to help you build skills faster and with less complexity. Creating an Alexa skill using the Alexa Skills Kit, Node.js and AWS Lambda has become one of the most popular ways we see skills created today. The event-driven, non-blocking I/O model of Node.js is well suited for an Alexa skill and Node.js is one of the largest ecosystems of open source libraries in the world. Plus, with AWS Lambda is free for the first one million calls per month, which can support skill hosting for most developers. And you don’t need to manage any SSL certificates when using AWS Lambda (since the Alexa Skills Kit is a trusted trigger).
While setting up an Alexa skill using AWS Lambda, Node.js and the Alexa Skills Kit has been a simple process, the actual amount of code you have had to write has not. We have seen a large amount of time spent in Alexa skills on handling session attributes, skill state persistence, response building and behavior modeling. With that in mind the Alexa team set out to build an Alexa Skills Kit SDK specifically for Node.js that will help you avoid common hang-ups and focus on your skill’s logic instead of boiler plate code.
With the new alexa-sdk, our goal is to help you build skills faster while allowing you to avoid unneeded complexity. Today, we are launching the SDK with the following capabilities:
Today, we’re excited to announce a new Alexa skills course available on Pluralsight, a global leader in online learning for technology professionals. The new course is focused on building custom Alexa skills in C# and ASP.NET Web API. In this four-module course, “Developing Alexa Skills for Amazon Echo”, Alexa developer and Pluralsight author Walter Quesada teaches the foundations of developing voice experiences for Amazon Echo and other Alexa-enabled devices. First, you'll learn the differences between Echo and Alexa, as well as the differences between the Alexa Voice Service and the Alexa Skills Kit. Next, you will quickly evaluate the 'Hello World' node.js sample code provided by Amazon. Finally, you will learn the certification process and requirements, publication stages, and how to create new versions of live skills. By the end of this course, you'll be better prepared to build and publish Alexa skills, or capabilities, for Alexa, the voice service that powers Echo.
Watch the video series for free today.
“I’m excited for developers in the Pluralsight community to watch this first ever course on developing Alexa skills in C# and .NET. I can’t wait to see what you build. Let me know in the Pluralsight discussion forums.” – Walter Quesada, Pluralsight author
If you need more information about Alexa before getting started, Dave Isbitski, Chief Evangelist for Alexa and Echo, has got you covered. In this exclusive webinar created for Pluralsight, Dave will walk you through the world of Alexa Skills Kit and how you can create your own voice-driven experience. The webinar starts by diving into the basics of Alexa, the SDKs, and resources to get started. Next, you’ll learn how to build an Alexa skill quickly by walking through code and interaction models.
Watch this webinar to learn more about the Alexa Skills Kit today.
Check out these Alexa developer resources:
Craig Johnson, president of Emerson’s Residential Solutions business, claims it was inevitable. “Thermostats are no longer just passive HVAC controllers hanging on your wall. The convergence of wireless and mobile technologies allowed us to develop a thermostat that allows better temperature control, programmability and scheduling, as well as remote access.”
Even before Amazon’s Smart Home Skill API was publicly released, Johnson was excited about smart home. Prior to Smart Home, Emerson had a fully functional mobile app and internet portal our customers could use to control their Sensi thermostat remotely. But integration of Alexa is a natural extension of that remote access and remote functionality.”
In February 2016, Johnson’s software development manager, Joe Mahari, jumped on board the Smart Home beta program. In just four weeks’ time—and by the time Amazon officially launched the Smart Home Skill API—Mahari’s team had built and tested its Sensi Smart Home skill and passed certification.
The Smart Home Skill API converts a voice command, such as “Alexa, increase my first floor by 2 degrees,” to directives (JSON messages). The directive includes:
It then sends the directive to the methods implemented in the Sensi skill.
According to Mahari, Emerson implemented three main directives. Examples of these are:
The Emerson team agrees the skill and API were well packaged and supported, end-to-end. “Amazon defined the use case very crisply,” said Johnson. “We received a deck of scenarios to achieve, plus integrated logging, systems’ checks and documentation. These were essential to our success.”
Mahari says it was invaluable that the Amazon team connected with them daily. “For example, we had some concerns about how to increase or decrease the temperature during auto-schedules. But working directly with the Alexa team, we figured out how to make it work.”
So, if working with Amazon’s support and the API itself went so smoothly, what were some challenges the Emerson team faced over the four-week project?[Read More]
Last month we released the first two videos in the Alexa video series created by developer education company Big Nerd Ranch. You can find parts 1 and 2 on the official YouTube Alexa Developers channel. Today we are excited to reveal the next two videos in the Big Nerd Ranch series on how to develop Alexa skills locally with Node.js.
In part 3 of 6, “Sessions and Voice User Interfaces”, we will learn about user sessions. This feature allows an Alexa skill to break more complicated data requirements into a series of steps spanning multiple requests to the skill service. We’ll also learn about Amazon’s voice user interface requirements. Following these requirements is important for getting a skill certified for public availability in the Alexa app. Lastly, we’ll introduce home cards. Cards are a graphical user interface element that can be sent from a skill to the Alexa app.
In part 4 of 6, “Persistence”, we will discuss how to link an Alexa skill with a database so that it can save an unfinished user interaction for later use in another session. Having the ability to persist data between Alexa sessions opens the door for far more versatile and sophisticated skills. We will see how to use Amazon DynamoDB to easily read and write data from an AWS Lambda function skill. We will use a library called Dynasty to interact with Amazon DynamoDB and handle asynchronous results more easily and elegantly.
Stay tuned for the last two videos from Big Nerd Ranch later this month.
Check out these Alexa developer resources:
A year ago we launched the Alexa Skills Kit to allow developers to build new voice capabilities, called skills, for Alexa. Since then, we’ve seen many Alexa developers start independent meetup groups in their local communities. The purpose of these groups are to network with other Alexa enthusiasts, share Alexa skill development knowledge, and build great voice user experiences.
We’ve curated a list of upcoming community-run Alexa meetups and local groups you can join. Thank you to the community leaders who volunteer their time to organize these local events and continue to contribute to the vibrant Alexa developer community.
Find an event near you, sign up, and meet fellow Alexa developers in your city:
So far, we’ve heard about more than ten Alexa-focused meetup groups run by the community. Did you create an Alexa meetup group that is not listed below? Let us know by tweeting @AlexaDevs.[Read More]
Shark Week, television's most anticipated week of shark-filled television, kicked off this year on Sunday, June 26. A celebration of all things shark-related, this year's week delivers more hours of all-new, visually-stunning, and informative shark-filled specials than ever before.
Since the Discovery Channel audience is tech-savvy and forward-thinking, Discovery wanted to expand Shark Week's reach. To do this, Discovery decided to test the water with a Shark Week skill.
Given this was Discovery's first Alexa skill, they wanted to familiarize the team with Alexa skill development. Adam Zuckerman, Director of Ventures & Innovation at Discovery Channel, says, “The requirements for the Alexa skill were three-fold: 1) build an Alexa skill that the Discovery audience would find useful and informative 2) add a time-relevant component for Shark Week 3) remain relevant after Shark Week.”
With these requirements in mind, they built an Alexa skill with a real-time countdown timer and a voice activated “Sharkopedia” fact engine. The skill was a collaboration between Adam Zuckerman and Stephen Garlick, Lead Development and Operations Engineer at Discovery Channel.
See the skill in action by first enabling the skill via the Alexa app or simply saying, “Alexa, enable Shark Week skill.” Then say, “Alexa, ask Shark Week for a fact.”
Stay tuned for part two to learn how Discovery built and tested their Alexa skill and their tips for other Alexa developers.
Share other innovative ways you’re using Alexa in your life. Tweet us @alexadevs with hashtag #AlexaDevStory.
Earlier this year we announced that Amazon was teaming up with developer education company Big Nerd Ranch to deliver immersive, free training for the Alexa Skills Kit (ASK). The training shows you how to develop Alexa skills locally with Node.js, from setting up your development environment to submitting a skill for certification and more complex ASK features like account linking and persistence. You can find a recap of all the blog posts published for the training series here.
Today we are excited to release the first two videos in the Big Nerd Ranch video series. These videos kick off the official Alexa Developers channel on YouTube.
In the first video, “Hello, Alexa!”, we’ll introduce the Alexa Skills Kit and teach you how to create Alexa skills, or capabilities, for Alexa. We will build and deploy a basic skill. This skill will be called the “Greeter” skill, and will say hello to users when they invoke the skill using the words that we specify.
In the second video, “Slots and Slot Types”, we will see several new features of the skill interaction model that let us build more sophisticated skills. We will expand on what we learned with the Greeter skill by building a more feature-rich skill called “Airport Info”. Airport Info will make requests to the Federal Aviation Administration’s JSON backed web service, and inform users if there is any delay at an airport that they specify.
Stay tuned for more videos from Big Nerd Ranch in July.
Check out these Alexa developer resources:
Today, we are launching a bi-weekly podcast focused exclusively on the Alexa developer community and the Amazon teams building Alexa technology. Each episode will be 20-30 minutes long and air twice a month. We’ll discuss various aspects of Alexa, including the Alexa Skills Kit, Alexa Voice Service, natural language understanding, voice recognition, and first hand experiences directly from developers like you.
To kick it off, our first episode is a chat between myself and Charlie Kindel, director of Alexa Smart Home at Amazon. Charlie and I go into the details behind the launch of the Smart Home Skill API and some of the decisions the team had to make along the way. I also had the opportunity to learn about Charlie’s experience in smart home and his thoughts on how he sees it evolving over time.
Check out the first episode.
Alexa, Amazon’s cloud-based voice service, powers voice experiences on millions of devices, including Amazon Echo and Echo Dot, Amazon Tap, Amazon Fire TV devices, and devices like Triby that use the Alexa Voice Service. One year ago, Amazon opened up Alexa to developers, enabling you to build Alexa skills with the Alexa Skills Kit and integrate Alexa into your own products with the Alexa Voice Service. Today, tens of thousands of developers are building skills for Alexa, and there are over 1,400 skills for Alexa – including Lyft and Honeywell, which were added today.
A New Experience for Discovering Skills
Today, we announced new ways for customers to discover and use your Alexa skills, including a new voice-enablement feature and a completely redesigned Alexa app. Customers can now quickly search, discover and use your skills. Starting today, customers can browse Alexa skills by categories such as “Smart Home” and “Lifestyle” in the Alexa app, apply additional search filters, and access their previously enabled skills via the “Your Skills” section.
Today, I’m excited to announce a collaboration between Geekwise Academy and Amazon Alexa. Geekwise Academy is an accelerated training program for current and aspiring technologists in Fresno, California. Geekwise Academy gives students in this area an opportunity to fulfill their dreams by way of providing the latest in technical training.
Since opening their doors in June 2013, Geekwise Academy has educated more than 3,500 students in the areas of robotics, video game design, web design, and application development. Starting July 25, Geekwise Academy students will be able to attend the first Amazon Alexa Skills Course in Fresno, California. During the four-week in-person training, students will learn about the Alexa Skills Kit to develop new voice user experiences called "skills" for Alexa. Alexa is the voice service that powers the popular Amazon Echo and other Alexa-enabled devices like the Amazon Echo Dot and Amazon Tap. Students will gain expertise in voice design and work on their own voice user interactions with the goal to get their Alexa skills live in the Alexa App upon certification.
The training program will cover various topics including setting up a development environment, building the interaction model of a skill, testing and debugging, using AWS Lambda for hosting source code, handling queries to third-party APIs, and connecting to custom hardware. A little bird (Geekwise Academy’s nerdy owl mascot) tells us there will be an exciting robotics project included in the Alexa curriculum!
The course will be held at Geekwise Academy within the Bitwise South Stadium technology hub in Downtown Fresno – home to over 100 technology companies. Sessions will run three hours per day, five days a week, for four weeks.
Sign up to save your spot.[Read More]
Imagine a group of you gather for an impromptu meeting, and Alexa not only tells you what conference rooms are available but also schedules the room of your choice. That’s the vision behind an Alexa skill in development at Beco (check out the proof-of-concept demo), and it demonstrates the enormous potential for Alexa to deliver new experiences, efficiencies, and value in the workplace.
The Beco skill is a location-aware office assistant that combines the natural ease of a voice user interface with the building intelligence of Beco. It’s a mobile platform that uses existing light fixtures to power low-cost iBeacons, a mobile SDK, and cloud services that enable enterprise systems. For clients across sectors, Beco provides indoor positioning, location analytics, and the ability to search for people and places in real time. Learn more about Beco (pronounced “Bee-Co”—and stands for “Be Connected”) here.
The Beco-Alexa skill communicates with a NodeJS application deployed on AWS Lambda. Given a query from Alexa, the NodeJS application maps a person’s name to an email address using a lookup table. Beco provides extensive People vs. Place vs. Time query functionality via a real-time Occupancy API. This RESTful web service allows introspection of a variety of hyper location data.
The skill requires the use of custom-slots in its intents, because people typically give numbers as ordinals (“the 16th floor”) rather than cardinals (“floor 16”). Following are the intents available now and some of their corresponding sample utterances.
Uses the “find by email address” endpoint to find the “Place” where the mobile device of the person-to-be-found is currently located, then speaks the name of the Place.
Uses the “what spaces are free/utilized” endpoint and speaks back the names of those free Places.
The Beco team envisions expanding Alexa integration to include these capabilities:[Read More]
We are excited to introduce a new way to help you quickly build useful and meaningful skills for Alexa. The new flash cards skill template makes it easy for developers and non-developers to create a skill similar to ‘Chemistry Flash Cards’, ‘Language Flash Cards’, ‘Exam Prep’, etc. This template leverages AWS Lambda and the Alexa Skills Kit, and provides built-in business logic, uses cases, error handling, and help functions for your new skill. You just need to come up with a flash card idea (like ‘Anatomy Flash Cards’), plug in your flash cards content and edit the sample provided. Don’t worry! We’ll walk you through how it’s done.
Using the Alexa Skills Kit, you can build an application that can receive and respond to voice requests made to Alexa. In this tutorial, you’ll build a web service to handle notifications from Alexa and map this service to a skill in the Amazon Developer Portal, making it available on your Echo, Alexa-enabled device, or Echosim.io for testing and to all Alexa users after publication.
When finished, you'll know how to:
• Create a flash card based skill - This tutorial will walk first-time Alexa developers through all the required steps involved in creating a flash card based skill.
• Design a Voice User Interface - Creating this skill will help you understand the basics of creating a working Voice User Interface (VUI) while using a cut/paste approach to development. You will learn by doing and end up with a published Alexa skill. This tutorial includes instructions on how to customize the skill and submit for certification. For guidance on designing a voice experience with Alexa you can also watch this video.
• Get your skill published - Once you’ve completed your skill, this tutorial will guide you through testing your skill and sending your skill through the publication process to make it available for any Alexa user to enable.
You will also need an AWS account and an Amazon Developer account. To get a refresher on how to do this, or if you are new to skill development, you can visit our training page to review our past tutorials. This tutorial is built on the trivia template.[Read More]