Você é um desenvolvedor web também? Já estou nesse caminho há 20 anos, desde os primórdios da internet, quando ela era discada a uma espantosa velocidade de 33kbps…
Bons tempos em que a gente esperava o final de semana para usar internet, por conta do único pulso cobrado pelas companhias telefônicas. E aquele barulho quando a conexão se estabelecia, durante o hand shake? Nada mais nostálgico…rsrs
O Que Desenvolvimento De Skills Para Alexa Tem A Ver Com Desenvolvedor Web?
Sabia que a gente pode traçar várias analogias entre o desenvolvimento web e o desenvolvimento de skills para Alexa? O desenvolvimento de skills para Alexa não é tão diferente de desenvolver um sistema web. E pode ser uma extensão natural do conjunto de habilidades de verdadeiro um App Dev.
Além disso, sua skill Alexa pode ser mais uma porta de entrada do seu aplicativo web. Ao criar uma skill personalizada Alexa, você pode expandir seu alcance para mais de 100 milhões de dispositivos Alexa em todo o mundo.
Desenvolvimento de skills para Alexa pode parecer muito diferente de desenvolvimento para web, mas podemos elencar várias semelhanças entre esses dois paradigmas de programação e assim clarear muitas dúvidas que você pode ter aí na sua cabeça. Desta forma você poderá se preparar melhor para desenvolver suas próprias skills Alexa!
Mas Eu Não Sei Nada De Processamento De Voz
Eu como desenvolvedor web não conheço detalhadamente processamento de voz. Apenas ouvi falar disso durante a faculdade, pois um professor estava trabalhando em um projeto que utilizava reconhecimento de fala.
Mas nós não precisamos ter profundo conhecimento de Processamento de Linguagem Natural (PNL) ou Machine Learning (ML). Quando desenvolvemos uma skill personalizada, tudo isso é abstraído pelo serviço Alexa, então não precisamos ser especialistas nessas tecnologias. Apenas nos concentramos nos aspectos criativos e funcionais da construção de experiências de voz.
Arquitetura
Em um sistema web temos o front-end e o back-end. O front-end é nosso site, e o back-end é onde temos todo o processamento da informação, regras de negócio, persistência de dados, etc.
Pois podemos dividir uma skill desta forma também. O front-end da skill é o modelo de interação. E o back end é praticamente igual ao de um sistema web, com o processamento de informações, regras de negócio, persistência de dados, etc.
Navegadores E Dispositivos
Os aplicativos web precisam de um client para os usuários o consigam utilizar, que neste caso é um navegador, um browser. Ele fornece uma interface gráfica com o usuário (GUI), que interagem usando o mouse e o teclado para apontar e clicar. Nas skills Alexa, os usuários podem conversar por meio de um dispositivo Alexa. A skill fornece uma interface de usuário de voz (VUI) em vez de um mouse e teclado.
HTML E Voz
Nos aplicativos web, o HTML adiciona elementos e fornece estrutura a uma tela. Nas skills Alexa, os elementos e a estrutura são fornecidos pelo diálogo entre Alexa e o usuário. Especificamente, a parte da fala com a qual os usuários interagem é projetada por meio do modelo de interação.
Modelo De Interação
O front-end de uma aplicação web é o site. E o front-end de uma skill é o modelo de interação.
Dentro do front-end dos dois podemos fazer algumas analogias também.
URL E Nome De Invocação
O nome de invocação (invocation name) é como a Alexa identifica sua skill. É o nome que os usuários dirão quando quiserem interagir com sua skill.
E quando combinado com a frase de lançamento (launch phrase) a Alexa inicia sua skill.
Podemos comparar o nome de invocação como um nome de domínio e dizer a frase de lançamento é como digitar a URL no navegador.
Cliques E Enunciados
Uma das maneiras de realizar uma ação num aplicativo web, é clicar em um botão numa página.
Em uma skill, podemos dizer enunciados para expressar uma intenção ou ação em que você gostaria que a Alexa o ajudasse.
Campos De Formulários E Slots
Num formulário de um aplicativo web temos vários campos em que o usuário preenche para enviar informações ao sistema.
Numa skill utilizamos slots dentro de um enunciado para fazer o envio de informações para o back-end.
E toda aquela validação que fazemos num formulário (campos obrigatórios, campos numéricos, etc.) também podemos fazer em nossa skill utilizando regras e validadores no modelo de interação.
Requests E Intenções
Uma página web faz um request HTTP quando enviamos um formulário HTML.
Em uma skill, o envio do request e de seus dados relacionados ao back-end é feito pela Intenção, que é a realização da solicitação falada do usuário.
Palavras Finais
Como você viu, desenvolver skills para Alexa não é muito diferente de desenvolver um aplicativo web.
Podemos traçar vários paralelos entre os dois desenvolvimentos e fazer com que o aprendizado de criação de skills seja bem tranquila para o desenvolvedor web.
Usando a mim mesmo como exemplo, antes da Alexa chegar no Brasil nunca tinha visto nada mais profundo sobre desenvolvimento de skills.
O fato do desenvolvedor web já ter trabalhado bastante com java script com certeza é um facilitador na hora de criar skills com Node.js, uma das linguagens com que podemos construir o back-end de uma skill do tipo Alexa Hosted.
Então… Bora criar skills para Alexa!
Meu e-book com 4 passos para criar sua primeira skill Alexa está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/minha-primeira-skill-alexa
Bora aprender a desenvolver skills para Alexa!