Normalmente quando somos chamados para automatizar com um software um processo manual nosso primeiro instinto é traduzir para o software o processo da empresa.

Por exemplo, este é o formulário do departamento do trabalho da Nova Zelândia que permite soldagem, por motivos de segurança no trabalho (outros formulários aqui):

Formulário original

Se tivéssemos que automatizar o processo de autorização, muitas vezes o que faríamos seria algo assim, inicialmente;

Primeira tentativa de traduzir pra software

Isso traduz o começo do formulário, que continuaria até o final, embaixo.

Não há um enorme problema em começar desta forma. A pergunta que quero trazer é se realmente nosso trabalho é traduzir formulários de papel para seu exato formato eletrônico.

Sem precisar pensar muito, vou adicionar um componente a mais nesse formulário eletrônico:

Quebrando ele em pedaços

Ok, agora temos um botão, e em vez de ser um formulário gigantesco. Isso já ajudaria na visualização da tela.

Que tal melhorar mais?

Colocando tudo na mesma linha

Talvez agora fique mais fácil enxergar o formulário em aplicações mobile.

O que mais poderíamos fazer?

Melhorando um pouco mais, agora com um botão de busca

Olha lá, um botão para buscar pelo nome das pessoas, sem precisar ficar digitando.

Outro exemplo clássico é o grid:

Que grid é esse???

Porque ainda fazemos grids? Isso não é um relatório, porque estamos enchendo a tela de informações inúteis? Vocês podem imaginar outras formas de apresentar essa informação? Pensem nas aplicações para tablets: quantos grids vocês veem nelas?

O que estou propondo são apenas modificações simples no layout original. Na prática, eu convido vocês a repensar totalmente a necessidade que o formulário atende, sua razão de negócio, qual o ROI que ele proporciona. E a partir daí, modelar uma interface gráfica totalmente nova.

Nosso trabalho não é traduzir formulários. Lembre-se disso.

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.