November 13, 2017David Isbitski
We are thrilled to announce that starting today, Alexa skill developers can now send content to users in stages, using Progressive Response. This new capability helps you to keep your users engaged while a full response to a skill request is being processed.
Prior to today, skills developers have been constrained in their ability to send content, with skills required to wait for all processing to be completed before delivering any payload to the user. This left users waiting and wondering what was happening while skills processed their experiences. With Progressive Response, you can now use that time to inform, amuse, engage, and delight your users.
Using Progressive Response is a great choice for developers building Alexa screen skills for devices such as Echo Show. In order to be certified as an Alexa screen skill, skills should start within two seconds of being launched; Progressive Response can help multi-modal skills achieve this benchmark even if they require substantial processing or rendering of large external images by allowing you to deliver interstitial audio content while your full response is being processed.
If you are building a skill that requires a significant amount of processing before delivering a response, you may be concerned that this leaves users waiting and wondering what is happening while their skill request is being processed. With Progressive Response you can use that time to send partial or interstitial content.
For example, in the updates to the HistoryBuff reference skill published today on the developer portal, the skill sends interstitial text that can be used to confirm that the skill heard the right date and to acknowledge that it is processing the request (e.g. “Getting history facts for August 30th.”) This additional content helps the skill to be more conversational, removing long pauses while the skill response is being processed. You can find the sample skill in Java here and Node.JS here.
To use Progressive Response, you will program your skill to call an HTTPS endpoint with the content you want to send to the user. The structure of the request and the endpoint to call are documented here.
When thinking about leveraging Progressive Response, identify points in your skill where you expect high processing times, such as when making an external API call or rendering media files (images, video, etc.) that require significant processing time. You should also consider what to you want to say in your interstitial response that will add value to your users. We have created a reference skill to help guide you on how to integrate Progressive Response into your skill.
Visit the technical documentation to find more information. You can find the Java SDK here and Node.JS SDK here. Also refer to the template skill on GitHub that uses the Progressive Response API.
To support today’s launch, we are excited to announce that CNN has updated its skill to take advantage of Progressive Response.
For more information about getting started with Progressive Response check out the following additional resources: