Your Alexa Dashboards Settings
Alexa Blogs

Alexa Blogs

Want the latest?

alexa topics

Recent Posts

Archive

Showing posts tagged with How To

June 14, 2016

Marion Desmazieres

Today, we are excited to team up with hack.guides() to bring you a Tutorial Contest. Hack.guides() is a community of developers focused on creating tutorials to help educate and share technical knowledge. This contest is the perfect opportunity to share your knowledge, help other developers, contribute articles to an open-source project, and win a prize along the way. Hack.guides() tutorials bring the developer community together to create and curate collaborative content. With the GitHub API backend, hack.guides() tutorials can be forked, improved, and merged by simply using a pull request.

Technical tutorials are a fantastic medium for developers to share their experience and best practices on a variety of technologies. Our guest bloggers have written a variety of tutorials on topics including how to use AWS IoT and Alexa Skills Kit (ASK) to voice control connected devices and how to easily publish changes into AWS Lambda via the command line interface. We also shared some community tutorials from Alexa developers on how to implement Google Analytics to monitor skill performance and storing variables with persistence to create innovative skills.

[Read More]

June 02, 2016

Noelle LaCharite

We are excited to announce four new Alexa Skills Kit built-in intents that you can leverage immediately in your own Alexa skills.

Think of the intent schema as the blueprint for what your Alexa skill will do. Built-in intents are common actions that you can choose to implement in your custom skill without providing any sample utterances. If you created an Alexa skill in the past, you may have leveraged some of the other built-in intents for your intent schema. With built-in intents, you can build a more robust skill with less sample utterances required in your interaction model. Leveraging these built-in intents is easy and allows more flexibility.

Here are four new built-in intents available now:

Intent

Common Utterances

Purpose

AMAZON.NextIntent

  • next
  • skip
  • skip forward

Let the user navigate to the next item in a list.

AMAZON.PauseIntent

  • pause

 

Let the user pause an action in progress.

AMAZON.PreviousIntent

  • go back
  • skip back
  • back up

Let the user go back to a previous item in a list.

AMAZON.ResumeIntent

  • resume
  • continue
  • keep going

Let the user resume or continue an action.

With these additional built-in intents, you can help users easily and naturally navigate your skills, from being able to pause an intent or request in progress, go back to a previously called intent or resume an existing one. Users can use natural language and phrasing to support these common interactions, allowing you to leverage the built-in intents rather than having to handle these types of requests programmatically.

Already have a skill? This may be a good time to update it with these new intents. Check out the Implementing Built-in Intents page for more information.

For a complete list of built-in intents, see Available Built-in Intents.

Code Happy,

-Noelle (@NoelleLaCharite)

 

May 26, 2016

Zoey Collier

Adrian Bolinger is a Bloc student and has developed three Alexa skills thus far. His most recent, Date Ninja, builds upon Alexa’s ability to convert a spoken date into a slot formatted as a date in order to make day, week, month, and year calculations on the fly.

With each skill, his need to monitor skill performance, optimize, and rollout subsequent releases has been a top priority. Adrian found a simple way to monitor the performance of his Alexa skills, to see which intents are being used and identify invocation issues with intents. He did it using the open source universal-analytics node module, with five lines of code per intent.  

Using the Big Nerd Ranch series as a basis, Adrian developed Date Ninja locally with a Node.js environment using the moment.js library. Installing universal-analytics with npm, Adrian found the process of implementing Google Analytics to be very easy.

[Read More]

May 25, 2016

Marion Desmazieres

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. The training shows you how to build Alexa skills from start to finish, from setting up your dev environment to certification and more complex skill interactions like account linking. Here's a recap of the six-part blog training series.

Setting Up Your Local Environment (part 1 of 6): This post will guide you through setting up a local development environment so that you can work more efficiently, enabling you to rapidly test your Alexa skills as you develop them. We will first set up a working environment with Node.js, and then we will build a model for our Alexa skill, Airport Info. We will use Chai and Mocha, two JavaScript assertion and test libraries to build our tests.

Implementing an Intent with Alexa-app and Alexa-app-server (part 2 of 6): In this second post, we’ll be using alexa-app as a framework to build our Alexa skill and alexa-app-server will allow us to test interacting with the skill locally. We will be using these libraries because they grant a path to supporting a local development and testing workflow with an Alexa skill, which allows us to rapidly test and develop.

[Read More]

May 20, 2016

David Isbitski

