Voice Applications for Alexa and Google Assistant
Dustin Coates
  • MEAP began December 2017
  • Publication in Summer 2019 (estimated)
  • ISBN 9781617295317
  • 375 pages (estimated)
  • printed in black & white

The book has absolutely priceless details about making Voice UI and chat UI.

Tiklu Ganguly

There's always someone listening! Voice-controlled devices like Amazon Alexa and Google Assistant are everywhere, and the apps that control them are getting more powerful. Whether you're jamming to Spotify, Googling facts, chatting with friends, or reordering supplies from Amazon, great voice apps change how you interact with the web. Voice Applications for Alexa and Google Assistant teaches you how to design, build, and share voice apps.

Table of Contents detailed table of contents

Part 1: Voice User Interface

1. Introduction to Voice First

1.1. What is Voice-First?

1.2. Designing for Voice UIs

1.3. Anatomy of a Voice Command

1.4. Waking the Voice-First Device

1.5. Introducing Natural Language Processing

1.5.1. How Speech Becomes Text

1.5.2. Intents are the Functions of a Skill

1.5.3. Training the NLU with Sample Utterances

1.5.4. Plucking Pertinent Information from Spoken Text

1.5.5. The Code That Ties it All Together

1.5.6. Telling Alexa What to Say

1.6. Summary

2. Building a Call and Response Skill

2.1. Building an Alexa Skill

2.1.1. Skill Metadata

2.1.2. Interaction Model

2.2. Building a Skill: The Interaction Model

2.2.1. Building the Intent

2.2.2. Slots

2.2.3. Fulfillment

2.3. Creating the Fulfillment on AWS Lambda

2.3.1. Connecting Skill to Lambda

2.3.2. WellRestedIntent

2.4. Summary

3. Designing a Voice User Interface

3.1. Voice User Interface Fundamentals

3.1.1. The Cooperative Principle

3.1.2. VUI Planning

3.2. Variety

3.3. Conclusion

3.4. Summary

4. Using Entity Resolution and Built-in Intents to Extend a Skill

4.1. Alexa Skills Kit CLI

4.1.1. Creating an Alexa Skill Project

4.2. Entity Resolution

4.2.1. Fulfillment

4.2.2. Built-in Intents

4.2.3. LaunchRequest

4.3. Invoking the Skill Locally

4.4. Summary

5. Making a Conversational Skill

5.1. Creating a Conversation

5.1.1. State Management

5.1.2. Per-state Handlers

5.1.3. Handling the Unhandled

5.2. Maintaining Long-Term Information

5.3. Combining it All Together

5.3.1. New Intents

5.3.2. New Utterances

5.3.3. New Fulfillment

5.3.4. Correcting a Mistake

5.4. Summary

Part 2: Coding for Voice-First Platforms

6. Utilizing Conversation Best Practices

6.1. Conversations and Context

6.1.1. A Skill With Context

6.2. Request and Response Interceptors

6.2.1. Response Interceptors

6.2.2. Request Interceptors

6.3. Summary

7. Using Conversation Tools to Add Meaning and Usability

7.1. Discourse Markers

7.2. Controlling the Application’s Way of Speaking with Speech Synthesis Markup Language

7.2.1. Breaks and Pauses

7.2.2. Prosody

7.2.3. amazon:effect

7.2.4. w, say-as

7.2.5. Phoneme

7.3. Embedding Audio

7.4. Summary

8. Directing Conversation Flow

8.1. Guiding User Interaction

8.2. Dialog Interface

8.2.1. Setting up the Dialog Model

8.2.2. Slot Filling

8.2.3. Intent Confirmation

8.2.4. Dialog Model Fulfillment

8.3. Handling Errors

8.4. Summary

9. Testing and Publishing

10. Using the Alexa Gadget API

11. Build Your Own Alexa in the Browser

Part 3: Coding for Google Assistant

12. Building an Action for Google Assistant

About the Technology

Voice assistants have taken off, with "voice-first" devices like the Amazon Echo and Google Home found in millions of homes. Voice-enabled devices, and the apps that control them, are an exciting new field for UI designers and web developer. To create your own voice "skills," you'll need to learn some new device toolkits, the basics of Voice UI design, and a some emerging best practices for building and deploying on these diverse platforms.

About the book

Voice Applications for Alexa and Google Assistant is your guide to the exciting world of designing, building, and implementing voice-based applications for Amazon Alexa or Google Assistant! Inside, you'll learn how to build your own "skills"—the voice app term for actions the device can perform—from scratch. After an overview of Voice UIs and how they work, you'll build a voice-powered sleep tracker to monitor sleeping patterns. Every chapter introduces a new topic as you learn to build a call and response Skill so your app knows when you talk to it, store the information in a database so your app can track and monitor the sleep patterns, and enable account linking so you can retrieve historical data. Building on the basics, you'll dig deeper as you master the art of building a multi-use conversational flow and even learn how to automatically display cards with stats of the previous night.

Along with the running example, this carefully-crafted tutorial includes smaller projects you can take on to practice your new techniques. You'll also discover a trove of best practices and tips that will streamline the app development process.

What's inside

  • Designing a voice interaction model
  • Fulfilling skills via a serverless platform like AWS Lambda
  • Connecting a skill to a database
  • Building a skill which can connect to a user account
  • Handling errors, disambiguation, and conversations in a voice skill

About the reader

Written for JavaScript developers interested in building voice-enabled applications. No prior experience required!

About the author

Dustin A. Coates is a web developer and web development instructor. He has taught hundreds of students online and offline at General Assembly. Dustin also developed popular courses for OneMonth.com and the European non-profit Konexio, which teaches refugees how to code.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.

FREE domestic shipping on three or more pBooks

Clearly explains the differences between VUI and other types of UI, and lays out the foundations for creating your own voice apps.

James Matlock

This book is a great introduction to Alexa development with step by step examples for Skill development. If you are looking to get started with creating skills for Alexa, this is the book for you.

Michael Jensen