SlideShare a Scribd company logo
1 of 69
The Internet
of (Notes)
Things
Keith Strickland
JavaScript Guru – Red Pill Now
The New Chapter Begins
#domino2025
Keith Strickland
JavaScript Guru – Red Pill Now
Peter Presnell
CEO – Red Pill Now
Peter Presnell
CEO
Keith Strickland
JavaScript Guru
Internet OfThings
Internet
Things
HomeThings
Smart Hubs
Gateways
Gateway Protocols
CarThings
RFIDThings
Application Things
IoT Architecture
Triggers
My name is
mentioned on
twitter
I take a photo
A contact is
added
Receive an e-
mail from my
boss
A meeting is
about to start
It is raining
outside
Jira task is
assigned to
me
New item
added
New customer
added
Triggers
Actions
Actions
Approve travel
request
Turn off lights
Create an
invoice
Post message
to a space
Create item in
SharePoint list
Lower
temperature
4°
Create new to-
do
Send text
message
Create contact
Properties
Properties
Document
Author
Light
On/off
Invoice
Amount
Attachment
Type
Travel Request
Next Approver
Living Room
Temperature
Task
Due Date
Front Door
Unlocked
Contact
Phone Number
Recipes
Recipes
Process Automation
Internet of NotesThings
NotesTactics
REST API
GET
POST
PUT
PATCH
DELETE
REST API
REST API
MicroServicesArchitecture
AgentsArchitecture
Front End CodeArchitecture
Back End CodeArchitecture
WebhooksCoding
PostmanTesting
OpenAPI (Swagger)Documentation
Adapters
Voice Input
Voice Input
“Approve Nathan’s
Travel Request”
So, you want to create an Alexa skill?
Alexa Developer Console
https://developer.amazon.com
Parts of an Alexa Skill
Interaction Model
Invocation Phrase
lotus rotterdam
Intents
Intents: Sample Utterances
Get sessions by {AMAZON.Person}
Get {AMAZON.TIME} sessions
SlotTypes
Value: Nathan Freeman
Synonyms: the ntf, ntf, freeman, the freeman, n t f, the n t f, the n. t. f.
Dialog Model
Interfaces
AWS Services Console
https://www.amazon.com/developer
Lambda Function
node.js
ask-sdk
https://aws.amazon.com/cli
Adding your skill to Alexa
https://alexa.amazon.com
Skills ->Your Skills
Dev Skills
The Code
Opportunities for Improvement
Reusability
is the Goal
Keith Strickland
JavaScript Guru – Red Pill Now
11:30 Sky Room (Bridge Deck)
#domino2025

More Related Content

Similar to The Internet of Notes Things

Building Hybrid Business Apps for SharePoint
Building Hybrid Business Apps for SharePointBuilding Hybrid Business Apps for SharePoint
Building Hybrid Business Apps for SharePointK2
 
Texas State Bar 2010 - So What Do I Do Now?
Texas State Bar 2010 - So What Do I Do Now?Texas State Bar 2010 - So What Do I Do Now?
Texas State Bar 2010 - So What Do I Do Now?Lisa Salazar
 
E-Collaboration with Web 2.0
E-Collaboration with Web 2.0E-Collaboration with Web 2.0
E-Collaboration with Web 2.0James Sutter
 
Low Latency Fraud Detection & Prevention
Low Latency Fraud Detection & PreventionLow Latency Fraud Detection & Prevention
Low Latency Fraud Detection & PreventionSid Anand
 
June 2023 Architect Group FTW.pdf
June 2023 Architect Group FTW.pdfJune 2023 Architect Group FTW.pdf
June 2023 Architect Group FTW.pdfAmeyKulkarni84
 
Process Automation Platform - MasterBase®
Process Automation Platform - MasterBase®Process Automation Platform - MasterBase®
Process Automation Platform - MasterBase®MasterBase®
 
Effective Computing In Today’s World
Effective Computing In Today’s WorldEffective Computing In Today’s World
Effective Computing In Today’s WorldTechnecessities
 
CTA mock exam Universal Safety Technologies
CTA mock exam  Universal Safety TechnologiesCTA mock exam  Universal Safety Technologies
CTA mock exam Universal Safety TechnologiesJohann Furmann
 

Similar to The Internet of Notes Things (9)