When creating a custom Alexa skill, you will need to provide an invocation name that users will use to invoke and interact with your skill. The invocation name does not need to be the same as your skill’s name but it must meet certain criteria to ensure a positive user experience. The invocation name you provide should also easily identify your skill’s capabilities, be memorable and also be accurately recognized by Alexa herself.

Invoking Your Custom Skill

Your service gets called when customers use your invocation name, such as “Alexa, ask dungeon dice for a d20.” In this example, users invoke the custom Alexa skill by using the Invocation Name ‘dungeon dice’ along with a supported phrase for requesting the service.

You can change your invocation name at any time while developing a skill. You cannot change the invocation name after a skill is certified and published.

Note that the invocation name is only needed for custom skills. If you are using the Smart Home Skill API, users do not need to use an invocation name for the skill. For more about the different types of skills you can create, see Understanding the Different Types of Skills.

It is also important to think about how the rest of the invocation phrase will sound when using your invocation name. Remember, there are three ways in which users will always invoke your skill. A good invocation name will make sure it works well in all of these contexts:

  • Invoking the skill with a particular request. For example, “Alexa, Ask Daily Horoscopes for Gemini.”
  • Invoking the skill without a particular request, using a defined phrase such as “open” or “start.” For example, “Alexa, open Daily Horoscopes.”
  • Invoking the skill using just the invocation name and nothing else: “Alexa, Daily Horoscopes.

Here are some additional examples of the supported phrases for requesting an Alexa skill. For a complete list of all launch phrases, see Understanding How Users Invoke Custom Skills.

Starting Phrase

Example

<invocation name>

Alexa, Daily Horoscopes

Ask <invocation name>

AlexaAsk Daily Horoscopes

Begin <invocation name>

AlexaBegin Trivia Master

Do <invocation name>

AlexaDo Trivia Master

Launch <invocation name>

AlexaLaunch Car Fu

Load <invocation name>

AlexaLoad Daily Horoscopes

Open <invocation name>

AlexaOpen Daily Horoscopes

Play <invocation name>

AlexaPlay Trivia Master

Play the game <invocation name>

AlexaPlay the game Trivia Master

Resume <invocation name>

AlexaResume Trivia Master

Run <invocation name>

AlexaRun Daily Horoscopes

Start <invocation name>

AlexaStart Daily Horoscopes

Start playing <invocation name>

AlexaStart playing Trivia Master

Start playing the game <invocation name>

AlexaStart playing the game Trivia Master

Talk to <invocation name>

AlexaTalk to Daily Horoscopes

Tell <invocation name>

AlexaTell Daily Horoscopes

Use <invocation name>

AlexaUse Daily Horoscopes

 

New Invocation Name Requirements

In order to simplify the process for choosing acceptable invocation names, we are providing new guidance. You’ll need to meet the following requirements in order to pass certification starting 5/25.

  1. The skill invocation name must not infringe upon the intellectual property rights of an entity or person.
  2. One-word invocation names are not allowed, unless the invocation name is unique to your brand/intellectual property.
  3. Invocation names which are names of people or places (for example, “molly,” “seattle”) are not allowed, unless they contain other words in addition to the name (for example, “molly’s horoscope”).
  4. Two-word invocation names are not allowed if one of the words is a definite article (“the”), indefinite article (“a,” “an”) or preposition (“for,” “to,” “of”). For example, “a bicycle,” “an espresso,” “to amuse,” “for fun.”
  5. The invocation name must not contain any of the Alexa skill launch phrases and connecting words. Launch phrase examples include “launch,” “ask,” “tell,” “load,” and “begin.” Connecting word examples include “to,” “from,” “by,” “if,” “and,” “whether.” See Understanding How Users Invoke Custom Skills for a complete list of skill launch phrases and connecting words.
  6. The invocation name must not contain the wake words “Alexa,” “Amazon,” “Echo,” or the words “skill” or “app.”
  7. The invocation name must contain only lower-case alphabetic characters, spaces between words, possessive apostrophes (for example, “sam’s science trivia”), or periods used in abbreviations (for example, “a. b. c.”). Other characters like numbers must be spelled out. For example, “twenty one.” The name must be easy to pronounce correctly and be phonetically distinct to avoid being misinterpreted as other similar sounding words. 
  8. The invocation name must not create confusion with existing Alexa features. If your invocation name overlaps with common Alexa commands, users may get confused by Alexa's response and not enable your skill. For example, if your invocation name is too similar to the built-in "weather" command, Alexa may sometimes respond with your skill and sometimes respond with the built-in weather feature, providing an inconsistent user experience.

