Eventually you're going to want to monetize your Google action and one way to do that is through in-Action transactions. Mark and Allen go over the different kinds of Digital Goods Transactions available and how to use them. (If you're looking for how to do this on Alexa - check out the previous episode.) For more about digital goods transactions, see https://developers.google.com/assistant/transactions
Eventually you're going to want to monetize your Alexa skill, and one way to do that is through In Skill Purchases (ISP). Mark and Allen go over the different kinds of ISPs available and how to use them. (If you're looking for how to do this on the Google Assistant - tune in next week.)
For more about In Skill Purchases, see https://developer.amazon.com/en-US/docs/alexa/in-skill-purchase/isp-overview.html
Now that Google I/O has been completed, Allen and Mark discuss what new features have been delivered for the Google Assistant... and what has just been promised. What were your favorite moments from Google I/O, and what new features are you most looking forward to?
This week is Google I/O, where Google regularly takes the opportunity to release what's new and coming "soon" in the Google ecosystem. Mark and Allen take the opportunity to review what new features have recently come out for developers of Alexa skills and actions for the Google Assistant. What new features of these platforms have you been building for?
In episode 38, we talked about the general process about handling users when they start our skill or action. But what do we do in the specific case of the new user? How can we onboard them? Allen and Mark talk about what our conversation designers may be asking of us, and the data structures and tools we can use to implement their ideas.
Do your skills or actions work on the first try? Of course they don't! That's why we have to find good methods of tracking down and squishing those bugs. Mark and Allen discuss some of their tips for figuring out what is wrong when, on those rare occasions, things don't quite work as expected.
In a lot of ways, #VoiceFirst development is like any other programming. But not quite. There are always some good things we need to remember as we build and test our skills, actions, and capsules. Mark and Allen talk about the best practices they follow when starting a project. Do you have any tips and tricks you make sure you follow to make your development life easier?
Make sure you get your conversation off to a good start with a good welcome message. While you'll rely on your conversation designer to make it sound right, Mark and Allen discuss how to implement all different sorts of welcome messages, and why you may need different approaches at different times.
Keeping count of things, how often a user has asked for help or visited your skill/action, can be a useful tool conversation designers want. But how can you code that? And how do you report that value when you're talking to a user? Allen and Mark discuss several tips and tricks about how they keep track of counters using Jovo, multivocal, and other toolkits, and the best ways to present this information to your users.
Implementing "repeat" is one of the Intents that the review teams from both Amazon Alexa and the Google Assistant require. But they don't really give guidance about how to design or implement that Intent. Mark and Allen discuss the various approaches that they take with the Alexa Skills Kit, Assistant Library, Jovo, and multivocal.
Did you notice that Mark was nominated for a Project Voice award for game development? To celebrate, we chatted about the tools he used to create his games and what kinds of things you can do to make a good voice-first game.
We complete (for now!) our review of display technologies for voice. Mark dove into a project using Vue and Web API for Games for Alexa, and he compares his experiences with Allen's recent presentation about using the Interactive Canvas for Actions on Google with React. Buzzword Bingo! How do the two compare and contrast?
Mark's project with Vue and Web API for Games: https://github.com/rmtuckerphx/jovo-web-vue-starter-ts
Allen's project with React and Interactive Canvas: https://github.com/afirstenberg/interactive-canvas-react
Allen has some questions about the Alexa Presentation Language (APL), so who better to ask than one of the contributors to apl.ninja, Stuart Pockington, who joins as the guest host this week. We go through a lot of details about APL, some of which blows Allen's mind.
Stuart adds this clarifying note: "For one question Allen asked about importing the APL document, I answered in a way that implies that I drop the json directly into the directive. That’s not what I do and I’d not recommend others to do it. Instead I save the APL JSON file in my project and reference that in APL directive. That gets deployed along with all my other backend code in lambda."
What kind of built-in Intents do Alexa and the Google Assistant provide to developers directly? How do they differ from each other, and what kind of problems do they cause? And what are Events and how do they differ? Allen and Mark dive into this weeks tongue twister, (but don't worry, it doesn't get too intense).
Five to seven seconds. That's how long you have for your Alexa Skill or Google Assistant Action to reply to a request from the user. And while that doesn't seem very long, if you're waiting for a reply, it can seem like forever. Mark and Allen discuss how important it is to shave milliseconds off your processing, and various techniques to do so.
We received a question from Rebecca Evanhoe asking if there was a way to determine the features of our assistant device for a conversation. Mark and Allen dive into the various ways we can figure that out, and some of the "gotchas" that can come with it.
Following on from our previous episode about debugging, Allen and Mark discuss the related topics of analytics. Although there are tools from Alexa and Google, there are also some third party tools such as those from Dashbot, and the new Jovo Inbox. Along the way, we discuss potential performance pitfalls, and how to avoid a sonic Blue Screen of Death.
Debugging is the bane of most developers, but it can be particularly tricky when it comes to voice - between the remote nature of it and the rapid response time required, it can be difficult to capture what is going wrong. Mark and Allen discuss the various tools and tips we have at our disposal to track down those pesky bugs.
Some tools mentioned:
Bespoken - bespoken.io
Sentry - sentry.io
Mocha - mochajs.org
Chai - chaijs.com
Assistant Conversation Test Tool - https://github.com/actions-on-google/assistant-conversation-testing-nodejs
For our first guest host, we're thrilled to welcome Ilarna Nche! She chats with Allen about how she got started developing with voice, some of her insights about what it takes to create a successful voice game, and what we should be thinking about next.
Allen thinks that the Interactive Canvas feature on the Google Assistant is one of the best technologies it supports, but Mark has a few questions about how it works. Supporting most of your favorite HTML/CSS/JS technologies in a Chrome-like environment, how would you enhance your Actions? What questions do you have about using it?
Breaks are good times to get some coding done, so what have Allen and Mark been up to recently? Turns out, there are some updates with Speech Markdown and Multivocal, and they explore these changes and the code that went into them.
Speech Markdown: speechmarkdown.org
Merry Christmas and Happy Holidays, everyone! Mark was busy working on his new game, Snatch Words, and Allen provided some help getting it working with the Google Assistant. Hear what that means when it comes to visual lists, security tokens, and more.
We often talk about skills and actions being "all about the content", but how do we manage that content if its so important? In a content management system, of course! Mark and Allen discuss their experiences using CMS tools and the crucial role they play in building practical skills and actions.
In the US, today is Thanksgiving. Allen and Mark would like to thank all of you for watching and listening, but also some people who have meant so much to us.
Just a small list includes:
Our families and closest friends
Brad Abrams, Jessica Early-Cha, and Mandy Chan
Gene Homicki, my coworkers, and everyone at MyTurn.com and spiders.com
Karol Stryja and Michal Stanislawek for VoiceLunch.com
Denis Valasek and Linda Lawton
Maike G and Rebecca E
And everyone else we name in the show or who have helped us so much this year. Know that we are thankful for each and every one of you. You matter to us and to everyone.
Building for voice is more than writing a simple program and you're done. A good voice skill or action has many components that work together. Mark and Allen discuss what some of those components are, how they integrate, and what you should think about as you write them.
Number Spies System Components: https://markvoicedev.medium.com/creating-an-alexa-game-number-spies-system-components-overview-41bf142d0b3c
Even before you start with a blank editor, you're faced with coming up with the idea. When it comes to Voice - what inspires us? Allen and Mark talk about where our ideas come from and how they start to shape our #VoiceFirst experiences.
Mark writes about what inspired him to create Number Spies: https://markvoicedev.medium.com/creating-an-alexa-game-the-spark-of-inspiration-for-number-spies-7f2b5a073a41
With all the confusion about Daylight Saving Time transitions finally behind us, Mark and Allen discuss all sorts of ways to handle time on Alexa, the Google Assistant, and Bixby. (And some tools and tips that make it easier!)
Where we are now has been shaped by our past. In light of this, Allen and Mark discuss how we got to this moment. What technologies and jobs have we held in our careers, and what lessons have they taught us that have helped us when it comes to voice.
Main docs page: https://developers.google.com/assistant
Community forum: https://www.reddit.com/r/GoogleAssistantDev/
Stack Overflow: actions-on-google and actions-builder tags
Actions on Air video / podcast series
Follow other GDEs - many have tutorials about various topics.
ES Docs: https://cloud.google.com/dialogflow/es/docs
ES community Forum: https://groups.google.com/g/dialogflow-essentials-edition-users
Stack Overflow: dialogflow-es and dialogflow-es-fulfillment
Developer Docs: https://developer.amazon.com
Alexa Skills Kit blog: https://developer.amazon.com/en-US/blogs/alexa/alexa-skills-kit
Dabble Lab: https://dabblelab.com/
Voice First Tools: https://voicefirst.tools/
APL Simulator: https://tools.alexaskills.dev/
Main page: https://www.jovo.tech/
Jovo Community: https://github.com/jovo-community
Authentication and Authorization are some of the more difficult concepts that most developers end up having to deal with at some stage. Mark and Allen discuss the high level concept of Account Linking - connecting your auth system to the voice agents auth system. Alexa and Google Assistant offer some tools to help with this, and explore how some of the tools are similar, but others offer significantly different experiences for both users and developers.
As developers, the more information we can get about people talking with our skills or actions, the better the conversation will be. But privacy is a serious issue! (And one the platforms take seriously, too.) How does Alexa and the Google Assistant balance our need for more information, and the need for privacy? And how can we ask for permission to get the information? There are surprising differences and similarities that Allen and Mark explore.
We never know where our conversations go, sometimes. This time, Mark and Allen chat about Intents, Slots, Types, Entities, Parameters, and the whole conversational model built around them, especially the slight differences between how Actions and Skills have to treat them.
Just because our skills and actions are Voice First doesn't mean they are voice Only. Alexa and the Google Assistant have a long history of supporting displays in addition to the audio interactions. Mark and Allen dive into all the visual options available for Alexa, Assistant, and Bixby and the interesting differences between the three platforms.
Did you notice some Actions were having problems last week? Allen and Mark certainly did! So this week, we're talking about what seems to have caused the outage, how this fits in to the overall storage capability for Actions, and how Alexa and Jovo approach session and user storage.
In an audio-first environment, you want to sound like a movie or TV soundtrack... but with interaction and dynamic responses. With Google's flavor of SSML and Alexa's APLA, you can create these responses. Mark and Allen explore how these two methods are similar, and where they differ.
For more info:
Google's SSML "par" and "media" tags: https://developers.google.com/assistant/conversational/ssml#par
Nightingale SSML editor: https://actions-on-google-labs.github.io/nightingale-ssml-editor/
Alexa's APLA: https://developer.amazon.com/en-US/docs/alexa/alexa-presentation-language/apla-interface.html
We both have open source projects that we contribute to in the voice community. We talk about our two top ones, Speech Markdown and Multivocal, what they are, and how we feel they're contributing to the growing #VoiceFirst environment.
Mark's Projects: https://github.com/rmtuckerphx
Allen's Projects: https://github.com/afirstenberg
Mark and Allen chat about tools we use to build conversations for Alexa and the Google Assistant. Ranging from new tools, such as Alexa Conversations and Google's Actions Builder, to more mature tools, such as Jovo and Dialogflow. We got so excited about the topic, we just couldn't stop!
Alexa Conversations: https://developer.amazon.com/en-US/blogs/alexa/alexa-skills-kit/2020/07/introducing-alexa-conversations-beta-a-new-ai-driven-approach-to-providing-conversational-experiences-that-feel-more-natural
Actions Builder: https://developers.google.com/assistant/console/builder
Learn about Action Links for Google Assistant and Quick Links for Amazon Alexa. A comparison of the features for each voice assistant platform.
Action Links - https://developers.google.com/assistant/engagement/action-links
Quick Links - https://developer.amazon.com/en-US/docs/alexa/custom-skills/create-a-quick-link-for-your-skill.html