Complexidade

header image

As interfaces que usamos no dia a dia estão cada vez mais complicadas. Como chegamos aqui e o que isso significa para nosso cotidiano tecnológico?

Um incomodo recorrente na vida cotidiana de todas as pessoas, ao menos nos ~4.2 bilhões com acesso a internet, é a dificuldade em lidar com interfaces digitais em sites e aplicativos.

Não conseguir executar uma tarefa no smartphone ou computador é um problema recorrente que pode ter consequências leves ou graves. Por exemplo, um piloto não pode correr o risco de apertar um botão errado durante o voo simplesmente porque se distraiu. Já, quando você clica em checkbox por engano durante uma compra on-line, vai no máximo receber spam.

A complexidade de interfaces exige mais recursos como atenção, memória e conhecimento de quem opera.

Curva de aprendizado

Lidamos com interfaces em duas dimensões diariamente e um fator determinante na sua facilidade de uso é a medida de quão difícil é aprender usá-la. Operar um software de exames médicos exige um treinamento especial. Cada detalhe da interface serve (ao menos deveria) para facilitar a tarefa da pessoa que a opera.

Macbook exibindo uma interface de compra e venda de ações

Foto de Nick Chong na Unsplash

Uma interface de compra e venda de ações, por exemplo, deve possuir todo tipo de informação que ajude a pessoa que a opera tomar a melhor decisão naquele momento.

Mas interfaces de uso geral também podem ser excessivamente complexas. Você já tentou alterar as configurações de privacidade de uma rede social, por exemplo? Este exemplo se torna mais complicado com o passar do tempo porque tende a receber funcionalidades constantemente, mudando uma área conhecida e incluindo novas funções que deixam a tomada de decisão mais complexa.

Há um paradoxo curioso no mundo do desenvolvimento digital. Quanto mais uma funcionalidade é importante para uma organização, mais ela recebe atenção dos times responsáveis. Assim, ela tende a receber mais funcionalidades com o passar do tempo e, invariavelmente, se torna mais e mais difícil de usar.

Pensem no Excel, da Microsoft, por exemplo. Ao longo de décadas ele recebeu mais e mais funções e sua curva de aprendizado aumentou exponencialmente.

Por isso, curva de aprendizado é um conceito essencial para delimitar a complexidade de um produto. Ela representa o quanto uma pessoa precisa conhecer para conseguir utilizar a interface. Interfaces fáceis de usar (pense numa maçaneta de porta) exigem pouco aprendizado. Interfaces complexas, como um cockpit de avião exigem anos de dedicação.

A indústria de tecnologia

Cockpits de avião são bons exemplos de interfaces críticas. Para projetar esse tipo de interface, é necessário um longo processo que considera não apenas quais controles devem existir para o piloto, mas também como eles podem induzir ao erro causando acidentes. Existem uma complexidade de normas e regulações que gerem esse tipo de interface e o seu desenvolvimento é vagaroso justamente para se tornar uma interface segura.

Cockpit de um avião

Foto de Oskar Kadaksoo na Unsplash

Agora, do lado oposto, temos as empresas do vale do silício com o fatídico move fast and break things, popularizado pelo benefício de desenvolver modelos de negócio rapidamente, essa filosofia de trabalho coloca a necessidade de construir uma interface inteligível em segundo plano. De fato, mesmo a ética perde a importância com esse modelo de trabalho.

O problema é que este é um dos principais motivos dos serviços mais usados no dia a dia, como aplicativos de banco, redes sociais e e-commerce serem tão ruins.

“A nova geração de softwares deu passos gigantescos em direção à atratividade e poder computacional ao mesmo tempo que se tornou mais difícil para pessoas usarem.”

Don Norman [1]

Construir de maneira rápida, mitigando riscos é benéfico do ponto de vista financeiro. Bem, ao menos paras empresas. O principal objetivo dos times responsáveis por criar e manter produtos digitais é fazer com que o usuário consumidor contrate/compre/assine o mais rápido possível. Para isso, construir um produto fácil de entender é importante até o momento em que o visitante se torna um cliente rentável. Depois disso, fica em segundo plano e normalmente as reclamações se tornam responsabilidade do time que atende o cliente.

Processo de criação de produtos

Este modo de trabalho está tão enraizado na cultura corporativa que existe um processo padrão para desenvolver novos produtos.

Por exemplo, quando se constrói produtos digitais, um hábito comum é a utilização de MVPs. A gente constrói de maneira rápida, porém sem muito esmero, para testar o produto com uma quantidade pequena de clientes. A ideia, geralmente é mitigar riscos graves para descobrir se a existência do produto vale a pena.

Uma casa de campo frágil sendo sustentada por cordas

Foto de Mark König na Unsplash

Aqui, a facilidade de uso até é um ponto importante, ao menos durante a aquisição e retenção de clientes.

O próximo passo, geralmente, é um lançamento gradual, acompanhado de ajustes para um público ainda maior. Daqui pra frente, funcionalidades são adicionadas gradativamente pelo planejamento do time, comparação com concorrentes e, ocasionalmente, a partir de opiniões e sugestões dos próprios usuários.

Veja, neste ponto o produto já existe e é utilizado pelas pessoas. Dificilmente são feitas grandes mudanças e mesmo a facilidade de uso, é otimizada pontualmente sem que isso se traduza em menos receita para a empresa.

Essa história se repete hoje em startups e empresas de tecnologia, diariamente. As necessidades de retorno sobre investimento são um motivador feroz para que esse processo continue indefinidamente, adicionando funções novas ao produto para extrair o máximo de lucro de cada cliente.

E assim, de pouco em pouco, todo produto se torna mais complexo, difícil de usar e frustrante. Preocupações com usabilidade ficam para um futuro incerto.

Redução de danos

Ainda estamos aprendendo a lidar com complexidade. A área de interface humano-computador não possui nem 50 anos[2] e, apesar da evolução nas últimas décadas, não existe um modelo simples para resolver este problema.

Dado o contexto em que produtos são desenvolvidos, também há pouco espaço para reprojetar interfaces difíceis de usar. Mesmo assim, algumas técnicas podem ajudar a diminuir os efeitos da complexidade ou, ao menos, reduzir os danos para o usuário final:

Um problema complexo

Por fim, por mais que existam meios para lidar com a complexidade de uma interface digital em 2 dimensões, é importante perceber que esse é um problema não apenas técnico.

Existe um motivo para produtos serem construídos às pressas. Em muitos serviços, inclusive, há um interesse da organização responsável em garantir que seus clientes saibam apenas o mínimo sobre o serviço oferecido. Essas armadilhas são menos relacionadas à capacidade cognitiva humana e tem ligação direta com a necessidade de negócios rentáveis se desenvolverem no mundo contemporâneo.

Harry Brignull tem ótimos pontos sobre porque a tecnologia e o design atuam dessa maneira: Produtos digitais são comummente orientados na busca por engajamento e projetados com base em coleta de dados comportamentais. Ou seja, há uma relação entre a prática contemporânea de construção de produtos digitais e o desenvolvimento de dark patterns. Seu trabalho, sobre Deceptive Design, inclusive, contribui muito com essa discussão.

Se estamos construindo interfaces tão difíceis de usar, elas são realmente necessárias? Hoje em dia lidamos com uma quantidade de informação exponencialmente maior do que gerações passadas. Tomar decisões diariamente, especialmente utilizando interfaces de dispositivos, é uma ação exaustiva. Ao que tudo indica, também é cada vez mais complexa. Precisamos realmente viver dessa maneira?

Essas perguntas não têm resposta clara. Mas tem existe metáfora corriqueira que chama atenção nessa discussão: Uma interface é, de certa maneira, como diálogo. É um modo de conversar com um objeto. Estamos dispostos a manter esses diálogos apressados e confusos? Ou existem maneiras melhores de se dialogar com as coisas?


  1. How Apple Is Giving Design A Bad Name ↩︎

  2. Interação humano–computador ↩︎

  3. Google Designer David Hogue: How to Avoid Over-Complication in Product Design ↩︎