The following recommendations are not required for certification, but will provide your users with a better experience and are highly recommended:

  • The skill invocation name should be specific to the functionality of the skill, unless the invocation name is unique to your brand or intellectual property (for example, “uber,” “dominos”). One way to achieve relevance is to qualify the invocation name with something that describes the skill’s functionality or something relevant to your company or developer name. For example, “boston transit,” “cricket trivia,” “math tutor,” “magic eight ball,” “baby stats,” “tim’s jokes.”
  • The invocation name should also fit smoothly with at least one of the Alexa skill launch phrases (for example, “launch,” “ask,” “tell,” “load,” “begin”) to allow customers to naturally invoke the skill.

Finally, plan on spending some time testing your invocation name once you have an initial version of your service up and running. When testing with an Alexa-enabled device, you can see how Alexa interpreted your invocation name by reviewing the history in the Amazon Alexa App (in the app, navigate to Settings and then History).

For more guidance on creating a Custom Skill for Alexa, check out the following additional assets:

Voice Design Handbook

Understanding How Users Invoke Custom Skills

Steps to Build a Custom Skill

Voice Design Best Practices

-Dave (@TheDaveDev)

 

May 17, 2016

Noelle LaCharite

Testing your skill is a critical phase in skill development. When building your skill you should following these testing guidelines to ensure that your skill is set up for success when it goes through certification. Once you have completed this initial phase of testing, you may want to add a collection of developer accounts to allow other developers to test your skill on their devices before your skill goes live. These developers will then be able to use their own developer accounts and connected Alexa devices to perform user testing and provide feedback. This is a great way to ensure you are delivering a skill that will function as expected and also catch any bugs that functional testing might miss.   

Note: When you set someone up as a developer on your account, they will be able to test and change any skill in development under your account. Right now there is no way to specify testers for a specific skill in your account.

In This Tutorial You Will:

  • Get an introduction to account settings
  • Learn how to set up test users in the user permissions area
  • Understand what each tester has to do to enable the skill on their device
  • Revoke the ability to test skills from users
[Read More]

May 04, 2016

Noelle LaCharite

Use this tutorial to build a how-to skill and get your free Alexa Dev t-shirt. For more details, see terms and conditions.

We have launched a new skill template that makes it easy for developers and non-developers to create a skill similar to “DrinkMaster,” "Aromatherapy", "Timed Meditation", "Minecraft Helper", etc. These type of skills share the unique ability to parameterize what the user says and map it to a content catalog. For example, a user might say "Alexa, Ask Aromatherapy for a recipe for focus" and Alexa would map the word "focus" to the correct oil combination in the content catalog. Or, a user might say "Alexa, Ask DrinkMaster how to make a Margarita" and Alexa would map the word "margarita" to the correct drink recipe in the content catalog.

This template leverages AWS Lambda and the Alexa Skills Kit, while providing the business logic, use cases, error handling and help functions for your skill. You just need to come up with a content idea (like "Snack Recipes"), plug in your content and edit the sample provided (we walk you through how it’s done). It's a valuable way to quickly learn the end-to-end process for building and publishing an Alexa skill.

Using the Alexa Skills Kit, you can build an application that can receive and respond to voice requests made on the Alexa platform. In this step-by-step tutorial, you will 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 device and to all Alexa users after certification.

After completing this tutorial, you will know how to:

  • Create a parameter-based skill - This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a how-to or recipe-based skill using a code template called ‘Minecraft Helper’.
  • Design for VUI - 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 it for certification. For guidance on designing a voice experience with Alexa you can also watch this video.
  • Use JavaScript/Node.js and the Alexa Skills Kit - You will use the template as a guide but the customization is up to you. For more background information on using the Alexa Skills Kit please watch this video.
  • Get your skill published - Once you have created your skill, this tutorial will guide you through testing it and submitting it for certification. After your skill is certified, it's available for any Alexa user to enable.
[Read More]

May 03, 2016

Robert McCauley

Today’s guest post comes from Michael Garcia, EMEA Solutions Architect at AWS. In this post, we'll discuss how you can voice-control any physical devices using Alexa.

The Internet of Things

Amazon Echo and Alexa Skills Kit (ASK) are enabling developers to create new experiences with voice-enabled applications. It is a really natural interface to interact with the physical world around us. The new Smart Home Skill API enables you to quickly create Alexa skills to control connected devices for the home, like lights and thermostats, from the cloud. What about controlling other types of devices from the cloud?

