반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

[Echo Show] Build Skills for Echo Show

2017. 8. 8. 06:03 | Posted by 솔웅


반응형

Build Skills for Echo Show



With Echo Show, graphical elements complement the voice interaction on the device itself. Thus, a custom skill used with Echo Show can include an interactive touch display in its response, in addition to standard voice interaction. For example, a recipe skill can display images of the ingredients and the preparation process at the appropriate points in the skill interaction. A city guide skill can display pictures or videos of requested attractions, or take the user on a guided tour.



Echo Show를 사용하면 음성 상호작용에 graphical한 요소까지 디바이스에서 표현할 수 있습니다. 그러므로 Echo Show의 커스텀 Skill을 사용하면 표준인 음성 상호작용에 더해 터치 디스플레이와의 상호작용을 할 수 있습니다. 예를 들어 recipe skill에 재료와 준비과정 등을 적정한 때에 이미지로 표시할 수 있습니다. 또한 city guide skill에서는 가 볼만 한 곳에 대한 사진이나 비디오를 표현해서 사용자에게 투어 가이드를 할 수 있습니다.





Echo Show

Although the display component may enhance the user experience considerably, voice continues to be the primary interaction method with Alexa.


display component가 더 풍부한 user experience를 제공하지만 Alexa에서는 음성이 계속 주요 상호작용 방법입니다.


Cards, which provide additional information for the user beyond the Alexa voice response, are supported in the Alexa app, but the app requires the user to separately view the card in the Alexa app on their phone or computer. Thus, cards, while useful, are not meant to be part of the main workflow of the skill. With Echo Show, the screen displays may be a significant aspect of the skill’s main workflow.


Alexa 음성 response를 넘어 사용자에게 추가적인 정보를 제공하는 Card들이 알렉스 앱에서 제공되고 있습니다. 이 카드들은 사용자들의 전화기나 컴퓨터에 있는 Alexa 앱에서 별도로 보여줄수 있기 때문에 그러한 앱이 필요하게 됩니다. 그렇기 때문에 이 card들은 유용함에도 불구하고 skill의 핵심 workflow 중 하나는 아닙니다. 하지만 Echo Show에서는 스크린 디스플레이가 이러한 카드들이 Skill에 주요 workflow에 속할 수 있도록 합니다.


Designing an Alexa skill for Echo Show allows integration of voice, touch, text, images, and video.


Echo Show에서 일렉사 Skill 디자인은 음성, 터치, 텍스트, 이미지 그리고 비디오를 사용할수 있도록 합니다.

좀 더 자세한 방법은 아래 글들을 참조하세요.



You can use the Node.js SDK and the Java SDK to facilitate the creation of Alexa skills.


Node.js SDK와 Java SDK를 사용하여 Alexa 기술을 쉽게 만들 수 있습니다.


Display and Interaction Features on Echo Show


Skill developers can take advantage of the following features for display and navigation.


Skill 개발자들은 디스플레이와 네비게이션과 관련해 다음의 기능들을 사용해 개발을 할 수 있습니다.


Graphical Features

Echo Show supports screen displays with the following graphical features.


Echo Show는 스크린 디스플레이에서 아래의 graphical한 기능들을 제공합니다.


  • List templates - display content as horizontal or vertical lists with predefined formats

  • Body templates - display content which can include text and images with predefined formats

  • Images - used in list templates or body templates

  • AudioPlayer - appears when the skill plays audio

  • Video - appears when the skill plays video

  • Touch selection events - List items and action links may be activated by touch if the skill is coded to support that


An Echo Show device provides all of the functionality of Amazon Echo devices, as well as an interactive screen and video playback capability. See the Echo Show specifications. The screen resolution for Echo Show is 1024x600 pixels.


Echo Show에서는 아마존 에코 기기들의 모든 기능들에다가 스크린을 통한 상호작용과 비디오 플레이 기능들까지 제공됩니다. 자세한 내용은  Echo Show specifications를 보세요. Echo Show의 화면 해상도는 1024x600 pixel입니다.


Alexa skills continue to support cards, whether the device with Alexa has a screen or not. If a skill is programmed so that a card appears in the Alexa app, and the skill has not been programmed to use a screen template, then that card will appear on the screen of the Echo Show device. If the skill has no card or template display, then the skill name and the skill icon appear on the screen, with the hint text “When you’re ready to quit, try “Alexa, exit’”.


Alexa Skill에서는 디바이스가 스크린을 가지고 있든 없든 카드기능이 제공 됩니다. 프로그램이 돼 있다면 Alexa 앱에 카드가 나타날 겁니다. Skill이 프로그램 돼 있다면 Alexa 앱에 나올 것이고 프로그램이 스크린 템플랫을 사용하도록 프로그램 돼 있지 않다면 Echo Show 디바이스의 스크린에 카드가 나타날 겁니다. 만약 Skill에 카드가 없거나 탬플렛 디스플레이가 없다면 스크린에 Skill 이름이나 Skill 아이콘이 “When you’re ready to quit, try “Alexa, exit’”라는 메세지와 함께 나타날 겁니다. 


Types of Interactions With Alexa Custom Skills


Custom skills designed for Alexa must take the following interactions into account.


Alexa에 디자인 돼 있는 커스텀 Skill은 account에 다음과 같은 상호작용을 가져야 합니다.


  • Voice interactions. Voice remains the primary means of interacting with Alexa, even if you have an Echo Show device. If your skill requires a screen to be used effectively, such as a photo-browsing skill, create a workflow that informs customers who are not using Echo Show that the skill requires Echo Show. An Echo Show user can control screen display by speaking the following actions.


    Voice interactions : 음성은 Echo Show를 가지고 있어도 Alexa에서는 가장 핵심적인 상호작용 수단입니다. 만약 photo-browsing skill같은 스크린이 필요한 Skill이라면 Echo Show를 이용하는 사용자들에게 알려주기 위한 workflow를 생성합니다. Echo Show 사용자는 다음과 같은 액션들을 음성을 이용해 스크린에 표시되도록 콘트롤 할 수 있습니다.


    • Scroll up/down/left/right

    • Page up/down

    • Next/previous



  • Alexa app interactions. A custom skill may cause a card with more information to be displayed in the Alexa app. If the custom skill is used with an Echo Show device, this card also appears on the screen if the response does not also include a display template. Thus, a skill that includes no display templates will show all of its cards on Echo Show. If a response includes both a card and a display template, the display template appears on Echo Show. This display template remains on the screen until the next response that includes a card or display template is sent.


    Alexa app interactions. 커스텀 Skill에서는 Alexa 앱에 좀 더 많은 정보를 표시하기 위한 카드를 사용할 수 있습니다. 만약 이 커스텀 Skill이 Echo Show에서 사용된다면 이 카드도 스크린에 나타날 겁니다. 만약 response에 디스플레이 탬플릿이 포함하지 않으면요.

    그러므로 디스플레이 탬플릿이 포함되지 않은 Skill은 자신이 가지고 있는 모든 카드를 Echo Show에서 표시할 겁니다. 만약 response가 카드와 디스플레이 탬플릿 모두를 가지고 있다면 Echo Show에는 그 디스플레이 탬플릿이 나타날 겁니다. 이 디스플레이 탬플릿은 카드나 디스플레이 탬플릿이 전달된 다음 response 까지 스크린에 남아 있을 겁니다.


  • Screen display interactions. If the custom skill uses display templates, and the correct interaction triggers a display template, then the corresponding text and images are displayed on Echo Show.


    Screen display interactions. 만약 커스텀 Skill이 디스플레이 탬플릿을 사용하고 제대로 이 디스플레이 탬플릿을 사용하도록 상호작용이 일어나면 해당 텍스트와 이미지들이 Echo Show에 표시됩니다.


  • Screen touch interactions. When a customer touches an item on screen that has been encoded with a select intent, that will trigger a specific action that has been programmed in the skill, such as displaying a recipe that corresponds to the selected item.


    Screen touch interactions. 사용자가 스크린의 아이템을 터치하면 그리고 그 Skill에 select intent으로 코딩이 되어 있다면 그 터치는 프로그램 되어 있는 특정 액션을 트리거링 합니다. 예를 들어 선택된 아이템에 해당하는 요리법을 보여준다던지 하는 서비스가 가능합니다. 


Audio, Display, and Video Capability for Devices With Alexa


Devices with Alexa support the AudioPlayer interface to play audio files. Long-form audio is not currently supported for Echo Show.


Alexa가 있는 디바이스들은 오디오 파일을 플레이 할 수 있는 AudioPlayer interface 를 제공합니다. Echo Show에서는 Long-form audio는 아직 지원되지 않습니다.


Echo Show also supports the Display interface to display content on the device screen, and the VideoApp interface to play video files on the screen.


Echo Show에서는 또한 디바이스 스크린에 내용을 표시하기 위한 Display interface와 VideoApp interface 를 지원해 화면에 비디오 파일을 상영하도록 해 줍니다. 



How and When to Use Display Templates to Render Screen Displays


When you develop a custom skill, you determine the form of the response that your skill will send to Alexa. This response may be voice-only, or it may also include a card or screen display. The display template you want to use, if any, is included in the JSON-formatted response, just as speech output and cards can be included in the response. If both a display template and a card are included in the response, the display template is rendered to the screen. If only a card is included, then the card is rendered to the screen. If neither a card or template is specified, then the default body template (BodyTemplate5) is rendered to the screen, which is typically the name of the skill and the skill icon. Display templates are not rendered in the Alexa companion app.


커스텀 Skill을 개발할 때 여러분의 Skill이 Alexa에 보낼 response의 form을 정해야 합니다. 이 response는 음성만 있을 수 있고 카드나 스크린 표시 등이 포함돼 있을 수 있습니다. 여러분이 사용하고자 하는 디스플레이 탬플릿은 JSON-formatted response에 포함되게 됩니다. 음성이 나오는것과 마찬가지로 response안에 카드들도 포함될 수 있습니다. 디스플레이 탬플릿과 카드 둘 다 response에 포함돼 있다면 화면에는 디스플레이 탬플릿이 표시됩니다. 만약 카드만 있다면 이 카드가 화면에 표시될 겁니다. 둘 다 없으면 default body template (BodyTemplate5)이 화면에 표시 될 겁니다. 주로 그 Skill에 이름과 그 Skill의 아이콘이죠. 디스플레이 탬플릿은 Alexa 앱에는 표시되지 않습니다.


In general, you, as the skill developer, want a visually uncluttered experience for the skill user, with display templates effectively displayed when they enhance the user experience. Typically, you should only return display templates when responding with information that the user has requested. Other responses, such as questions to ask the user for more information, do not typically include display templates.


일반적으로 Skill 개발자들은 사용자들에게 시각적인 것을 전달하기 원합니다. 디스플레이 탬플릿을 사용하면 이 기능을 효율적으로 사용자들에게 제공할 수 있습니다. 특히 사용자가 요청하면 디스플레이 팀플릿만을 리턴해야 될 때도 있고 사용자에게 추가적으로 질문을 할 때 같은 경우는 디스플레이 탬플릿이 포함될 필요가 없을 때도 있습니다.


See Best Practices for Card Design.


Create a Multi-Mode Interaction Model for Your Alexa Skill


The VUI (Voice User Interface), combined with the GUI (Graphical User Interface) and touch elements of Echo Show, provide a unique user experience. When you design your skill, consider how all of these elements will work together for the users of your skill.


The VUI (Voice User Interface)는 Echo Show의 GUI (Graphical User Interface)와 터치 요소를 결합해서 서비스를 제공합니다. Skill을 디자인 할 때 이러한 요소들이 어떻게 사용자를 위해서 서비스 되어야 하는 지를 고려해야 합니다.


The flow of the skill becomes significant when considering what the effect of such commands as “Up” mean. For example, in a recipe skill, would the user go back a previous step in a recipe, or to a previous recipe? Similarly, if the user says “Up” in a fact skill, what should the behavior be, if any? As the skill developer, you must specify this behavior in the service code for the skill. Plan how you want the user to interact with your skill.