Building Hybrid Business Apps for SharePoint
Building Hybrid Business Apps for SharePointBuilding Hybrid Business Apps for SharePoint
Building Hybrid Business Apps for SharePoint
 
Texas State Bar 2010 - So What Do I Do Now?
Texas State Bar 2010 - So What Do I Do Now?Texas State Bar 2010 - So What Do I Do Now?
Texas State Bar 2010 - So What Do I Do Now?
 
Occio Feb 11
Occio Feb 11Occio Feb 11
Occio Feb 11
 
E-Collaboration with Web 2.0
E-Collaboration with Web 2.0E-Collaboration with Web 2.0
E-Collaboration with Web 2.0
 
Low Latency Fraud Detection & Prevention
Low Latency Fraud Detection & PreventionLow Latency Fraud Detection & Prevention
Low Latency Fraud Detection & Prevention
 
June 2023 Architect Group FTW.pdf
June 2023 Architect Group FTW.pdfJune 2023 Architect Group FTW.pdf
June 2023 Architect Group FTW.pdf
 
Process Automation Platform - MasterBase®
Process Automation Platform - MasterBase®Process Automation Platform - MasterBase®
Process Automation Platform - MasterBase®
 
Effective Computing In Today’s World
Effective Computing In Today’s WorldEffective Computing In Today’s World
Effective Computing In Today’s World
 
CTA mock exam Universal Safety Technologies
CTA mock exam  Universal Safety TechnologiesCTA mock exam  Universal Safety Technologies
CTA mock exam Universal Safety Technologies
 

More from Red Pill Now

M is for modernization
M is for modernizationM is for modernization
M is for modernizationRed Pill Now
 
Take 5 Modernization Workshop
Take 5 Modernization WorkshopTake 5 Modernization Workshop
Take 5 Modernization WorkshopRed Pill Now
 
Reusability is the goal
Reusability is the goalReusability is the goal
Reusability is the goalRed Pill Now
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025Red Pill Now
 
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...Red Pill Now
 
Design for the Visually Impaired
Design for the Visually ImpairedDesign for the Visually Impaired
Design for the Visually ImpairedRed Pill Now
 
Migration Verus Modernization
Migration Verus ModernizationMigration Verus Modernization
Migration Verus ModernizationRed Pill Now
 
I Smell a RAT: Rapid Application Testing
I Smell a RAT: Rapid Application TestingI Smell a RAT: Rapid Application Testing
I Smell a RAT: Rapid Application TestingRed Pill Now
 
IBM XPages: The Next Step in Your Life As a Notes Developer
IBM XPages: The Next Step in Your Life As a Notes DeveloperIBM XPages: The Next Step in Your Life As a Notes Developer
IBM XPages: The Next Step in Your Life As a Notes DeveloperRed Pill Now
 
FIVE Reasons Not To Use Red Pill Now
FIVE Reasons Not To Use Red Pill NowFIVE Reasons Not To Use Red Pill Now
FIVE Reasons Not To Use Red Pill NowRed Pill Now
 
Influencing Behavior Through Color and Page Design
Influencing Behavior Through Color and Page DesignInfluencing Behavior Through Color and Page Design
Influencing Behavior Through Color and Page DesignRed Pill Now
 
Big Data With Graphs
Big  Data With GraphsBig  Data With Graphs
Big Data With GraphsRed Pill Now
 
M is for modernization
M is for modernizationM is for modernization
M is for modernizationRed Pill Now
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With GraphsRed Pill Now
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web ComponentsRed Pill Now
 
The Lotus Position : 3 Degrees Of Freedom
The Lotus Position : 3 Degrees Of FreedomThe Lotus Position : 3 Degrees Of Freedom
The Lotus Position : 3 Degrees Of FreedomRed Pill Now
 
Getting your hands on graphs
Getting your hands on graphsGetting your hands on graphs
Getting your hands on graphsRed Pill Now
 

More from Red Pill Now (20)

M is for modernization
M is for modernizationM is for modernization
M is for modernization
 
Take 5 Modernization Workshop
Take 5 Modernization WorkshopTake 5 Modernization Workshop
Take 5 Modernization Workshop
 
Reusability is the goal
Reusability is the goalReusability is the goal
Reusability is the goal
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025
 
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...
Red Pill Now - Taking the Guesswork Out of Selecting a Solution for Modernizi...
 
Design for the Visually Impaired
Design for the Visually ImpairedDesign for the Visually Impaired
Design for the Visually Impaired
 
