Boas práticas para mensagens de erro

Boas práticas para mensagens de erro

Quando o assunto é desenvolvimento de aplicações digitais, muitas vezes pensamos de maneira negativa no tratamento de erros, uma vez que, projetamos nossos sistemas para evitar os erros, certo? Pois bem, pensar em como tratar os erros e exibi-los de maneira amigável para nossos usuários é tão crucial quanto evitá-los. E acredite, por mais clichê que pareça, isso faz toda a diferença.

Para iniciarmos o assunto, proponho trocarmos o termo “mensagem de erro” para “mensagem de exceção”. Quando falamos em mensagens de erro, a aplicação foi projetada para ser usada de uma única maneira e o usuário desvia desse caminho feliz. No entanto, se pensarmos na abordagem do design resiliente, projetamos a aplicação dando a flexibilidade para que o usuário resolva problemas e explore as informações como desejar, e frente a situações inesperadas, orientá-lo para que sozinho resolva os problemas encontrados.

Partindo disso, darei algumas dicas de como pensar na experiência do usuário na hora de tratar os erros, escrevendo boas mensagens de exceção.

Exibição

O primeiro passo é pensar na maneira como exibi-la. A mensagem de exceção deve ser, sobretudo, diferente do conteúdo principal da página. Existem dois tipos principais de mensagens: a de página inteira e a em linha.

A mensagem de exceção em linha permite que o usuário interaja com o conteúdo principal da página e possa corrigir a condição de erro. É recomendável utilizá-la sempre que a exceção possa ser recuperada facilmente pelo usuário, como no caso do login inválido no Mailchimp.

Exemplo de mensagem em linha

Perceba que a mensagem ganha um destaque especial ao mesmo tempo em que os campos do formulário ficam disponíveis na tela, basta o usuário corrigir o username para prosseguir.

A mensagem de exceção de página inteira pode ser utilizada quando a condição de erro não é recuperável ou requer que o usuário execute alguma ação específica. Nesse caso, a mensagem deve ocupar mais ou menos a página inteira e os outros itens da tela devem ser escondidos para induzir o usuário a resolver a situação.

Exemplo de mensagem de tela inteira

No exemplo do Uber, quando o gps está desativado é necessário antes de mais nada, que o usuário o habilite, pois a ação principal da tela, que é pedir o carro, depende diretamente dessa ação.

Evite o uso de popups

Uma boa prática é evitar o uso de popups, pois as chances de o usuário ignorá-las sem ler o conteúdo são grandes. Além de que várias popups pulando a todo momento podem causar frustração.

Outro problema é que popups podem interromper o usuário no meio de uma determinada interação. Um exemplo, é o acesso a permissão da localização em aplicativos. Se ao acessar a tela o usuário não oferecer a permissão de acesso a localização, ao invés de exibir uma popup solicitando o acesso, podemos exibir uma mensagem no canto da tela solicitando a localização.

Popup de permissão de acesso a localização
Mensagem exibida quando a permissão de localização não foi concedida

Dessa maneira, informamos ao usuário de maneira clara que é necessário habilitar a localização e para qual finalidade ela é requerida, sem fazer o uso de popup.

Conteúdo

A comunicação com o usuário deve ser clara e objetiva, por isso, precisamos pensar com carinho no conteúdo que vamos exibir. Uma boa mensagem de exceção deve responder as seguintes perguntas:

O que aconteceu?

O que isso significa?

O que o usuário pode fazer sobre isso?

O que aconteceu?

A primeira pergunta é sem dúvida a mais difícil de ser respondida. Precisamos entender muito bem o que aconteceu e traduzir para a linguagem do usuário. Como explicar para alguém leigo em tecnologia a frase “Erro interno no servidor”? Não devemos utilizar termos técnicos e assumir que o usuário é o culpado pelo erro ocorrido.

Evitar iniciar as mensagens com palavras negativas é uma ótima maneira de ser um pouco menos agressivo e mais gentil com o usuário que está ali frente ao erro. Nesses casos, a dica de ouro é abusar da palavra do momento, a empatia.

O que isso significa?

Além de deixar claro para o usuário o que está acontecendo é importante explicar as consequências do problema. Digamos que a confiança do usuário nesse momento pode estar um pouco abalada, visto que acabou de receber um erro, por isso, é importante ser claro sobre a o que ocorreu. A frase “Podemos ter perdido seus dados devido a instabilidade na internet” é muito mais significativa do que simplesmente “Ocorreu um erro desconhecido”.

O que devo fazer?

Por fim, e não menos importante, é necessário direcionar o usuário sobre o que ele deve fazer frente ao erro, incluindo ações que possa executar para contornar a situação. Vamos evitar que nossos usuários fiquem com a sensação de “E agora, José?”. Ainda no exemplo do Uber, a ação “Ativar serviços de localização” ilustra bem como direcionar o usuário sobre o que fazer.

“Boas mensagens de erro dizem aos usuários o que deu errado — e possivelmente o porquê — fornecem uma ou mais soluções para corrigir o erro e oferecem um conjunto de botões que se relacionam diretamente à próxima ação que um usuário deve tomar.” — Rhonda Bracey

Símbolos e cores

Além das palavras, podemos reforçar as mensagens através de símbolos e cores, associando um estilo visual para cada tipo de mensagem. Vale ressaltar que é importante tomar cuidado com as cores, afinal, podemos ter usuários com deficiência de visão.

Exemplo de símbolos e cores para cada situação

O usuário lerá os símbolos como palavras, por isso, é importante usar símbolos e cores adequados para cada situação. A dica da vez é documentar esses estilos em um guia de estilos para que todos possam compartilhar e manter o padrão e consistência na aplicação.


Conclusão

A melhor mensagem de erro é aquela que não aparece. Mas, isso não elimina o fato de que podemos e devemos pensar no usuário até mesmo quando o assunto é tratamento de erros. Sempre que algo inesperado acontece, os usuários no geral, tendem a ficar inseguros sobre o que fazer e eles precisam de clareza e ajuda na aplicação, por isso precisamos ser legais e gentis com nossas palavras.

Pensar com um pouco mais de empatia, assumir que nosso usuário pode não ter conhecimento técnico e que ele não é responsável pelos erros, são os primeiros passos para tornarmos as mensagens de exceção mais humanas.

Até a próxima 🙂

Ana Gabriel

Ana Gabriel


Product Owner na Tegra
- Soluções Digitais, organizadora do Rails Girls Sorocaba, apaixonada em resolver problemas através da tecnologia, aprender e ensinar.