Vielen Dank für deinen Besuch. Diese Seite ist nur in Englisch verfügbar.
Alexa Blogs Alexa Developer Blogs /blogs/alexa/feed/entries/atom 2019-07-16T08:00:00+00:00 Apache Roller /blogs/alexa/post/07fe7ede-025d-4f8d-b25c-b27a238f51d5/how-vocala-is-creating-a-growing-voice-business How Vocala is Creating a Growing Voice Business Emma Martensson 2019-07-16T08:00:00+00:00 2019-07-16T08:00:00+00:00 <p><img alt="" src="" style="height:481px; width:1908px" /></p> <p><a href="" target="_blank">Vocala</a>, a digital agency based in Surrey, England and led by Richard Matthews, decided in 2018 to create a voice studio that specialises in creating games and interactive skills for Alexa-enabled devices.</p> <p><img alt="RichardMatthews_vocala_case_study.jpg" src="" /></p> <p><a href="" target="_blank">Vocala</a>, a digital agency based in Surrey, England and led by Richard Matthews, decided in 2018 to create a voice studio that specialises in creating games and interactive skills for Alexa-enabled devices. Now, eighteen months on from the decision, they have over ten skills, including leading titles with tens of thousands of daily players. Vocala also has a number of clients that seek their knowledge on voice to build best-in-class experiences.</p> <h2>Developing Monetised Alexa Skills</h2> <p>Vocala have two approaches to ideating new skills:</p> <ol> <li><strong>Create skills based on popular TV based gameshows and entertainment programmes. </strong>They identify TV programmes they believe will adapt well to voice first experiences and contact the IP owners to secure the rights to develop skills using the brands. Vocala has secured the rights to <a href=";qid=1561649506&amp;s=digital-skills&amp;sr=1-1" target="_blank">Deal or No Deal</a>, <a href=";qid=1561649584&amp;s=digital-skills&amp;sr=1-1" target="_blank">Pointless</a> and <a href=";qid=1561649609&amp;s=digital-skills&amp;sr=1-1" target="_blank">Tenable</a>.</li> <li><strong>Develop and create their own games. </strong>Any skill idea that has potential is drawn up in a simple format before it gets built. Vocala creates game engine prototypes and plays them. If the game is fun, they then allocate time to developing the skill.</li> </ol> <p>Everyone in the Vocala team submits ideas for new skills. These ideas are then vetted based on a voice first use case, development potential, audience type, marketing opportunities and competitive landscape. “The most important factor in our ideation stage is the understanding of the people for whom we’re designing the skill – the customer,” says Richard.</p> <p>In the VUI design stage, Vocala creates a customer journey map to identify the customers’ needs at the different stages of engagement. Once they have defined the various scenarios, they then create a sample dialog flow which outlines keywords that lead to the interactions and the branches, that represent where the conversation could lead to. They then write up full conversational dialogs of all the interactions that could take place between the customer and Alexa.</p> <p>The next step is to gather all the required assets for the game such as voice overs, music, and graphic design assets, as well as assessing their use of <a href="">in-skill purchasing (ISP)</a>. To date, Vocala has seven games using ISP, which gives them the opportunity to experiment with the upsell and product types. As each of their skills have different formats, they are able to see which product type and upsell design works with what format and, continue to improve based on reviews.</p> <h2>Free Content First, Premium Content Second</h2> <p>With the introduction of ISP, Vocala is extending their focus to include sales, marketing, audience profiling, upsell opportunity and premium content. However, Richard emphasized the importance of getting the free experience right prior to focusing on the premium experience. “Our focus has always been to drive volume of players and, to do this you need to make sure your free skill has all the attributes to excite and gain loyal, repeat players, who will want to purchase your premium content,” says Richard. He continues “ISP gives you the opportunity to add premium content, which your customers will pay for – but first they need to enjoy and use your skill with the free play options. Your focus should be on making your skill the best it can be – with premium content to follow.” His advice is to create a roadmap and a clear strategy, as he thinks this is vital when developing the skill, as well as understanding the audience so that the skill is targeted towards them.</p> <h2>Monetisation Provides Growth and Experimentation Opportunities for Voice Businesses</h2> <p>Vocala believes monetisation will give developers the opportunity to earn money for their work and, further develop the relationship with their customers. It will give them the resources to continue to invest in their skills to grow a bigger fan base and offer more to customers. “Premium means premium, so the time to develop will take longer, but the investment made will be returned, if done correctly. Through financial support from the people, who love the skill,” says Richard. He continues “Our goal is that monetisation will enable us to continue to release new skills and, to enhance existing skills, add more visual content, media and creative resource to our skills.”</p> <p>Vocala’s roadmap and pipeline is robust, with new skills already in development. They continue to evaluate IP opportunities and are in talks with a number of content owners for new skill releases in 2019 and beyond. In addition to developing their own skills, they’ve also attracted clients for their agency business from brands and companies who want to offer skills. It’s a busy but exciting time, and Vocala is recruiting to meet the demand and looking at new office space to accommodate their expanding team.</p> <h2>Related Content</h2> <ul> <li><a href="">Make Money with In-Skill Purchasing</a></li> <li><a href="">Sony Pictures Television Grows Its Brand and Reaches New Customers with Monetized Alexa Skills Jeopardy! and Who Wants to Be a Millionaire</a></li> <li><a href="">With In-Skill Purchasing, Gal Shenar Sets His Growing Voice Business Up for Long-Term Success</a></li> <li><a href="">Alexa Game Skill “Would You Rather for Family” Adds In-Skill Purchasing and Sees Revenue Growth</a></li> </ul> <h2>Make Money by Creating Engaging Voice Games Customers Love</h2> <p>With ISP, you can sell premium content to enrich your Alexa skill experience. ISP supports one-time purchases for entitlements that unlock access to features or content in your skill, subscriptions that offer access to premium features or content for a period of time, and consumables which can be purchased and depleted. You define your premium offering and price, and we handle the voice-first purchasing flow. <a href=";sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=wb_acquisition&amp;sc_publisher=ASK&amp;sc_content=Content&amp;sc_detail=vod-webinar&amp;sc_funnel=Convert&amp;sc_country=WW&amp;sc_medium=Owned_WB_wb_acquisition_ASK_Content_vod-webinar_Convert_WW_visitors_makemoney-page_CTA-graphic&amp;sc_segment=visitors&amp;sc_place=makemoney-page&amp;sc_trackingcode=CTA-graphic" target="_blank">Download our introductory guide</a> to learn more.</p> /blogs/alexa/post/8840aefa-3f43-4049-9974-6e39360d11b4/alexa-skills-kit-expands-to-include-hindi Alexa Skills Kit Expands to Include Hindi; Alexa Voice Service to Follow Jeeta Das 2019-07-16T06:42:29+00:00 2019-07-16T07:49:31+00:00 <p><img alt="Blog.png" src="" /></p> <p>Today, we’re excited to announce that developers can now start building Alexa skills for customers in India using the new Hindi voice model of <a href="">Alexa Skills Kit</a> (ASK).</p> <p><img alt="Blog.png" src="" /></p> <hr /> <p>Since October 2017, Indian customers have used Alexa enabled devices to access thousands of voice experiences, called “skills”, built by developers worldwide. Today, we’re excited to announce that developers can start building Alexa skills for customers in India using the new Hindi voice model on the <a href="" target="_blank">Alexa Skills Kit</a> (ASK). Developers will get a head start and will be able to submit skills for certification as we prepare to offer engaging experiences for Alexa users in one of the most spoken languages in the country. Commercial hardware manufacturers who want to develop Alexa Built-in products for Hindi-speaking customers in India can request early access to the invite-only <a href="" target="_blank">Alexa Voice Service</a> (AVS) developer preview.</p> <hr /> <h3><strong>Create New Skills for Alexa with the Alexa Skills Kit</strong></h3> <p><a href="" target="_blank">Alexa Skills Kit</a> (ASK) is a collection of self-service APIs and tools that make it fast and easy for developers to create new voice-driven capabilities, or skills, for Alexa. Developers don’t need experience with speech recognition or natural language understanding to build a skill—Alexa does all the work to hear, understand, and process the customer’s spoken request so developers don’t have to.</p> <h3><strong>How to Build Alexa Skills for Hindi Speaking Customers</strong></h3> <p>It’s easy to start building voice experiences for Alexa in the new Hindi language model. Before you begin building your skill in Hindi, be sure to select Hindi (IN) as your language model in the <a href="" target="_blank">Alexa Developer Console</a>. However, if you’re new to the skill building process, check out this <a href="" target="_blank">detailed walkthrough</a> to get started. To build a skill in the Hindi voice model, get started with the following:</p> <ul> <li>Try our basic <a href="" target="_blank">fact skill</a> sample</li> <li>Go through a complete, <a href="" target="_blank">step by step guide</a> to create a new skill in Hindi</li> <li>Browse through our <a href="" target="_blank">technical documentation</a> to understand the nuances in building a skill for the Hindi language model</li> </ul> <h3><strong>Add Hindi to Your Existing English (India) Skill and Reach New Customers</strong></h3> <p>If you’re an Alexa developer and want to engage with new Hindi-speaking customers in India, you can update your existing published skill in India for Hindi by following these <a href="" target="_blank">simple steps</a>.</p> <h3><strong>Attend Our Webinar to Start Building Skills in Hindi</strong></h3> <p>Sign up for our first webinar on Hindi skill building scheduled on July 24 at 4 pm IST. Alongside our Technical Evangelist (Sohan Maheshwar) and Solutions Architect (Karthik Ragubathy) you will learn about how to reach new Hindi speaking customers with Alexa skills built using Hindi and ask any questions you may have. <a href="" target="_blank">Register here</a></p> <h3><strong>Submit and Win Exclusive Merchandise</strong></h3> <p>Ready to build an Alexa skill using Hindi? Developers in India who have their Hindi-language skill certified for publication in India before July 31 will receive exclusive Early Bird Alexa merchandise. <a href="" target="_blank">Learn more</a></p> <h3><strong>Share feedback and Make the Skill Building Process in Hindi (IN) Better</strong></h3> <p>Join our <a href="" target="_blank">Slack channel</a> to get connected with your peer developers building for Hindi. If you have any questions or feedback on the HI_IN model, please <a href=";sc_channel=website&amp;sc_publisher=devportal&amp;sc_campaign=Conversion_Contact-Us&amp;sc_assettype=conversion&amp;sc_team=us&amp;sc_traffictype=organic&amp;sc_country=united-states&amp;sc_segment=all&amp;sc_itrackingcode=100020_us_website&amp;sc_detail=alexa-payment&amp;ref_=pe_1725760_157297530" target="_blank">contact us</a>.</p> <h3><strong>Integrate Alexa into Your Devices with the Alexa Voice Service (AVS)</strong></h3> <p>AVS enables device makers to integrate Alexa directly into their products to bring the convenience of voice interaction to any connected device. AVS provides a suite of resources, including APIs, hardware development kits, software development kits, and documentation. Device makers like Dish TV, Mybox, Sony, boAt and more will soon be able to leverage these resources to launch Alexa built-in products with the Hindi-language model for India. Commercial device makers that wish to add Hindi to their devices can request early access to our invite-only developer preview now through the <a href="" target="_blank">AVS Developer Portal</a>.</p> /blogs/alexa/post/efffb6a8-2921-486f-bca8-f58f015696df/learn-to-build-your-first-hindi-skill Learn To Build Your First Hindi Skill Sohan Maheshwar 2019-07-16T06:35:19+00:00 2019-07-16T07:19:05+00:00 <p>Developers can now use the Alexa Skills Kit to build skills for Hindi speaking customers in India using the new Hindi language model. This blogpost describes how to create the language model for a Hindi skill and how to create your skill's backend to deliver the right content.</p> <p>Today we announced that developers can now use the Alexa Skills Kit (ASK) to build skills for Hindi speaking customers in India using the new Hindi (hi-IN) language model. This is a detailed walkthrough for building your first skill in Hindi. To add the Hindi language model to your existing skill, read this <a href="" target="_blank">detailed guide</a>.</p> <p>In this tutorial, you will learn:</p> <ul> <li>&nbsp;&nbsp;&nbsp; How to create the language model for a Hindi skill</li> <li>&nbsp;&nbsp;&nbsp; How to create your skill’s backend so your skill delivers the right content to your customers<br /> &nbsp;</li> </ul> <h2>Create a skill in 5 minutes</h2> <ol> <li>Go to the <a href="" target="_blank">Amazon Developer Portal</a>. In the top-right corner of the screen, click the &quot;Sign In&quot; button<strong> </strong>(If you don't already have an account, you will be able to create a new one for free.)</li> <li>Once you have signed in, move your mouse over the ‘Your Alexa Consoles’ text at the top of the screen and Select the Skills Link.</li> <li>Click the ‘Create Skill’ button</li> <li>To type in Hindi, you can choose to use the built-in keyboard on your OS or a transliteration tool of your choice.</li> <li>We are going to create a simple Hello World skill in Hindi. Give your new skill a <strong>Name</strong>, such as नमस्ते दुनिया. Choose the Default Language as Hindi (IN).<br /> <br /> <img alt="Picture1.png" src="" /><br /> &nbsp;</li> <li>Keep the default <strong>Custom</strong> model selected, and scroll the page down. Choose <strong>Alexa-Hosted</strong> for the method to host your skill's backend resources. If you would prefer to manage the backend resources in your own AWS account or HTTPS endpoint, choose the <strong>Provision your own</strong> option. Check out <a href="" target="_blank">this guide</a> for a walkthrough on how to manage your backend with an AWS account.<br /> <br /> <img alt="Picture2.png" src="" style="height:453px; width:768px" /></li> <li>Scroll back up and select the <strong>Create Skill</strong> button at the top right. It will take a minute to create your Alexa-hosted skill, then you will be taken to the Build tab of the console.</li> </ol> <p>Every skill has a front end and a back end. The front end is where you map utterances (what the user says) into an intent (the desired action). You must decide how to handle the user's intent in the backend. Let’s build the front end of the skill.</p> <h2>Build the Interaction Model for your skill</h2> <ol> <li>On the left-hand navigation panel, select the <strong>Invocation</strong> tab under <strong>Interaction Model.</strong> In the text field provided, the invocation name by default will be नमस्ते दुनिया. Let’s leave it as is.<br /> <br /> <img alt="Picture3.png" src="" style="height:426px; width:870px" /></li> <li>By default, the skill has a HelloWorldIntent. Let’s remove all existing utterances and add Hindi utterances that indicate a sort of greeting. Here are few:<br /> <br /> <strong>नमस्ते दुनिया<br /> नमस्ते<br /> नमस्ते friend<br /> hello</strong><br /> <br /> You will note that these utterances contain a mix of Hindi and English. A rule of thumb to follow is to use Devanagari script for Hindi words and Latin script for foreign words.<br /> <br /> <img alt="Picture4.png" src="" style="height:438px; width:950px" /></li> <li>Once you’ve added a sufficient number of utterances, save and build your model. We will now build the back end for your skill.</li> </ol> <h2>Build the backend of the skill</h2> <p>The first thing a user will want to do with the skill is open it. The intent of opening the skill is built into the experience, so you don't need to define this intent in your front end. However, you need to respond to the <strong>HelloWorldIntent</strong> intent in your backend. In this step, you will update your backend code to greet the user when they open the skill.</p> <p>&nbsp;</p> <ol> <li>Open the नमस्ते दुनिया skill in the Alexa developer console. Click the Code tab. The code editor opens the index.js file.<br /> <br /> <img alt="Picture5.png" src="" style="height:278px; width:582px" /></li> <li> <p>You will use the ASK SDK for Node.js module. To define how your skill responds to a JSON request, you will define a handler for each intent</p> <p>There are two pieces to a handler:<br /> <strong>canHandle()</strong> function<br /> <strong>handle()</strong> function<br /> <br /> The <strong>canHandle()</strong> function is where you define what requests the handler responds to.<br /> The <strong>handle()</strong> function returns a response to the user.<br /> <br /> If your skill receives a request, the <strong>canHandle()</strong> function within each handler determines whether or not that handler can service the request. In this case, the user wants to launch the skill, which is a <strong>LaunchRequest</strong>. Therefore, the <strong>canHandle()</strong> function within the <strong>LaunchRequestHandler</strong> will let the SDK know it can fulfill the request.</p> </li> <li> <p>This <strong>speechText</strong> variable in the <strong>LaunchRequestHandler() </strong>method contains the string of words the skill should say back to the user when they launch the skill. Let’s<strong> modify the speechText variable to hear Alexa speak in Hindi.</strong><br /> &nbsp;</p> <pre> <code class="language-javascript">const speechText = “नमस्ते, आप hello या help कह सकते हो. आप क्या करना चाहेंगे?”</code></pre> <p><br /> <img alt="picture8.png" src="" /><br /> <br /> &nbsp;</p> </li> <li> <p>Look for <strong>handlerInput.responseBuilder</strong>. This piece of the SDK will help build the response to the user. On the next line, look for <strong>.speak(speechText)</strong>. Note the <strong>speechText</strong> variable, which you defined earlier. Calling the <strong>.speak()</strong> function tells <strong>responseBuilder</strong> to speak the value of <strong>speechText</strong> to the user.</p> </li> <li> <p>If you look at the code, you will notice the <strong>HelloWorldIntentHandler</strong>. This method handles any request from the HelloWorldIntent. Earlier we had defined few utterances for this intent in our interaction model. Let’s modify the speechText variable in the HelloWorldIntentHandler() to reply to the user when the user greets the skill.</p> </li> </ol> <pre> <code class="language-javascript">const speechText = “नमस्ते दोस्त”</code></pre> <p><img alt="Picture6.png" src="" /></p> <p>That’s it. Click <strong>Save</strong> and then <strong>Deploy.</strong> Your skill will take a few moments to deploy.</p> <h2>Test the Skill in the Simulator</h2> <ol> <li>&nbsp;Access the <strong>Alexa Simulator</strong>, by selecting the <strong>Test</strong> tab from the top navigation menu. Toggle the dropdown from <strong>Off</strong> to <strong>Development</strong> to enable Skill Testing<br /> <br /> <img alt="Picture7.png" src="" /><br /> &nbsp;</li> <li>To test your skill, Type the invocation name of your skill followed by a launch phrase. For example, नमस्ते दुनिया <em>खोलो</em>. You can also say <em>Open</em> नमस्ते दुनिया. If all goes well, you will hear the response defined in your <strong>LaunchRequestHandler</strong>.<br /> <br /> <img alt="picture9.png" src="" /><br /> &nbsp;</li> <li>Test the skill by saying नमस्ते or any of the other utterances we had defined earlier.<br /> <br /> <img alt="picture10.png" src="" /></li> </ol> <p>That’s it! You have just built your first Hindi skill.<br /> <br /> Since your users can reply in a mix of English and Hindi, there are few guidelines and best practices that you should follow while building a Hindi skill. Read <a href="" target="_blank">this document</a> to find out more.</p> <p>Sign up for our first webinar on building Hindi skills on July 24th at 4pm IST. <a href="" target="_blank">Register here.</a></p> /blogs/alexa/post/43be2da7-53ba-4687-a222-2518f0dbf8d0/how-to-update-your-alexa-skills-for-hindi How to Update Your Alexa Skills for Hindi Karthik Ragubathy 2019-07-16T06:34:53+00:00 2019-07-16T07:31:38+00:00 <p>Developers can now use the Alexa Skills Kit to build skills for Hindi speaking customers in India using the new Hindi language model. This blogpost describes how to update your existing skills model and Lambda functions to support the Hindi(IN) model.&nbsp;</p> <p>Today we <a href="" target="_blank">announced</a> that developers now can use the Alexa Skills Kit (ASK) to build skills for Hindi speaking customers in India using the new Hindi (IN) language model.</p> <p>If you are new to skill development, check out this <a href="" target="_blank">detailed walkthrough</a> to get started. If you’re an experienced Alexa developer, you can enhance your existing skill by extending it to support the new Hindi language model. This tutorial will show you how you can add support for the Hindi (IN) model for your existing skills. It will also show you how you can use ASK to enable Alexa to respond based on locales.</p> <p>In this tutorial, we will be localizing the <a href="" target="_blank">Space Facts Skill</a>. By the end of this tutorial, you will understand</p> <ol> <li>How to update an Alexa skill for Hindi customers using the new Hindi (IN) language model</li> <li>How to update your AWS Lambda function so your skill delivers the right content to your customers in each of the supported regions—all from a single code base.</li> </ol> <h2>Add the Hindi Language Model for your Skill</h2> <p>1. Navigate to your existing skill on the <a href="" target="_blank"><u>Amazon Developer Portal</u></a>.</p> <p>2. Click on the language drop down on the top left of the screen and select the last option: “<strong>Language Settings.</strong>”</p> <p><img alt="language_settings.png" src="" /></p> <p>3. Click on <strong>“Add new language”</strong></p> <p><img alt="add_new_language.png" src="" /></p> <p>4. Select “<strong>Hindi (IN)</strong>”</p> <p><img alt="add_hindi_model.png" src="" /></p> <p>5. Click on Save at the top of the screen. Once your settings are saved, click on the Build tab.You will now have Hindi language as an option in the language dropdown menu.</p> <p>6. Now provide the interaction model for the Hindi (IN) version. You can do this by copying the interaction model from one of the English versions of our skill, and translating&nbsp;the <strong>sample utterances</strong>, <strong>invocation name</strong>, <strong>slot values</strong> and <strong>synonyms</strong>.</p> <p>While translating&nbsp;the invocation name, sample utterances, slot values and synonyms, use <strong>Devanagari script</strong> for <strong>Hindi words</strong> and <strong>Latin script</strong> for <strong>English words</strong>.For example, consider our space facts skill. There are many ways a user can ask the skill to give a fact.</p> <p><strong>मुझे एक fact बताओ<br /> मुझे अंतरिक्ष के बारे में एक fact बताओ<br /> मुझे space के बारे में एक fact बताओ<br /> मुझे अंतरिक्ष के बारे में ज्ञान बताओ</strong></p> <p>For the invocation name, I will use <strong>'अंतरिक्ष facts'</strong></p> <p>Notice how we used a mix of Devanagari script for Hindi Words and Latin script for English words. The same holds true for your invocation name, slot values and prompts. For a list of Hindi conventions, follow our <a href="" target="_blank">Hindi conventions&nbsp;document</a>.&nbsp;</p> <p>7. We now have the language model built for <strong>Hindi.</strong> <strong>Click on the</strong> <strong>Save Model</strong> <strong>and the</strong> <strong>Build Model</strong> <strong>button.</strong></p> <p>If your interaction model uses any <a href="" target="_blank"><u>built-in slot t</u><u>y</u><u>pes</u></a>, you may need to make changes to ensure that the types are supported in the HI-IN locale. See the <a href="" target="_blank"><u>Slo</u><u>t</u> <u>Type Reference</u></a> for a list of slot types for each supported locale.</p> <p>Once you have finished translating your interaction model for Hindi (IN), you need to customize the responses your skill returns for the different locales that you support. You can do this by updating your Lambda Function.</p> <h2>Update the Lambda Function</h2> <p>Now that your skill is ready to support multiple regions, you may want to update your Lambda function to ensure that your skill provides responses translated or tailored to each supported region.</p> <p>At the least, you need to translate to Hindi the strings the skill is sending to Alexa to render with the voice of Alexa. One rule of thumb while writing out your responses in Hindi is to follow colloquial Hindi (Ex: The Hindi you hear in Radio, Bollywood movies) instead of Pure Hindi.</p> <p>You can use any localization library to help you to match strings to locale. In this article I’m using an example I made with the <a href="" target="_blank"><u>ASK SDK v2 for Node.js</u></a>, which you can replicate.</p> <h3><strong>Step </strong><strong>1</strong><strong>: Install a basic string localization library or class.</strong></h3> <p>To facilitate localizing your skills, you should use one of the internationalization libraries available for the language of your choosing or write your own. For this example, I am using the <a href="" target="_blank">i18next</a> library.&nbsp;</p> <p>If you are developing locally with the ASK Command-Line Interface (CLI), simply install them as you would install any other npm module using:</p> <pre> <code class="language-bash">npm i —save i18next i18next-sprintf-postprocessor</code></pre> <p>If you are developing using Alexa Hosted Skills, navigate to the Code tab and add the packages to your package.json file. Save and Deploy your Lambda function.&nbsp;</p> <pre> <code class="language-json">{ &quot;name&quot;: &quot;hello-world&quot;, &quot;version&quot;: &quot;0.9.0&quot;, &quot;description&quot;: &quot;alexa utility for quickly building skills&quot;, &quot;main&quot;: &quot;index.js&quot;, &quot;scripts&quot;: { &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot; }, &quot;author&quot;: &quot;Amazon Alexa&quot;, &quot;license&quot;: &quot;ISC&quot;, &quot;dependencies&quot;: { &quot;ask-sdk-core&quot;: &quot;^2.0.7&quot;, &quot;ask-sdk-model&quot;: &quot;^1.4.1&quot;, &quot;aws-sdk&quot;: &quot;^2.326.0&quot;, &quot;i18next&quot;: &quot;^11.8.0&quot;, &quot;i18next-sprintf-postprocessor&quot;: &quot;^0.2.2&quot; } }</code></pre> <h3><strong>Step 2:&nbsp;Add a Request Interceptor</strong></h3> <p>Once the&nbsp;<a href="" target="_blank"><u>i18next</u></a>&nbsp;library has been installed, I will add a Request Interceptor. The interceptor is executed each time a request is received immediately before the control is handed to the relevant intent handler, which in this case can be GetNewFactIntentHandler, HelpIntentHandler, etc. The LocalizationInterceptor intercepts the request, gets the locale of the user and then returns the string from the&nbsp;language's specific array (which we will see in the later steps).</p> <pre> <code>const i18n = require('i18next'); const sprintf = require('i18next-sprintf-postprocessor'); const LocalizationInterceptor = { process(handlerInput) { // Gets the locale from the request and initializes i18next. const localizationClient = i18n.use(sprintf).init({ lng: handlerInput.requestEnvelope.request.locale, resources: languageStrings, }); // Creates a localize function to support arguments. localizationClient.localize = function localize() { // gets arguments through and passes them to // i18next using sprintf to replace string placeholders // with arguments. const args = arguments; const values = []; for (let i = 1; i &lt; args.length; i += 1) { values.push(args[i]); } const value = i18n.t(args[0], { returnObjects: true, postProcess: 'sprintf', sprintf: values, }); // If an array is used then a random value is selected if (Array.isArray(value)) { return value[Math.floor(Math.random() * value.length)]; } return value; }; // this gets the request attributes and save the localize function inside // it to be used in a handler by calling requestAttributes.t(STRING_ID, [args...]) const attributes = handlerInput.attributesManager.getRequestAttributes(); attributes.t = function translate(...args) { return localizationClient.localize(...args); }; }, };</code></pre> <h3><strong>Step 3: Register your Request Interceptor</strong></h3> <p>Once we have defined the LocalizationInterceptor, I will register it with the <strong>addRequestInterceptors</strong> method as shown below</p> <pre> <code class="language-javascript">const skillBuilder = Alexa.SkillBuilders.custom(); exports.handler = skillBuilder .addRequestHandlers( GetNewFactIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler ) .addRequestInterceptors(LocalizationInterceptor) .addErrorHandlers(ErrorHandler) .lambda();</code></pre> <h3><strong>Step 4 : Create arrays for Supported Languages</strong></h3> <p>Once the localization interceptor is in place, create arrays for different languages. Assuming you already support the English model, place all of your strings inside an object. This will allow you to localize easily to other languages.</p> <pre> <code>const enData = { translation: { SKILL_NAME: 'Space Facts', GET_FACT_MESSAGE: 'Here\'s your cool fact: ', HELP_MESSAGE: 'You can say tell me a fact, or, you can say exit... What can I help you with?', HELP_REPROMPT: 'What can I help you with?', ERROR_MESSAGE: 'Sorry, I can\'t understand the command. Please say again.', STOP_MESSAGE: 'Goodbye!', FACTS: [ 'A year on Mercury is just 88 days long.', 'Despite being farther from the Sun, Venus experiences higher temperatures than Mercury.', 'On Mars, the Sun appears about half the size as it does on Earth.', 'Jupiter has the shortest day of all the planets.', 'The Sun is an almost perfect sphere.' ], }, }; </code></pre> <p>I’m taking the English string as a base for my translations. The “enData” object contains all the strings used by my skill in the English language. Our interceptor coupled with i18next supports both single strings and arrays, which can be seen on “FACTS”.</p> <h3><strong>Step 5: Localize the strings for Hindi</strong></h3> <p>Using the English strings as base, I created a new array and translated all strings to Hindi and appropriately named the new object as hiData.</p> <pre> <code class="language-javascript">const hiData = { translation: { SKILL_NAME: 'अंतरिक्ष facts', GET_FACT_MESSAGE: 'ये लीजिए आपका fact: ', HELP_MESSAGE: 'आप मुझे नया fact सुनाओ बोल सकते हैं या फिर exit भी बोल सकते हैं... आप क्या करना चाहेंगे?', HELP_REPROMPT: 'मैं आपकी किस प्रकार से सहायता कर सकती हूँ?', ERROR_MESSAGE: 'सॉरी, मैं वो समज नहीं पायी. क्या आप repeat कर सकते हैं?', STOP_MESSAGE: 'अच्छा bye, फिर मिलते हैं', FACTS: [ 'बुध गृह में एक साल में केवल अठासी दिन होते हैं', 'सूरज से दूर होने के बावजूद, Venus का तापमान Mercury से ज़्यादा होता हैं', 'Earth के तुलना से Mars में सूरज का size तक़रीबन आधा हैं', 'सारे ग्रहों में Jupiter का दिन सबसे कम हैं', 'सूरज का shape एकदम गेंद आकार में हैं' ], }, };</code></pre> <h3><strong>Step 6: Add the translated strings object to the list of supported locales.</strong></h3> <p>When initializing the i18next service during step 2&nbsp;you might have noticed a reference to “languageStrings”. This is the list of supported locales and where to find them. Every language is reference by their locale code, i18next will always search for strings in the most specific match first. If for example you have all your strings available for “en” and only a specific welcome message written for “en-AU”, then requests coming from “en-AU” would receive this single welcome message while every other string would just get served from the “en”-pool.</p> <p>Here we added “hi-IN” to the end of our list and referenced the object we just translated.</p> <pre> <code class="language-javascript">const languageStrings = { 'hi-IN': hiData, 'en-US': enData };</code></pre> <h3><strong>Step 7: Using the strings in your code</strong></h3> <p>Using our interceptor in combination with the i18next library both showed in step 1 we can easily reference strings by their IDs and automatically answer the skill request with the right locale. The selected Strings will be rendered in the language that matches the locale of the incoming request.</p> <p>This handler for the &quot;GetNewFactIntentHandler&quot; just uses the &quot;t&quot; function saved in our request attributes referencing the resource ID. Save and Deploy your Lambda function when you are done</p> <pre> <code class="language-javascript">// core functionality for facts skill const GetNewFactIntentHandler = { canHandle(handlerInput) { const request = handlerInput.requestEnvelope.request; return request.type === 'LaunchRequest' || (request.type === 'IntentRequest' &amp;&amp; === 'GetNewFactIntent'); }, handle(handlerInput) { const requestAttributes = handlerInput.attributesManager.getRequestAttributes(); // gets a random fact by assigning an array to the variable // the random item from the array will be selected by the i18next library // the i18next library is set up in the Request Interceptor const randomFact = requestAttributes.t('FACTS'); // concatenates a standard message with the random fact const speakOutput = requestAttributes.t('GET_FACT_MESSAGE') + randomFact; return handlerInput.responseBuilder .speak(speakOutput) // Uncomment the next line if you want to keep the session open so you can // ask for another fact without first re-opening the skill // .reprompt(requestAttributes.t('HELP_REPROMPT')) .withSimpleCard(requestAttributes.t('SKILL_NAME'), randomFact) .getResponse(); }, };</code></pre> <p>That’s all that it takes to update your skill for Hindi customers. This space facts skill localized to Hindi (IN) is available for everyone to try out in <a href="" target="_blank">NodeJS</a> and <a href="" target="_blank">Python</a>.&nbsp;You can test out your skill using the in-built simulator tool in the Developer Console.&nbsp;</p> <p><img alt="testing_simulator.png" src="" /></p> <h3><br /> <strong>Attend Our Webinar to Update your Skills in Hindi</strong></h3> <p>Sign up for our webinar&nbsp;on Hindi skill building scheduled on July 31 at 4 pm IST, where we will learn how to update your existing&nbsp;Alexa skills to support Hindi locale and ask any questions you may have. Register <a href="" target="_blank">here</a>.</p> <p>We are excited to have Alexa available in Hindi soon, and we can't wait to see what you will build.</p> /blogs/alexa/post/c3d0905b-ee7c-4451-a935-4171a496e3dd/meet-the-alexa-prize-team-members-in-this-year-s-socialbot-grand-challenge Meet the Alexa Prize Team Members Participating in the Socialbot Grand Challenge 3 Lauren Stubel 2019-07-15T17:39:32+00:00 2019-07-15T17:39:32+00:00 <p>On June 5<sup>th</sup> <a href="">we announced the teams</a> selected to compete for the Alexa Prize Socialbot Grand Challenge 3, a university competition to advance the state of the art of conversational AI. Competing teams will work to build on the progress made in previous years to engage and delight users on a range of popular topics from news and current events to sports and entertainment.</p> <p>Today we’ve published detailed profiles shared by the teams and their members. To learn more about them, head to <a href=""></a> to meet the individuals who are helping us have fun and make history with the next generation of AI capabilities.</p> <p>This group of socialbots won’t be available until later this year, but you can stay up to date on all things Alexa Prize by following the #AlexaPrize hashtag. In the meantime, you can continue chatting with the winning socialbots from last year’s challenge by simply saying, “Alexa, let’s chat.”</p> /blogs/alexa/post/977e9729-5316-4fc4-845e-ab263aa70e7c/certification-tips-for-monetized-alexa-skills Certification Tips for Monetized Alexa Skills Ben Porter 2019-07-15T14:00:00+00:00 2019-07-15T14:00:00+00:00 <p><img alt="" src="" style="height:480px; width:1908px" /></p> <p>In-skill purchasing (ISP) lets you sell premium content such as game features and interactive stories with a custom interaction model.&nbsp;Buying in-skill products should be seamless to a customer. Following the tips in this blog will help you achieve that experience.</p> <p><img alt="" src="" style="height:480px; width:1908px" /></p> <p>Every skill published to the Alexa Skills Store goes through a <a href="">certification process</a>, making sure that Alexa customers are presented with a delightful and engaging experience. Just as we are invested in providing a great customer experience, we are deeply invested in the developer experience for creating these engaging skills.<br /> <br /> <a href="">In-skill purchasing</a> (ISP) lets you sell premium content such as game features and interactive stories with a custom interaction model. Buying in-skill products should be seamless to a customer. Following the tips in this blog will help you achieve that experience. Customers may ask to shop in-skill products or agree to purchase suggestions you make while they interact with your skill. In-skill purchasing uses the payment options already associated with their Amazon account.<br /> <br /> This blog will explore a few common skill certification pitfalls that are relatively easy to avoid. Addressing these upfront should lead to an improved certification experience for you.</p> <h2><strong>1. Only<em> </em>Reference Premium Content in the Language Models that Support In-Skill Purchasing</strong></h2> <p>At this time, <a href="">In-Skill purchasing</a> is available only for Alexa skills in <a href="">select languages</a>. If your skill supports languages other than the ones where ISP is supported, ensure you do not reference premium content in the unsupported languages. Your welcome prompts, skill interaction, and help prompts should not indicate any references to premium content. Refer to <a href="">Choose Pricing, Languages, and Distribution for In-Skill Products</a> and <a href="">Use In-Skill Product Service APIs</a> pages for tips on adding in-skill products to supported languages.</p> <h2><strong>2. Allow Your Customers to Cancel or Refund Their Purchases</strong></h2> <p>All monetized skills should allow the customers to cancel or refund their purchases. To support cancellation or refund requests, you should build a custom intent to support a refund/cancellation request and add code to handle the custom intent, which starts a cancellation flow by sending a directive. Refer to the <a href="">Handle a refund or cancel request</a> section of ISP documentation for an easy reference on how to implement this feature.</p> <h2><strong>3. Offer Purchase Suggestions (Upsells) Effectively for Every In-Skill Product</strong></h2> <p>Proactively offer products related to how the customer is currently interacting with your skill. You would need to check whether a customer owns a product from the saved list and pass the product you want to upsell as well as a message relevant to that product to Amazon's purchase flow. To offer purchase suggestions, add code that starts the purchase flow with a directive. Refer to <a href="">Offer Purchase Suggestions</a> and <a href="">Help Customers find your in-skill products</a> sections of the ISP documentation for resources on how to implement purchase offers. Never include price or offer details in the upsell message, as they will already be provided in the purchase flow by Alexa. We also recommend to <a href="">offer a reminder</a> in your skill interaction, as a great way to encourage customers to explore the premium content.</p> <h2><strong>4. Add Direct Support for Purchase Requests</strong></h2> <p>Enable customers to directly purchase an in-skill product that they are interested in, without having to go through an upsell or purchase suggestion during the skill interaction. To do so, build a custom intent to support a purchase request by adding code to handle the custom intent, and start a purchase flow by sending a directive. Refer to <a href="">Add support for purchase requests</a> section of the ISP documentation for steps to implement a direct purchase request.</p> <h2><strong>5. Allow Customers to Interact with the Available Content After the Purchase Flow</strong></h2> <p>Whether or not your customer buys an entitlement or consumable, or signs up for a subscription, you'll need to create a graceful hand off from the Amazon purchase flow back to your skill. If a customer purchases or subscribes to the product, ensure that you provide them with the premium content as soon as the purchase is complete. And remember to plan an alternative if the customer decides not to purchase. Refer to <a href="">Handling the post-purchase flow </a>documentation for techniques to handle this.</p> <h2><strong>Ask for Help</strong></h2> <p>If you run into any issues, we're here to help. In our skill certification feedback email, you will find a summary of any issues we've identified, step-by-step instructions on how to reproduce each issue (when needed), and guidance to address them to move your skill forward in the certification process. If you believe we've misunderstood the implementation of your skill, please let us know through the <a href="">testing instructions field </a>in the developer console.<br /> <br /> If you have any questions throughout the skill-building process, you can post questions and discuss with other Alexa skill developers on our <a href="">developer forum,</a> or connect with us through our <a href=";sc_channel=website&amp;sc_publisher=devportal&amp;sc_campaign=Conversion_Contact-Us&amp;sc_assettype=conversion&amp;sc_team=us&amp;sc_traffictype=organic&amp;sc_country=united-states&amp;sc_segment=all&amp;sc_itrackingcode=100020_us_website&amp;sc_detail=blog-alexa">contact form</a>.</p> <h2><strong>Related Content:</strong></h2> <ul> <li><a href="">Build a Monetized Fact Skill with the Premium Facts Sample Skill</a></li> <li><a href="">Best Practices for Building an Effective Monetized Skill That Is Eligible for Amazon Promotion</a></li> <li><a href="">Requirements for Skills that Make Any Products, Content, or Services Available for Purchase</a></li> <li><a href="">Certify In-Skill Purchasing Skills</a></li> <li><a href="">Custom Skill Certification Requirements</a></li> </ul> /blogs/alexa/post/cda32faf-0a15-42bc-8f95-fb175d87900a/skill-availability Understanding Your Skill Availability: Language Model and Skills Store Nahoko Hirabayashi 2019-07-12T14:00:00+00:00 2019-07-12T14:00:00+00:00 <p><img alt="" src="" style="height:240px; width:954px" /></p> <p>Since Alexa is available in multiple languages and countries, sometimes there can be some confusion about where skills are available.This blog will help you identify where your skill is published in the Alexa Skills Store and help ensure your customers are able to find your skill.</p> <p><a href=""><img alt="" src="" style="height:240px; width:954px" /></a></p> <p>Since Alexa is available in <a href="">multiple languages and countries</a>, sometimes there can be some confusion about where skills are available. It is important to review how your language models are set up to ensure your skill is discoverable for your customers. This blog will help you identify where your skill is published in the Alexa Skills Store and help ensure your customers are able to find your skill.</p> <h2><strong><strong>Check the Available Languages of the Skill</strong></strong></h2> <p>In order for a skill to show up in the “Skills” section of the Alexa app, the skill must have a language version that matches the language of the Alexa app's skills store. For example, if you would like to publish a skill in the US Alexa Skills Store, your skill must have an English (US) language version. Please note that for the purposes of the Alexa Skills Store, Alexa would consider &quot;English (US)&quot; to be separate from English (CA),&quot; &quot;English (UK),&quot; and so forth. If you would like to publish a skill in the Canadian or UK Alexa Skills Stores, your skill must have English (CA) and/or English (UK) language versions, respectively.</p> <h2><strong><strong>Check the Country Availability of the Skill</strong></strong></h2> <p>Some skill languages are associated with multiple countries. For example, Alexa's German language version is accessible in Germany and Austria through Similarly, Alexa's &quot;English (US)&quot; language version is associated with many countries that do not have explicitly defined Alexa languages. You can find a list of countries and Alexa skill language support for those countries on the <a href="">Supported Alexa Features by Country for &quot;International Version&quot; Echo Devices</a> page.<br /> <br /> However, developers have the ability to restrict which countries a skill can be found in by clicking &quot;<em>Selected countries and regions</em>&quot; under &quot;<em>Where would you like this skill to be available</em>?&quot; in the &quot;<em>Availability</em>&quot; tab of the Alexa Developer Console.<br /> &nbsp;</p> <p><img alt="" src="" /></p> <p>&nbsp;</p> <p>For example, if you have an English (US) language skill and you choose &quot;<em>Selected countries and regions</em>,&quot; you could check the box for only &quot;<em>United States</em>.&quot; You might want to do this if the subject matter of your skill is specific to only one or a select set of countries. For more information, see our <a href="">Define Skill Availability</a> page.<br /> <br /> Unless your skill's content is specific to a certain country, we recommend keeping the default &quot;<em>In all countries and regions where Amazon distributes skills</em>&quot; option. This makes it easier to expand your skill's distribution later, and helps avoid many discoverability issues entirely.<br /> <br /> For additional support on this topic, or support in general, feel free to post on the <a href="">Alexa Developer Forums</a>, or <a href="">get in touch </a>with us.</p> <h1><strong>Related Content</strong></h1> <p><a href="">Define Skill Store Details and Availability</a><br /> <a href="">Develop Skills in Multiple Languages</a><br /> <a href="">International Skill Distribution</a><br /> <a href="">Country/Region-Specific Restrictions</a><br /> <a href="">Manage and Control Your Skills through the Alexa Developer Console or SMAPI</a></p> /blogs/alexa/post/6c732243-8ea6-4a1f-828e-29717188af22/guiding-users-with-successful-alexa-prompts-for-custom-slots Guiding Users with Successful Alexa Prompts for Custom Slots Anna Van Brookhoven 2019-07-11T14:00:00+00:00 2019-07-11T16:28:17+00:00 <p><img alt="" src="" style="height:480px; width:1908px" /></p> <p>When you're building an Alexa skill, careful dialog writing can subtly guide a customer toward their goal and away from errors. When your skill employs custom slots, you'll want to carefully consider how you word your prompts. It only takes a few tweaks to add a lot of clarity for your customers.</p> <p><img alt="blog_alexa-conversations_954x240.png" src="" /></p> <p>When you’re building an Alexa skill, careful dialog writing can subtly guide a customer toward their goal and away from error states. In my <a href="">last post</a>, I showed how to provide implicit guidance by aligning Alexa prompts with built-in slots in your code. But in addition to built-in slots, your skill might use one or more <a href="">custom slots</a> to define a set of values relevant to your customer’s task and specific to your skill.</p> <p>Even when your skill employs custom slots, you’ll want to carefully consider how you word your prompts; in fact, it’s more important than ever. If your slot is custom, that means customers won’t have any visibility into what a valid slot value might be; they won’t know what to say unless you give them a hint. The good news is, it only takes a few tweaks to add a lot of clarity for your customers.</p> <h2>&nbsp;</h2> <h2>Writing a Precise Welcome Prompt</h2> <p>The welcome prompt is arguably the most important prompt in your skill. To create a positive experience from the start, provide implicit guidance in your welcome prompt. Let’s look at an example where a prompt that’s too broad causes problems.</p> <p>Suppose you’re building a skill where customers can order groceries, so you build a custom slot containing common foods that the supplier carries. If you use a generic prompt at the start of your skill, here’s how the interaction could go:</p> <p>Customer: “Alexa, open Grocery Store.”</p> <p>Alexa: “Welcome to the Grocery Store. <em><u>What can I help with?</u></em>”</p> <p>Customer: “Um, I want to order groceries?”</p> <p>Alexa: “Great. What would you like to order?”</p> <p>Now, this interaction went okay—no major hiccups. But it wasn’t optimal. The prompt didn’t indicate that the customer could begin ordering, so it didn’t succeed at eliciting <em>any</em> valid slot values in the first turn. Even though the customer did in fact want to order food, the prompt was so general that it gave them pause. Their first response was to state the task they wanted, instead of getting right to their order.</p> <p>With a more specific prompt, the experience could go differently:</p> <p>Customer: “Alexa, open Grocery Store.”</p> <p>Alexa: “Welcome to the Grocery Store. <em><u>What would you like to order</u>?</em>”</p> <p>Customer: “I need three dozen frozen tacos, a twelve-pack of seltzer, and a bunch of bananas.”</p> <p>With this more precise prompt, Alexa is able to launch the customer right into their order so that they provide the type of slot values the skill needs. This eliminates that extra conversational turn; it’s more efficient, which customers love.</p> <h2>&nbsp;</h2> <h2>Using a Menu Prompt</h2> <p>For slots with a small number of choices, there’s a useful technique to tell customers what options are available: use a menu-format question.</p> <p>Imagine you’re making a skill for customers to purchase cupcakes. As a skill builder, you know they come in three flavors: chocolate, vanilla, and strawberry, so you create a custom CupcakeType slot containing these values. However, your customer can’t intuit which flavors are available, which leads to problems.</p> <p>Customer: “Alexa, tell Cupcake Shop I want to buy some chocolates.”</p> <p>Alexa: “You got it! <u>What kind</u> do you want?”</p> <p>Customer A: “Chocolate, please.”</p> <p>Customer B: “What about pineapple!”</p> <p>Customer C: “The kind with the cherry inside.''</p> <p>Customer D: “Um, what kinds do you have?”</p> <p>Only Customer A is going to successfully move forward in the interaction. Customers B and C unknowingly chose options that weren’t available, and Customer D was hoping for guidance.</p> <p>A clearer prompt would be “<em><u>What kind: chocolate, vanilla, or strawberry</u>?</em>” This way, customers know exactly which flavors they can pick, and they won’t waste time responding with invalid options.</p> <p>(A quick note: Even if your customers only have two options, try to avoid the prompt structure “Do you want chocolate or vanilla?” Because it starts with the phrase “Do you,” customers often interpret it as a yes-or-no question. It’s better for your question structure to start with an open-ended phrase, like “what kind.”)</p> <p>Other examples of useful menu prompts:</p> <ul> <li>“Which method of travel: Plane, train, or bus?”</li> <li>“What size: Small, medium, or large?”</li> <li>“How many cookies would you like: Six or a dozen?” (This is particularly useful if customers can only order an item in specific quantities.)</li> </ul> <p>As you can imagine, this structure works best with small numbers of slot values. Typically, Alexa should only read three or four items in a list. Any more than that, and a customer gets lost in the sea of choices they’re hearing. If your custom slot has dozens (or hundreds) of values, of course it’s not practical to list them all. In those cases, try one of these approaches:</p> <ul> <li>Using a menu prompt, offer three contextually relevant options, based on your customer’s preferences or previous ordering history, or your skill’s most popular options.</li> <li>Provide two representative examples, using a “Like X or Y” structure. “Hi there. Grocery Store can help you order groceries, <em><u>like a dozen eggs, or a quart of yogurt</u></em><strong>.</strong> What would you like to order?”</li> </ul> <p>You can read additional guidelines for writing lists in the <a href="">Alexa Design Guide</a>.</p> <h2>&nbsp;</h2> <h2>Aligning Prompt Word Choice with Slot Values</h2> <p>As a final point, it’s worth pointing out that the menu items in your prompt should also be represented well in your interaction model. In other words, if you prompt customers to say a specific word, it’d better work! Your custom slot should contain the exact words in your prompt, as well as synonyms.</p> <p>Some examples:</p> <ul> <li>If your prompt is “Which method of travel: plane, train, or bus?”, you’d want to include these exact words as slot values, plus synonyms like “airplane” or “rail.”</li> <li>For the prompt “What size: small, medium, or large?”, your slot values should include each of these words exactly, as well as synonyms like “little,” “middle size,” or even phrases like “the biggest one.”</li> <li>When your prompt indicates a numerical answer, as in “How many cookies would you like: six or a dozen?”, you should ensure that your skill can effectively map a word like “dozen” to the number twelve.</li> </ul> <p>Your prompts provide essential guidance, and you can craft them to quietly help your customers reach their goals. When you tune prompts to accommodate custom slots, you maximize the chances of eliciting a valid slot value—which means your skill shepherds your customers toward success!</p> <h2>&nbsp;</h2> <h2>Related Content</h2> <ul> <li><a href="">Alexa Design Guide</a></li> <li><a href="">Create and Edit Custom Slot Types</a></li> <li><a href="">Best Practices for the Welcome Experience and Prompting in Alexa Skills</a></li> <li><a href="">Things Every Alexa Skill Should Do: Simplify Choices</a></li> <li><a href="">Writing Great Prompts for Built-in Slots in Alexa Skills</a></li> </ul> /blogs/alexa/post/d01924c2-3d93-4b98-8c87-6d9c2484135f/building-alexa-skills-while-seeing-the-world Hugo’s Move from Digital Nomad to Full Time Alexa Skills Developer Emma Martensson 2019-07-11T07:00:00+00:00 2019-07-11T07:00:00+00:00 <p><img alt="" src="" style="height:480px; width:1908px" /></p> <p>Hugo Catchpole didn’t plan to go into voice, but when he got an Amazon Echo Dot for a birthday present in 2017 he couldn’t help but start to tinker with a skill.</p> <p><img alt="blog_casestudy-hugo_954x240_1.png" src="" /></p> <p>Hugo Catchpole didn’t plan to go into voice, but when he got an Amazon Echo Dot for a birthday present in 2017 he couldn’t help but start to tinker with a skill. “I immediately saw the potential,” Hugo says. At the time, he planned to be a digital nomad for six months, splitting his time between working remotely and exploring new countries. Soon he started receiving <a href="">developer rewards</a> for his skill and took the decision to change from the remote work he had planned, to building Alexa skills while on the road. After Hugo’s six months abroad, he had built up a skill portfolio and decided to continue developing Alexa skills full time at home in the UK.</p> <p>Hugo’s <a href="">portfolio</a> is varied and consists of some of Alexa’s most popular UK skills, such as Animal Sounds, Christmas Countdown, Pet My Dog, Word Tennis, and more.</p> <h2>2019 Winner: Best Multimodal Experience UK Alexa Skills Store</h2> <p>In addition to building out his portfolio with more skills, Hugo is an early adopter of new features and continues to invest time in improving the quality of his skills. <a href="">Alexa Presentation Language (APL)</a> particularly caught his attention. “I was super happy about APL as I had a Fire TV Stick and Echo Show but had been limited to display templates,” Hugo says. As soon as APL was launched, he tried it out and signed up to the <a href="">Amazon Alexa Skills Challenge: Multimodal</a>. “When the competition was announced I got very excited.” He continues, “I created a story skill called ‘<a href=";qid=1554398277&amp;s=digital-skills&amp;sr=1-2&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=skillschallenge&amp;sc_content_category=MM&amp;sc_funnel=&amp;sc_country=WW&amp;sc_segment=">Story World</a>’ that lets you give the characters in the story a name.” Besides making the story interactive, he also made sure his visuals were as engaging as possible by working with artists. Hugo proceeded to win <a href=";sc_category=Owned&amp;sc_channel=EM&amp;sc_campaign=Apr18Newsletter&amp;sc_publisher=EM&amp;sc_content=Content&amp;sc_funnel=Start&amp;sc_country=WW&amp;sc_medium=Owned_EM_Apr18Newsletter_EM_Content_Start_WW_RegisteredDevelopers&amp;sc_segment=RegisteredDevelopers&amp;mkt_tok=eyJpIjoiT1dVd1pHTTJOVEV3WmpBNSIsInQiOiJreWpzanZiTFBnbGJYeUZsZktwTU9vRWZkSlBVb2ZWbTJXT1llSmFJVE1icmtGZ1ljUExJUTJ2VEpJYTU3OE5QcXI0UkFaU0FNODIzWmgwYStsSUlFZ1lJVm90YVNjUGRnNXVNdm9RblFzM29oNXI3RlBvTFNvUjN5eW5SdXNYYSJ9">first prize</a> in the Amazon Alexa Skills Challenge for the best multimodal experience in the UK Alexa Skills Store.</p> <h2>KISS Principle, DADA Loop</h2> <p>When designing a skill, Hugo follows the KISS principle: Keep It Simple Stupid. The principle reminds him to not add unnecessary complexity to his skills. Looking at his skills’ user engagement, it seems to be working.&nbsp;</p> <p>After his skills have been published he uses the DADA loop: Data, Analysis, Decision, and Action. He looks at the stats (in <a href="">Dashbot</a> and the <a href="">Amazon Developer Portal</a>) and then he analyses what the information means. This involves finding what the demand gap is and what people are actually asking for. From there, he makes a decision if he should improve the skill based on his analysis. An example of this is when he found a big demand for dinosaur sounds within his Animal Sounds skill, and proceeded to develop his dinosaur sounds extension pack. “Now I monitor the stats from that pack and continue the loop,” he says.&nbsp;</p> <h2>Moving into In-Skill Purchasing</h2> <p>Hugo is excited about <a href="">in-skill purchasing (ISP)</a> saying, “It’s a big compliment to the work put into the skills if someone is willing to part with money and pay for your premium offering.” Previously, Hugo determined success based on retention, but going forward he will also consider revenue as one of his key metrics. “With ISP you will really be able to tell if you have built something that people love,” he says. His advice for other developers is to not be too pushy with the upsell. If customers use the product, then developers can ask if they want to extend the experience, but if they say no, developers should respect it and stop asking them. This will help make a better user experience. He also thinks developers should use small reminders highlighting that the users can ask for the extended experience at any time and let them upgrade when they’re ready.</p> <p>Next for Hugo is a new skill that is in the works, but he can’t spill the beans on it yet. He will also continue updating his existing skills with new features and improvements, following the DADA loop.</p> <h2>Related Content</h2> <ul> <li><a href="">Make Money with In-Skill Purchasing</a></li> <li><a href="">Sony Pictures Television Grows Its Brand and Reaches New Customers with Monetized Alexa Skills Jeopardy! and Who Wants to Be a Millionaire</a></li> <li><a href="">Sell Premium Content to Enrich Your Skill Experience</a></li> <li><a href="">With In-Skill Purchasing, Gal Shenar Sets His Growing Voice Business Up for Long-Term Success</a></li> <li><a href="">Alexa Game Skill “Would You Rather for Family” Adds In-Skill Purchasing and Sees Revenue Growth</a></li> </ul> <h2>Make Money by Creating Engaging Voice Games Customers Love</h2> <p>With ISP, you can sell premium content to enrich your Alexa skill experience. ISP supports one-time purchases for entitlements that unlock access to features or content in your skill, subscriptions that offer access to premium features or content for a period of time, and consumables which can be purchased and depleted. You define your premium offering and price, and we handle the voice-first purchasing flow. <a href=";sc_category=Owned&amp;sc_channel=WB&amp;sc_campaign=wb_acquisition&amp;sc_publisher=ASK&amp;sc_content=Content&amp;sc_detail=vod-webinar&amp;sc_funnel=Convert&amp;sc_country=WW&amp;sc_medium=Owned_WB_wb_acquisition_ASK_Content_vod-webinar_Convert_WW_visitors_makemoney-page_CTA-graphic&amp;sc_segment=visitors&amp;sc_place=makemoney-page&amp;sc_trackingcode=CTA-graphic" target="_blank">Download our introductory guide</a> to learn more.</p> /blogs/alexa/post/ccac19aa-bcde-470e-92ed-9d52bc9945e6/with-alexa-and-an-innovation-first-approach-irobot-is-building-the-future-of-the-voice-enabled-smart-home With Alexa and an Innovation-First Approach, iRobot Is Building the Future of the Voice-Enabled Smart Home Jennifer King 2019-07-10T14:00:00+00:00 2019-07-10T14:00:00+00:00 <p><img alt="" src="" style="height:480px; width:1908px" /></p> <p>With a steady addition of voice capabilities to their smart home robots, iRobot has seen an increase in how much customers interact with their devices. Learn how iRobot is shaping the future of robotics in the smart home.</p> <p><img alt="" src="" /></p> <p>Since 1990, <a href="" target="_blank">iRobot’s</a> goal has been to create robots that make everyday tasks easier. <a href="" target="_blank">iRobot devices</a> have been vacuuming and mopping customers’ homes ever since, but the 2017 addition of the <a href="" target="_blank">iRobot skill for Alexa</a> to enable voice control took the customer experience to new heights. With a steady addition of voice capabilities to their <a href="">smart home</a> robots, iRobot has seen an increase in how much customers interact with their devices.</p> <p>Innovation is a top priority for us,” says Chris Jones, iRobot’s chief technology officer. “Customers love the increased functionality, especially with voice. Voice is a preferred way of interacting with the robots, and the more voice-enabled capabilities we add, the more voice is used.”</p> <p>With the new voice-driven capabilities of its latest robots, iRobot continues to expand how it leverages voice to give customers even more control and personalization of their devices. This lets the company deliver features the customer wants, such as cleaning specific rooms by name, while also looking for new ways to innovate and integrate their products into the smart home environment.</p> <p>“Voice control and Alexa are vital to the latest trends in smart home technology,” says Jones. “With voice, customers can interact with our products and their entire smart home in the most natural and intuitive way.”</p> <h2>Controlling Robots with Simple Voice Commands</h2> <p>iRobot’s first Alexa skill allowed customers to initiate basic functions with their Roomba. They could use their voice to tell the robot to start vacuuming, stop vacuuming, and dock at its charging station. While functionality is core to the iRobot experience, the latest robot models—and the updated iRobot skill with “clean by room” functionality—let customers do so much more.</p> <p>For example, multiple iRobot devices can coordinate with each other to perform a series of tasks with a single voice command. A simple command like, “Alexa, tell Roomba to vacuum and Braava to mop the kitchen,” can send a <a href="" target="_blank">Roomba</a> vacuum to the customer’s kitchen, then send a <a href="" target="_blank">Braava</a> robot to mop the floor after the vacuuming is complete.</p> <p>“There’s a lot of innovation and technology that goes into executing the coordinated actions represented by this simple command,” says Jones. “The result is a rich, magical voice experience for the customer.”</p> <p>Each additional voice command and function iRobot adds makes the robots more intuitive and accessible to the customer. According to Jones, customers have responded by using their robots more often.</p> <p>“We want our products to become a part of the customer’s everyday life,” says Jones. “Using them should be an engaging, intuitive experience. Thanks to voice technology and our work with Alexa, it is.”</p> <p>In addition to providing customers the voice integration they want via the iRobot Alexa skill, the <a href="" target="_blank">Roomba</a> and <a href="" target="_blank">Braava</a> robots are <a href="">Works with Alexa (WWA)</a> certified devices. WWA certification helps increase customer confidence that the products they buy will operate smoothly with Alexa. These iRobot devices carry the Works with Alexa badge and appear in the <a href=";node=6563140011" target="_blank">Amazon Smart Home store</a>, and Jones says it increases customer awareness and confidence when they purchase iRobot products.</p> <p>“We believe the Works with Alexa badge is valuable recognition that positively affects device sales and is additive to our positive brand image and category leadership,” says Jones.</p> <h2>Voice Technology Keeps Making the Smart Home Smarter</h2> <p>Jones foresees a voice-controlled smart home environment that’s becoming more and more natural to interact with, thanks to both iRobot’s and Amazon’s innovations in robotics and voice technology. For instance, iRobot’s ability to map the home and define named spaces has already paved the way for simple, intuitive commands. Now, an iRobot customer can give Alexa one command, such as, “Alexa, tell Roomba to vacuum and Braava to mop the kitchen,” and the skill can initiate a series of actions by multiple robots.</p> <p>In the future, Jones believes this understanding of the home will extend to even more detailed operations, such as being able to say, “clean under the table in the dining room after we have dinner”—and the robots will have the context and memory to do that.</p> <p>“There’s nothing easier than just asking, ‘Alexa, clean the kitchen,’” says Jones. “We’ll keep making it possible for customers to interact more naturally with their devices in their homes.”</p> <p>Jones believes this will lead to future integration and coordination of actions with other smart home devices, not just iRobot models. Alexa voice technology, along with robot-mapping information, will allow customers to use voice controls on any connected smart home device—without the hassle of first defining it and setting it up. This integration into the smart home is part of iRobot’s overall desire to innovate and create products that make their customers’ lives easier.</p> <h2>With Alexa, iRobot is Shaping the Future of Robotics in the Smart Home</h2> <p>iRobot looks forward to developing new voice-enabled capabilities for its products. The company sees voice technology as a major part of their innovation strategy, as well as a way to provide customers with a more engaging and intuitive way to get things done.</p> <p>“Robot intelligence is advancing and maturing,” said CEO Colin Angle at re:MARS, Amazon’s global AI event. “The core of this evolution is the importance of mapping, spatial context and voice, as a user interface for the future of the smart home. Voice technology and Alexa are instrumental to building that future, enabling home robots’ to further enrich customers’ lives.”</p>