Migration Verus Modernization
Migration Verus ModernizationMigration Verus Modernization
Migration Verus Modernization
 
I Smell a RAT: Rapid Application Testing
I Smell a RAT: Rapid Application TestingI Smell a RAT: Rapid Application Testing
I Smell a RAT: Rapid Application Testing
 
IBM XPages: The Next Step in Your Life As a Notes Developer
IBM XPages: The Next Step in Your Life As a Notes DeveloperIBM XPages: The Next Step in Your Life As a Notes Developer
IBM XPages: The Next Step in Your Life As a Notes Developer
 
FIVE Reasons Not To Use Red Pill Now
FIVE Reasons Not To Use Red Pill NowFIVE Reasons Not To Use Red Pill Now
FIVE Reasons Not To Use Red Pill Now
 
Influencing Behavior Through Color and Page Design
Influencing Behavior Through Color and Page DesignInfluencing Behavior Through Color and Page Design
Influencing Behavior Through Color and Page Design
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
Big Data With Graphs
Big  Data With GraphsBig  Data With Graphs
Big Data With Graphs
 
M is for modernization
M is for modernizationM is for modernization
M is for modernization
 
Digging for Gold
Digging for GoldDigging for Gold
Digging for Gold
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With Graphs
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
The Lotus Position : 3 Degrees Of Freedom
The Lotus Position : 3 Degrees Of FreedomThe Lotus Position : 3 Degrees Of Freedom
The Lotus Position : 3 Degrees Of Freedom
 
Rethinking Notes
Rethinking NotesRethinking Notes
Rethinking Notes
 
Getting your hands on graphs
Getting your hands on graphsGetting your hands on graphs
Getting your hands on graphs
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

The Internet of Notes Things

