SlideShare a Scribd company logo
1 of 45
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Build a Game for Echo Buttons – An
Alexa Gadget!
Chachi Kruel
Sr. Software Development Manager
Alexa Gadgets
A L X - 4 0 5
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Workshop Repeats
Wednesday, November 28
ALX-405-R1: Build a Game for Echo Buttons – An Alexa Gadget!
11:30 AM – 1:45 PM | Venetian, level 4, Marcello 4403
Thursday, November 29
ALX-405-R2: Build a Game for Echo Buttons – An Alexa Gadget!
2:30 PM – 4:45 PM | Aria West, Level 3, Ironwood 1
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related Sessions
Wed, November 28
ALX312-R Three Lessons from “Escape the Room” That Apply to Making Money with
Your Alexa Skills
11:30 AM – 12:30 PM | MGM
Wed, November 28
ALX403-R Supercharge Any Alexa Skill by Understanding What Games Do
4 PM – 5 PM | Venetian
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• Getting Started with the ASK CLI
• Understanding Echo Buttons Directives and Events
• Build Your Own Skill
• Demo Your Skill
• Awards
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Everyone Loves a Good Game
Million s of Cu stomers
Play Games on A lexa
1 8 0 +
Ec h o Bu tton s
Games Skills
Ten s of th ou san d s say “A lexa, Let ’s
Play a Game” eac h d ay
Trivia – Most Req u ested
Ec h o Bu tton s Game Gen re
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building a Skill – Faster for Developers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Skill Development Process – New and Improved
1. Initial deploy of your Skill via the ASK CLI
2. Edit the Skill’s code in your code editor
3. Update your Skill and Lambda function with the ASK CLI
4. Test your Skill with the Alexa Dev Portal Simulator
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Collection of self-service APIs (Skill Interfaces)
• Tools (Alexa Developer Console)
• Documentation (developer.amazon.com/docs)
• Code samples (developer.amazon.com, GitHub)
Add capabilities, or skills, to Alexa using the Alexa Skills Kit
Alexa Skills Kit (ASK)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Based on Node JS
Runs on Windows, Mac, and Linux
Manage Skills Programmatically
uses Skills Management API (SMAPI)
Deploy Skill Lambda Functions
connects to AWS services directly
ASK CLI != AWS CLI
ASK Command Line Interface (ASK CLI)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• new
• deploy
• clone
• simulate
• validate
• lambda
• api
− create a new skill project in the current directory
− deploy a skill project and optionally deploy AWS Lambda code
− creates a new local skill project by cloning an existing skill from your account
− simulates an invocation of your skill with text input
− executes tests to validate a skill before submitting for certification
− retrieve and upload code for an AWS Lambda function
− commands that map to underlying SMAPI
ASK Command Line Interface (ASK CLI)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Profiles = named configuration options
Amazon Developer Portal mapping
AWS Account Mapping (via AWS CLI Profile Name)
Support for Multiple Profiles
$ ask init –p new-profile-name
ASK CLI – Profiles
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Create new skill project locally
$ ask new -n new-skill-name –p profile-name
-n
-p
--template
− Option to name the skill project
− Option to select the ASK profile to use
− Option to use a specific template to create the skill (default is to create a
“Hello World” skill project)
ASK CLI – Create New Skill Project
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• .ask/config
ASK CLI config file mapping to a CLI profile
• lambda/custom/
skill code (to be uploaded to Lambda)
• models/
intents, slots, values, per language
• skill.json
skill config and publishing options (skill manifest)
Skill Project File Structure
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ ask deploy –p profile-name
• Execute from the skill folder (where skill.json is located)
• Deploys to Developer Account associated with the profile
• If skill does not exist it creates the skill
• Deploys Lambda to the AWS account associated with the profile
• If Lambda does not exist, it creates a new function
ASK CLI – Deploy Skill
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ ask deploy –p profile-name –t {all|lambda|model|skill}
• all
• lambda
• model
• skill
− Deploy everything (default)
− Deploys only the skill code to Lambda
− Deploys only the skill’s interaction model
− Deploys only the skill metadata (manifest)
ASK CLI – Deploy Skill (Advanced Options)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Time for some hands on practice!
https://bit.ly/reinvent-alx-405
Follow Lab 1 to setup the ASK CLI on your laptop and deploy your first skill.
Give It A Try!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ ask clone –p profile-name [--skill-id <skillid>]
• Creates a local project from an existing skill in your account
• If no --skill-id specified, prompts to choose from a list of skills available
• Skill to clone must be in the DEVELOPMENT stage (i.e. not published/certified)
AWS CLI ASK CLI Deep Dive Troubleshooting
ASK CLI – Clone Skill Project
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
{
"deploy_settings": {
"skill-name": {
"skill_id": "amzn1.ask.skill.12345678-64ba-4d6d-ad08-84f09cf47246",
"was_cloned": "false",
"merge": {
"manifest": {
"apis": {
"custom": {
"endpoint": {
"uri": "ask-custom-SkillName"
}
}
}
}
}
}
}
AWS CLI ASK CLI Deep Dive Troubleshooting
ASK Config
.ask/config – Configuration file located in the skill folder
– Contains named-profile based configuration for the skill, such as the endpoint (i.e.
Lambda function)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CLI ASK CLI Deep Dive Troubleshooting
Skill Manifest
The skill manifest is the JSON representation of your skill and provides Alexa with all of the required metadata.
• publishingInformation
how the skill is presented to customers in the Skill Store or Alexa app
• apis
defines which interfaces your skill supports
• permissions
ask the user for specific personal information, such as access to the physical address of their device
• privacyAndCompliance
data related to user privacy, such as the URLs for your privacy policy and terms of use
• events
events to which a skill wants to subscribe (e.g. notification on skill enablement)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
{
"manifest": {
"publishingInformation": {
"locales": {
"en-US": {
"summary": ”A sample Hello World skill.",
"examplePhrases": [ "Alexa open Hello World" ],
"keywords": [ ”keyword1", ”keyword2" ],
"name": ”Skill Name",
"description": ”Demo skill built using the Alexa Skill Kit."
}
},
"isAvailableWorldwide": true,
"testingInstructions": ”Skill testin instructions.",
"category": ”CATEGORY_NAME",
"distributionCountries": []
},
"apis": {
"custom": {
"endpoint": {
"sourceDir": "lambda/custom”
}
}
},
"manifestVersion": "1.0”
}
}
AWS CLI ASK CLI Deep Dive Troubleshooting
Skill Manifest
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ ask deploy –p profile-name –t {all|lambda|model|skill}
• all
• lambda
• model
• skill
− Deploy everything (default)
− Deploys only the skill code to Lambda
− Deploys only the skill’s interaction model
− Deploys only the skill metadata (manifest)
AWS CLI ASK CLI Deep Dive Troubleshooting
ASK CLI – Deploy Skill (Advanced Options)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
"[Error]: Cannot resolve profile [default]"
• Did you forget to include the "-p profile-name" option?
• The most likely reason for this error is executing a CLI command without
specifying a named profile. The CLI will then attempt to run the command in the
default profile but that profile may not exist.
AWS CLI ASK CLI Deep Dive Troubleshooting
Troubleshooting Common Errors
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
"[Error]: Cannot resolve profile [some-profile-name]"
• Double check the profile name given with the "-p" option!
• If the profile name is correct, then you may have not yet initialized the profile.
Run "ask init –p <profile>".
AWS CLI ASK CLI Deep Dive Troubleshooting
Troubleshooting Common Errors
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Error code: 401
"message": "User is not authorized to access this skill."
• Double check the profile name given with the "-p" option!
• This error usually indicates that the skill you are attempting to modify belongs to
a different Amazon Developer account than the one you have mapped to the ASK
profile you’re using.
AWS CLI ASK CLI Deep Dive Troubleshooting
Troubleshooting Common Errors
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Other common sources of errors:
• IAM permissions – does the IAM user mapped to your AWS Profile have the correct
permissions to update Lambda functions, create IAM roles, etc.?
• AWS Profile mapping mismatch – the AWS Profile mapped to the ASK Profile is not
the correct one.
• Skill Manifest Configuration
• ASK config (endpoint or profile misconfiguration)
AWS CLI ASK CLI Deep Dive Troubleshooting
Troubleshooting Common Errors
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Echo Buttons Events and Directives
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Echo Buttons Events and Directives
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
New Capabilities for Skills
Independent
Input Event
Channel
Session
Extension
Mic Control Configurable
Input Handlers
Queue or
Interrupt TTS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GameEngine – Define & Receive Button Press Events
t h r e e B l u e s
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GameEngine – Define & Receive Button Press Events
GameEngine.StartInputHandler:
{
"type": ”GameEngine.StartInputHandler",
”timeout": int,
”maximumHistoryLength": int,
”proxies": [ ],
”recognizers": [ ],
”events": { }
}
GameEngine.StopInputHandler:
{
"type": ”GameEngine.StopInputHandler",
”originatingRequestId": string
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GameEngine – threeBlues → playerWins
{
"type": "GameEngine.StartInputHandler",
"timeout": 30000,
"maximumHistoryLength": 256,
"recognizers": {
"threeBlues": {
"type": "match",
"fuzzy": false,
"anchor": “end",
"pattern”: [ { "action": "down", "colors": [ "0000FF" ], "repeat": 3 } ]
},
"events": {
"playerWins": {
”meets": [ "threeBlues" ],
“reports": "matches",
“shouldEndInputHandler": true
},
"timeout": {
"meets": [ "timed out" ],
"reports": "history",
"shouldEndInputHandler": true
}
}
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
playerWins Event
{
"request": {
"type": "GameEngine.InputHandlerEvent",
"requestId": "amzn1.echo-api.request.e48235fc-077d-4ae7-adef-3064db6ab609",
"timestamp": "2018-11-26T09:54:44Z",
"locale": "en-US",
"originatingRequestId": "amzn1.echo-api.request.8013a5e5-5ab6-49eb-819b-7e00db5c92dd",
"events": [
{
"name": ”playerWins",
"inputEvents": [
{
"gadgetId": "amzn1.ask.gadget.05RPH7PJG9C61DHI4QR0RLOQOHKS31J6ECRU5T0LOVGB3UI6N",
"timestamp": "2018-11-26T09:56:12Z",
"color": ”0000FF",
"feature": "press",
"action": "down”
},
...
]
}
]
}
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GadgetController.SetLight
Structure:
{
"type": "GadgetController.SetLight",
"version": 1,
"targetGadgets": [ string ],
"parameters": {
"triggerEvent": string,
"triggerEventTimeMs": int,
"animations": [
{
"repeat": int,
"targetLights": [ "1” ],
"sequence": [ { } ]
}
]
}
}
Animation Example:
“animations”: [
{
”repeat": 10,
"targetLights": [ “1” ],
”sequence": [
{
”durationMs": ”300",
”color": “00FF00”, // green
”blend": “true”
},
{
”durationMs": ”300",
”color": “0000FF”, // blue
”blend": “true”
}
]
}
]
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Skill Response – Mic Control and TTS Interrupt
If you want to keep the mic open:
handlerInput.responseBuilder.getResponse().shouldEndSession = false;
Close your skill and end the session:
handlerInput.responseBuilder.getResponse().shouldEndSession = true;
NEW! Keep your skill active but not listening for voice input:
delete handlerInput.responseBuilder.getResponse().shouldEndSession;
NEW! Interrupt Alexa when a button is pressed:
response.outputSpeech.playBehavior = 'REPLACE_ALL';
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Keep In Mind…
Store Your Game and
Gadgets State
Alexa Makes a Great Game
Host!
Keep Your Players
Engaged
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Now that you’re familiar with the GameEngine and GadgetController Skill Interfaces,
build your own Echo Buttons Skill!
https://bit.ly/reinvent-alx-405
Follow Lab 2 and start building.
Build Your Own Game Skill
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Chachi Kruel
chachik@amazon.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowAmazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Amazon Web Services
 
Building Real-time Serverless Backends
Building Real-time Serverless BackendsBuilding Real-time Serverless Backends
Building Real-time Serverless BackendsAmazon Web Services
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Amazon Web Services
 
SRV207 Orchestrating AWS Lambda with Step Functions
 SRV207 Orchestrating AWS Lambda with Step Functions SRV207 Orchestrating AWS Lambda with Step Functions
SRV207 Orchestrating AWS Lambda with Step FunctionsAmazon Web Services
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018Amazon Web Services
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon Web Services
 
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018Amazon Web Services
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Amazon Web Services
 
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...Amazon Web Services
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Amazon Web Services
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018Amazon Web Services
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...Amazon Web Services
 
BDA309 Build Your First Big Data Application on AWS
BDA309 Build Your First Big Data Application on AWSBDA309 Build Your First Big Data Application on AWS
BDA309 Build Your First Big Data Application on AWSAmazon Web Services
 
Serverless SaaS apllications on AWS
Serverless SaaS apllications on AWSServerless SaaS apllications on AWS
Serverless SaaS apllications on AWSAmazon Web Services
 

What's hot (20)

SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
 
Building Real-time Serverless Backends
Building Real-time Serverless BackendsBuilding Real-time Serverless Backends
Building Real-time Serverless Backends
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
 
SRV207 Orchestrating AWS Lambda with Step Functions
 SRV207 Orchestrating AWS Lambda with Step Functions SRV207 Orchestrating AWS Lambda with Step Functions
SRV207 Orchestrating AWS Lambda with Step Functions
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
 
Container Scheduling
Container SchedulingContainer Scheduling
Container Scheduling
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts
 
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...
AWS Security in Your Sleep: Build End-to-End Automation for IR Workflows (SEC...
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
 
BDA309 Build Your First Big Data Application on AWS
BDA309 Build Your First Big Data Application on AWSBDA309 Build Your First Big Data Application on AWS
BDA309 Build Your First Big Data Application on AWS
 
Serverless SaaS apllications on AWS
Serverless SaaS apllications on AWSServerless SaaS apllications on AWS
Serverless SaaS apllications on AWS
 

Similar to Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent 2018

Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Amazon Web Services
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017Amazon Web Services
 
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Amazon Web Services
 
Big Data and Alexa_Voice-Enabled Analytics
Big Data and Alexa_Voice-Enabled Analytics Big Data and Alexa_Voice-Enabled Analytics
Big Data and Alexa_Voice-Enabled Analytics Amazon Web Services
 
Start building for voice with alexa
Start building for voice with alexaStart building for voice with alexa
Start building for voice with alexaEitan Sela
 
ALX315_Test Automation for Alexa Skills
ALX315_Test Automation for Alexa SkillsALX315_Test Automation for Alexa Skills
ALX315_Test Automation for Alexa SkillsAmazon Web Services
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Amazon Web Services
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home SkillJun Ichikawa
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & Microservices
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & MicroservicesIVS CTO Night And Day 2018 Winter - [re:Cap] Containers & Microservices
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & MicroservicesAmazon Web Services Japan
 
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...Amazon Web Services
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...Amazon Web Services
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...Chris Munns
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)Amazon Web Services
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupBoaz Ziniman
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWSAmazon Web Services
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Amazon Web Services
 
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...Amazon Web Services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Amazon Web Services
 
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify Amazon Web Services
 

Similar to Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent 2018 (20)

Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
 
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
 
Big Data and Alexa_Voice-Enabled Analytics
Big Data and Alexa_Voice-Enabled Analytics Big Data and Alexa_Voice-Enabled Analytics
Big Data and Alexa_Voice-Enabled Analytics
 
Start building for voice with alexa
Start building for voice with alexaStart building for voice with alexa
Start building for voice with alexa
 
ALX315_Test Automation for Alexa Skills
ALX315_Test Automation for Alexa SkillsALX315_Test Automation for Alexa Skills
ALX315_Test Automation for Alexa Skills
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home Skill
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & Microservices
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & MicroservicesIVS CTO Night And Day 2018 Winter - [re:Cap] Containers & Microservices
IVS CTO Night And Day 2018 Winter - [re:Cap] Containers & Microservices
 
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...
Build an Interactive Alexa Voice Experience for Multiple Screens (ALX314-R2) ...
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
 
Devops on serverless
Devops on serverlessDevops on serverless
Devops on serverless
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWS
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
 
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Build a Game for Echo Buttons – An Alexa Gadget! Chachi Kruel Sr. Software Development Manager Alexa Gadgets A L X - 4 0 5
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Workshop Repeats Wednesday, November 28 ALX-405-R1: Build a Game for Echo Buttons – An Alexa Gadget! 11:30 AM – 1:45 PM | Venetian, level 4, Marcello 4403 Thursday, November 29 ALX-405-R2: Build a Game for Echo Buttons – An Alexa Gadget! 2:30 PM – 4:45 PM | Aria West, Level 3, Ironwood 1
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related Sessions Wed, November 28 ALX312-R Three Lessons from “Escape the Room” That Apply to Making Money with Your Alexa Skills 11:30 AM – 12:30 PM | MGM Wed, November 28 ALX403-R Supercharge Any Alexa Skill by Understanding What Games Do 4 PM – 5 PM | Venetian
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda • Getting Started with the ASK CLI • Understanding Echo Buttons Directives and Events • Build Your Own Skill • Demo Your Skill • Awards
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Everyone Loves a Good Game Million s of Cu stomers Play Games on A lexa 1 8 0 + Ec h o Bu tton s Games Skills Ten s of th ou san d s say “A lexa, Let ’s Play a Game” eac h d ay Trivia – Most Req u ested Ec h o Bu tton s Game Gen re
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building a Skill – Faster for Developers
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Skill Development Process – New and Improved 1. Initial deploy of your Skill via the ASK CLI 2. Edit the Skill’s code in your code editor 3. Update your Skill and Lambda function with the ASK CLI 4. Test your Skill with the Alexa Dev Portal Simulator
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Collection of self-service APIs (Skill Interfaces) • Tools (Alexa Developer Console) • Documentation (developer.amazon.com/docs) • Code samples (developer.amazon.com, GitHub) Add capabilities, or skills, to Alexa using the Alexa Skills Kit Alexa Skills Kit (ASK)
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Based on Node JS Runs on Windows, Mac, and Linux Manage Skills Programmatically uses Skills Management API (SMAPI) Deploy Skill Lambda Functions connects to AWS services directly ASK CLI != AWS CLI ASK Command Line Interface (ASK CLI)
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • new • deploy • clone • simulate • validate • lambda • api − create a new skill project in the current directory − deploy a skill project and optionally deploy AWS Lambda code − creates a new local skill project by cloning an existing skill from your account − simulates an invocation of your skill with text input − executes tests to validate a skill before submitting for certification − retrieve and upload code for an AWS Lambda function − commands that map to underlying SMAPI ASK Command Line Interface (ASK CLI)
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Profiles = named configuration options Amazon Developer Portal mapping AWS Account Mapping (via AWS CLI Profile Name) Support for Multiple Profiles $ ask init –p new-profile-name ASK CLI – Profiles
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Create new skill project locally $ ask new -n new-skill-name –p profile-name -n -p --template − Option to name the skill project − Option to select the ASK profile to use − Option to use a specific template to create the skill (default is to create a “Hello World” skill project) ASK CLI – Create New Skill Project
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • .ask/config ASK CLI config file mapping to a CLI profile • lambda/custom/ skill code (to be uploaded to Lambda) • models/ intents, slots, values, per language • skill.json skill config and publishing options (skill manifest) Skill Project File Structure
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ ask deploy –p profile-name • Execute from the skill folder (where skill.json is located) • Deploys to Developer Account associated with the profile • If skill does not exist it creates the skill • Deploys Lambda to the AWS account associated with the profile • If Lambda does not exist, it creates a new function ASK CLI – Deploy Skill
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ ask deploy –p profile-name –t {all|lambda|model|skill} • all • lambda • model • skill − Deploy everything (default) − Deploys only the skill code to Lambda − Deploys only the skill’s interaction model − Deploys only the skill metadata (manifest) ASK CLI – Deploy Skill (Advanced Options)
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Time for some hands on practice! https://bit.ly/reinvent-alx-405 Follow Lab 1 to setup the ASK CLI on your laptop and deploy your first skill. Give It A Try!
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ ask clone –p profile-name [--skill-id <skillid>] • Creates a local project from an existing skill in your account • If no --skill-id specified, prompts to choose from a list of skills available • Skill to clone must be in the DEVELOPMENT stage (i.e. not published/certified) AWS CLI ASK CLI Deep Dive Troubleshooting ASK CLI – Clone Skill Project
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. { "deploy_settings": { "skill-name": { "skill_id": "amzn1.ask.skill.12345678-64ba-4d6d-ad08-84f09cf47246", "was_cloned": "false", "merge": { "manifest": { "apis": { "custom": { "endpoint": { "uri": "ask-custom-SkillName" } } } } } } } AWS CLI ASK CLI Deep Dive Troubleshooting ASK Config .ask/config – Configuration file located in the skill folder – Contains named-profile based configuration for the skill, such as the endpoint (i.e. Lambda function)
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CLI ASK CLI Deep Dive Troubleshooting Skill Manifest The skill manifest is the JSON representation of your skill and provides Alexa with all of the required metadata. • publishingInformation how the skill is presented to customers in the Skill Store or Alexa app • apis defines which interfaces your skill supports • permissions ask the user for specific personal information, such as access to the physical address of their device • privacyAndCompliance data related to user privacy, such as the URLs for your privacy policy and terms of use • events events to which a skill wants to subscribe (e.g. notification on skill enablement)
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. { "manifest": { "publishingInformation": { "locales": { "en-US": { "summary": ”A sample Hello World skill.", "examplePhrases": [ "Alexa open Hello World" ], "keywords": [ ”keyword1", ”keyword2" ], "name": ”Skill Name", "description": ”Demo skill built using the Alexa Skill Kit." } }, "isAvailableWorldwide": true, "testingInstructions": ”Skill testin instructions.", "category": ”CATEGORY_NAME", "distributionCountries": [] }, "apis": { "custom": { "endpoint": { "sourceDir": "lambda/custom” } } }, "manifestVersion": "1.0” } } AWS CLI ASK CLI Deep Dive Troubleshooting Skill Manifest
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ ask deploy –p profile-name –t {all|lambda|model|skill} • all • lambda • model • skill − Deploy everything (default) − Deploys only the skill code to Lambda − Deploys only the skill’s interaction model − Deploys only the skill metadata (manifest) AWS CLI ASK CLI Deep Dive Troubleshooting ASK CLI – Deploy Skill (Advanced Options)
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. "[Error]: Cannot resolve profile [default]" • Did you forget to include the "-p profile-name" option? • The most likely reason for this error is executing a CLI command without specifying a named profile. The CLI will then attempt to run the command in the default profile but that profile may not exist. AWS CLI ASK CLI Deep Dive Troubleshooting Troubleshooting Common Errors
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. "[Error]: Cannot resolve profile [some-profile-name]" • Double check the profile name given with the "-p" option! • If the profile name is correct, then you may have not yet initialized the profile. Run "ask init –p <profile>". AWS CLI ASK CLI Deep Dive Troubleshooting Troubleshooting Common Errors
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Error code: 401 "message": "User is not authorized to access this skill." • Double check the profile name given with the "-p" option! • This error usually indicates that the skill you are attempting to modify belongs to a different Amazon Developer account than the one you have mapped to the ASK profile you’re using. AWS CLI ASK CLI Deep Dive Troubleshooting Troubleshooting Common Errors
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Other common sources of errors: • IAM permissions – does the IAM user mapped to your AWS Profile have the correct permissions to update Lambda functions, create IAM roles, etc.? • AWS Profile mapping mismatch – the AWS Profile mapped to the ASK Profile is not the correct one. • Skill Manifest Configuration • ASK config (endpoint or profile misconfiguration) AWS CLI ASK CLI Deep Dive Troubleshooting Troubleshooting Common Errors
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Echo Buttons Events and Directives
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Echo Buttons Events and Directives
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New Capabilities for Skills Independent Input Event Channel Session Extension Mic Control Configurable Input Handlers Queue or Interrupt TTS
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. GameEngine – Define & Receive Button Press Events t h r e e B l u e s
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. GameEngine – Define & Receive Button Press Events GameEngine.StartInputHandler: { "type": ”GameEngine.StartInputHandler", ”timeout": int, ”maximumHistoryLength": int, ”proxies": [ ], ”recognizers": [ ], ”events": { } } GameEngine.StopInputHandler: { "type": ”GameEngine.StopInputHandler", ”originatingRequestId": string }
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. GameEngine – threeBlues → playerWins { "type": "GameEngine.StartInputHandler", "timeout": 30000, "maximumHistoryLength": 256, "recognizers": { "threeBlues": { "type": "match", "fuzzy": false, "anchor": “end", "pattern”: [ { "action": "down", "colors": [ "0000FF" ], "repeat": 3 } ] }, "events": { "playerWins": { ”meets": [ "threeBlues" ], “reports": "matches", “shouldEndInputHandler": true }, "timeout": { "meets": [ "timed out" ], "reports": "history", "shouldEndInputHandler": true } } }
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. playerWins Event { "request": { "type": "GameEngine.InputHandlerEvent", "requestId": "amzn1.echo-api.request.e48235fc-077d-4ae7-adef-3064db6ab609", "timestamp": "2018-11-26T09:54:44Z", "locale": "en-US", "originatingRequestId": "amzn1.echo-api.request.8013a5e5-5ab6-49eb-819b-7e00db5c92dd", "events": [ { "name": ”playerWins", "inputEvents": [ { "gadgetId": "amzn1.ask.gadget.05RPH7PJG9C61DHI4QR0RLOQOHKS31J6ECRU5T0LOVGB3UI6N", "timestamp": "2018-11-26T09:56:12Z", "color": ”0000FF", "feature": "press", "action": "down” }, ... ] } ] } }
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. GadgetController.SetLight Structure: { "type": "GadgetController.SetLight", "version": 1, "targetGadgets": [ string ], "parameters": { "triggerEvent": string, "triggerEventTimeMs": int, "animations": [ { "repeat": int, "targetLights": [ "1” ], "sequence": [ { } ] } ] } } Animation Example: “animations”: [ { ”repeat": 10, "targetLights": [ “1” ], ”sequence": [ { ”durationMs": ”300", ”color": “00FF00”, // green ”blend": “true” }, { ”durationMs": ”300", ”color": “0000FF”, // blue ”blend": “true” } ] } ]
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Skill Response – Mic Control and TTS Interrupt If you want to keep the mic open: handlerInput.responseBuilder.getResponse().shouldEndSession = false; Close your skill and end the session: handlerInput.responseBuilder.getResponse().shouldEndSession = true; NEW! Keep your skill active but not listening for voice input: delete handlerInput.responseBuilder.getResponse().shouldEndSession; NEW! Interrupt Alexa when a button is pressed: response.outputSpeech.playBehavior = 'REPLACE_ALL';
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Keep In Mind… Store Your Game and Gadgets State Alexa Makes a Great Game Host! Keep Your Players Engaged
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Now that you’re familiar with the GameEngine and GadgetController Skill Interfaces, build your own Echo Buttons Skill! https://bit.ly/reinvent-alx-405 Follow Lab 2 and start building. Build Your Own Game Skill
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 44. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Chachi Kruel chachik@amazon.com
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.