Como a multiplataforma conduzirá o futuro da interface com o usuário?

Cada dispositivo demanda uma interface distinta, e o usuário agradece.

Will Soares
Jul 22, 2017 · 4 min read

A necessidade de acessar as mesmas informações através de diversos dispositivos diferentes é uma demanda que só tende a crescer nos próximos anos. A limitação física de armazenagem de dados, associada à computação em nuvem cada vez mais barata nos permite agora concentrar nossa vida em contas virtuais que se fazem disponíveis em qualquer dispositivo com acesso à internet.

As particularidades de cada dispositivo são uma barreira aos provedores desses serviços, os quais precisam se dedicar ao desenvolvimento de interfaces distintas para cada cenário. Isso vem popularizando o termo “multiplataforma“.

A multiplataforma tornou-se viável na indústria tecnológica com a introdução de arquiteturas de software que segmentam a aplicação em camadas. A arquitetura mais popular é a MVC (Model-view-controller) que, embora exista desde 1979, passou a ser utilizada em larga escala com o advento do AJAX — método de transação de dados capaz de permitir a renderização de páginas web sem necessidade de recarregamento de arquivos HTML — em 2006 nas aplicações web.

A MVC, basicamente, divide a aplicação em três camadas distintas, as quais podem ser desenvolvidas e evoluídas separadamente:

  • Model, ou modelo, é onde se concentram os dados e principais regras de negócio. Evoluções nessa camada costumam ser essenciais para novas funcionalidades do projeto. Trata-se do coração da aplicação;
  • View, ou visão, é a forma como o usuário final visualiza a aplicação e interage com uma determinada finalidade. É muito comum que cada dispositivo possua uma visão diferente, e não necessariamente tenha acesso a todas as regras de negócio do modelo;
  • Controller, ou controlador, é a camada responsável pela transação de dados entre model e view. Usualmente em forma de Web Services ou APIs, é o controller que recebe interações do usuário a partir da view, e envia dados para o model solicitando que uma ação esperada aconteça.

Usando um exemplo prático de aplicação multiplataforma, pensemos no aplicativo e no website do seu banco, e numa finalidade hipotética: Pagar uma conta em atraso.

  • Você pode escolher uma das duas views disponíveis: website ou aplicativo;
  • Independente da escolha, para ambos você precisa efetuar login;
  • Cada view foi desenvolvida de forma distinta, mas o controller recebe os dados da mesma maneira. Quando efetua o login, o acesso é exatamente no mesmo sistema, independente da interface;
  • O botão “Pagar conta” vai estar por ali. No website de uma forma, no aplicativo de outra;
  • Em muitos casos, sua view preferida tende a ser aquela que proporciona mais conforto. Se o boleto é digital, no computador o Copy-paste é uma mão na roda. Já no celular, você tem o recurso da leitura de códigos de barras, perfeito para títulos impressos;
  • Independente da view e do dispositivo, a numeração do boleto é a mesma. O código de barras foi incluído na interface e você clica/toca em “Enviar”;
  • Nesse momento a view envia seu código de barras ao controller, que normaliza os valores e envia para o model, que vai buscar por aquele número de boleto no banco de dados;
  • O model responde para o controller: Encontrei o boleto, mas está com a data vencida. Aqui estão data de vencimento, multa e regras para cálculo dos juros;
  • O controller, recém-atualizado, já recebe as informações, calcula os juros e multa, e informa à view;
  • O website recebe os dados mas, por ser mais antigo, ainda não sabe interpretar o novo formato. Resume-se a dar a má notícia com uma mensagem de erro e pede para o usuário preencher multa e juros manualmente. Faz-se necessária uma consulta às instruções do boleto e, com uma calculadora, o usuário se arrisca nos cálculos;
  • Já o aplicativo, mais recente, está preparado para receber essas informações adicionais e exibe o cálculo dos juros automaticamente, deixando o usuário a um toque de finalizar o processo;
  • Depois da autenticação por senha, o processo se finaliza.

O exemplo serve para mostrar o ciclo de vida de cada uma das camadas. Enquanto as views mudam com grande velocidade para acompanhar as tecnologias móveis, as regras de negócios são mantidas, com pequenas evoluções para que a experiência do usuário seja melhorada em versões mais recentes de interfaces. Com isso os sistemas deixaram de sofrer grandes reformulações, e passaram a disponibilizar controllers, cada vez mais sofisticados.

Com a popularização das Realidades Virtual e Aumentada, as views serão cada vez mais imersivas, enquanto funções triviais poderão perpetuar em controllers. A experiência de escolher um sofá, que o comprador pode ver virtualmente em sua sala de estar será muito cômoda e assertiva, porém o model continuará processando uma venda da mesma maneira.

Evoluções no núcleo do sistema serão focadas em outros pontos de interesse para o negócio, como a produção, logística e preparo para ações de pós-vendas. Cada uma das iniciativas, demandando evoluções no controller e desenvolvimento de suas respectivas views.

Embora as evoluções mais significativas das aplicações multiplataformas tenham se destacado nas views, uma tendência crescente é a de que o maior passo na evolução de interfaces com usuários para a próxima década esteja na introdução de inteligência artificial ao controller.

Os algoritmos genéticos, os quais otimizam resolução de problemas e possuem capacidade de aprendizado cada vez mais eficiente, já oferecem experiências impressionantes através de comandos de texto e de voz.

Tudo leva a crer que tecnologias usadas por Tony Stark estejam cada vez mais próximas de fazer parte do nosso cotidiano. Com menos foguetes e titânio, claro.

Artigo publicado no portal E-Commerce Brasil

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade