Alexa Blogs

Alexa Blogs

Want the latest?

alexa topics

Recent Posts

Archive

Showing posts tagged with Alexa Skills Kit

March 16, 2017

Marion Desmazieres

Untitled-2_copy.png.600x600_q96.png

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]

March 15, 2017

David Isbitski

AWS-Credits_blog.png

Amazon today announced a new program that will make it free for tens of thousands of Alexa developers to build and host most Alexa skills using Amazon Web Services (AWS). Many Alexa skill developers currently take advantage of the AWS Free Tier, which offers one million AWS Lambda requests and up to 750 hours of Amazon Elastic Compute Cloud (Amazon EC2) compute time per month at no charge. However, if developers exceed the AWS Free Tier limits, they may incur AWS usage charges each month.

Now, developers with a live Alexa skill can apply to receive a $100 AWS promotional credit and can also receive an additional $100 per month in AWS promotional credits if they incur AWS usage charges for their skill – making it free for developers to build and host most Alexa skills. Our goal is to free up developers to create more robust and unique skills that can take advantage of AWS services. We can’t wait to see what you create.

[Read More]

March 03, 2017

Michael Palermo

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?” LockAPI_blog.png

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]

March 02, 2017

Zoey Collier

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.) Toralarm_brothers.jpg

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]

March 02, 2017

Dean Bryen

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).DE-hoodie_march2017.jpg

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.

Get a free Alexa Developer Hoodie

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]

February 27, 2017

Marion Desmazieres

Champions_John_blog.pngA 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]

December 02, 2016

Marion Desmazieres

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 devicengrok 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

Learn more

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.

A smarter mirror with the Alexa Voice Service

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:

  • Give the mirror-gazer access to all the skills available through Alexa
  • Provide unique visual capabilities in the mirror face via a custom Alexa skill
  • Display information only for a finite amount of time before it fades away (to make it mystical—and because Darian is light-sensitive when he sleeps)

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]

September 20, 2016

Marion Desmazieres

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:

  • This beginner guide to Alexa will walk you through setting up an AWS account, registering for a free Amazon Developer account, and then building and customizing two Alexa skills with templates available on GitHub.
  • The course also shows Mac users how to use the interactive story tool to create amazing interactive stories.
  • Finally, you will learn how to create your own mp3 files, where you narrate, and how to add background music and sound effects. You will see how to convert mp3 files to an Alexa-friendly format, put them on Amazon S3, and then reference them in the graphical user interface (GUI) using Speech Synthesis Markup Language (SSML).

“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.

Dive Deeper with Alexa Development

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.

Check out these Alexa developer resources:

 

 

September 15, 2016

Robert McCauley

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.

Winner: Control your fish tank from anywhere in the world with Alexa voice control

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.

Honorable mentions

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.

Alexa, run this JavaScript app

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

Build your first Alexa skill

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.

Get Started with the Alexa Skills Kit

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:

 

 

September 09, 2016

Zoey Collier

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.”

Why this particular 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]

August 26, 2016

Michael Palermo

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.

Skill Adapter Directive Language

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]

August 17, 2016

Marion Desmazieres

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).

Meet the Alexa Champions

Join me in welcoming the Alexa Champions:

  • April Hamilton was one of the first developers to join the private beta of the Alexa Skills Kit and to get skills certified in 2015. She curates the LoveMyEcho.com blog daily and shares tips and tricks with developers in her weekly ASK Dev Tuesday series. Learn more about April.
  • Brian Donohue started a local meetup group for Alexa enthusiasts and developers in New York which now counts over 400 members. For the first event, he created a “Hello world” template to show attendees how to build their first Alexa skill. Learn more about Brian.
  • Eric Olson a.k.a. Galactoise is one of the most active contributors in the Alexa forums with over 280 reputation points. He co-created the Alexa Skills Kit Responder that lets you mock skill responses to your Echo and gives you the ability to rapidly validate your content. Learn more about Eric.
  • John Wheeler is the creator of Flask-Ask, an Alexa Skills Kit Framework for Python that enables rapid skill development. He also created AlexaTutorial.com, a resource for leveling-up quickly with Flask-Ask and the Alexa Skills Kit. Learn more about John.
  • Mark Carpenter has been publishing the ASK Dev Weekly newsletter since September 2015. He was the architect of the Alexa Project curriculum that is offered to Bloc bootcamp students. He publishes the Alexa Skill of the Day apps which surface one exemplary Alexa skill each day. Learn more about Mark.
  • Matt Kruse created the alexa-app framework and the alexa-app-server container for hosting javascript-based skills. He also published open-source code on GitHub for integration with IFTTT and a “find my iPhone” skill using the find-my-iphone module. Learn more about Matt.
  • Rick Wargo released the alexa-skill-template, a Node.js development environment for Alexa skills authored in JavaScript and hosted locally for testing and in AWS Lambda for production with support for DynamoDB. He’s s an active participant in other open source Alexa projects. Learn more about Rick.
  • Sam Machin got started with Alexa at the BattleHack world finals in November 2015. He published several tutorials on GitHub to help teach others how to turn a RaspberryPi or a CHIP into an Alexa client with the Alexa Voice Service. His alexaweb project was the inspiration for Echosim.io. Learn more about Sam.
  • Steven Arkonovich was an Alexa enthusiast from the very beginning, writing Alexa skills before there even was ASK. He developed a Ruby framework for quickly creating Alexa skills as web services. He is one of the most active contributors in the Alexa forums. Read more about Steven.
  • Walter Quesada created a video course for Pluralsight that teaches the foundations of developing voice-enabled skills for Echo and building custom Alexa skills in C# and ASP.NET Web API. He also talked about Alexa skill development at numerous tech events. Learn more about Walter.

Get involved

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]

July 14, 2016

Zoey Collier

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:

  • the action (“increase”)
  • the device ID representing the thermostat named “first floor”)
  • any options (such as “2 degrees”), and
  • the device owner’s authentication information.

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:

  • Alexa, set my first floor to 75 degrees (where “first floor” specifies which thermostat)
  • Alexa, increase my thermostat by 2 degrees (Alexa will ask which thermostat)
  • Alexa, decrease my second floor by 3 degrees

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]

June 21, 2016

Noelle LaCharite

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.

Create the Skill

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]

Want the latest?

alexa topics

Recent Posts

Archive