Você está na página 1de 41

1

5 Passos Para Desenvolver Alexa Skills

CelsoKitamura.com.br
Capa
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Índice

Pra Começar..................................................................................5
O Que É VUI? ..............................................................................5
A Revolução Da VUI (Voice User Interface) ..........5
Quem É Alexa? .........................................................................7
O Que É Alexa Skill? ..............................................................7
Sobre Celso Kitamura .......................................................... 14
Pré Requisitos ............................................................................ 17
Conta No Alexa Developer Console ......................... 17
Lugar Para Hospedar Seu Serviço De Nuvem
Back-End .................................................................................... 17
Ambiente De Desenvolvimento Apropriado
Para A Linguagem De Programação Utilizada
............................................................................................................18
Site Para Hospedar Imagens, Arquivos De
Áudio Ou Vídeo Utilizados Pela Skill ....................... 19
Dispositivo Habilitado Para Alexa Para Testes 20
Passo 1 - Projete Sua Experiência De Voz .............. 22
Verifique Se Sua Ideia É Adequada Para A Voz
........................................................................................................... 22
Identifique Seus Usuários. ............................................. 23

2 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 2 - Crie A VUI (Voice User Interface -


Interface De Usuário Em Voz) ........................................ 27
Passo 3 - Construa O Back End ................................... 30
Passo 4 - Teste .......................................................................... 33
Passo 5 - Envie Para Aprovação E Publicação.... 36
Um Último Recado ................................................................ 39

CelsoKitamura.com.br 3
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Imagem para comecar

4 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Pra Começar...

Porque Desenvolver Skills Para Alexa?

O Que É VUI?

Voice User Interface (VUI) ou Interface de


Usuário em Voz é um recurso que permite que
as pessoas controlem computadores e
dispositivos usando apenas sua voz.

Uma VUI possibilita a interação humana falada


com computadores, usando o reconhecimento
de fala para entender comandos falados e
responder a perguntas e, normalmente, texto
em fala (TTS – Text To Speech) para reproduzir
uma resposta.

A Revolução Da VUI (Voice User


Interface)

CelsoKitamura.com.br 5
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

As interfaces de usuário de voz estão evoluindo


muito mais rapidamente que seus antecessores
tecnológicos - cartões perfurados, teclados,
mouses e telas touch.

Desenvolvedores visionários em todos os


campos, de grandes corporações a startups,
estão adotando a voz e abrindo caminho para
interações multimodais totalmente
conversacionais que se estendem a dispositivos
móveis, vestíveis e até realidade virtual.

O objetivo da interface de usuário em voz (VUI) é


dar aos usuários uma experiência de natureza
mais humana, totalmente imersiva.

Ainda não chegamos na interface de voz como


visto na série Star Trek, mas os avanços
tecnológicos já nos permitem desenvolver
algoritmos e softwares mais complexos e mais
aptos a simular comportamentos humanos.

Venha também fazer parte da revolução da VUI!

6 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Quem É Alexa?

Alexa é um software de assistente pessoal


desenvolvida pela Amazon, capaz de entender
contexto e executar tarefas.

A inspiração do produto veio da série Star Trek


(ou Jornada nas Estrelas, para os mais
velhos...rs), onde os personagens conversavam
naturalmente com computadores.

O foco dela é atender o usuário nas tarefas do


dia a dia, como informar o clima, tocar música,
fazer a lista do mercado, acender a luz, trancar
portas, etc. usando somente sua voz.

O Que É Alexa Skill?

As skills da Alexa são como aplicativos. Você


pode ativar e desativar as skills, usando o
aplicativo Alexa ou um navegador web, da
mesma maneira que instala e desinstala
CelsoKitamura.com.br 7
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

aplicativos no seu smartphone. As skills são


recursos da Alexa comandados por voz. Você
pode adicionar Alexa skills ao seu dispositivo
(Echo, por exemplo) para dar vida a produtos e
serviços.

Tipos De Skills

Skills De Jogos

Os pioneiros dos jogos de voz estão imaginando


uma maneira totalmente nova de envolver os
jogadores, alimentando sua curiosidade com
novas formas de jogar - incluindo aventuras
interativas, jogos para a família e jogos de
perguntas.

Skills Para Crianças

Uma skill infantil é qualquer habilidade Alexa


destinada a crianças com menos de 13 anos (se
distribuídas nos EUA ou na Índia) ou com menos
de 16 anos (se distribuídas no Reino Unido,

8 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Alemanha, França, Itália, Espanha, Japão, México


ou Austrália).

Skills De Conteúdo

Entregue mais conteúdo a mais pessoas - onde


quer que estejam, sempre que pedirem.
Permita que os clientes usem suas vozes, bem
como navegadores e telefones celulares, para
receber as últimas notícias.

