APIs e o desenvolvimento de um mundo com robôs
Assistentes digitais pessoais como a Siri, da Apple, e Cortana, da Microsoft, são apenas o começo. Em breve, estaremos interagindo com todos os tipos de aplicativos e serviços online — desde gerenciar nossos calendários até encomendar pizzas e reservar quartos de hotel —, não com botões, formulários e controles que estamos acostumados, mas conversando com eles usando linguagem natural. Ou pelo menos, é o que dizem os grandes cérebros em algumas das maiores empresas de tecnologia. Eles estariam certos?
Ultimamente, parece que toda a indústria se tornou louca por chatbots. O Facebook já possui mais de 11 mil bots em sua rede de mensagens, e cerca de 23 mil desenvolvedores se inscreveram para usar suas ferramentas de desenvolvimento de bot. E muitos de seus defensores mais fervorosos dizem que eles substituirão os aplicativos móveis tradicionais por completo em apenas alguns anos.
Isso pode deixar alguns desenvolvedores confusos. Para alguns, desenvolver um robô em vez de uma interface gráfica parece um conceito tão estranho que eles nem saberiam por onde começar. Mas a verdade é que um futuro com robôs não precisa ser assustador, e provavelmente nem ser muito diferente da paisagem de desenvolvimento de hoje. Os desenvolvedores ainda usarão ferramentas e APIs (interfaces de programação) conhecidas, mas de novas maneiras.
O que são robôs?
Obviamente, nem todas as aplicações tradicionais estão desaparecendo. Um chatbot não pode efetivamente substituir o Angry Birds, muito menos algo como o Excel ou o Photoshop. Mas alguns estudos mostram que os downloads de aplicativos móveis estão em declínio, pois muitos usuários não estão dispostos a instalar um novo app para cada marca com a qual eles se envolvem. Se for esse o caso, então um único aplicativo que pode responder a uma variedade de consultas — como “me lembre de pegar as crianças às 18h” ou “eu preciso comprar óculos novos” — é uma ideia interessante.
Outro fator para a ascensão de chatbots é a adoção maciça de aplicativos de mensagens como o Facebook Messenger e o WhatsApp. De acordo com dados da empresa Activate, cerca de 2,5 bilhões de pessoas já se inscreveram em pelo menos um desses aplicativos e ambos oferecem uma interface ideal para conexão com chatbots.
Além disso, uma interface “que conversa” abre a porta para uma variedade de novos dispositivos além de PCs, tablets e telefones. Interfaces gráficas tradicionais funcionam bem para dispositivos com telas, mas como seria em um wearable, um sistema no carro, ou um dispositivo de casa conectada como Amazon Echo?
Mas calma. Ainda estamos muito longe dos robôs das histórias de ficção científica, totalmente interativos e de aparência humana. Enquanto os titãs da tecnologia estão trabalhando em inteligência artificial (IA) e machine learning para alimentar seus robôs, as tentativas de utilizar IA primitiva em robôs têm sido decepcionantes até agora. Que o diga o Twitter-bot da Microsoft, o Tay, que começou a postar mensagens inadequadas depois de alguns dias de contato e aprendizado com usuários da rede social.
Preparando-se para os robôs
Então, como será o típico chatbot? De forma simples, será um novo tipo de interface que permite que os humanos interajam com os sistemas de informação de novas maneiras. A principal diferença é que, embora os usuários estejam confortáveis clicando em várias páginas, interagindo com controles e preenchendo formulários, as interfaces de chatbot precisarão reduzir tarefas para um número mínimo de transações e automatizar mais etapas ao longo do caminho. Por exemplo, se você disser: “Preciso de uma grande pizza de pepperoni imediatamente”, o robô pode responder com: “Gostaria de usar o cartão de crédito?”
Por trás disso, porém, as necessidades de back-end de um chatbot são notavelmente semelhantes às de um aplicativo para celular. Ele precisa autenticar e enviar credenciais, bancos de dados de consulta, armazenar informações e interagir com sistemas que vão desde a folha de pagamento e automação de vendas a comércio eletrônico. E as chaves para desbloquear esses sistemas para os robôs de amanhã serão as APIs.
Na verdade, a maioria dos desenvolvedores provavelmente não vai escrever a parte linguística de seus bots próprios. Mesmo o processamento de linguagem natural mais simples pode ser complicado de conseguir. Em vez disso, eles provavelmente vão querer usar qualquer uma das várias APIs públicas que fornecem acesso aos sistemas de machine learning baseado em nuvem já disponíveis. Da mesma forma, se eles quiserem que seus robôs façam interface com plataformas de mensagens da Amazon, Facebook ou Twitter, eles vão se conectar com APIs para isso também. Bem como com os aplicativos móveis modernos, você pode pensar em um robô como essencialmente uma interface do usuário que fica em cima de uma camada de APIs que permite orquestrar o que ele precisa fazer.
A ascensão deste estilo de desenvolvimento que prioriza a API é uma ferramenta poderosa, que tornou possível mover-se facilmente dos apps móveis para chatbots e além. Mas também apresenta desafios para organizações mais acostumadas a construir aplicativos baseados em práticas tradicionais de desenvolvimento em cascata. Felizmente, o surgimento de soluções de gerenciamento de API como uma nova categoria de middleware ajudou a reduzir muitas dessas preocupações ao automatizar funções como descoberta, segurança e gerenciamento do ciclo de vida dentro da camada de API.
O aumento de chatbots certamente não marca a primeira vez que os desenvolvedores foram encarregados de mudar a forma como eles pensam sobre o design de aplicações nos últimos anos, e certamente não será a última. A lição a ser aprendida é que derrubar velhas ideias e práticas e adotar uma mentalidade que prioriza a API não só oferece para a organização uma vantagem na onda dos robôs, mas também as prepara para o que vem a seguir.
Fonte: Computerworld