Skill의 흐름은 “Up” 같은 요청이 어떤 효과를 내야 하는지를 고려할 때 유의미하게 서비스를 제공할 수 있습니다. 예를 들어 recipe skill에서 사용자가 요리법의 이 전 단계를 가려고 하는지 혹은 아예 이전의 요리법으로 가야 하는지 등이죠. 마찬가지로 fact skill에서 사용자가 “Up”이라고 말하면 여기에 대한 behavior는 어떻게 해야 할 까요? Skill 개발자로는 그 behavior를 서비스 코드에 정해서 넣어야만 합니다. 여러분에 Skill에서 어떻게 사용자와 상호작용을 해야 할지 잘 디자인 하세요.


Consider How Your Skill Works Across Devices


If you design your skill for a particular device, such as Echo Show, remember that the user may choose to enable this skill on other Alexa devices as well. So determine if you want your users to have access to these features in a way that does not use the screen and touch features, or if you want to inform the user that the skill, or certain features of it, is supported only on Echo Show. For example, the VideoApp interface, which allows videos in a skill, is supported on Echo Show, but it is not supported on devices without a screen such as Amazon Echo.


특정 디바이스에 대해 Skill을 디자인 한다면 -예를 들어 Echo Show 같은- 사용자느 다른 Alexa 디바이스들에서도 이 Skill을 사용하려고 할 것이라는 것을 염두에 두세요. 그러니까 스크린을 갖지 않는 다른 디바이스들에서도 이 기능들에 사용자에게 접근할 수 있도록 할 것인지에 대해서 미리 정해야 합니다. 그렇지 않고 Echo Show에서만 이 Skill을 제공하고자 한다면 사용자에게 그 Skill에 대한 혹은 그 Skill의 특정 기능에 대한 정보를 주어야 하구요. 예를 들어 Skill에서 비디오를 사용할 수 있도록 해 주는 VideoApp interface같은 경우에는 Echo Show에서는 지원이 되지만 아마존 에코같은 스크린이 없는 디바이스들에서는 지원이 되지 않습니다.

Upgrade an existing skill for Echo Show


You may have already created a certified skill that works with Alexa-enabled devices without screens. You can modify this skill to add additional functionality to take advantage of the display templates and touch features.


여러분 중에 스크린이 없는 Alexa를 사용할 수 있는 디바이스에서 작동하는 Skill을 이미 개발한 분들도 있을 수도 있습니다. 이 Skill을 디스플레이 탬플릿과 터치 기능을 이용하도록하는 추가적인 기능들을 넣을 수도 있습니다.


To upgrade your skill for Echo Show, follow these steps.


Echo Show를 위해 여러분의 Skill을 업그레이드 하려면 아래와 같이 하세요.


  • Rethink the workflow of the skill. When a customer interacts with your skill on Echo Show, the experience will be different. Determine how your skill work work on both Echo Show, and other devices with Alexa that do not have screens.


    Skill의 workflow를 다시 생각합니다. Echo Show에서 여러분의 Skill이 사용자와 상호작용을 할 때 그 진행상황을 분명히 다를 겁니다. 여러분의 Skill이 Echo Show와 스크린이 없는 Alexa가 가능한 디바이스에서 어떻게 작동을 할 지에 대해 먼저 정하세요.


  • Enable the Display.RenderTemplate interface as described in Display Interface Reference.


    Display Interface Reference에 설명된 것 처럼 RenderTemplate interface 를 가능하도록 합니다. 


  • Modify the code of the skill service to reflect the new workflow you have designed, as well as preserve the experience for users who do not have Echo Show.


    여러분이 디자인한 새로운 workflow를 반영하도록 Skill 서비스의 코드를 수정합니다. Echo Show를 사용하지 않는 사용자들을 위해 기존의 기능들은 유지해야겠지요.


  • Test the skill with its new features.


    추가된 새 기능들을 테스트 해 봅니다.


  • Publish the changes.


    그리고 업데이트된 Skill을 Publish 합니다.



반응형