Cake Time: Construa uma Skill engajadora

Por que desenvolver uma skill de Alexa?

O que faz da Alexa tão atraente?

À medida que os serviços de voz, como a Amazon Alexa, ganham popularidade, os consumidores estão utilizando VUIs (voice user interfaces) para jogar, receber as últimas notícias e controlar um crescente número de dispositivos domésticos inteligentes.

Ease of access, speed and efficiency, and skill monetization

Facilidade de acesso

As VUIs são naturais, conversacionais e centradas no usuário.

Uma ótima experiência de voz permite que usuários expressem suas intenções de diversas maneiras. Ela deve ser rica e flexível. Por isso, desenvolver para voz não é o mesmo que criar interfaces de usuário gráficas (GUIs) para a Web ou dispositivos móveis.

Quanto mais fácil for usar uma skill, mais velocidade e eficiência ela oferecerá.

Velocidade e eficiência

As skills de Alexa trazem velocidade e eficiência para tarefas mundanas ou habituais - e é por isso que a voz está preparada para se tornar onipresente.

Considere o cronômetro da cozinha. Com a Alexa, definir um timer é tão fácil quanto dizer “Alexa, coloque um timer por 10 minutos”. Quem teria imaginado que apertar alguns botões no microondas se tornaria a opção menos conveniente?

Monetização de skills

Ganhe dinheiro vendendo conteúdo digital em sua skill. Você pode vender conteúdo relevante aos seus clientes através de assinaturas, compras únicas ou recorrentes.

Por exemplo, digamos que você construa uma skill de compartilhamento de conhecimento que ajude a ensinar ao usuário um processo ou tarefa. Você pode começar com conteúdo introdutório gratuito para ganhar a confiança do usuário de que a skill é valiosa. Depois, você pode vender acesso ao conteúdo premium mais sofisticado e valioso.

Que tipo de skill você quer criar?

Com o ASK (Alexa Skills Kit), você pode criar diferentes tipos de skills. O ASK oferece quatro modelos de interação pré-construídos que você pode aproveitar, ou você pode criar uma skill totalmente personalizada. Os modelos de interação pré-construídos incluem solicitações e enunciados pré-definidos para ajudá-lo a começar a construir rapidamente. Você pode personalizá-los ao seu gosto.

Abaixo estão quatro exemplos de skills com modelos de interação pré-construídos.

Skills de Casa Inteligente

Use a API para skills de Smart Home para criar uma skill de casa inteligente com um modelo pré-construído. Esse tipo de skill controla dispositivos domésticos inteligentes, como câmeras, luzes, travas, termostatos e smart TVs. A Smart Home Skill API oferece menos controle sobre a experiência do usuário, mas simplifica o desenvolvimento, pois você não precisa criar a VUI por conta própria.

Invocar a skill também é muito fácil. Um usuário pode fazer solicitações como as seguintes:

"Alexa, ligue as luzes da sala"

"Alexa, aumente a temperatura em dois graus”

"Alexa, mostre a câmera da porta da frente”

Skills de Flash Briefing

Use a API para skills de Flash Briefing para fornecer aos seus clientes notícias e outros conteúdos curtos. Um usuário pode fazer solicitações como as seguintes:

"Alexa, dê meu flash briefing”

"Alexa, conte-me as últimas notícias”

Como desenvolvedor de skills, você define os feeds de conteúdo para o flash briefing solicitado. Esses feeds podem conter conteúdo de áudio reproduzido para o usuário ou conteúdo de texto lido para o usuário.

Skills de vídeo

Use a API para skills de Vídeo para fornecer conteúdo de vídeo, como programas de TV e filmes, para os usuários. Um usuário pode fazer solicitações como as seguintes:

"Alexa, jogue Manchester by the Sea”

"Alexa, mude a TV para o canal 4”

Como desenvolvedor de skills, você define as solicitações que a skill pode manipular, tais como pesquisar e reproduzir conteúdo de vídeo, ou como os resultados da pesquisa de conteúdo de vídeo são exibidos em dispositivos habilitados para Alexa.

Skills de música

Use a API de skills de música para fornecer conteúdo de áudio, como músicas, listas de reprodução ou estações de rádio para os usuários. Um usuário pode fazer solicitações como as seguintes:

"Alexa, toca música"

"Alexa, tocar jazz"

Essa API processa as palavras que um usuário pode utilizar para solicitar e controlar um conteúdo de áudio. Essas palavras faladas se transformam em solicitações que são enviadas para sua skill. Sua skill processa essas solicitações e responde apropriadamente, enviando de volta o conteúdo de áudio para o usuário em um dispositivo habilitado para Alexa.

Nota: Atualmente, as skills de música estão disponíveis apenas nos Estados Unidos.

Estes são apenas alguns exemplos de skills pré-construídas que podem ajudar a acelerar o seu desenvolvimento.

Construindo uma skill personalizada

Para skills personalizadas, você define o modelo de interação. Portanto, você tem flexibilidade e controle sobre o design e o código da skill.

building a custom skill
Alexa, order a pizza. Would you like the usual?

Aqui estão alguns exemplos de como um usuário pode interagir com uma skill personalizada:

  • “Alexa, pedir uma pizza”
  • “Alexa, reserve um táxi"

Com uma skill personalizada, você pode envolver o usuário em um jogo, como palavras cruzadas ou trivialidades, ou simplesmente criar qualquer outra ação que desejar!

Como desenvolvedor de skills, você:

  • Define os pedidos que a skill pode processar
  • Define o nome que a Alexa usa para identificar sua skill, chamado de nome de invocação, sobre o qual você aprenderá mais no próximo módulo
  • Escreve o código para atender a solicitação

Ao longo deste curso, você aprenderá como desenvolver uma skill personalizada usando o ASK.

turn off all the lights!

Como funciona uma skill de Alexa

A seguir, veja um fluxo simples que demonstra como a Alexa funciona. Neste exemplo, o usuário invoca uma skill simples da Alexa chamada Hello World.

skill diagram

1. Para iniciar a skill, o usuário diz: "Alexa, abra Hello World."

2. O dispositivo habilitado para Alexa envia o enunciado para o serviço Alexa na nuvem. Lá, o enunciado é processado através de reconhecimento automático de fala, para conversão em texto e compreensão de linguagem natural para reconhecer a intenção do texto.

3. A Alexa envia uma solicitação JavaScript Object Notation (JSON) para processar a intenção de uma função do AWS Lambda na nuvem. A função Lambda age em um back-end e executa o código para processar a intenção. Nesse caso, a função Lambda retorna "Bem-vindo à skill Hello World".

 

A animação abaixo demonstra o que acontece quando um usuário interage com uma skill de Alexa. Ela pressupõe que você esteja usando o AWS Lambda, computação em nuvem sem servidor, para hospedar o código da sua skill.

  • O usuário diz a wake word, Alexa.
  • Alexa ouve a wake word e escuta a mensagem para processar a informação.
  • O Alexa Service usa o modelo de interação para descobrir para onde encaminhar a solicitação.
  • Uma solicitação JSON é enviada para a função lambda da skill.
  • A função lambda inspeciona a solicitação JSON.
  • A função lambda determina como responder.
  • A função lambda envia uma resposta JSON ao Alexa Service.
  • O Alexa Service recebe a resposta JSON e converte o texto de saída em um arquivo de áudio.
  • O dispositivo habilitado para Alexa recebe e reproduz o áudio.

Passos para construir uma skill

Siga estas etapas para desenvolver sua skill com o ASK.

Design
Passo 1: Design

Comece projetando o modelo de interação de voz de sua skill. Depois de começar a projetar, você entenderá rapidamente que projetar para voz é diferente do que projetar para aplicativos móveis ou baseados na web.

Você precisa pensar em todas as maneiras diferentes nas quais um usuário pode interagir com sua skill de voz. Para fornecer uma experiência de voz fluida e natural, é importante criar scripts e, em seguida, representar as diferentes maneiras que um usuário pode falar com a Alexa.