Skills De Músicas

Use a API do Music Skill para permitir que os


clientes acessem todo o seu catálogo de
músicas em dezenas de milhões de dispositivos
da Amazon e de outros fabricantes com Alexa
integrada.

Como Funciona Uma Skill Da Alexa

CelsoKitamura.com.br 9
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Veja neste fluxo simples como a Alexa funciona.


Neste exemplo, o usuário chama uma skill Alexa
simples chamada Alô Mundo.

1. Para ativar a skill, o usuário diz: "Alexa, abra


Alô Mundo".

2. O dispositivo habilitado para Alexa envia a


declaração para o serviço Alexa na nuvem. Lá, o
enunciado é processado por meio do
reconhecimento automático de fala (ASR -
Automatic Speech Recognition) e convertido

10 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

em texto. Depois é utilizado o entendimento da


linguagem natural (NLU - Natural Language
Understanding) para reconhecer a intenção do
texto.

3. Alexa envia uma solicitação JSON


(JavaScript Object Notation) para manipular a
intenção de uma função do AWS Lambda na
nuvem. A função Lambda atua como back-end
e executa o código para lidar com a intenção.

4. Nesse caso, a função Lambda retorna


"Bem-vindo à skill Alô Mundo". Este retorno
pode vir acompanhada de resposta visual, caso
o dispositivo tenha uma tela, por exemplo.

Agora que a Alexa foi localizada para o


português do Brasil, uma grande porta de
oportunidade se abre para nós App Devs.

A loja de skills do Brasil ainda está no início,


então é hora de beber água limpa e desbravar
novas terras. Imagine se você estivesse criando

CelsoKitamura.com.br 11
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

aplicativos no início do Android, lá na versão 1.5


(Cupcake) ou 1.6 (Donut) em 2009. Havia muito
menos concorrência e conseguir usuários era
muito mais fácil que atualmente, com milhões
de aplicativos na loja.

E você, vai ficar vendo essa onda passar? Ou vai


entrar nela também?

Mas antes, quem é este que vos fala?

12 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Imagem Sobre Celso Kitamura

CelsoKitamura.com.br 13
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Sobre Celso Kitamura

Celso Kitamura é Engenheiro de Computação


de formação.

Aprendeu a programar com a linguagem Basic


aos 14 anos, depois do pai comprar um
computador Expert da Gradiente, que utilizava o
sistema MSX.

Começou profissionalmente na área de


desenvolvimento de softwares em 2000 como

14 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

programador, quando ingressou em uma


consultoria e participou de projetos para os mais
diferentes segmentos utilizando ferramentas
Microsoft.

Cursou pós em Engenharia de Software e desde


então continua estudando metodologias e
ferramentas que possam aperfeiçoar a arte de
fazer software.

Casado com a confeiteira Jeanne Novais, pai do


Yuki e fã de Transformers.

Bom, chega de papo e vamos para os 5 passos


para desenvolver Alexa Skills!

CelsoKitamura.com.br 15
CelsoKitamura.com.br
5 Passos Para Desenvolver Alexa Skills

16
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Pré Requisitos

Conta No Alexa Developer Console

Para poder registrar uma skill na loja da


Amazon, você precisa de um cadastro de
desenvolvedor na plataforma Amazon
Developer.

Com esta conta você também pode subir


aplicativos Android na Amazon Appstore.

Abrir a conta é bem simples e aqui você pode


ver um vídeo de como é feito esse cadastro.

Lugar Para Hospedar Seu Serviço De


Nuvem Back-End

O código de sua skill deve ficar disponível para


que a Alexa envie as requisições dos usuários.

CelsoKitamura.com.br 17
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Existem diversas opções para isso, incluindo:

• Hospedagem na própria nuvem da Alexa;


• Criar uma função Lambda na Amazon
Web Services (AWS)
• Utilizar uma função no Azure
Se você tem familiaridade com o Azure,
utilizar a nuvem da Microsoft para
hospedar o código de sua skill pode ser
uma opção válida.

Ambiente De Desenvolvimento
Apropriado Para A Linguagem De
Programação Utilizada

O código da sua skill pode ser feito em várias


linguagens, incluindo noje.js e C#.

Se você hospedar o código dentro da nuvem da


Alexa pode codificar dentro do Developer
Console mesmo. Porém esta opção tem
restrição de recursos.

18 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

No caso de utilizar C#, você pode usar o Visual


Studio. Ele possui um plug in que te ajuda a
criar e publicar uma função Lambda no AWS.

Site Para Hospedar Imagens,


Arquivos De Áudio Ou Vídeo
Utilizados Pela Skill

São os recursos que você vai utilizar na skill para


melhorar a experiência do usuário.

Você pode usar desde uma hospedagem


contratada até o Amazon Simple Storage
Service (Amazon S3).

Se você não utilizar nenhum recurso em seu


skill além do ícone, não precisará desta
hospedagem.

CelsoKitamura.com.br 19
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Dispositivo Habilitado Para Alexa


Para Testes

As skills funcionam com todos os dispositivos


habilitados para Alexa e dispositivos que usam o
Alexa Voice Service (AVS).

Este requisito é opcional, mas nenhum


emulador/testador vai substituir o teste em um
device físico.

20 CelsoKitamura.com.br
21
5 Passos Para Desenvolver Alexa Skills

Imagem passo 1

CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 1 - Projete Sua


Experiência De Voz

O primeiro passo para criar uma skill não exige


nenhuma ferramenta! Isso porque você deve
projetar a experiência antes de construí-la.

Comece projetando o modelo de interação por


voz da sua skill. Depois de começar a projetar,
você entenderá rapidamente que desenvolver
para voz é diferente de desenvolver aplicativos
móveis ou baseados na Web.

Pense em todas as maneiras diferentes pelas


quais um usuário pode interagir com sua skill.

Verifique Se Sua Ideia É Adequada


Para A Voz

As melhores ideias de voz são aquelas que


naturalmente se prestam à conversa.

22 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

• Seja adaptável: A skill facilitará a vida dos


usuários, permitindo que eles falem
naturalmente?
• Seja gentil: A skill lembrará das
preferências do usuário para ajudá-lo mais
rapidamente?
• Esteja disponível: A skill permitirá que os
usuários liderem a interação?
• Seja compreensível: A skill cooperará com
o usuário, trabalhando com ele para
realizar alguma coisa?

Identifique Seus Usuários.

Você deve ter uma compreensão clara de quem


usará sua skill e como ela atende a uma
necessidade ou objetivo específico que eles têm.
Considere o que seus usuários querem. Esses
"desejos" se tornarão as intenções de sua skill.

• Como seus usuários conversarão com sua


skill?
• Como são essas pessoas? (histórico,
interesses, motivações etc.)
CelsoKitamura.com.br 23
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

• O que eles querem da minha skill?


• Quando é mais provável que eles usem
minha skill?
• Eles usarão gírias ou jargões de qualquer
tipo?

Em seguida, a próxima parte do processo de


design é escrever um script. Os scripts mostram
a conversa entre o usuário e o Alexa, como em
um filme ou peça, e são uma ótima maneira de
determinar como a conversa fluirá. São como os
Casos de Usos da UML.

A última parte da etapa de design é usar seu


script para identificar o idioma que definirá sua
interação por voz. Esses elementos de
linguagem incluem:

• Intenções (Intents), que representam o


que os usuários podem solicitar a sua skill.
É importante pensar nelas como “o que
sua skill pode fazer” e mais “o que os
usuários pretendem obter com sua skill”.

24 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

• Declarações (Utterances), que são as


frases que uma pessoa diz a Alexa. Eles são
compostos de comandos de palavras-
chave e a fala natural soa como palavras de
preenchimento.
• Slots, que permitem às pessoas especificar
partes variáveis de um enunciado, por
exemplo, cidade ou data. Os slots são
comuns em habilidades focadas em
tarefas e informações. São as variáveis do
nosso aplicativo.

CelsoKitamura.com.br 25
CelsoKitamura.com.br
5 Passos Para Desenvolver Alexa Skills

Imagem passo 2

26
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 2 - Crie A VUI (Voice User


Interface - Interface De Usuário
Em Voz)

Quando seu modelo de interação estiver pronto,


crie as declarações, intenções e slots no Console
do Desenvolvedor Alexa.

Depois de projetar a experiência, é hora de


começar a construir. Você pode usar o Alexa
Developer Console para criar o modelo de
interface de usuário em voz, ou VUI (Voice User
Interface). Isso também é conhecido como sua
interface front-end com a qual seus usuários
irão interagir quando usarem sua skill.

Você construirá sua VUI usando as intenções,


enunciados e slots levantados durante o
trabalho de desenho que você fez no passo 1.

O modelo de interação é salvo no formato JSON,


e você pode editar o modelo com qualquer

CelsoKitamura.com.br 27
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

ferramenta de edição. Depois que seu modelo


de interação JSON estiver pronto, está na hora
de construir o back end.

28 CelsoKitamura.com.br
29
5 Passos Para Desenvolver Alexa Skills

CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 3 - Construa O Back End

Selecione a linguagem de programação de sua


escolha e o kit de desenvolvimento de software
ASK correspondente (SDK) e comece a codificar
sua skill. O ASK SDK e o Lambda suportam
conjuntamente Node.js, Python e Java.

Se você preferir não codificar, tudo bem. Você


ainda pode criar uma skill!

Você pode tirar proveito de ferramentas de


