Tenho pensado ultimamente sobre uma tendência dos aplicativos móveis que é deixar de priorizar a interface do usuário (UI), estratégia que dominou websites e aplicativos nos últimos anos. Parece que a evolução da tecnologia está caminhando para tornar a UI subordinada à experiência geral do usuário (UX), que inclui não apenas a interface gráfica mas também a conectividade back-end, performance e confiança.

Indo um pouco além, com a melhoria dos sistemas de comando de voz, resposta tátil e pequenos aparelhos wearable (vestíveis), a tela vem se tornando uma parte menos importante de nossa interação com os aplicativos móveis.

Acredito que há uma intersecção interessante entre como nós usaremos os aplicativos móveis e como vamos desenvolvê-los no futuro: aplicativos serão mais como notificações acionáveis do que como destinos; e nós os desenvolveremos usando componentes prontos, sempre que possível, ao invés de códigos personalizados.

O que é a componentização do mobile?

A componentização é o uso de padrões de design comuns testados para construir aplicativos móveis sem precisar reinventar a roda. Por exemplo, um app de entregas pode precisar de uma assinatura como comprovante de recebimento, conexão com um serviço de mapas, acesso a recursos de GPS de forma nativa, telas básicas e a possibilidade de trabalhar em modo desconectado ou off-line. Ao invés de desenvolver cada um destes elementos comuns, por que não usar um componente pronto, pré-desenvolvido, testado, de fácil manutenção e de atualização automática?

Utilizar componentes pré-desenvolvidos como parte da plataforma de desenvolvimento de uma aplicação reduz tanto o risco de o recurso não funcionar, quanto a curva de aprendizado no início de seus projetos móveis. Como a maior parte das empresas ultimamente encontram necessidade de criar múltiplos aplicativos móveis, mas desejam manter uma experiência consistente entre eles, faz sentido poder pegar uma tela padrão, listar múltiplas variáveis da tela, e aplicar mudanças de forma consistente entre todas elas.

O objetivo é fornecer uma experiência de usuário consistente entre todos os seus aplicativos móveis, independente de qual aparelho (wearable, smartphone, tablet, PC etc.) ou ecossistema ele esteja, enquanto mantém uma sensação de ser nativo em todas as plataformas. Isto tem ficado cada vez mais interessante com a mudança na direção das notificações acionáveis substituindo a abertura completa do aplicativo, com a interface do usuário (UI) tornando-se menos relevante.

Seriam as notificações a nova interface do usuário?

Escrevi recentemente sobre o conceito de que, no futuro, aplicativos usarão sensores, comando de voz e serviços web para antecipar suas necessidades e fornecer uma interação com baixa necessidade de interação e contextualizada como necessário. Meu argumento era que neste mundo haveria muito menos ênfase na interface do usuário (UI) do que há hoje e que a experiência do usuário (UX) seria o foco. Logo depois eu leio um artigo que apresenta uma visão semelhante: que, ao invés de construir aplicativos como destino, ele tem se tornado uma ferramenta de publicação com conteúdo acionável. Esse referido artigo vê os “cards” – notificações de um aplicativo que fornece conteúdo e um fluxo de resposta no “cartão” – como a solução, pois o cartão permite fácil interação com a notificação sem ter que carregar um aplicativo. Tanto o iOS quanto o Android já estão indo nesta direção, mas não pude deixar de achar engraçado que esta é uma outra inovação da Microsoft que precisou de outra empresa para de fato fazer funcionar: este é praticamente o mesmo conceito por trás das “Live Tiles” no Windows e no Windows Phone 8.

Estou particularmente intrigado com a ideia de se conectar notificações como uma série de objetos. Se você considerar o Facebook por exemplo, ele é um conjunto agregado de conteúdo, com cada peça de conteúdo sendo um objeto. Então suas notificações estão ligadas ao objeto. Como tudo que envolve as notificações, como a possibilidade de lançar respostas (como curtir, compartilhar ou comentar) está ligado ao objeto, isto também significa que o objeto é que é importante.

Aplicativos componentizados e o admirável mundo novo

A tendência de aplicativos focados em notificações com uma interface de usuário mínima podem se encaixar facilmente em uma plataforma e em um framework de desenvolvimento de aplicativos móveis. Enquanto a prioridade se torna fornecer ao usuário funcionalidades previsíveis e confiáveis e uma experiência consistente, faz sentido utilizar componentes pré-desenvolvidos, que são testados, de fácil manutenção e estão sempre atualizados.