Editor's Notes

  1. Z-Wave, ZigBee, WiFi, Bluetooth
  2. Z-Wave, ZigBee, WiFi, Bluetooth
  3. Great! I will show you how to get started, the web sites you need to know about and some of the documentation. To me, the most difficult part of building an Alexa skill was figuring out all the things you need to get up and running before you write any code. Hopefully I can deliver some knowledge here so that you can start developing your own Alexa skill without too much hassle.
  4. When setting up your account take into consideration the name and email address you use. If you need to setup a business account, use a different name, or add the company name to your name. This is so you can add your business account to your Alexa household and be able to tell the difference between the 2 accounts. When I first did this I went remove my business account from the household and there were 2 entries labeled “Keith Strickland” with no way to differentiate between the 2, I ended up removing the wrong one. Once you do this it’s 180 days before that account can join another household. So Developer Beware
  5. The major parts of an Alexa skill are: Interaction Model Interfaces Endpoints
  6. The interaction model is what defines the structure of your skill and how it should find the code to run for requests. It’s made up of 4 different parts: Invocation Phrase Intents Slot Types Dialog Model
  7. This is the phrase that a user will speak to start your skill and open a session. It should be at least 2 words and can’t be any of Alexa’s restricted launch words. Once the Invocation Phrase is spoken it will run the “LaunchRequestHandler” which we’ll get into with the code
  8.  ”An intent represents an action that fulfills a user's spoken request. Intents can optionally have arguments called slots.” Defining these makes it possible for you to provide different responses to different requests. For example in our “hello-engage” skill, there are several intents. Finding Sessions Yes No General Greeting Then we implemented some of the built in intents Cancel Stop Help Repeat There will be corresponding functions within your code to handle each different intent you define which is what builds the response to the user’s request.
  9. “A set of likely spoken phrases mapped to the intents. This should include as many representative phrases as possible.” You will want to define a bunch of sample utterances for each Intent. Get some help here coming up with utterances. This is how Alexa will determine what is being requested and then to allow your code to build a response. Also, these will set the requirements for your skill. It’s best to do this with a group of people as each person will ask the same question differently. The more utterances you can provide the better your skill will be.
  10. There are 2 types of Slots: Built-In – Definitions to handle all sorts of things like company names, people names, room names. In total probably about 50 different types to choose from Custom - A representative list of possible values for a slot. Custom slot types are used for lists of items that are not covered by one of Amazon's built-in slot types. Think of this as a variable that is part of your utterance, for example a name, a place or anything that can be used to drive a lookup You provide a list of possible values, and then define optionally an ID and a bunch of Synonyms if needed When defining these they certainly need to be tested by speaking to either an Echo device or the Test console. This is so you can find differences in what you Say and how Alexa interprets what you said. For example, in my testing with my accent “Peter Presnell” would be interpreted as “Peter Prescott”. In this case I added “Peter Prescott” as a Synonym to ”Peter Presnell”. Now while this isn’t really feasible for something like a name, it is a way to “correct” issues that you encounter Of course in most cases you can’t take that particular approach, but since ”Peter Prescott” isn’t a speaker at Engage 2018, we could take this approach Also be aware that any special characters like quotes, parens, pound sign, asterisk, etc. are not allowed to be in the synonym or value of a slot definition. This can cause problems, example: The name of this session is ”The Internet of (Notes) Things” and that’s what the title is in the database. However, the value of that slot definition is “The Internet of Notes Things”, so I can’t really query the database properly for that particular session name.
  11. This is an optional piece of the interaction model. “A structure that identifies the steps for a multi-turn conversation between your skill and the user to collect all the information needed to fulfill each intent. This simplifies the code you need to write to ask the user for information.” Even though our hello-engage skill works on a “multi-turn conversation” we didn’t use the Dialog Model. We instead created Yes and No intents that are smart enough to know what to do next based on your answer
  12. This is where you enable specialty features for your skill. For Example: An audio player – Will give you the ability to control streaming of audio Display Interface – Enables ability to send Card data to an Echo Show or Echo Spot Video App– Enables ability to control streaming of video Alexa Gadget – “Alexa Gadgets is a new category of connected products that enhance voice interactions with compatible Amazon Echo devices. The Gadgets Skill API and the Gadgets SDK enable developers to build experiences and products that turn an Amazon Echo device into a hub for interactive play.”
  13. This is where you will define the AWS:ARN ID of your Lambda Function. This is how Alexa knows where your code resides.
  14. A Lambda function is an anonymous function. In other words, it’s not bound to an identifier. There are several programming languages that can be used to write your lambda function: C# Go Java 8 Python JavaScript (ES5) On the AWS Services Console, you can write your code directly in that web page. However it’s quickly becomes a problem as you have no TypeAhead support and it’s just a slower workflow. We recommend that you develop your skill locally and upload it to your lambda function using the aws-cli.
  15. With Red Pill’s JavaScript developers we found node.js v6 to be the easiest to get up and running quickly. Since we’re using node.js we already had all the relevant skills and development environments installed on our machines, so it wasn’t a big learning curve here with the exception of a lack of Alexa documentation. However there are lots of examples on how to do things.
  16. The ask-sdk is a node module for working with the Alexa API. Before the ask-sdk was the alexa-sdk. This did not provide TypeScript Typings and the documentation was not very good. It was very difficult to find examples or API documentation. The ask-sdk is now 3 different modules: ask-sdk, ask-sdk-core and ask-sdk-model. These modules provide TypeScript Typings and robust typeahead support. If your editor supports linking to source you can follow those links to see how things should be implemented. The Interfaces of the ask-sdk are documented somewhat but that documentation is much better than for the previous alexa-sdk. The biggest barrier to using these SDKs is the lack of API documentation.
  17. The AWS Command Line Interface makes it possible to upload code to a Lambda function. I highly recommend going this route to automate creating a zip file and uploading your code to your Lambda function. Some of the barriers here is just the difficulty of following the documentation to getting all the things needed to setup authentication. Once you get the authentication setup it’s fairly easy to search for what you’re trying to do.
  18. While all of this is well and good, there are a LOT of opportunities here for improvement, especially in the Name and Session Title resolution. I would think something like Watson could analyze Alexa’s translated name to match a speaker since that is one of the biggest problems with this particular skill. We could pass the name that Alexa thought she heard to Watson and Watson could figure out what name was meant based on the conference speakers. Also, Watson could probably come in handy to translate session titles. For example the title of this session “The Internet of (Notes) Things”. Alexa doesn’t know what to do with the parens in this title. She doesn’t understand that there should be a different tone applied because it’s in parens. Watson could help convert this using “Natural Language Processing” to a proper speech tag with an emphasis tag around ”(Notes)”. Likewise there are other Session titles which contain quotes around a word that should also be surrounded with an emphasis tag. Could we do this ourselves without the use of Watson? Of course, but it would be a lot of ugly tedious code that would be prone to breakage and confusion when revisited at a later date.