No results found
We’re pleased to announce our collaboration with Makers Academy on a new Alexa Skills Kit training course for Ruby developers.
Makers Academy is a leading web developer bootcamp based in London, UK. Its highly-selective, full-time program teaches the principles of software craftsmanship. Makers Academy has graduated over 700 students into their dream jobs as junior developers.
We believe natural user interfaces such as those based on speech represent the next major disruption in computing. Now is a great time for developers to take advantage of this new form of interaction and to learn to build voice-first experiences for Alexa, the voice service that powers Amazon Echo. Makers Academy’s mission is to teach students the most used technologies in today's marketplace, and we’re excited to team up to prepare you for the future of voice computing.
[Read More]
Today we are happy to announce lock control and query, a new feature in the Smart Home Skill API now available in the US, with support for the UK and Germany coming soon. This feature is supported with locks from August, Yale, Kwikset, and Schlage as well as hub support from SmartThings and Wink. Now any developer targeting devices with locking behavior can enable customers to issue a voice command such as, “Alexa, lock the front door.” In addition, developers can build in support for customers asking for the status of a smart locking device with a voice command such as, “Alexa, is the front door locked?”
Much like the recently announced thermostat query feature, the lock query feature simplifies development efforts by enabling specific voice interactive experiences straight from the Smart Home Skill API. This is accomplished under the new Alexa.ConnectedHome.Query namespace.
Developers can report errors using the same namespace. These errors are then used to guide the customer with the proper corrective actions. It’s crucial that developers return meaningful and correct errors so that customers can feel confident about the status of their locks. For example, if the smart locking device is unable to provide a stateful value because a door is open, developers should report this in their directive response as shown below.
[Read More]
In 2012, brothers Maurice and Marcel Eisterhues built a smartphone app for their father. TorAlarm—German for GoalAlert—had a simple purpose: to help dad keep up with the scores for his favorite football teams. (That’s soccer for readers in the USA.)
What started as a fun project turned into a true opportunity for the two German entrepreneurs. TorAlarm’s popularity grew steadily, until in 2014, the brothers and their father founded a company with the same name. Today, TorAlarm is among Germany’s most popular apps for tracking the scores and schedules of football matches across the country,with over a million users in Germany alone.
Maurice and Marcel knew instantly voice would be the next step in TorAlarm’s evolution when they saw the upcoming launch of Amazon Echo in Germany.
“We were both totally amazed when we first saw the Amazon Echo,” says Maurice. “We’re always interested in new technology, so we decided very quickly we wanted to be part of this launch.”
[Read More]
In September of last year, we announced that Amazon Echo and Alexa were coming to the UK and Germany. Since the announcement, German customers and developers in the exclusive invite only program have been receiving their devices and German developers have brought hundreds of new skills to Alexa using the Alexa Skills Kit (ASK).
Now that Amazon Echo and Echo Dot devices are available for purchase in Germany, developers can reach even more customers with their Alexa skills.
As a developer, you can teach Alexa new German skills using the Alexa Skills Kit (ASK). ASK is a collection of self-service APIs, tools, documentation and code samples that make it easy to create voice experiences and enable you to get started quickly.
If you would like to create something from scratch, our templates are a great place to start. Or if you already have an English (US) or English (UK) skill, you can add German to it. Check out this post to learn how to create multi-language skills.
Developers who publish a German Alexa skill in March can get a free Alexa hoodie. Learn more about how to get your hoodie.
[Read More]
A few months ago we introduced Flask-Ask, a new Python framework for rapid Alexa skill development created by Alexa Champion John Wheeler. Today, due to popular demand, John shares how you can deploy your Alexa skills built with Flask-Ask to AWS Lambda, a service that lets you run code without provisioning or managing servers, which you can use to build serverless applications. Check out John’s technical tutorial below, connect with him on Twitter, and hear more about Flask-Ask in the Alexa Dev Chat podcast episode 10.
In our first post, Flask-Ask and ngrok were used to rapidly create a memory game skill and test it locally. This post shows how to use Flask-Ask with the Zappa framework to quickly deploy skills to AWS Lambda. As of this writing, AWS Lambda supports Python 2.7. This tutorial assumes Python 2.7 is installed on your Windows, Mac, or Linux system.
Zappa, a serverless Python framework, uses a combination of AWS components to emulate the WSGI environment on Lambda that Python web frameworks require. Since Flask-Ask is a Flask extension and Flask requires a WSGI environment, Zappa is the perfect fit for deploying Flask-Ask skills to AWS Lambda. To demonstrate, we'll create an Alexa skill that uses the GitHub API to return how many stars, watchers, and forks a repository has.
Let's get started!
[Read More]
The name of Harrison Kinsley may not ring a bell but if you’re into Python programming you’ve probably heard the name “Sentdex”. With over 125,000 subscribers to his YouTube channel and about 800 free tutorials on his associated website, Harrison has become a reference for learning materials on Python programming.
Today, we’re excited to share a new Alexa skills tutorial for Python programmers available for free on PythonProgramming.net with companion video screencasts to follow along. This three-part tutorial series provides the instructions and code snippets to build an Alexa skill in Python that goes to the World News subreddit, a popular feed on news aggregator Reddit, and reads the latest headlines. To follow along, you will need an Alexa-enabled device, ngrok or an https enabled server, and an Amazon Developer account.
In this tutorial, you can expect to learn:
Get started with the Alexa tutorial series here. For more Python tutorials, head to Harrison’s website.
Happy coding!
Marion
Check out these Alexa developer resources:
November 16, 2016
Zoey Collier
Magic mirror, on the wall—who is the fairest one of all?
Probably the most memorable line from Disney’s 1937 classic, Snow White and the Seven Dwarfs, it may soon become a household phrase again. Modern-day magic mirrors are taking a number of forms, from toys to high tech devices offering useful information to their masters. Now, Darian Johnson has taken that concept an enormous step farther.
Darian, a technology architect with Accenture, has worked in software solution design for 17 years. Today he helps clients move their on-premise IT infrastructure into the cloud. With a recent focus solely on Amazon Web Services (AWS), it’s only natural other Amazon technologies like Alexa would pique his interest.
One night, Darian was pondering what he might build for Hackster’s 2016 Internet of Voice Challenge. He was surfing the web, when he happened on an early concept of a Magic Mirror and realized he could do even better than that. He did. In August 2016, Darian’s new Mystic Mirror won a prize in the Best Alexa Voice Service with Raspberry Pi category.
Darian says his morning routine consists of running between bedroom and bathroom, trying to get ready for work. He doesn’t have an Amazon Echo in either, but he does, however, have mirrors there. That’s another reason why an Alexa Voice Service (AVS)-enabled mirror made sense.
He set his budget at a mere $100. That covered a Raspberry Pi (RPi), a two-way mirror, a refurbished monitor and speaker, some wood planks and a few other assorted items. He determined that his device would:
You can build your own Mystic Mirror using the details on the Hackster site. But it was his software and Alexa that brought it to life.
Darian decided to voice-enable his Raspberry Pi, microphone and speaker with the Alexa Voice Service (AVS). That meant the Mystic Mirror’s master would have access to the built-in power of Alexa and over 4,000 third-party skills, developed using the Alexa Skills Kit (ASK). With just a word, they could control smart home devices, ask for a Lyft ride, play music from Amazon Prime accounts and much more. Best of all, since Alexa is getting smarter all the time, the mirror’s capabilities would constantly evolve, too.
[Read More]
Today, we’re excited to announce a new, free video course on Alexa development by A Cloud Guru, a pioneering serverless education company in the cloud space. Instructed by Ryan Kroonenburg, an Amazon Web Services (AWS) Community Hero, the “Alexa development for absolute beginners” course allows beginner developers and non-developers to learn how to build skills for Alexa, the voice service that powers Amazon Echo.
Here is what you can expect to learn in this two-hour course in 12 lessons:
“All in all, it's a great course and it’s even accessible to non-developers, mums and dads who haven’t used Alexa or Amazon Web Services before! We made this available to the general public and give them an everyday use case for AWS Lambda, Amazon DynamoDB, and S3. We can’t wait to see what people build for Alexa.” – Ryan Kroonenburg, instructor and founder of A Cloud Guru.
Watch the course for free today.
A Cloud Guru also offers an extended version of the course. Cloud Solution Engineer Nick Triantafillou will teach you how to build your own Alexa device with a Raspberry Pi, a MicroSD card, a speaker, a USB microphone, and Alexa Voice Service. Learn how to make Alexa rap to Eminem, how to read Shakespeare, how to use iambic pentameter and rhyming couplets with Alexa, and more. This five-hour video course in 47 lessons also covers additional skill templates available on GitHub to customize and build new capabilities for Alexa.
Watch the extended course.
We teamed up with hack.guides() to bring you a Tutorial Contest in June. Hack.guides() is a community of developers focused on creating tutorials to help educate and share technical knowledge. The purpose of the contest was to provide developers the opportunity to share knowledge, help other developers, contribute articles to an open-source project, and win a prize along the way.
Today we’re excited to announce the winner of the hack.guides() tutorial contest.
Alexa developer, ”piratemrs”, built a tutorial that outlines how to build a working, voice-controlled device that can be used to feed pet fish while you are away. The tutorial helps developers learn three broad technical areas: hardware, AWS, Alexa.
Both cloud and hardware technologies were integrated to build this project. The tutorial starts with a lesson on how to add external circuits and motors (servos) to a Raspberry Pi computer. Next, the tutorial steps through how to create an AWS Lambda function and Alexa skill. Finally, the skill and Raspberry Pi system are tied together via a configuration guide using the AWS IoT service. At the end, piratemrs says “Alexa, ask fish tank to feed the fish” and a custom Alexa skill activates a small motor to shake some food into the fish tank.
The tutorial does a great job of breaking down components into separate sections and includes YouTube videos to show the results of testing each piece of the solution. Watch the videos and focus on testing and understanding each component of the solution before moving on.
Read the full tutorial to learn how you can build your own voice-controlled system to feed your fish, control your fish tank lights remotely, and more.
We’d like to thank all the participants who created Alexa tutorials for this contest. The high quality of submissions made selecting a winner a difficult decision. Tutorial submissions were scored using the contest rules provided by hack.guides(), including writing style, communication ability, effective use of technologies/APIs, and overall quality. Here are some honorable mentions.
This tutorial shows you how to design, build, and test an Alexa skill that implements an adventure game. If you are an experienced Node.js developer, but new to Alexa, you will appreciate the thorough breakdown of the ASK functionality and recommended project structure. Read more
This tutorial shows you how to navigate the Amazon developer screens and create your first Alexa skill. If you are a novice developer, you will appreciate the clear screenshots and fun animated GIFs that appear throughout the text. Read more.
To get started, we’ve created easy-to-use skill templates that show new developers the end-to-end process of building an Alexa skill. Visit our trivia game, fact skill, how-to skill, flash cards skill and user guide skill tutorials.
Or check out these Alexa developer resources:
Do you develop in Amazon Web Services (AWS), have an Echo, and want the latest service availability details without having to open your laptop and scroll through dozens of green checkmarks? A home-schooled student named Kira Hammond has the solution with her newly-released CloudStatus Alexa skill.
CloudStatus summarizes the info on the AWS Service Health Dashboard, both current issues and recent problems. On a challenging day, Alexa’s conversation might start out like this:
“Hello! 3 out of 11 AWS regions are experiencing service issues—Mumbai (ap-south-1), Tokyo (ap-northeast-1), Ireland (eu-west-1). 1 out of 11 AWS regions was having problems, but the issues have been resolved—Northern Virginia (us-east-1). The remaining 7 regions are operating normally. All 7 global services are operating normally. Which Amazon Web Services region would you like to check?”
Interested? Listen to a recording of an example session or try it for yourself, say, “Alexa, enable the CloudStatus skill.”
Kira wrote CloudStatus with AWS Lambda, using Amazon EC2 to build Python modules for Requests and LXML. The modules download and parse the AWS status page to provide the desired data. The Python packages and the skill’s code files are zipped and uploaded to AWS Lambda.
Kira created this skill because her father, Eric Hammond, an AWS Community Hero and Internet startup technologist, wanted a simpler, easier way to access the service availability info himself. He figured having Kira create the skill would enable her to learn about retrieving and parsing web pages in Python—and being a good parent, he wanted to foster her creativity. And Kira is very enthusiastic about the creative process of development. “Programming is so much fun and so rewarding! I enjoy making tools so I can be lazy. Coding can be challenging (even frustrating) and it can be tempting to give up on a debug issue. But, oh, the thrill that comes after solving a difficult coding problem!”
[Read More]
Today’s post comes from J. Michael Palermo IV, Sr. Evangelist at Amazon Alexa. In this post you’ll learn what directives are and how to develop a smart home skill adapter from scratch using Node.js.
Much of the heavy lifting for creating smart home skills happens before writing a line of code. In my last post, I walked you through the five prerequisites to building a smart home skill. You may have noticed I left the code for the AWS Lambda function blank. In this post, you will start where that post ended. Not only will see how to manage the code workflow for a smart home skill adapter using Node.js, but you will also learn the fundamentals of the directive language, the communication protocol used between your skill adapter and the Smart Home Skill API.
Before tackling any lines of code, you should understand the role of your skill adapter in the smart home skill process workflow. When the Alexa service understands the intent of a voice command to be smart home related, it continues processing through the Smart Home Skill API. The Smart Home Skill API service then communicates with a skill adapter using directive language, a JSON protocol structured to convey requests and responses. Each unique instance of a request or a response is known as a directive. All communications between your skill adapter and the Smart Home Skill API use the directive language. Your skill adapter receives requests as directives and is responsible for providing responses as directives.
Figure 1 : Directive Language
The structure of a directive involves two primary components, a header and a payload. While the payload varies in structure based on context, the header is fixed with just four fields defined here.
Table 1 : Directive header fields
Field |
Value |
messageId |
A unique identifier (typically version 4 UUID) for each directive. Used for tracking/logging. Not to be used to support business logic. |
name |
The purpose of the directive, chosen from a predefined list of names. See Smart Home Skill API reference for supported directive names. |
namespace |
The category of the directive, such as “Alexa.ConnectedHome.Discovery” or “Alexa.ConnectedHome.Control” |
payloadVersion |
The API version in use. The current version is “2” |
Consider an example of an incoming directive from the Smart Home Skill API service to a skill adapter.
{ "header" : { "messageId" : "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2", "name" : "DiscoverAppliancesRequest", "namespace" : "Alexa.ConnectedHome.Discovery", "payloadVersion" : "2" }, "payload" : { "accessToken" : "acc355t0ken" } }
In the header, the namespace reveals the category of the directive is “Alexa.ConnectedHome.Discovery”, and the name “DiscoverAppliancesRequest” indicates a device discovery request is being made to a skill adapter. Because all smart home skill adapters require account linking at time of enablement, the payload will include the access token associated with the customer’s device cloud account. The value shown above is a mocked value used for testing purposes only. For more background about account linking and access tokens, please see this blog post.
[Read More]
We are excited to launch a recognition program that honors the most engaged developers and contributors in the community. These individuals are educating and inspiring other developers in the community online and offline. They are actively and independently sharing their passion and knowledge of Alexa with the community. We’re proud to call them our “Alexa Champions”.
Today we recognize the initial group of ten Alexa Champions and showcase their contributions to the Alexa community in a dedicated gallery. We thank them for all the knowledge they have shared with others and for the tools they have created to make it easier for developers to use the Alexa Skills Kit (ASK) and Alexa Voice Service (AVS).
Join me in welcoming the Alexa Champions:
There are many ways you can share educational and inspiring content about AVS and ASK with the Alexa community through your own blog or newsletter, open-source development tools, tutorials, videos or podcasts and social media. You can also organize local meetup groups for like-minded Alexa enthusiasts and developers.
[Read More]
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]
Today's guest post comes from John Wheeler, the creator of Flask-Ask. John has been programming for two decades and has written for O'Reilly and IBM developerWorks.
This post introduces Flask-Ask, a new Python micro-framework that significantly lowers the bar for developing Alexa skills. Flask-Ask is a Flask extension that makes building voice user interfaces with the Alexa Skills Kit easy and fun. We'll learn it by building a simple game that asks you to repeat three numbers backwards. Knowing Python and Flask are not required, but some experience programming will help.
If you prefer the video walkthrough of this post, check it out here.
To start, you'll need Python installed. If you're on a recent version of OS X or Linux, Python comes preinstalled. On Mac, you can find installation instructions here. You may also need to install pip, which can be found here. On Windows, follow these installation instructions. Once Python and pip are installed, open a terminal, and type the below command to install Flask-Ask. Note: You might need to precede it with sudo on Unix if you get permission errors.
[Read More]
When I was first introduced to Zach Feldman, Chief Academic Officer and Co-Founder of The New York Code + Design Academy, I knew I was talking with an Alexa connoisseur. Before Amazon publicly released the Alexa Skills Kit, Zach was talking about how to add capabilities to Alexa. Couple this with publishing alexa-home, a popular project on GitHub to use Amazon Echo to control home automation software, before we even released the Smart Home Skill API. Zach has always shown a keen interest in the voice space. Fast forward a year later, it made complete sense to bring Zach’s knowledge of Alexa development to The New York Code + Design Academy.
Today, I’m excited to announce a collaboration between The New York Code + Design Academy (NYCDA) and Amazon Alexa. NYCDA has been training developers – at all levels – with hands-on, intensive workshops in web and mobile app development for the past three years.
This summer, NYCDA students will be able to attend the first in-person training on building Alexa skills with Ruby and Sinatra as the language and framework of choice. Students will begin by gaining an understanding of the Alexa Skills Kit (ASK). From there, they’ll move on to building an Alexa skill together as a class with both a simple skill and one that accesses an external API. They’ll be able to test their voice user experiences with Amazon Tap speakers, Alexa-enabled devices provided by the school. The course will wrap up with an independent final project and will walk students through the process of certification and publication of their first Alexa skill. Classes will run from August 9, 2016 through September 27, 2016. To enroll, students can apply here.
Wait, there’s more. Zach will be hosting a free lecture on the Alexa skill infrastructure and what goes into building your first skill on June 21, 2016 at 6:30 p.m ET at NYCDA’s headquarters in New York City. If you’re in the area don’t miss this opportunity to meet him, learn more about Alexa skill development, and ask questions about NYCDA’s 8-week Alexa course. Save your spot.
“Amazon Alexa is one of the most compelling new software and hardware integrations I've seen in a while! I can't wait to bring the power of Alexa to our students and the Ruby development community.” - Zach Feldman, Chief Academic Officer and Co-Founder of The New York Code + Design Academy
Learn more about the Alexa course from NYCDA here.
-Marion