Criar erros acionáveis

Quando pensamos em erros de app do Chat, alguns de nós podem pensar na mensagem de erro infame da HAL 9000 do filme 2001: Uma Odisseia no Espaço: "Desculpa, Dave. Infelizmente, não posso fazer isso." Cinema divertido, interação frustrante com o app Chat. Em vez disso, a HAL deve ter respondido com uma mensagem de erro útil.

Uma mensagem de erro útil diz ao usuário como prosseguir para o objetivo dele, sem encontrar outro erro, como um capacete.

Estrutura da mensagem de erro

Uma mensagem de erro útil é estruturada assim:

  • O que deu errado. Dizer por que o app de chat não conclui uma solicitação ajuda o usuário a resolver o problema. Explicar por que um erro ocorreu gera confiança.
  • Como o usuário pode alcançar a meta. Nunca é suficiente dizer o que deu errado. Informe aos usuários como podem ir além do erro e concluir a meta.
  • Como receber ajuda. Se o usuário ainda estiver preso, diga como ele pode receber mais ajuda. Pode ser um comando /help ou um link para a documentação do seu app de chat.

Exemplos de mensagens de erro

Vamos ver alguns exemplos de mensagens de erro. Essas mensagens de erro são escritas como erros acionáveis e não acionáveis.

Exemplo de mensagem de erro: formato de data incorreto

O usuário inseriu um formato de data incorretamente. Eles escreveram November 19, 2021, mas o app espera 2021-11-19.

Veja uma versão acionável e não prática da mensagem de erro que o app responde:

Erro útil

O app responde com uma mensagem de erro útil e relevante:

Não reconheço o formato de data inserido. Escreva as datas como yyyy-mm-dd, por exemplo: 2000-01-31. Para receber ajuda, digite /help.

Exemplo de mensagem de erro que informa ao usuário o que deu errado, como continuar e como receber ajuda.

Essa mensagem de erro é acionável porque:

  • Diga o que deu errado. O app não reconhece o formato de data.
  • Explica como corrigir o erro informando ao usuário o formato de data esperado. Como o formato de data é técnico, o app fornece uma data de exemplo que ajuda as pessoas a entender o que escrever.
  • Oferece mais ajuda com um comando /help. Se o usuário ainda estiver preso, ele saberá como saber mais.

Erro não utilizável

O app responde com uma mensagem de erro irrelevante e não útil:

Insira o formato de data correto.

Exemplo de mensagem de erro que não fornece informações úteis.

Esta mensagem de erro não está disponível porque:

  • Digamos que ele não tenha programado a reunião. O usuário pode hesitar em reagendar a reunião ou pode achar que a reunião foi programada.
  • Informe aos usuários como formatar a data. Em vez de presumir que os usuários saibam como formatar a data, ela precisa dizer que está no formato yyyy-mm-dd.
  • Ofereça mais ajuda. Quando os usuários estão travados e não sabem como proceder, eles podem parar de enviar mensagens ao app.

Agora pense nas mensagens de erro. Elas são acionáveis? Se um usuário que nunca trabalhou com apps de chat antes de ler as mensagens de erro, ele consegue atingir essa meta?

Testar

Agora que você já sabe como escrever erros acionáveis, consegue identificar quais deles?

Cenário:

O app programador cria eventos da agenda quando os usuários enviam mensagens para o app com a palavra-chave schedule. Para criar um evento da agenda, o programador exige autenticação do usuário. Se um usuário não tiver feito a autenticação, o app Scheduler vai responder com uma mensagem de erro.

Qual mensagem de erro é útil?
Para que eu possa agendar a reunião, digite /login. Para saber mais, digite /help.
Essa mensagem de erro é útil porque diz:
  • O que deu errado: o app exige autenticação.
  • Como prosseguir: digite /login para autenticar.
  • Como receber ajuda: se o usuário quiser mais informações, ele pode digitar /help.
Você precisa fazer a autenticação.
Esta mensagem de erro não está disponível porque ela não diz como autenticar.
Faça login.
Essa mensagem de erro não é acionáveis e não diz como fazer login. Ela implica que o usuário é desconectado, em vez de dizer claramente, o que é confuso.
Não é possível programar a reunião.
Essa mensagem de erro não é utilizável porque não informa ao usuário por que a reunião não pode ser programada ou como o usuário pode prosseguir. Nenhuma ajuda é fornecida.