That is what the Internet Of Things (IoT) is all about. Today we are going to see how you can connect and control any device using the Amazon Web Services (AWS) platform and Alexa Skills Kit. We’ll start with some basics around AWS IoT, a managed service that will enable you to connect securely your objects to the AWS platform. We’ll create a representation of our physical device and then we’ll see how we can create a new skill to voice control our object from the cloud. If this is the first time you are creating an Alexa skill, I highly recommend you build a trivia skill or create a fact skill. Both blog posts provide step-by-step tutorials so you can build a skill in under an hour and learn the end-to-end process of creating a skill with AWS Lambda.

For those who already have a physical device and want to connect it to AWS IoT, you can consult the quickstart documentation for AWS IoT to easily get started by using the AWS SDKs and sending data to the Cloud.

To start, we’ll use a very simple industrial use case to make things feel more concrete. Imagine that you’re a developer who needs to develop a skill so that an operator in an industrial facility could control a water pump remotely with his voice. To achieve that we will focus on the Alexa Skills Kit and we will simulate having a physical device (the water pump) so everyone can perform the steps described below. We are assuming that the reader also has prior knowledge of the AWS Platform. To get up to speed, feel free to visit the AWS training section.

We will provide you with a glimpse of how to use Alexa and the AWS platform so you can create your own voice-enabled IoT application later.

AWS IoT: Creating a ‘Thing’ Which Will Represent a Physical Device

AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices. AWS IoT can support billions of devices and trillions of messages, and can process and route those messages to AWS endpoints and to other devices reliably and securely. With AWS IoT, your applications can keep track of and communicate with all your devices, all the time – even when they aren’t connected.

AWS IoT makes it easy to use other AWS services with built-in integration so you can build value-added IoT applications that gather, process, analyze and act on data generated by connected devices, without having to manage any infrastructure.

Let’s start by logging into the AWS Console on the IoT page. By default, this will select the ‘us-east-1’ AWS region, we recommend you stick with that region for this article.

[Read More]

April 11, 2016

David Isbitski

The Smart Home Skill API is a new addition to the Alexa Skills Kit, which enables developers to add capabilities, called skills, to Alexa. With this new API you can teach Alexa how to control your own cloud-controlled lighting and thermostat devices. For example, customers can simply say, “Alexa, turn on the kitchen lights” or “Alexa, turn up the heat downstairs” and Alexa will communicate directly with your Smart Home device. Smart home skills are created in the same developer portal as existing custom skills and follow a similar process.

Creating a Smart Home Skill

To create your smart home skill, you’ll first configure your skill using a new Smart Home Skill API flow in the developer portal. Ensure you have selected the Smart Home Skill API skill type, enter a Name for your skill and then simply click Next.

Unlike custom skills, smart home skills already have an existing interaction model for you. This means you won’t have to define the intent schema and sample utterances like you would in a custom skill. Click Next to move to the Configuration tab.

[Read More]

April 06, 2016

Kevin Utter

Editor’s note: This tutorial was updated with the new skill submission flow in April 2016.

Programming for the Alexa platform is a new paradigm for everyone. Creating a solid Voice User Interface (VUI), understanding the Alexa platform, how to interact with it and certifying your skill all need to be mastered in addition to actually programing your skill in Node.js, Python, Java or whatever your favorite language may be.

This post attempts to walk the first time Alexa skills developer through the steps involved in creating a solid skill that can actually be submitted for certification. Understanding the scope of what is involved while using a cut/paste approach to the programing required should enable you to grasp the parts involved and how they all fit together. Nothing is better for learning a thing than actually doing a thing – let’s get started!

We are going to take a reference skill called ‘Reindeer Games’, a trivia game popular on the Alexa platform, and  adapt it by creating a trivia game of your own to submit for certification.  The framework has all of the business logic, use-cases, error handling and help functions already implemented – you just need to plug in your own question/answers and edit a couple lines of script.

Important: Follow the instructions below which step you through setting up the Framework Trivia Game, ‘Reindeer Games’ – be sure you have this working before you move on to adapting it to your set of questions.

[Read More]

April 06, 2016

Robert McCauley

We’ve been talking about how to get started with Alexa using the Alexa Skills Kit page, and sample skills, such as the Color Expert, using AWS Lambda functions. This article will show you how to setup a deploy script, so that you can manage your code and modules locally, and be able to easily publish changes into AWS Lambda via the command line interface (CLI).

The AWS Lambda console provides a set of management screens for developers to create and configure custom functions, including functions that implement Alexa skills features.  Short, simple functions that require only a single block of code can be opened for editing within the Lambda console.  However, this online code editor is disabled if you have uploaded a multi-file project.  In this case you need to organize source files and any required modules in a folder on your laptop, and then zip these into a package and manually upload them to the Lambda console.

 

 

 

 

 

 

We’ll use the AWS CLI (Command Line Interface) to help us implement DevOps style automation to avoid manually performing the steps repeatedly during an iterative development process.

[Read More]

March 31, 2016

David Isbitski

Since launch, the Alexa Skills Kit has offered you the ability to display text-based information through a Home Card in the Amazon Alexa companion app available for Fire OS, Android, iOS, and desktop web browsers. These cards are a useful way to provide users with additional information from your Alexa skill that is too verbose or too difficult to include in the voice user interface.

Now you can embed images inside of Home Cards to make your cards more engaging. You’ll add images in a new type of Home Card that we are calling Standard. You simply provide the URLs to your images in addition to the title and text you provide for Simple and LinkAccount home cards.

Creating a Standard Home Card

When you create a Home Card, you will provide textual information (in both PlainText and SSML) along with an image. Here is an example of a card that I have added to my own skill hosting in AWS Lambda using the well-known alexa-skills-kit-color-expert blueprint.

When my skill’s LaunchRequest returns it’s JSON response you can see both the SSML as well as a new image inside of the Alexa App, in this case running on my iPhone.


 

[Read More]

March 29, 2016

Noelle LaCharite

Editor’s note: This tutorial was updated with the new Node.js SDK in August 2016.

This tutorial has been updated to reflect the Alexa SDK for Node.js as well as some updates to AWS Lambda and our GitHub repositories.

This fact skill template that makes it easy for developers or non-developers to create a skill similar to “Fact of the Day”, “Joke of the Day”, “Daily Reading” etc. The template leverages AWS Lambda, the Alexa Skills Kit (ASK), and the ASK SDK, while providing the business logic, use cases, error handling and help functions for your skill. You just need to come up with a fact idea (like “Food Facts”), plug in your fact list and edit the sample provided (we walk you through how it’s done). It's a valuable way to quickly learn the end-to-end process for building and publishing an Alexa skill.

This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a skill using this fact skill template, called ‘SpaceGeek’. This post assumes you have some familiarity with JavaScript/Node.js (or a similar programming language) and the Alexa Skills Kit.

Using the Alexa Skills Kit, you can build an application that can receive and respond to voice requests made on the Alexa platform. 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 device and to all Alexa users after certification.

After completing this tutorial, you'll know how to do the following:

  • Create a fact-based skill - This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a fact based skill using a template called ‘SpaceGeek’.
  • Understand the basics of VUI design - 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.
  • Use JavaScript/Node.js and the Alexa Skills Kit to create a skill - You will use the template as a guide but the customization is up to you. For more background information on using the Alexa Skills Kit please watch this video.
  • Get your skill published - Once you have completed your skill, this tutorial will guide you through testing your skill and sending your skill through the certification process for making it available to be enabled by any Alexa user.
[Read More]

March 25, 2016

Marion Desmazieres

Today, I’m excited to announce a collaboration between Bloc and Amazon Alexa. Bloc has been providing online coding bootcamps and mentor-led courses in design, web, and mobile development since 2011. With Bloc’s industry-vetted curriculum, students can gain knowledge of modern, practical programming skills and build portfolios of real projects to prepare them for their careers as developers and designers. Now Bloc students can learn about voice design and apply their knowledge by creating new Alexa skills.

Bloc’s new Alexa Project module is now integrated into the following curriculums:

[Read More]

March 22, 2016

Amit Jotwani

We are excited to announce an important update to the Alexa Voice Service (AVS) that will enable you to enhance the user experience on your Alexa-enabled products.

Alexa Voice Service (AVS) is an intelligent and scalable cloud service that adds voice-enabled experiences to any connected product – all you need is a microphone and speaker. Users can simply talk to their Alexa-enabled products to play music, answer questions, get news/local information, control smart home products, and more. And with the free Amazon Alexa app, users can easily control and manage their products from anywhere!

Last year, we launched a developer preview of AVS to introduce you to the benefits of voice-powered experiences. With this update, we are making architectural improvements that include updated APIs and message structures, Amazon Alexa App (iOS and Android) support and the ability to send server-initiated messages.

[Read More]

Want the latest?

alexa topics

Recent Posts

Archive