SmartApps: Como construir aplicativos inteligentes

Sabe-se que a maioria das empresas ainda busca apps convencionais, algumas querem mostrar informações, outras querem mostrar produtos e outras querem transacionar coisas, como: compras, ordens de serviço etc. Há também as empresas que estão entrando agora na era dos dashboards, encontrando na mobilidade um diferencial competitivo.

Ocorre que os aplicativos estão ficando cada vez mais inteligentes e os desenvolvedores que desejam permanecer na crista da onda, precisam buscar alternativas modernas para entregar os serviços aos usuários finais.

Inteligência Artificial

Por isso, tem-se evidenciado cada vez mais o conceito de Inteligência Artificial, vejamos algumas definições:

Inteligência artificial (por vezes mencionada pela sigla em inglês AI – artificial intelligence) é a inteligência similar à humana exibida por mecanismos ou software (Wikipedia)

A Inteligência Artificial (IA) é o estudo de como fazer os computadores realizarem tarefas em que, no momento as pessoas são melhores. (Elaine Rich)

A Inteligência Artificial é por um lado uma ciência, que procura estudar e compreender o fenómeno da inteligência, e por outro um ramo da engenharia, na medida em que procura construir instrumentos para apoiar a inteligência humana. A I.A. é inteligência como computação, tenta simular o pensamento dos peritos e os nossos fenômenos cognitivos. (Citi)

É a ciência e a engenharia de construir máquinas inteligentes, especialmente softwares. Está relacionada a tarefa de usar computadores para entender a inteligência humana, mas a IA não deve ser confinada a métodos que são biologicamente observáveis. (Stanford)

Parece meio complicado, mas vejamos alguns exemplos simples que podem consolidar o conceito:

  • Buscar uma página no Google é um processo de IA, pois automatiza o trabalho que um humano teria de procurar milhares de páginas
  • Antigamente, nos telemarketings, os operadores precisavam buscar informações em livros para dar uma resposta aos clientes. Hoje em dia, buscam as perguntas mais frequentes e suas soluções num software.
  • Quando o computador analisa as várias possibilidades de um jogo de xadrez para definir uma jogada
  • Quando entende linguagem natural e extrai uma intenção

Para simplificar, sempre que o computador toma uma decisão através da análise ou inferência, traz resultados através da análise de uma série de possibilidades, encontra padrões através de algum tipo de observação, representa dados matematicamente ou aprende, está utilizando a IA.

Aplicativos Inteligentes

Então, considerando isso tudo, como podemos construir apps inteligentes?

Movimentação de menus

Um app pode ser mais inteligente se ele coletar o comportamento de um usuário e, a partir disso, modificar sua forma de interação. Por exemplo:

  • Um banco possui um tipo de cliente genérico (como todos somos tratados hoje) com as opções disponíveis, sem personalização.
  • Num segundo caso de uso, o banco identifica que o cliente sempre consulta o saldo e sempre compra créditos de celular e põe essas opções em primeiro.
  • No terceiro caso de uso, o banco identifica que o cliente também tem acessado investimentos e feito pagamentos com frequência

Reconfiguracao de menus do aplicativo 1
Outros casos de uso possíveis:

  • O banco identifica que o cliente tem utilizado o cartão frequentemente e adiciona o valor da fatura no dashboard inicial
  • Se o saldo projetado do cliente  (saldo atual – despesas médias) for menor que o necessário para pagar o cartão, ele movimenta a opção empréstimos para o primeiro lugar
  • Se, ao contrário, o cliente movimentar seus investimentos com frequência, o software identifica que é mais rentável para o cliente baixar do investimento e avisa o cliente num pop-up.

Reconfiguracao de menus do aplicativo 2

Outras opções

Um aplicativo bancário também poderia:

  • Se contextualizar pela localização do cliente (Localization Based Systems – LBS), oferecendo, por exemplo, operações de câmbio, produtos e serviços geo-localizados, descontos etc.
  • Poderia simplificar a linguagem dos menus para clientes com determinado perfil
  • Poderia oferecer opções de investimentos para quem tiver dinheiro parado na conta (afinal, o banco rentabiliza em dinheiro investido, não em dinheiro parado)
  • Poderia oferecer empréstimos para clientes com dificuldades financeiras
  • etc

Arquitetura mobile genérica para serviços baseados no uso

Conceitualmente, a arquitetura é muito simples:

  • O app atua como uma interface (front-end) que coleta as preferências do usuário para rever seus menus e dashboards.
  • Esses dados podem vir de coletas de comportamento (Big Data) ou do conjunto de interações do cliente com todos os canais do banco, se usar uma ferramenta de Marketing Cloud (Ex: Sales Force Marketing Cloud).
  • A cada transação selecionada pelo usuário, o app acessará um orquestrador que consumirá APIs de um barramento, naturalmente ligado aos sistemas legados.

Arquitetura mobile para inteligencia baseada no uso

Dados de preferências do usuário

Não é complicado, vai… Basta construir a base de dados de preferências, pense comigo: Se você criar logs das principais transações que o usuário acessa, terá facilmente o conjunto priorizado de opções do menu que deverá mostrar.

Aí restam duas opções, se você tiver capacidade de processamento, pode fazer isso unitariamente. Se não tiver, pode construir diferentes personas (usuário investidor, usuário pagador, usuário x) e, com isso, classificá-los em grupos, diminuindo o processamento de dados.

De qualquer forma, em batch, deve-se construir uma base de perfis de acesso, à qual cada usuário estará ligado e de onde sairão as transações que ele irá acessar.

Base de dados de preferencias do usuario

Neste modelo simples, usei a boa e velha tríade perfil, transação e usuário (jamais esquecendo da tabela da ligação entre transação e perfil) para demonstrar, sucintamente, sob qual estrutura se poderia construir um software de adaptação de menus por uso.

Com isso, espero ter contribuindo com insights para o desenvolvimento do seu app inteligente. No futuro, apresentarei outras alternativas.

Até lá!

Eli Rodrigues