Deine Alexa Konsolen
?
Support
Vielen Dank für Ihren Besuch. Diese Seite ist momentan nur auf Englisch verfügbar. Wir arbeiten an der deutschen Version. Vielen Dank für Ihr Verständnis.
Alexa Blogs Alexa Developer Blogs /blogs/alexa/feed/entries/atom 2018-06-19T00:31:45+00:00 Apache Roller /blogs/alexa/post/531ffdd7-acf3-43ca-9831-9c375b08afe0/things-every-alexa-skill-should-do-pass-the-one-breath-test Things Every Alexa Skill Should Do: Pass the One-Breath Test Jennifer King 2018-06-18T14:00:00+00:00 2018-06-18T14:00:00+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog(10)._CB498456606_.png" style="height:240px; width:954px" /></p> <p>Learn why it's a good best practice for all of your skill responses to be crisp and how you can ensure your skill passes the “one breath test.”</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog(10)._CB498456606_.png" style="height:240px; width:954px" /></p> <p><em>Editor's Note: This is an installment of our series called </em><a href="https://developer.amazon.com/blogs/alexa/tag/10+Things"><em>Things Every Alexa Skill Should Do</em></a><em>, which highlights the important features and lessons that every skill builder can use to make their skills more engaging for customers. Follow the series to learn, get inspired, and build engaging Alexa skills.</em></p> <p>For most interactions with Alexa, customers don’t want a skill to drone on and on with options or descriptions in a single response. There are obvious exceptions to this rule, like with storytelling skills and adventure games. In general, a good rule of thumb for all of your responses is to give it the “one breath test.”</p> <p>If you can say the response out loud without taking a breath, the response is probably the right length. If you need to take a breath, think about how you could shorten your response, or break it into segments as the user progresses through the flow of your skill.</p> <p>If you’re not sure if your response is too long, use the previous paragraph as a reference. For me, it required a breath after the second sentence. I probably could have gone further, but if I had been having that conversation with a real person, I would have looked very uncomfortable speaking the third and fourth sentences, followed by a deep breath and some wheezing.</p> <p>One way you can ensure your skill passes the one-breath test is to use brevity, arrangement, and pacing when listing options. For example, lists are longer and more complex than a simple response. If you need to give between two and five options, treat each item like a simple response, and clearly set expectations for what’s about to come.</p> <p>Have Alexa say something to introduce the list, for example “Here are the popular quick meals,” and have it pause briefly between items in the list. Verify that you can comfortably read each item aloud at a conversational pace with one breath. Check out the <a href="https://developer.amazon.com/designing-for-voice/what-alexa-says/#use-brevity-arrangement-and-pacing-when-listing-options">Amazon Alexa Voice Design Guide</a> to learn more ways you can use brevity, arrangement, and pacing when having your skill list options.</p> <h2>Get the Guide: 10 Things Every Alexa Skill Should Do</h2> <p>With more than 40,000 skills in the Alexa Skills Store, we’ve learned a lot about what makes a skill great and what you can do to create incredible voice experiences for your customers. Download the complete guide about <a href="http://dev.amazonappservices.com/10ThingsEveryAlexaSkillShouldDoGuide.html?sc_campaign=10ThingsGuide&amp;sc_channel=SM&amp;sc_details=Blog1" target="_blank">10 Things Every Alexa Skill Should Do</a> for more tips, code samples, and best practices to build engaging skills.</p> <h2>Build a New Skill, Earn Developer Perks</h2> <p>Bring your big idea to life with Alexa and earn perks through our tiered rewards system. US developers, <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogFotter&amp;sc_publisher=Blog&amp;sc_content=Content&amp;sc_funnel=Submit&amp;sc_country=WW&amp;sc_medium=Owned_WB_BlogFotter_Blog_Content_Submit_WW_RegisteredDevs&amp;sc_segment=RegisteredDevs">publish a skill in June</a> and earn an AWS IoT button. Add in-skill purchasing to any skill in June can earn an Alexa-enabled device for the car. If you're not in the US, check out our promotions in <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-canada">Canada</a>, the <a href="http://developer.amazon.com/en-gb/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">UK</a>, <a href="http://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">Germany</a>, <a href="https://developer.amazon.com/ja/alexa-skills-kit/alexa-developer-skill-promotion">Japan</a>, <a href="https://developer.amazon.com/fr/alexa-skills-kit/alexa-developer-skills-promotion">France</a>, <a href="https://developer.amazon.com/alexa-skills-kit/anz/alexa-developer-skill-promotion">Australia</a>, and <a href="http://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-india" target="_blank">India</a>. <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion">Learn more</a> about our promotion and start building today.</p> /blogs/alexa/post/be2f0734-c90b-44fd-a083-f6a09eba23db/certify-your-skills-faster-using-new-tools-in-the-alexa-developer-console Certify Your Skills Faster Using New Tools in the Alexa Developer Console BJ Haberkorn 2018-06-15T19:23:30+00:00 2018-06-15T19:23:30+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/AlexaSkillsKit/Launch-Creative-Certify-Tab_Blog._CB475255809_.png" /></p> <p>Today we updated the Alexa Developer Console with new tools to help you catch common errors before you submit your skill for certification.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/AlexaSkillsKit/Launch-Creative-Certify-Tab_Blog._CB475255809_.png" style="height:240px; width:954px" /></p> <p style="text-align:justify">Today we updated the Alexa Developer Console with new testing tools to help you identify and correct common errors before you submit your skill for certification. We also updated the top navigation in the developer console to make it easier for you to find these and other tools. By using these new features, you can certify your skills faster.</p> <h2>Avoid Common Errors with New Self-Service Validation and Functional Testing Tools</h2> <p style="text-align:justify">We added a new Certification page with two tools that can help you identify errors before you submit your skill for certification. First, using the validation section, you can verify that all required skills store fields are complete, including validating that you’ve selected a skill category and have included a proper skill icon. It also validates that your skill endpoint and interaction model are working prior to submitting for certification. You should fix these errors and re-validate to proceed.</p> <p style="text-align:justify">Second, using the functional test section, you can perform a set of pre-certification tests on your skill. These tests send requests to your skill’s endpoint. For example, they test that your endpoint is valid and can return responses. They also verify that your end-point only accepts incoming requests with valid signature URLs, and that it works with additional parameters in the JSON request that we may add in the future. We run tests on all locales that your skill supports, and list issues by locale. For a smoother certification process, fix any issues identified via the functional tests before you certify – your skill must pass the functional tests before it can be certified.</p> <p style="text-align:justify">You can learn more about both validation and functional tests in <a href="https://developer.amazon.com/docs/devconsole/test-and-submit-your-skill.html">our documentation</a>.</p> <h2>Find These and Other Tools Easily with Updated Navigation</h2> <p style="text-align:justify">As noted above, you can find validation and functional tests on the new Certification tab in the <a href="https://developer.amazon.com/alexa/console/ask">developer console</a>. The console now includes five tabs:</p> <ul> <li style="text-align:justify"><strong>Build</strong>: Set up your skill, configure settings specific to the interaction model, and specify the endpoints for your service.</li> <li style="text-align:justify"><strong>Test:</strong> Access the simulator and other tools to help you test your skill.</li> <li style="text-align:justify"><strong>Distribution:</strong> Preview how your skill will appear in the Alexa Skills Store and determine the skill's availability.</li> <li style="text-align:justify"><strong>Certification</strong>: Verify that your skill is ready, then submit it for certification.</li> <li style="text-align:justify"><strong>Analytics</strong>: See your skill’s usage metrics. This dashboard can give you useful information about how customers are engaging with your skill.</li> </ul> <h2>Make Money by Creating Engaging Skills Customers Love</h2> <p>You can make money with Alexa skills using <a href="https://developer.amazon.com/alexa-skills-kit/make-money/in-skill-purchasing">in-skill purchasing</a> or <a href="https://developer.amazon.com/alexa-skills-kit/make-money/amazon-pay">Amazon Pay for Alexa Skills</a>. You can also make money for eligible skills that drive some of the highest customer engagement with <a href="https://developer.amazon.com/alexa-skills-kit/rewards">Alexa Developer Rewards</a>. <a href="http://dev.amazonappservices.com/Alexa_Skill_Monetization_Guide_LP.html">Download our guide</a> to learn which product best meets your needs.</p> /blogs/alexa/post/7bb66d22-05b7-4492-aed3-aecc2a312ee6/life-hacks-challenge-finalists Announcing the Finalists and Judges for the Alexa Skills Challenge: Life Hacks Jennifer King 2018-06-15T12:41:01+00:00 2018-06-15T12:41:01+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Life_Hacks_Challenge_blog._CB500904513_.png" style="height:240px; width:954px" /></p> <p>We’ve vetted hundreds of submissions designed to make everyday tasks faster, easier, and more delightful. We tracked new habits. We kept to a budget (finally!). We enjoyed moments of mindfulness. And after much deliberation, we’ve narrowed down the 10 finalists.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Life_Hacks_Challenge_blog._CB500904513_.png" style="height:240px; width:954px" /></p> <p>From sleep aids to sustainability tips, budget helpers to chore trackers, chop choppers to calming companions – we’ve been saving time, money, and having a ton of fun checking out the submissions for the <a href="https://alexalifehacks.devpost.com/" target="_blank">Alexa Skills Challenge: Life Hacks</a>. We vetted hundreds of submissions designed to make everyday tasks faster, easier, and more delightful. We tracked new habits. We kept to a budget (finally!). We enjoyed moments of mindfulness. And after much deliberation, we’ve narrowed down the 10 finalists.</p> <p>It wasn’t easy. We were amazed by the tremendous creativity, novelty, and usefulness in the submissions. Some of the skills were so engaging we couldn’t stop asking for more! Ultimately, we chose the finalists based on their creativity, originality, voice-first customer experience, potential impact, and ability to drive habitual use. Developers around the world submitted hundreds of skills to the Life Hacks Challenge, and we’ve selected 10 finalists who have each won $5,000 and will continue to compete for the $20,000 grand prize and other bonus prizes. To try out one of the finalist skills, just ask, “Alexa, give me a life hack.”</p> <p>Without further ado, here are the 10 finalists that moved on to the next round.</p> <p><strong><a href="https://devpost.com/software/ask-my-buddy" target="_blank">Ask My Buddy</a></strong> helps you ask for assistance using only your voice, and makes it easy to let your contacts know you are doing ok. <a href="https://skills-store.amazon.com/deeplink/dp/B017YAF22Y?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Ask My Buddy.</a></p> <p><strong><a href="https://devpost.com/software/budget-bot" target="_blank">Budget Bot</a></strong> makes budgeting less of a chore, and more like a fun chat. Say things like: “Tell Budget Bot I spent $200 on rent,” or “Ask Budget Bot how much I spent on groceries in the past year.” And you can track your expenses through Alexa, Facebook Messenger, or the companion website, where Budget Bot can view, modify, and visualize your spending. <a href="https://skills-store.amazon.com/deeplink/dp/B07BJH5Z1B?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Budget Bot.</a></p> <p><strong><a href="https://devpost.com/software/calm-now" target="_blank">Calm Now</a></strong> walks through proven calming techniques such as taking deep breaths, counting to 10, and shaking out your legs like you have a whole bunch of fire ants in your pants. Though originally targeted to kids, this skill is helpful for some adults we know (not naming names). <a href="https://skills-store.amazon.com/deeplink/dp/B07641PP42?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Calm Now.</a></p> <p><strong><a href="https://devpost.com/software/chop-chop" target="_blank">Chop Chop</a> </strong>is a hands-free kitchen companion serving up fun, easy-to-follow tutorials on chopping fresh produce. From the basics to the exotics, Chop Chop’s step-by-step instructions will have you slicing and dicing in no time. <a href="https://skills-store.amazon.com/deeplink/dp/B07CRKPSZQ?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Chop Chop. </a></p> <p><strong><a href="https://devpost.com/software/eco-hacks" target="_blank">Eco Hacks</a></strong> provides environmental hacks in the form of truth or dare. Eco Hacks is an engaging way to inspire adults and kids to make simple changes that have positive effects on the planet. <a href="https://skills-store.amazon.com/deeplink/dp/B07CN6YBNK?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Eco Hacks.</a></p> <p><strong><a href="https://devpost.com/software/house-tracker" target="_blank">House Tracker</a> </strong>allows you to win points by logging chores to see if you can be top of your household leaderboard! <a href="https://skills-store.amazon.com/deeplink/dp/B07CPQ19ZJ?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out House Tracker.</a></p> <p><strong><a href="https://devpost.com/software/lyfe-trak" target="_blank">Lyfe Trak</a> </strong>helps you easily track progress towards your life goals! Just tell Lyfe Trak how you’re doing, and it will take care of the rest. Ask how you’re doing on a specific metric or overall for extra motivation. <a href="https://skills-store.amazon.com/deeplink/dp/B07CR8B3HK?deviceType=app&amp;share&amp;refSuffix=ss_copy">Try out Lyfe Trak.</a></p> <p><strong><a href="https://devpost.com/software/mommy-gram-game-of-sweet-messages-between-mom-kids" target="_blank">Mommy-gram</a> </strong>Mommy-gram is designed to keep Mom (or Dad, or anyone for that matter) and kids connected, even when apart. Kids don't need their own cell plan and don't even need to know how to spell! They simply speak their message to Mom, it arrives conveniently as a text message, which Mom can respond to in the form of a notification sent back to the device. <a href="https://skills-store.amazon.com/deeplink/dp/B078W2RLJ4?deviceType=app&amp;share&amp;refSuffix=ss_copy">Try out Mommy-gram. </a></p> <p><strong><a href="https://devpost.com/software/my-pod" target="_blank">My Pod</a> </strong>allows you to create your own custom playlists using podcast, audio, text RSS feeds, MP3s (and other Alexa-supported audio streams), internet radio, audio books, and more! You can even add private feeds in the case of subscription-based podcasts. Or link to any web site to get Alexa to read the main content text to you. <a href="https://skills-store.amazon.com/deeplink/dp/B077Y6GC3D?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out My Pod.</a></p> <p><strong><a href="https://devpost.com/software/start-nagging-me" target="_blank">Start Nagging Me</a></strong> allows Alexa to remind you to do important things like getting out of bed and washing the dishes. The nagging comes every minute and after 10 minutes of being reminded Alexa will check to see if you have done the task. <a href="https://skills-store.amazon.com/deeplink/dp/B07BKRLX4X?deviceType=app&amp;share&amp;refSuffix=ss_copy" target="_blank">Try out Start Nagging Me. </a></p> <h2>What’s Next for Our Finalists</h2> <p>Through June 22, we will evaluate customer engagement with each of the finalists’ skills, and then on June 28 our judging panel will evaluate each finalist skill to determine the winner of the $20,000 grand prize. We’ll also evaluate a few additional skills that could potentially win a bonus prize. (As per the official rules: “a Bonus Prize may be awarded to a skill that is not a Finalist Prize winner.”) Ultimately, our panel of judges will determine the winners using their own expertise, as well as customer engagement data, including repeat usage, customer ratings, reviews, and more.</p> <h2>Meet the Judges</h2> <p><em><strong>Gary Veynerchuk, Speaker and Best-Selling Author</strong></em></p> <p><a href="https://www.garyvaynerchuk.com/" target="_blank">Gary Vaynerchuk</a> is a <a href="https://www.amazon.com/Gary-Vaynerchuk/e/B001JP7NBE" target="_blank">best-selling author</a> and internationally recognized personality best known as a digital marketing and social-media pioneer. Gary is a prolific public speaker at global entrepreneurship and technology conferences, delivering keynotes at events like Le Web, and SXSW. He’s also the CEO of modern day communications company VaynerX and CEO of VaynerMedia, a full service digital agency – and one of our <a href="https://developer.amazon.com/alexa/agencies-and-tools/agencies-us" target="_blank">preferred Alexa agency resources</a> – with a focus on how brands can reach and engage with customers via emerging technologies, specifically voice. In fact, Gary and VaynerMedia recently hosted <a href="http://www.voicecon.co/" target="_blank">VoiceCon</a>, a conference dedicated to emerging voice technologies and opportunities, which drew in more than 500 speakers and attendees.</p> <p><em><strong>Emily Price, Writer, Lifehacker.com</strong></em></p> <p>Emily Price is a writer for <a href="http://lifehacker.com/" target="_blank">Lifehacker.com</a>, where she covers everything from hacks to keep you organized to how to get the most from your tech. She is also a regular contributor to Fortune, Fast Company, and Paste Magazine. Her first book, <em>Productivity Hacks</em>, is scheduled to be released later this year.</p> <p><strong><em>Steve Rabuchin,VP, Amazon Alexa</em></strong></p> <p>Steve Rabuchin joined Amazon in 2005 as General Manager of Global Sales, Business Development, and Developer Relations for Amazon Web Services (AWS). Since that time he has held multiple roles in the Kindle organization, helped launch Amazon Local, and managed global developer relations for the Amazon Appstore. In his current role, Steve manages developer relations for Amazon Alexa, including the Alexa Skills Kit and Alexa Voice Service. Before joining Amazon, Steve ran global technical marketing at Rational Software (IBM) and co-founded two startups. Steve earned his BS degree with honors at California State University, Northridge.</p> <h2>Good Luck to the Finalists!</h2> <p>The challenge winners will be announced on June 29. Meanwhile, keep the life hacks skills comin’! Get inspired by the finalists and <a href="https://build.amazonalexadev.com/lifehacks-guide-ww.html" target="_blank">create your own voice-first life hack skill for Alexa</a>.</p> /blogs/alexa/post/03d4d33d-dd4a-40b1-b66c-61c09e07f39e/chefkoch-2-0-der-alexa-skill-bekommt-ein-make-over Chefkoch 2.0 – Der Alexa Skill bekommt ein Make-over Kristin Fritsche 2018-06-15T07:30:00+00:00 2018-06-15T15:57:39+00:00 <p><img alt="chefkoch_blog_post.png" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/chefkoch_blog_post._CB475169500_.png?t=true" /></p> <p>Beim Kochen braucht man meist beide H&auml;nde – und oft sind sie gerade nicht sauber genug, um den Touchscreen des Smartphones oder Tablets zu bedienen. Die L&ouml;sung: ein Alexa Skill von Chefkoch.de, dem gr&ouml;&szlig;ten Rezeptportal in Deutschland.</p> <p><img alt="chefkoch_blog_post.png" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/chefkoch_blog_post._CB475169500_.png?t=true" /></p> <p>Beim Kochen braucht man meist beide H&auml;nde – und oft sind sie gerade nicht sauber genug, um den Touchscreen des Smartphones oder Tablets zu bedienen. Ein klassischer Fall, wo Sprachsteuerung eine gro&szlig;e Hilfe sein kann. „Alexa ist f&uuml;r uns eine ganz nat&uuml;rliche Erg&auml;nzung unserer Kan&auml;le“, berichtet Olav Schettler, Produktmanager von chefkoch.de, dem gr&ouml;&szlig;ten Rezeptportal in Deutschland mit &uuml;ber 300.000 Rezepten und einer Community mit &uuml;ber 21 Millionen Nutzern.</p> <p>Dabei soll der Alexa Skill nicht einfach nur Rezepte vorschlagen, sondern das Kochen von der Inspiration, Auswahl des Rezeptes, Einkaufsvorbereitung bis hin zum tats&auml;chlichen Zubereiten des Essens begleiten. Alexa kann das Rezept des Tages vorlesen, Zutaten nennen, gezielt nach einem Zubereitung mit Paprika suchen oder die Rezepte auf das Smartphone schicken. Am Ende des letzten Jahres kam das Update f&uuml;r den neuen Echo Show hinzu, mit dessen Unterst&uuml;tzung Nutzer das Rezept zus&auml;tzlich zur Sprachsteuerung auf dem Bildschirm anzeigen lassen k&ouml;nnen.</p> <p style="text-align:center"><img alt="DE_Chefkoch_Echo_Show.jpeg" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/DE_Chefkoch_Echo_Show._CB475009852_.jpg?t=true" style="display:block; height:352px; margin-left:auto; margin-right:auto; width:600px" /><em>Beispiel: Rezeptansicht f&uuml;r Caesar Salad im Chefkoch Skill auf Echo Show</em></p> <h2>Optimierung des Alexa Skills</h2> <p>Die erste Version des Alexa Skills hatte noch einige Schwachstellen, das Nutzerfeedback wurde ernst genommen. Zur Optimierung des Skills holte sich chefkoch.de Unterst&uuml;tzung von der Hamburger Agentur <a href="http://www.nuuk.de/" target="_blank">Nuuk</a>, die auf Voice-Activation f&uuml;r Firmen spezialisiert ist und schon Projekte f&uuml;r Radiosender wie Antenne Bayern oder Fu&szlig;ballvereine wie Borussia Dortmund umgesetzt hat. Die Optimierung betraf vor allem die Nutzererfahrung im Skill sowie den Entwicklungsprozess.</p> <p>Im ersten Schritt der Optimierung haben die Hamburger Spezialisten auf <a href="https://developer.amazon.com/de/docs/smapi/quick-start-alexa-skills-kit-command-line-interface.html" target="_blank">ASK CLI</a><a href="https://developer.amazon.com/de/docs/smapi/quick-start-alexa-skills-kit-command-line-interface.html"> </a>umgestellt, einem Command Line Interface, mit dem sich auf Kommandozeilen-Ebene der Skill &auml;ndern und updaten l&auml;sst. „Wir konnten damit auch einfache Tests simulieren und mussten nicht online in Cloud Watch nachschauen, ob etwas schiefgelaufen ist“, erl&auml;utert Nuuk-Entwickler Jonathan Bones.&nbsp;</p> <p>So entfielen die &uuml;blichen Wartezeiten f&uuml;r den Cloud Watch-Load, womit das Testing und Debugging wesentlich beschleunigt wurde. Dazu kam <a href="https://github.com/ashiina/lambda-local" target="_blank">Lambda Local</a> zum Einsatz, ein Package, mit dem sich Fehler direkt in der IDE schnell finden und beheben lassen. „So kann man beispielsweise in Visual Studio Code durch den Debugger steppen und Breakpoints setzen, ohne dass der Skill als Lambda bei AWS deployed werden muss“, erkl&auml;rt Jonathan.</p> <h2>Schritt f&uuml;r Schritt zum leckeren Gericht</h2> <p>Nutzer wollen Rezepte beim Nachkochen schrittweise abarbeiten. In der ersten Version des Skills gab es hier Frust. „Der Skill fragt: ‚M&ouml;chtest du den n&auml;chsten Schritt wissen?‘ Das Problem war, dass man schnell in ein Timeout kommt, wenn man nicht innerhalb von neun Sekunden antwortet und der Skill sich schlie&szlig;t. Um das zu beheben, haben wir ein <a href="https://developer.amazon.com/de/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html" target="_blank">SSML Audio</a> Tag eingebaut, ein l&auml;ngeres Audiofile angeh&auml;ngt und damit erreicht, dass der Nutzer jetzt 90 Sekunden Zeit hat, um zu antworten“, erz&auml;hlt Jonathan weiter. Auf dem Echo Show bekommt er so auch anderthalb Minuten den Schritt angezeigt und hat so Zeit, ihn auszuf&uuml;hren, bevor der Skill beendet wird.</p> <h2>Session Management</h2> <p>Ein weiterer Schwachpunkt der ersten Version des Skills war das bisherige Session Management, das f&uuml;r Frust bei den Nutzern sorgte, weil es keinen Status (State) speichern konnte. Folge: Wenn der Nutzer wieder den Skill startete, musste er praktisch wieder von vorne anfangen das Rezept zu suchen, auszuw&auml;hlen und zum entsprechenden Zubereitungsschritt zu navigieren. Jetzt wird er im Skill begr&uuml;&szlig;t und kann mit der Zubereitung am letzten Punkt fortfahren.</p> <p>Der Skill ist in Node.js geschrieben und mit dem <a href="https://developer.amazon.com/de/docs/ask-overviews/build-skills-with-the-alexa-skills-kit.html" target="_blank">Alexa SDK</a> umgesetzt worden. Dabei gibt es die einfache M&ouml;glichkeit „Attributes“ in der <a href="https://aws.amazon.com/de/dynamodb/" target="_blank">Amazon Dynamo DB</a> zu speichern. „Dort haben wir den State, das Rezept und den Zubereitungsschritt gespeichert“, so Jonathan.</p> <p>„Das war die entscheidende Verbesserung, um unser Ziel der Kochbegleitung zu erreichen“, erl&auml;utert Olav von chefkoch.de, „Das Nutzerfeedback war f&uuml;r uns sehr wichtig und daher w&uuml;rde ich immer empfehlen, sich neben dem Testen des Skills auch die Bewertungen anzusehen und zu schauen, was man verbessern kann.“</p> <p>Das ist auch das gemeinsame Ziel der Teams von Olav und Jonathan. „Ein Skill steht nicht still, man arbeitet kontinuierlich daran“, sind sich beide einig. „Ein guter Tipp ist auch, die Utterances immer zu aktualisieren. Wir nutzen daf&uuml;r zum Beispiel den <a href="https://github.com/KayLerch/alexa-utterance-generator" target="_blank">Utterance Generator</a>, ein sehr hilfreiches Tool“, r&auml;t Jonathan.</p> <h2>Ressourcen</h2> <ul> <li><a href="https://www.amazon.de/Chefkoch-GmbH/dp/B0733CWP3Q" target="_blank">Alexa Skill Chefkoch</a></li> <li><a href="http://dev.amazonappservices.com/alexa-cheat-sheet-von-der-idee-zum-skill.html" target="_blank">Amazon Alexa Cheat Sheet - Von der Idee zum Skill</a></li> </ul> <h2>Skill entwickeln, Entwickler-Goodie erhalten</h2> <p style="margin-left:0cm; margin-right:0cm"><a></a>Verwirkliche deine Alexa Skill Idee und mach mit bei unserer <a href="https://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogDevStory&amp;sc_publisher=BL&amp;sc_content=Content&amp;sc_funnel=Visit&amp;sc_country=DE&amp;sc_medium=Owned_WB_BlogDevStory_BL_Content_Visit_DE_DEDevs&amp;sc_segment=DEDevs">Entwickler-Aktion</a>. Alle Entwickler in Deutschland, &Ouml;sterreich und Luxemburg, die zwischen dem 1. und dem 30. Juni 2018 einen deutschsprachigen Alexa Skill entwickeln, im Skill Store ver&ouml;ffentlichen und die <a href="https://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogDevStory&amp;sc_publisher=BL&amp;sc_content=Content&amp;sc_funnel=Visit&amp;sc_country=DE&amp;sc_medium=Owned_WB_BlogDevStory_BL_Content_Visit_DE_DEDevs&amp;sc_segment=DEDevs">Teilnahmebedingungen</a> erf&uuml;llen, erhalten ein Beach-Ball Set im Alexa Design. Erreicht dein Skill in den ersten 30 Tagen nach der Ver&ouml;ffentlichung mehr als 100 Nutzer (Unique User), qualifiziert er sich au&szlig;erdem f&uuml;r ein 2-er Pack Echo Buttons. Ein Entwickler hat dar&uuml;ber hinaus die Chance, einen Echo Spot zu gewinnen. Sobald dein Skill ver&ouml;ffentlicht ist, kannst du daf&uuml;r die Werbetrommel r&uuml;hren. <a href="https://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogDevStory&amp;sc_publisher=BL&amp;sc_content=Content&amp;sc_funnel=Visit&amp;sc_country=DE&amp;sc_medium=Owned_WB_BlogDevStory_BL_Content_Visit_DE_DEDevs&amp;sc_segment=DEDevs">Leg jetzt los und entwickle deinen Skill!</a></p> /blogs/alexa/post/62a7cb0c-01b0-4393-888a-7156e8717f3e/how-to-handle-touch-screen-controls-for-audio-skills-on-echo-show-and-echo-spot How to Handle Touch-Screen Controls for Audio Skills on Echo Show and Echo Spot Jennifer King 2018-06-13T16:34:29+00:00 2018-06-14T14:33:34+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/India-2018/Techblog-EchoSpot._CB497890358_.png?t=true" style="height:240px; width:954px" /></p> <p>Learn how to add touch control support for your audio skills on Echo Show and Echo Spot.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/India-2018/Techblog-EchoSpot._CB497890358_.png?t=true" style="height:240px; width:954px" /></p> <p>The AudioPlayer and PlaybackController interfaces in the <a href="https://developer.amazon.com/alexa-skills-kit">Alexa Skills Kit (ASK)</a> provide <em>directives</em> and <em>requests</em> for streaming audio and monitoring playback progression. Your skill can send audio <em>directives</em> to start and stop audio playback. Customers can easily control audio playback by voice with simple commands, like “Alexa, stop” and “Alexa, resume.” On Echo Show and Echo Spot, customers can also control the playback using the touch controls on the display.</p> <p>This post covers how to add touch-control support for your audio skills when used on Echo Show and Echo Spot.</p> <p style="text-align:center"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/multimodal_image._CB476950593_.jpg" style="display:block; height:279px; margin-left:auto; margin-right:auto; width:600px" /><em>AudioPlayer with Touch Controls Displayed</em></p> <p>When customers touch the device screen during audio playback, the Previous, Pause/Play, and Next touch controls are displayed, allowing customers to pause and resume the current audio stream or navigate to the previous/next audio stream.</p> <p>Depending on the control element tapped, Alexa sends your skill the <code>PlaybackController.NextCommandIssued</code>, <code>PlaybackController.PlayCommandIssued</code> or <code>PlaybackController.PreviousCommandIssued</code> request, which your skill should respond to. The Pause touch control on Echo Show and Echo Spot handles the pause automatically and does not send your skill a request.</p> <p>Below are example JSONs for these request types.</p> <h2>Request JSON</h2> <p>Request JSON with request type “PlaybackController.PlayCommandIssued”. Sent when user taps on the “Play” touch control.</p> <pre> <code class="language-javascript">&quot;context&quot;: { &quot;AudioPlayer&quot;: { &quot;offsetInMilliseconds&quot;: 22202, &quot;playerActivity&quot;: &quot;STOPPED&quot;, &quot;token&quot;: &quot;this-is-the-audio-token&quot; } }, &quot;request&quot;: { &quot;locale&quot;: &quot;en-IN&quot;, &quot;requestId&quot;: &quot;amzn1.echo-api.request.&lt;value&gt;&quot;, &quot;timestamp&quot;: &quot;2018-05-25T17:44:49Z&quot;, &quot;type&quot;: &quot;PlaybackController.PlayCommandIssued&quot; },</code></pre> <p>Request JSON with request type “PlaybackController.NextCommandIssued”. Sent when user taps on the “Next” touch control.</p> <pre> <code class="language-javascript">&quot;context&quot;: { &quot;AudioPlayer&quot;: { &quot;offsetInMilliseconds&quot;: 22202, &quot;playerActivity&quot;: &quot;STOPPED&quot;, &quot;token&quot;: &quot;this-is-the-audio-token&quot; } }, &quot;request&quot;: { &quot;locale&quot;: &quot;en-IN&quot;, &quot;requestId&quot;: &quot;amzn1.echo-api.request.&lt;value&gt;&quot;, &quot;timestamp&quot;: &quot;2018-05-28T03:42:51Z&quot;, &quot;type&quot;: &quot;PlaybackController.NextCommandIssued&quot; }, </code></pre> <p>Request JSON with request type “PlaybackController.PreviousCommandIssued”. Sent when user taps on the “Previous” touch control.</p> <pre> <code class="language-javascript">&quot;context&quot;: { &quot;AudioPlayer&quot;: { &quot;offsetInMilliseconds&quot;: 22202, &quot;playerActivity&quot;: &quot;STOPPED&quot;, &quot;token&quot;: &quot;this-is-the-audio-token&quot; } }, &quot;request&quot;: { &quot;locale&quot;: &quot;en-IN&quot;, &quot;requestId&quot;: &quot;amzn1.echo-api.request.&lt;value&gt;&quot;, &quot;timestamp&quot;: &quot;2018-05-28T03:42:51Z&quot;, &quot;type&quot;: &quot;PlaybackController.PreviousCommandIssued&quot; }, </code></pre> <h2>Response JSON</h2> <p>When your skill receives one of the above requests, it should send a response with an <code>AudioPlayer.Play</code> directive. For example, with an audio podcast skill, send a directive to resume playback of the current podcast in response to a <code>PlaybackController.PlayCommandIssued</code> request or send a directive to play the next podcast episode in response to a <code>PlaybackController.NextCommandIssued</code> request.</p> <pre> <code class="language-javascript">{ &quot;directives&quot;: [ { &quot;type&quot;: &quot;AudioPlayer.Play&quot;, &quot;playBehavior&quot;: &quot;REPLACE_ALL&quot;, &quot;audioItem&quot;: { &quot;stream&quot;: { &quot;url&quot;: &quot;https://my-audio-hosting-site.com/audio/sample-song.mp3&quot;, &quot;token&quot;: &quot;this-is-the-audio-token&quot;, &quot;offsetInMilliseconds&quot;: 22202 } } } ], &quot;shouldEndSession&quot;: true } </code></pre> <p>To resume playback of the current audio stream, first determine the track's current offset when the <code>PlaybackController.PlayCommandIssued</code> request was sent, using the <code>offsetInMilliseconds</code> property supplied in the request. Specify this offset in the <code>offsetInMilliseconds</code> property of the <code>AudioPlayer.Play</code> response. If the audio stream URL is for a live audio stream, set <code>offsetInMilliseconds</code> to <code>null</code>.</p> <p>When responding to any <code>PlaybackController</code> request, you can only respond with <code>AudioPlayer</code> directives. The response cannot include any of the standard properties such as <code>outputSpeech</code>, <code>card</code>, or <code>reprompt</code>. Sending a response with these unsupported properties causes an error.</p> <h2>Sample Code</h2> <p>Here is a sample Node.js code showing how the <code>PlaybackController.PlayCommand</code> requests is handled. In this example, when the user taps on the “Play” touch control, the skill resumes the audio playback from the previously paused location as indicated in the <code>offsetInMilliseconds</code> property in the <code>PlaybackController</code> request.</p> <pre> <code class="language-javascript">exports.handler = function (event, context) { if (event.request.type === &quot;PlaybackController.PlayCommandIssued&quot;) { buildPlaybackControllerResponse(streamUrl, event.context.AudioPlayer.token, event.context.AudioPlayer.offsetInMilliseconds, context); } }; function buildPlaybackControllerResponse(url, token, offset, context) { var response = { directives: [{ type: &quot;AudioPlayer.Play&quot;, playBehavior: &quot;REPLACE_ALL&quot;, audioItem: { stream: { url: url, token: token, offsetInMilliseconds: offset } } }], shouldEndSession: true }; context.succeed( { response: response } ); } </code></pre> <p>For more information about the AudioPlayer Interface, PlaybackController requests and audio skills, check out the following resources:</p> <ul> <li><a href="https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html#audioplayer-display-device">AudioPlayer on Echo Show and Echo Spot</a></li> <li><a href="https://developer.amazon.com/docs/custom-skills/playback-controller-interface-reference.html#requests">PlaybackController Request Reference</a></li> <li><a href="https://developer.amazon.com/blogs/alexa/post/ccb2d51c-3eb8-4fa4-8c04-709e4294b929/enhance-your-audio-skill-visuals-for-echo-show-and-echo-spot">Enhance your Audio Skill Visuals for Echo Show and Echo Spot</a></li> <li><a href="https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html#images">Image Guidelines for Echo Show and Echo Spot</a></li> </ul> <h2>Make Money by Creating Engaging Skills Customers Love</h2> <p>You can make money through Alexa skills using <a href="https://developer.amazon.com/alexa-skills-kit/make-money/in-skill-purchasing">in-skill purchasing</a> or <a href="https://developer.amazon.com/alexa-skills-kit/make-money/amazon-pay">Amazon Pay for Alexa Skills</a>. You can also make money for eligible skills that drive some of the highest customer engagement with <a href="https://developer.amazon.com/alexa-skills-kit/rewards">Alexa Developer Rewards</a>. <a href="http://dev.amazonappservices.com/Alexa_Skill_Monetization_Guide_LP.html" target="_blank">Download our guide</a> to learn which product best meets your needs.</p> <h2>Build a New Skill, Earn Developer Perks</h2> <p>Bring your big idea to life with Alexa and earn perks through our tiered rewards system. Publish a new skill in June and earn an AWS IoT button. Add in-skill purchasing to any published skill and earn an Alexa-enabled device for the car. <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion">Learn more</a> about our promotion and start building today.</p> /blogs/alexa/post/2aa5353c-a642-4afe-ab82-d476634937aa/how-to-build-skills-for-echo-show-and-echo-spot-using-the-ask-sdk-for-java How to Build Skills for Echo Show and Echo Spot Using the ASK SDK for Java Jennifer King 2018-06-12T21:09:19+00:00 2018-06-12T21:09:19+00:00 <p>To help you start building skills for Echo devices with screens, we developed a new sample fact skill called Airplane Facts. In this post, we will walk you through the sample skill and provide a deep dive on building voice-first skills.</p> <p style="text-align:justify">Echo Show and Echo Spot give you the ability to add graphical elements to Alexa skills, creating an immersive voice experience. You can add images, text, and list navigation to enhance the customer experience across Echo devices with screens.</p> <p style="text-align:justify">Graphical elements render on Echo Show and Echo Spot in the form of list and body templates. The list template displays content as horizontal or vertical lists with predefined formats. The body template, on the other hand, displays content that can include text and images with predefined formats. There are five types of body templates and two types of list templates. You can find a detailed explanation of each template <a href="https://developer.amazon.com/docs/custom-skills/display-interface-reference.html">here</a>.</p> <p style="text-align:justify">To help you start building skills for Echo devices with screens, we developed a new <a href="https://github.com/alexa/skill-sample-java-fact" target="_blank">sample fact skill called Airplane Facts</a>. In this post, we will walk you through the sample skill and provide a deep dive on building voice-first skills for Echo Show and Echo Spot using the new <a href="https://github.com/alexa/alexa-skills-kit-sdk-for-java" target="_blank">Alexa Skills Kit (ASK) Software Development Kit (SDK) for Java</a>. You can learn more about the new features of the SDK <a href="https://developer.amazon.com/blogs/alexa/post/1a4e8b01-663d-4680-8efd-c28e96e31655/now-available-version-2-of-the-ask-software-development-kit-for-java">here</a>.</p> <h2 style="text-align:justify">Quick Note on Cards and Body Templates</h2> <p style="text-align:justify">You can include <a href="https://developer.amazon.com/docs/custom-skills/include-a-card-in-your-skills-response.html">cards</a> in your skill’s response to enhance the voice experience by displaying content on the home screen of the Alexa app. A simple card (that displays plain text) renders as Body Template 1 on Echo Show. A standard card (that displays plain text and image) renders as Body Template 2 on Echo Show. If you do not explicitly implement a body template in your skill code, but instead return a simple card in your skill’s response, the card will render on Echo Show in the format of Body Template 1.</p> <h2 style="text-align:justify">Adding a Template to Your Response</h2> <p style="text-align:justify">Using the new SDK, the overridden handle method of a class that implements the RequestHandler returns the Response object. This Response object is built using the ResponseBuilder of the HandlerInput as shown in the code snippet below:</p> <pre> <code class="language-java">public Optional&lt;Response&gt; handle(HandlerInput input) { String speechText = &quot;Sample output speech text&quot;; return input.getResponseBuilder() .withSpeech(speechText) .build(); }</code></pre> <p style="text-align:justify">However, to include a body template to be rendered on Echo Show and Echo Spot, the response also needs to have the template set in the response, which you can set by adding the template to addRenderTemplateDirective of the ResponseBuilder as shown in the code snippet below. We have used Body Template 3 in the example:</p> <pre> <code class="language-java">@Override public Optional&lt;Response&gt; handle(HandlerInput input) { String title = &quot;Title&quot;; String primaryText = &quot;Primary Text&quot;; String secondaryText = &quot;Secondary Text&quot;; String speechText = &quot;Sample Output Speech Text&quot;; String imageUrl = &quot;imageUrl&quot;; Image = getImage(imageUrl); Template = getBodyTemplate3(title, primaryText, secondaryText, image); return input.getResponseBuilder() .withSpeech(speechText) .withSimpleCard(title, speechText) .addRenderTemplateDirective(template) .withReprompt(speechText) .build(); } </code></pre> <h2 style="text-align:justify">Building the Image Object</h2> <p style="text-align:justify">As seen in the code snippet above, the template object is passed to the addRenderTemplateDirective method of the ResponseBuilder. To build the Template object, we need to pass it an Image object. The code snippet below shows how to build the Image object, which is used to build the template object.</p> <pre> <code class="language-java">private Image getImage(String imageUrl) { List&lt;ImageInstance&gt; instances = getImageInstance(imageUrl); return Image.builder() .withSources(instances) .build(); } private List&lt;ImageInstance&gt; getImageInstance(String imageUrl) { List&lt;ImageInstance&gt; instances = new ArrayList&lt;&gt;(); ImageInstance instance = ImageInstance.builder() .withUrl(imageUrl) .build(); instances.add(instance); return instances; } </code></pre> <h2 style="text-align:justify">Building the TextContent Object</h2> <p style="text-align:justify">The template also requires the TextContent that will be displayed. The text can be plain text or rich text. The code snippet below shows how to build the TextContent object.</p> <pre> <code class="language-java">private TextContent getTextContent(String primaryText, String secondaryText) { return TextContent.builder() .withPrimaryText(makeRichText(primaryText)) .withSecondaryText(makeRichText(secondaryText)) .build(); } private RichText makeRichText(String text) { return RichText.builder() .withText(text) .build(); } </code></pre> <h2>Building a Body Template</h2> <p style="text-align:justify">Now that we have the Image and the TextContent, we can use that to build the template object:</p> <pre> <code class="language-java">private Template getBodyTemplate3(String title, String primaryText, String secondaryText, Image image) { return BodyTemplate3.builder() .withImage(image) .withTitle(title) .withTextContent(getTextContent(primaryText, secondaryText)) .build(); } </code></pre> <h2 style="text-align:justify">Building a List Template</h2> <p style="text-align:justify">We can build the ListTemplate object in a manner similar to building of the Body Template object. The code snippet below shows how to build the List Template 1.</p> <pre> <code class="language-java">private Template getListTemplate1(String title, Image backgroundImage, List&lt;ListItem&gt; listItems) { return ListTemplate1.builder() .withTitle(title) .withBackgroundImage(backgroundImage) .withListItems(listItems) .build(); } </code></pre> <p>The ListTemplate requires a list of ListItem objects, which can be built as shown below. Note: the background image in the list template is what is rendered in the background. However, each ListItem can also have an image. You can see how a ListTemplate gets rendered on Echo Show and Echo Spot <a href="https://developer.amazon.com/docs/custom-skills/display-interface-reference.html#device-display-comparisonlisttemplate1">here</a>.</p> <pre> <code class="language-java">private ListItem makeListItem(Image image, TextContent textContent) { return ListItem.builder() .withImage(image) .withTextContent(textContent) .build(); } </code></pre> <h2 style="text-align:justify">Configuring the Skill</h2> <p style="text-align:justify">Because this skill supports display interface, you will have to enable the display interface in the <a href="https://developer.amazon.com/alexa/console/ask">Alexa Developer Console</a>.</p> <p style="text-align:justify"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/interface._CB476891174_.png" /></p> <p style="text-align:justify">You can customize the images that you want to display along with the airplane facts. You will need to update these in the getImageMap() method of the <a href="https://github.com/alexa/skill-sample-java-fact/blob/master/src/com/amazon/ask/airplanefacts/util/FactsUtil.java" target="_blank">FactsUtil class</a>.</p> <h2 style="text-align:justify">Testing the Body Templates</h2> <p style="text-align:justify">Once the image URLs are set, you can test the skill using the Alexa simulator in the developer console.</p> <p style="text-align:justify"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/simulator._CB476891146_.png" style="display:block; margin-left:auto; margin-right:auto" /></p> <p style="text-align:justify">This will show you the approximation of how the skill displays the body templates on Echo Show and Echo Spot when a customer invokes your skill. This will render the Body Template 6 with the background image that you selected.</p> <p style="text-align:justify"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/body_temp_6._CB476891172_.png" style="display:block; height:352px; margin-left:auto; margin-right:auto; width:600px" /></p> <p style="text-align:center"><em>Body Template 6 Rendering on Echo Show</em></p> <p>&nbsp;</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/body_temp_6_spot._CB476891178_.png" style="display:block; height:516px; margin-left:auto; margin-right:auto; width:600px" /></p> <p style="text-align:center"><em>Body Template 6 Rendering on Echo Spot</em></p> <p>Similarly, you can use the Alexa simulator and “ask Airplane Facts for an airplane fact,” which will result in the Body Template 3 being rendered with the images that you added along with the facts, which are set in the <a href="https://github.com/alexa/skill-sample-java-fact/blob/master/src/com/amazon/ask/airplanefacts/util/FactsUtil.java" target="_blank">FactsUtil class</a>.</p> <p><em><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Screen_Shot_1._CB476943882_.png" style="display:block; height:351px; margin-left:auto; margin-right:auto; text-align:center; width:600px" /></em></p> <p style="text-align:center"><em>Body Template 3 Rendering on Echo Show</em></p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Screen_Shot_2._CB476943876_.png" style="display:block; height:531px; margin-left:auto; margin-right:auto; width:400px" /></p> <p style="text-align:center"><em>Body Template 3 Rendering on Echo Spot</em></p> <h2>Learn More and Get Started</h2> <p>You can find these code samples and more in the airplane facts sample skill in the Alexa skill-building cookbook. Check out the <a href="https://developer.amazon.com/docs/custom-skills/display-interface-reference.html">render template</a> documentation for more ways to create engaging Alexa skills for Echo Show and Echo Spot.</p> <p>Here are some additional resources to learn more as you build:</p> <ul> <li style="text-align:justify"><a href="https://developer.amazon.com/blogs/alexa/post/a7f25291-5418-4488-a6e3-fa531e49545c/7-tips-for-creating-great-multimodal-experiences-for-echo-show">7 Tips for Creating Great Multimodal Experiences for Echo Show</a></li> <li style="text-align:justify"><a href="https://developer.amazon.com/blogs/alexa/post/982c9134-fbf6-4465-a105-5f5c4b4774f6/building-for-echo-show-choosing-the-right-template">Designing Skills for Echo Show: Choosing the Right Display Template</a></li> <li style="text-align:justify"><a href="https://developer.amazon.com/blogs/alexa/post/b877f8df-e842-431e-aefa-65db00d67281/designing-skills-for-echo-show-choosing-the-right-list-template">Designing Skills for Echo Show: Choosing the Right List Template</a></li> <li style="text-align:justify"><a href="https://developer.amazon.com/docs/custom-skills/build-skills-for-echo-show.html">Build Skills for Echo Show and Echo Spot</a></li> <li><a href="https://developer.amazon.com/docs/custom-skills/display-interface-reference.html" target="_blank">Display Interface and Template Reference&nbsp;&nbsp; </a></li> </ul> <h2>Build a New Skill, Earn Developer Perks</h2> <p>Bring your big idea to life with Alexa and earn perks through our tiered rewards system. US developers, <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogFotter&amp;sc_publisher=Blog&amp;sc_content=Content&amp;sc_funnel=Submit&amp;sc_country=WW&amp;sc_medium=Owned_WB_BlogFotter_Blog_Content_Submit_WW_RegisteredDevs&amp;sc_segment=RegisteredDevs">publish a skill in June</a> and earn an AWS IoT button. Add in-skill purchasing to any skill in June can earn an Alexa-enabled device for the car. If you're not in the US, check out our promotions in <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-canada">Canada</a>, the <a href="http://developer.amazon.com/en-gb/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">UK</a>, <a href="http://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">Germany</a>, <a href="https://developer.amazon.com/ja/alexa-skills-kit/alexa-developer-skill-promotion">Japan</a>, <a href="https://developer.amazon.com/fr/alexa-skills-kit/alexa-developer-skills-promotion">France</a>, <a href="https://developer.amazon.com/alexa-skills-kit/anz/alexa-developer-skill-promotion">Australia</a>, and <a href="http://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-india" target="_blank">India</a>. <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion">Learn more</a> about our promotion and start building today.</p> /blogs/alexa/post/43854d46-0d7a-4649-ba95-a2d4ed2e3420/ocado-creates-a-seamless-voice-shopping-experience-through-rigorous-testing-and-customer-focus Ocado Creates a Seamless Voice Shopping Experience through Rigorous Testing and Customer Focus Billie Heath 2018-06-11T12:00:00+00:00 2018-06-11T15:04:44+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/ASM1660-BlogPost-UK-Ocado._CB476424134_.png" style="height:480px; width:1908px" /></p> <p>When Amazon Echo and Alexa launched in the UK, Ocado saw the opportunity to reach their customers in new ways. After months of rigorous user testing, the developers at Ocado Technology have created a skill that creates a seamless shopping experience via voice.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/ASM1660-BlogPost-UK-Ocado._CB476424134_.png" /></p> <p>Ocado is the world's largest online-only supermarket and a popular brand among British consumers. When Amazon Echo and Alexa launched in the UK, Ocado saw the opportunity to reach their customers in new ways. After months of rigorous user testing, the developers at Ocado Technology have created a skill that creates a seamless shopping experience via voice.</p> <p>“Ocado identified voice as a primary focus area for innovation,” says James Dimmock, Software Development Manager at Ocado Technology and one of the two skill developers. “We know voice is a rapidly growing space, which gives us the opportunity to interact with customers in brand new areas and scenarios like the kitchen and their cars.”</p> <p>Ocado believes that voice is key to taking their customer experience to a new level and offering customers more choice.</p> <p>“Customers have quickly adopted online grocery shopping on their mobile devices. Voice is the most natural way to go beyond that,” says Dimmock.</p> <h2>Using Voice to Streamline the Online Shopping Experience</h2> <p>Dimmock and his team wanted to design a skill that created a new shopping experience, with a focus on helping the customer. For example, previously if a customer ran out of cheese and needed to add some to their order, they would have to find their phone or laptop, log in to the Ocado website, find the product they wanted, and select to add it. Now it’s as simple as saying &quot;Alexa, ask Ocado to add cheddar to my trolley.&quot;</p> <p>With the <a href="https://www.amazon.co.uk/Ocado-Ltd/dp/B06Y6765XR/">Ocado skill</a>, customers can use their voice to add to and remove items from future orders or orders they’ve already completed. They can also ask for updates on order status and ask what’s in season.</p> <p>The skill has also made online shopping more accessible for visually impaired customers. Dimmock says they’ve received feedback from customers about how the voice experience has empowered them and helped them feel more independent.</p> <h2>Careful Development and Rigorous User Testing</h2> <p>Dimmock built the first prototype for the skill in a weekend, although his team spent six months on user testing to gather feedback and optimize the voice experience before launch. They also gained valuable voice design feedback from Amazon along the way to help them refine the voice user interface.</p> <p>&quot;We collaborated closely with the Amazon team to define and improve our conversational user experience and voice model from the very beginning,” says Dimmock.</p> <p>The Ocado team also used customer feedback to improve the voice experience. Dimmock says that this is a continuous process, as they are still refining and improving the skill based on feedback they gather through customer surveys and reviews.</p> <p>“You will get a lot of feedback, some negative, but you should see it as constructive,” says Dimmock. “It’s an opportunity to improve the skill.”</p> <h2>Reaching New Customers with Voice</h2> <p>In addition to rigorous user testing, skill marketing has been key to driving user engagement for the Ocado skill. The team has used a combination of online and offline marketing channels, focusing heavily on sending emails to their customers and advertising the skill in customer-facing material. They also use their website to promote the skill.</p> <p>In-skill marketing has also been valuable to educate customers on the things they can do with the Alexa skill, which is particularly helpful as new functionality becomes available. For example, when a customer ends a session, Alexa will suggest new things that they can ask for next time they use the skill.</p> <h2>Looking to the Future</h2> <p>Ocado’s skill is just the beginning and marks the early days of voice and voice-first grocery shopping coming together to create magical experiences for customers. Dimmock’s team has also worked with Morrisons, one of the retailers using Ocado’s technology to power their online grocery business, to build a similar skill.</p> <p>“We definitely view voice as a fast-growing and emerging technology. We see it as an opportunity to prepare for the future of voice-first shopping,” says Dimmock. “At this stage, we’re learning how to best take advantage of Alexa and build smarter interfaces for voice.”</p> /blogs/alexa/post/4631a478-503b-460f-82ef-c8985b119ad5/echo-buttons-skill-teardown-don-t-cut-that-wire Echo Buttons Skill Teardown: Don’t Cut That Wire Karen Yue 2018-06-08T20:35:02+00:00 2018-06-08T20:35:02+00:00 <p><a href="https://developer.amazon.com/blogs/alexa/post/4631a478-503b-460f-82ef-c8985b119ad5/echo-buttons-skill-teardown-don-t-cut-that-wire" target="_blank"><img alt="Don't Cut That Wire Teardown" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/gadgets/blog_teardown_dont_cut_that_wire._CB1528435577_.png" style="height:480px; width:1908px" /></a></p> <p>Learn what makes Echo Buttons skills engaging for Alexa players in this skill teardown.</p> <p><a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html" target="_blank"><img alt="Don't Cut That Wire Teardown" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/gadgets/blog_teardown_dont_cut_that_wire._CB1528435577_.png" style="height:480px; width:1908px" /></a></p> <p>Developers are already creating interactive gaming experiences for Echo Buttons. One popular Amazon game skill, <a href="https://www.amazon.com/dp/B077YBZ3NQ" target="_blank"><em>Don’t Cut That Wire</em></a>, is a pattern-matching game where Alexa shows the customer a sequence of colors on two or more Echo Buttons. The customer diffuses a “bomb” by pressing the buttons in the same order. In this skill teardown, we uncover what makes this skill engaging for Alexa players and share tips that you can apply to your own Echo Buttons skill. We realize that real-world examples can be worth 1,000 pages of documentation.</p> <p>Built by a team of experienced Amazon game developers, <em>Don’t Cut That Wire</em> was developed in parallel with many of the services that power the <a href="https://developer.amazon.com/docs/gadget-skills/understand-gadgets-skill-api.html" target="_blank">Gadgets Skill API</a>. In order to build a compelling game skill, we recommend spending time to design the experience of your game. Most game skills are composed of concepts that you’ll hear repeated throughout our documentation like roll call, Input Handlers, and light animations. The <em>Don’t Cut That Wire</em> <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html" target="_blank">teardown</a> provides JSON examples that detail best practices around these concepts as implemented by developers who have been building Echo Buttons skills longer than anyone. You can find the details in the <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html" target="_blank">teardown</a>, but here’s a quick overview.</p> <h2>Implementing Roll Call to Personalize Game Play</h2> <p>Roll call associates players with buttons and is critical to the overall gaming experience. <em>Don’t Cut That Wire</em> uses a duration-based approach to roll call and confirms with voice, after the Input Handler times out, the number of buttons it detected. <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html#roll-call" target="_blank">Here</a> we share more details about roll call in <em>Don’t Cut That Wire</em>.</p> <p>Without roll call, the game experience will be generic and Alexa will not be able to address players by character name, or even player number (i.e., “Player number one, what’s your answer?”) These unique voice responses are critical to a voice-first experience, and the driving factor behind why Amazon requires some form of roll call in all published skills that require Echo Buttons.</p> <p>Echo Buttons skills typically complete roll call using either a timeout duration or expected button count. Either approach is valid, but you may find that one approach ties into your game experience better than another. In a duration-based roll call, anyone who presses a button within a specified time window is added to the game in the order in which their presses are received by the Game Engine. Roll call completes when either the maximum number of buttons is detected, or the timer runs out.</p> <p>The player count experience takes a more guided approach by prompting the players, “How many are playing?” or “How many buttons do you have?” When one of the players responds “four,” the skill then sets up an Input Handler to expect four unique button presses. The roll call does not succeed unless four unique buttons are detected. It’s really up to you to decide on which experience you prefer. Our Echo Buttons games represent both options. For an example of how to implement an expected button count roll call, check out our <a href="https://github.com/alexa/skill-sample-nodejs-buttons-colorchanger/blob/master/lambda/custom/rollcall.js" target="_blank">Color Changer sample skill</a> on GitHub.</p> <h2>Kicking Off a Game Round</h2> <p>Game rounds can vary greatly from game to game. <em>Don’t Cut That Wire</em> rounds start simple and grow in both length and complexity. The skill starts each round by sending GadgetController.SetLight directives to buttons to create a light pattern across all buttons. A GameEngine.StartInputHandler directive is used with the timeout duration matched to notify the skill when the animation is complete.</p> <p>The player is expected to remember this pattern, and then press the buttons in the same order once prompted. In order to capture this input, an Input Handler that informs the skill each time a button is pressed is created for each step of the player’s response input. You can see this in action in the <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html#beginning-round" target="_blank">Beginning of a Round</a> section of the teardown.</p> <p>Whether you want to create a first-to-buzz-in trivia game experience or a complex set of button inputs like <em>Don’t Cut That Wire</em>, remember that GameEngine.StartInputHandler directives are required in order to capture any button input.</p> <h2>Bringing the Game to Life With Light Animations</h2> <p>The full color RGBs in Echo Buttons can bring life to any game or create the game itself, as in <em><a href="https://www.amazon.com/Amazon-Button-Monte/dp/B077T2G3ZW" target="_blank">Button Monte</a></em>. <em>Don’t Cut That Wire</em> sends multiple GadgetController.SetLight directives at the beginning of each round to direct a unique animation sequence to each button. You’ll find details on light animations in the teardown section called <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html#pattern-display" target="_blank">Pattern Display</a>.</p> <p>Even if your game does not require light sequences like <em>Don’t Cut That Wire</em>, light animations can greatly improve any game-skill experience. To get you started, check out the pulsating color animation used in <em>Don’t Cut That Wire</em> under <a href="https://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html#response-blue-magenta-red-black" target="_blank">Blue-Magenta-Red-Black Animation</a>.</p> <h2>Get the Full Skill Teardown</h2> <p>Along with the JSON requests and responses, the skill teardown for <em>Don’t Cut That Wire </em>provides commentary on other noteworthy aspects of the skill. For example, how do you display a sequence of colors across multiple Echo Buttons? Where does the originatingRequestId for an Input Handler come from? Why might you use session attributes? Check out the <a href="http://developer.amazon.com/docs/gadget-skills/dont-cut-that-wire-walkthrough.html" target="_blank">full skill teardown</a> to learn more. You can also play <em><a href="https://www.amazon.com/Amazon-Dont-Cut-That-Wire/dp/B077YBZ3NQ" target="_blank">Don’t Cut That Wire</a></em> to get the full experience.&nbsp;</p> <h2>More Resources to Build Echo Buttons Skills</h2> <p>You can write the next hit game for Echo Buttons! Check out our other Echo Buttons resources, including the <a href="https://github.com/alexa/skill-sample-nodejs-buttons-trivia" target="_blank">Trivia Template</a>, <a href="https://github.com/alexa/skill-sample-nodejs-buttons-hellobuttons" target="_blank">Hello Buttons</a>, and <a href="https://github.com/alexa/skill-sample-nodejs-buttons-colorchanger" target="_blank">Color Changer</a> sample code in GitHub, or the recently released <a href="https://blueprints.amazon.com/bp/amzn.ask.bp.8f50e9a5-bbb1-45aa-936f-939fe2a491b7?ref_=ask_bp_featured_1" target="_blank">Game Show blueprint</a>.</p> /blogs/alexa/post/ef569fe1-5222-4afa-bf2d-a08a8e999b8c/jess-williams-and-oscar-merry-build-an-award-winning-alexa-kid-skill-designed-for-echo-show Jess Williams and Oscar Merry Build an Award-Winning Alexa Kid Skill Designed for Echo Show Jennifer King 2018-06-08T14:00:00+00:00 2018-06-08T14:00:00+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/panda_rescue_blog._CB476772210_.png" /></p> <p>Jess Williams and Oscar Merry designed their first Alexa skill for Echo Show and won the $7,500 cash prize for Best Skill Designed for Echo Show in the Alexa Skills Challenge: Kids.</p> <p style="text-align:center"><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/_vXCvo2R6Kc" width="640"></iframe></p> <p><a href="https://developer.amazon.com/blogs/alexa/post/f8517fdc-f70a-48f5-b5b7-9457f4d8191a/jess-williams-ceo-of-the-uk-s-first-voice-design-agency-urges-more-women-to-start-building-the-future-with-voice">Jess Williams</a> and <a href="https://developer.amazon.com/blogs/alexa/post/e44c7dbd-0a26-40cb-918d-0142b1058520/with-alexa-developer-rewards-oscar-merry-takes-his-growing-voice-business-to-new-heights">Oscar Merry</a> were early adopters in the world of voice technology. They recognized the unique opportunities voice presents for content creators and developers, which led them to publish some of the most engaging and profitable skills in the Alexa Skills Store.</p> <p>With the introduction of Echo Show, which is an Echo device with a screen, they wanted to seize this new opportunity to further enrich the voice experience with their Alexa skills.</p> <p>“Our initial success building skills for Alexa has been a definite motivation for building our business,” says Merry. “But we saw Echo Show as the perfect opportunity to enhance the voice experience with visual components.”</p> <p>Williams and Merry continue to make great strides building skills for Alexa. Most recently, they’ve leapt into building voice-first experiences for Echo devices with screens. Their first skill for Echo Show was a kid skill called <a href="https://www.amazon.com/www-asklifebot-com-Panda-Rescue/dp/B078LL5ZL3/" target="_blank">Panda Rescue</a>, which won the $7,500 cash prize for <a href="https://developer.amazon.com/blogs/alexa/post/ff618260-8819-4210-8f84-e090585ea5ee/announcing-the-winners-of-the-alexa-skills-challenge-kids">Best Skill Designed for Echo Show</a> in the <a href="https://devpost.com/software/panda-rescue" target="_blank">Alexa Skills Challenge: Kids</a>. Panda Rescue is a game that gives kids the experience of raising an orphaned baby panda until it is able to survive on its own.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/panda_rescue_1._CB476772253_.png" style="float:left; height:466px; margin-left:10px; margin-right:10px; width:350px" />“The opportunities in voice are definitely growing,” says Williams. “Winning the prize for the best kid skill for Echo Show has inspired us to invest even more time in creating skills that leverage voice, audio and visuals for Echo devices with screens.”</p> <h2>Delivering Immersive Voice-First Experiences with the Echo Show Display</h2> <p>Co-founders of Opearlo, the voice design and development studio, Merry and Williams have built Alexa skills across a number of categories. Many of these—including <a href="https://www.amazon.com/dp/B07B3H9X5J" target="_blank">Guess my Name,</a> <a href="https://www.amazon.com/dp/B07BBS2XK6" target="_blank">Riddle of the Day</a>, <a href="https://www.amazon.com/dp/B076PHYQD2" target="_blank">Find My Phone</a>,<u> </u>and Inspire Me—earn money from the <a href="https://developer.amazon.com/alexa-skills-kit/rewards" target="_blank">Alexa Developer Rewards</a> program. But they’d never ventured into the kids gaming category.</p> <p>That all changed when Amazon announced <a href="https://developer.amazon.com/blogs/alexa/post/a311e51b-da95-40d7-bb5e-8ce591016e03/alexa-now-supports-kid-skills">support for Alexa kid skills</a>, which enabled skill developers to reach the next generation of customers, as well as the <a href="https://developer.amazon.com/blogs/alexa/post/f9671946-9039-45a4-83a7-ed1e15de682d/alexa-skills-challenge-offers-250-000-in-prizes-for-best-kid-skills">Alexa Skills Challenge: Kids</a>.</p> <p>The Panda Rescue skill begins with a baby panda rescued from the wild. The player then raises the panda, watching it learn and grow through 10 levels of the game, until the panda is finally fit for the child to release back into the wild.</p> <p>“Panda Rescue is basically an adventure story game for kids,” says Merry. “We prototyped and tested the first couple levels extensively with actual customers before building out the rest of the game.”</p> <p>As a standalone voice experience, Panda Rescue provides an engaging plot with custom audio, unique voices using <a href="https://developer.amazon.com/blogs/alexa/post/b5716c1f-d57b-4178-9ed9-5f4cf50c64d6/new-developer-preview-easily-use-amazon-polly-voices-in-alexa-skills">Amazon Polly</a>, and music to keep kids engaged. For example, the sound effects of the panda refuge and the forest create a more immersive experience as the user progresses through the levels.<img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/panda_rescue_3._CB476772249_.png" style="float:right; height:466px; margin:10px; width:350px" /></p> <p>With Echo Show, the skill uses compelling imagery to enhance the story, making it more immersive without detracting from the voice-first experience. For example, the voice component teaches kids that pandas are born pink and without any fur. Echo Show lets kids actually see the baby panda and watch as it grows up.</p> <p>Through this visual component, kids can become more invested in their mission to care for the orphaned panda. Customers have described the experience as “atmospheric, detailed, and educational,” and Echo Show allows kids to “enjoy the full visual cuteness of the baby panda.”</p> <h2>Even with a Screen, Voice Remains the Primary Interaction</h2> <p>For Echo Show and Echo Spot, developers can create engaging voice-first experiences, then enhance them with visual aspects like imagery or videos. Even so, Merry and Williams are adamant that when building a voice experience for Echo devices with screens, voice—not visuals—must remain the primary interaction.</p> <p>“Designing skills for Echo Show and Echo Spot presents an opportunity for visuals to work together with voice, not compete with it,” says Williams. “For example, when I glance over to my Echo Show see a feed of top news headlines, I just say, ‘Alexa, tell me more.’ In this case, voice is still the main mode of interaction with the device.”</p> <p>Merry also emphasizes that the visuals displayed on Echo Show should enhance—not detract from—the voice interaction. After observing customers using skills on Echo Show, Merry and Williams noticed customers can become distracted by what’s displayed on the screen, rather than what’s being communicated via voice. The interaction model and responses for skills on devices with screens require more thought than developing for audio-only skills.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/panda_rescue_4._CB476772251_.png" style="float:left; height:466px; margin-left:10px; margin-right:10px; width:350px" />That’s why with Panda Rescue and other skills for Echo Show, Williams and Merry design the conversation between Alexa and the customer first, before deciding on the type of imagery and when to show it. While images and even video can enhance the user experience, they are careful it doesn’t distract the customer from the audio.</p> <p>“It’s important not to put extra cognitive load on the customer with what we're showing them on the device,” says Merry. “We want customers to concentrate on the audio experience, rather than on potentially excessive information on the screen.”</p> <h2>Screen or No Screen, the Opportunities for Voice Are Endless</h2> <p>Williams sees Echo devices with screens as an opportunity to stretch her voice design limits to create even more engaging user experiences.</p> <p>“What's exciting about developing for voice is the potential impact you can have on people’s lives,” says Williams. “By combining voice and imagery, Echo Show gives developers more opportunities to build immersive experiences for customers.”</p> <p>Merry agrees with the enormous potential that voice-first experiences will bring to both customers and developers alike.</p> <p>“One of the biggest benefits in developing for Alexa is that voice is the most natural form of interaction. There are tens of millions of people now with Echo devices, and we expect more and more people to have Echo devices with screens,” says Merry. “If you focus on building great voice experiences that work across all of these devices, screen and no screen, the opportunity to reach more people is huge.”</p> <h2>Build a New Skill, Earn Developer Perks</h2> <p>Bring your big idea to life with Alexa and earn perks through our tiered rewards system. US developers, <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion?&amp;sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=BlogFotter&amp;sc_publisher=Blog&amp;sc_content=Content&amp;sc_funnel=Submit&amp;sc_country=WW&amp;sc_medium=Owned_WB_BlogFotter_Blog_Content_Submit_WW_RegisteredDevs&amp;sc_segment=RegisteredDevs">publish a skill in June</a> and earn an AWS IoT button. Add in-skill purchasing to any skill in June can earn an Alexa-enabled device for the car. If you're not in the US, check out our promotions in <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-canada">Canada</a>, the <a href="http://developer.amazon.com/en-gb/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">UK</a>, <a href="http://developer.amazon.com/de/alexa-skills-kit/alexa-developer-skill-promotion" target="_blank">Germany</a>, <a href="https://developer.amazon.com/ja/alexa-skills-kit/alexa-developer-skill-promotion">Japan</a>, <a href="https://developer.amazon.com/fr/alexa-skills-kit/alexa-developer-skills-promotion">France</a>, <a href="https://developer.amazon.com/alexa-skills-kit/anz/alexa-developer-skill-promotion">Australia</a>, and <a href="http://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion-india" target="_blank">India</a>. <a href="https://developer.amazon.com/alexa-skills-kit/alexa-developer-skill-promotion">Learn more</a> about our promotion and start building today.</p> /blogs/alexa/post/c870fd31-4f91-4a62-a137-8dfa70ca5e9c/hyprank-how-alexa-determines-what-skill-can-best-meet-a-customer-s-need HypRank: How Alexa Determines What Skill Can Best Meet a Customer’s Need Larry Hardesty 2018-06-08T13:00:00+00:00 2018-06-11T12:45:35+00:00 <p>Amazon science leader Young-Bum Kim describes the HypRank neural model, which performs the second step in the two-step process that Alexa uses to select the best skill to handle a given utterance.</p> <p>Amazon Alexa currently has more than 40,000 third-party skills, which customers use to get information, perform tasks, play games, and more. To make it easier for customers to find and engage with skills, we are moving toward skill invocation that doesn’t require mentioning a skill by name (as highlighted in a <a href="https://developer.amazon.com/blogs/alexa/post/352e9834-0a98-4868-8d94-c2746b794ce9/improve-alexa-skill-discovery-and-name-free-use-of-your-skill-with-canfulfillintentrequest-beta" target="_blank">recent post</a>).&nbsp;</p> <p>To enable name-free skill interaction, Alexa currently uses a two-step, scalable, and efficient neural shortlisting-reranking approach. (I described our approach to shortlisting in a <a href="https://developer.amazon.com/blogs/alexa/post/4e6db03f-6048-4b62-ba4b-6544da9ac440/the-scalable-neural-architecture-behind-alexa-s-ability-to-arbitrate-skills" target="_blank">post yesterday</a>). The shortlisting step uses a scalable neural model to efficiently find the optimal (k-best) candidate skills for handling a particular utterance; the re-ranking step uses rich contextual signals to find the most relevant of those skills. We use the term “re-ranking” since we improve upon the initial confidence score provided by the shortlisting step.&nbsp;</p> <p>This week, at the Human Language Technologies conference of the North American chapter of the Association for Computational Linguistics (<a href="http://naacl2018.org/" target="_blank">NAACL 2018</a>), my colleagues and I presented a <a href="https://arxiv.org/pdf/1804.08064.pdf" target="_blank">paper</a>, “A Scalable Neural Shortlisting-Reranking Approach for Large-Scale Domain Classification in Natural Language Understanding,” that describes our approach.&nbsp;</p> <p><img alt="hyprank_overview.png" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/hyprank_overview._CB476739919_.png?t=true" style="display:block; height:389px; margin-left:auto; margin-right:auto; width:723px" /></p> <p style="text-align:center"><em>A high-level flow of the two-step shortlisting-reranking approach </em></p> <p><br /> <strong>The Challenge</strong><br /> The problem here is essentially a domain classification problem over the k-best candidate skills returned by the shortlisting system, which we call Shortlister. The goal of Shortlister is to achieve high recall — to identify as many pertinent skills as possible — with maximum efficiency. On the other hand, the goal of the reranking network, HypRank, is to use rich contextual signals to achieve high precision — to select the most pertinent skills. Designing HypRank comes with its own challenges:</p> <p style="margin-left:40px">•&nbsp;&nbsp; &nbsp;<em>Hypothesis representation:</em> It needs to use available contextual signals to produce an effective hypothesis representation for each skill in the k-best list;&nbsp;<br /> •&nbsp;&nbsp; &nbsp;<em>Cross-hypothesis feature representation:</em> It needs to efficiently and automatically compare features, such as a skill’s intent confidence, to those of other candidate skills in the k-best list; &nbsp;<br /> •&nbsp;&nbsp; &nbsp;<em>Generalization:</em> It needs to be language-agnostic; and<br /> •&nbsp;&nbsp; &nbsp;<em>Robustness:</em> It needs to be able to accommodate changes, such as independent modifications to Shortlister or to the natural-language-understanding models that provide skill-specific semantic interpretation of utterances.</p> <p><img alt="Hyprank_with_signals.png" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Hyprank_with_signals._CB476739884_.png?t=true" style="display:block; height:495px; margin-left:auto; margin-right:auto; width:615px" /></p> <p style="text-align:center"><em>Neural Hypotheses Reranker model architecture </em></p> <p><strong>The HypRank Neural Model</strong><br /> HypRank comprises two components:&nbsp;</p> <p style="margin-left:40px">1.&nbsp;&nbsp; &nbsp;Hypothesis representation for each skill; and&nbsp;<br /> 2.&nbsp;&nbsp; &nbsp;A bidirectional long short-term memory (BiLSTM) model for re-ranking a list of hypotheses.&nbsp;</p> <p>For each skill in the k-best list, we form a hypothesis based on additional semantic and contextual signals. For example, we perform intent-slot semantic analysis for a skill. If a user says “play Michael Jackson,” the Pop Music skill might infer the intent PlayMusic, while the Classic Music skill might infer the intent PlayTune. But the confidence scores that the skills assign their inferences could be useful for skill re-ranking. The hypothesis generator is constantly being updated, re-weighting signals and accommodating new functionality and changes in usage patterns.</p> <p>HypRank is unique because of its list-wise ranking approach using a BiLSTM layer. LSTM models are common in natural-language processing because they factor in the order in which data are received: if you’re trying to understand the sixth word in an utterance, it helps to know what the previous five were. Bidirectional LSTM models consider data sequences both forward and backward.&nbsp;</p> <p>By leveraging the BiLSTM layer, HypRank can evaluate an entire list of skill hypotheses before providing a re-ranking score for each hypothesis. This is distinct from point-wise approaches that look at each hypothesis in isolation or pair-wise approaches that look at pairs of hypotheses in a series of tournament-like competitions.&nbsp;</p> <p>Whereas past re-ranking approaches relied on manually crafted cross-hypothesis features, our approach uses the BiLSTM layer to automatically learn and encode appropriate cross-hypothesis features for improved re-ranking. The encoded cross-hypothesis vector then passes through a conventional feed-forward network, which determines the final score for each hypothesis.&nbsp;</p> <p>HypRank is agnostic about both language and locale. The contextual information used to form a hypothesis is designed to be independent of whether the language spoken is English or French and whether the locale is the U.S. or France. Research is ongoing on making HypRank as generalizable as possible and also as robust as possible to changes in the upstream signals.</p> <p><em>Young-Bum Kim is an Amazon science leader within the Alexa AI organization. He and colleagues presented &nbsp;their work this week at the NAACL conference.</em>&nbsp;</p> <p><strong>Acknowledgments:</strong> Sunghyun Park, Ameen Patel, Jihwan Lee, Joo-Kyung Kim, Dongchan Kim, Hammil Kerry, Ruhi Sarikaya, and all engineers in the Fan Sun, Bo Cao, and Yan Weng teams.&nbsp;</p> <p><strong>Related:</strong></p> <p><a href="https://developer.amazon.com/blogs/alexa/post/352e9834-0a98-4868-8d94-c2746b794ce9/improve-alexa-skill-discovery-and-name-free-use-of-your-skill-with-canfulfillintentrequest-beta" target="_blank">Improve Alexa Skill Discovery and Name-Free Use of Your Skill with CanFulfillIntentRequest (Beta)</a><br /> <a href="https://developer.amazon.com/docs/custom-skills/name-free-interaction.html" target="_blank">Name-Free Interaction for Alexa Skills</a><br /> <a href="http://pages.cs.wisc.edu/~ybkim/paper/acl2018.pdf" target="_blank">Efficient Large-Scale Neural Domain Classification with Personalized Attention</a>&nbsp;<br /> <a href="https://developer.amazon.com/blogs/alexa/post/60e1f011-3236-4162-b0f6-509205d354ca/making-alexa-more-friction-free" target="_blank">Making Alexa More Friction-Free</a></p>