terceiros, como os aplicativos de voz, que
permitem desenvolver skills rapidamente, sem
escrever código.

Você pode criar e hospedar a maioria das skills


gratuitamente com o AWS Lambda, gratuito
para o primeiro milhão de chamadas por mês.
Você pode provisionar seu próprio endpoint
Lambda ou usar as skills hospedadas na própria
nuvem da Alexa, sem a necessidade de criar
uma conta da AWS.

30 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Quando a função Lambda de back-end estiver


pronta, integre a função Lambda à sua skill e
teste-a.

CelsoKitamura.com.br 31
CelsoKitamura.com.br
5 Passos Para Desenvolver Alexa Skills

32
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 4 - Teste

Existem duas categorias básicas de teste:


funcional e experiência do usuário (UX - User
Experience).

Funcionalmente, você precisará aprimorar sua


skill. Você precisará fazer isso tanto na
preparação para a publicação quanto após o
lançamento de sua skill para o público. Para o
teste de UX, você deve observar e coletar
feedback sobre maneiras de melhorar a
interação entre sua skill e as pessoas que a estão
usando.

O console do desenvolvedor Alexa possui um


simulador interno do Alexa, que é semelhante
ao teste em um dispositivo habilitado para
Alexa.

Ele fornece ferramentas que permitem que


você use sua skill da maneira que espera que os
clientes usem. Na guia Teste, você pode digitar

CelsoKitamura.com.br 33
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

ou usar sua voz para interagir com sua


habilidade.

O teste beta é outra ótima maneira de obter


feedback sobre sua habilidade antes de enviá-lo
para publicação. Colocar usuários reais na frente
de suas skills antes que elas estejam disponíveis
ao público oferece a oportunidade de coletar
feedback sobre o que funciona e o que não
funciona e fazer melhorias que acabam levando
a uma melhor experiência.

Se você estiver usando o Lambda, poderá testar


se seu código de back-end está executando
(funcional) corretamente, modificando um
evento de teste interno ou criando um do zero.

34 CelsoKitamura.com.br
35
5 Passos Para Desenvolver Alexa Skills

CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Passo 5 - Envie Para Aprovação


E Publicação

Para garantir que sua skill seja certificada e


esteja disponível para os clientes o mais rápido
possível, há algumas coisas importantes nas
quais você deve se concentrar antes de enviar:

• Certifique-se de que suas frases de


exemplo reflitam com precisão as
maneiras pelas quais os clientes irão
interagir com sua skill. Os clientes lerão
esses exemplos antes de usar sua skill.
• Acerte suas descrições curtas e longas. A
descrição longa de sua skill é onde você
pode ser descritivo. Explique aos clientes o
problema que sua skill resolve ou o que é
divertido.
• Inclua palavras-chave na descrição de sua
skill que correspondam às frases-chave
que os clientes provavelmente pesquisarão
ao procurar sua skill.
• Certifique-se de incluir instruções claras
para a equipe de certificação.
36 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Depois que sua skill passar nos requisitos de


certificação, ela será publicada na Alexa Skills
Store para qualquer pessoa encontrar e usar.
Em seguida, promova sua skill para alcançar
mais usuários.

CelsoKitamura.com.br 37
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

imagem ultimo recado

38 CelsoKitamura.com.br
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

Um Último Recado

Independente se sua skill é algo revolucionário


que redefine a utilização da voz ou algo mais
simples que resolve um problema, publicar uma
Alexa skill é algo para se orgulhar.

Podemos fazer parte de mais uma revolução


tecnológica. Vivi o início da era da informação
nos primórdios da internet (e vi a "bolha ponto
com" estourar), passei pelas telas touch com a
revolução móvel e agora vemos o nascer de
outra quebra de paradigma: a interface de voz.

CelsoKitamura.com.br 39
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

5 Passos Para Desenvolver Alexa Skills

O sucesso desta nova maneira de interagirmos


com os dispositivos depende de nós,
desenvolvedores.

Saberemos utilizar todo o potencial desta nova


interface? É muito mais que transpor aquilo que
já fazemos na tela. São novas possibilidades,
novos caminhos.

Convido você a embarcar comigo nesta jornada.


E o início dela é o curso Profissão App Dev -
Série Alexa.

Nele você vai aprender a desenvolver skills para


Alexa fazendo software ao invés de exercícios
sem contexto, utilizando o método K.I.T.A..

Clique aqui para saber mais sobre o Profissão


App Dev - Série Alexa.

Bora criar uma skill Alexa?


40 CelsoKitamura.com.br
41
5 Passos Para Desenvolver Alexa Skills

CelsoKitamura.com.br
4.a capa
Licenciado para - Luis Fernando Ferreira de Araujo - Protegido por Eduzz.com

Você também pode gostar