Além disso, se você tiver uma experiência multimodal (voz e visual), precisará pensar em diferentes fluxos de navegação para sua skill.

Build
Passo 2: Construir

Quando seu modelo de interação estiver pronto, crie os enunciados, intenções e slots (variáveis) no Console do Portal dos Desenvolvedores de Alexa.

O modelo de interação é salvo no formato JSON e você pode editar o modelo com qualquer ferramenta de edição. Depois que seu modelo de interação JSON estiver pronto, crie a função de back-end Lambda no AWS Management Console.

Selecione a linguagem de programação de sua escolha e o kit de desenvolvimento de software ASK (SDK) correspondente e comece a codificar sua skill. O Lambda suporta as linguagens de programação Java, Go, PowerShell, Node.js, C #, Python e Ruby.

Você pode criar e hospedar a maioria das skills gratuitamente com o AWS Lambda, que é gratuito para o primeiro milhão de chamadas por mês. Quando a função backend do Lambda estiver pronta, integre a função do Lambda à sua skill e teste-a no console do desenvolvedor de Alexa.

Test
Passo 3: Teste

O console do desenvolvedor da AWS possui um simulador de Alexa integrado, que é semelhante ao teste em um dispositivo habilitado para Alexa real.

Depois de testar sua skill com o simulador de Alexa, recomendamos que você colete feedback do usuário para resolver problemas e fazer melhorias antes de enviar sua skill para certificação.

Certification and launch
Passo 4: Certificação e lançamento

Depois de testar sua skill, envie-a para certificação. Uma vez que sua skill passar pela certificação, ela será publicada na Alexa Skill Store para que qualquer pessoa possa descobri-la e usá-la.

Resumo

Estas são as etapas fundamentais para desenvolver uma skill de Alexa

Você mergulhará mais fundo em cada etapa nos módulos subseqüentes deste curso.

Requisitos para construir uma skill

A seguir estão os requisitos para começar a desenvolver uma Alexa Skill:

 

  • Conta no Portal dos Desenvolvedores de Alexa.
  • Ponto de acesso acessível pela Internet para hospedar seu back-end. O código de back-end da sua skill geralmente é uma função do Lambda. Nesse caso, você precisa de uma conta com o Amazon Web Services (AWS), além de sua conta no nosso Portal dos Desenvolvedores. Como alternativa, você pode criar e hospedar um Web Service HTTPS. Nesse caso, você precisará de um provedor de hospedagem em nuvem e um certificado SSL (Secure Sockets Layer).
  • Ambiente de desenvolvimento apropriado para a linguagem de programação que você planeja usar. O Lambda suporta nativamente Java, Go, PowerShell, Node.js, C #, Python e Ruby e fornece uma API de tempo de execução, que permite usar qualquer linguagem de programação adicional para criar suas funções.
  • Website publicamente acessível para hospedar imagens, arquivos de áudio ou arquivos de vídeo usados em sua skill. Uma solução possível é o Amazon Simple Storage Service (Amazon S3). Se você não tiver arquivos além do ícone de sua skill, não precisará hospedar nenhum recurso.
  • (Opcional) Dispositivo habilitado para Alexa para teste. As skills de Alexa funcionam com todos os dispositivos habilitados para Alexa, como o Amazon Echo, o Echo Dot, o Fire TV Cube e os dispositivos que usam o Alexa Voice Service (AVS). Se você não tiver um dispositivo, poderá usar o simulador de Alexa no Console do Portal dos Desenvolvedores de Alexa. Através do simulador, você pode ver os modelos de exibição do Echo Show e do Echo Spot, embora a tela não seja interativa. Se sua skill inclui interações de exibição e toque, você precisa de um dispositivo habilitado para Alexa com uma tela para testar a skill.

 

No próximo módulo, você aprenderá sobre o processo de design e os principais conceitos relacionados à criação de um modelo de interação para uma skill personalizada.