Como fazer com que os usuários leiam mensagens de erro?

177

Se você programa para um público não técnico, corre o risco de os usuários não lerem suas mensagens de erro cuidadosamente redigidas e esclarecedoras, mas apenas clica no primeiro botão disponível com um encolher de ombros de frustração.

Então, estou pensando em quais boas práticas você pode recomendar para ajudar os usuários a realmente ler sua mensagem de erro, em vez de simplesmente renunciar a ela. As idéias em que eu consigo pensar se encaixam nas seguintes linhas:

  • Formatação de ajuda do curso; talvez uma mensagem curta e simples, com um botão "saiba mais", que leva a uma mensagem de erro mais longa e detalhada
  • Todas as mensagens de erro estão vinculadas a alguma seção do guia do usuário (um pouco difícil de alcançar)
  • Apenas não emita mensagens de erro, simplesmente se recuse a executar a tarefa (uma maneira um pouco "Apple" de lidar com a entrada do usuário)

Editar: o público que tenho em mente é uma base de usuários bastante ampla que não usa o software com muita frequência e não é cativa (ou seja, nenhum software interno ou comunidade restrita). Uma forma mais genérica dessa pergunta foi feita no slashdot , portanto, você deve procurar aqui algumas respostas.

F'x
fonte
12
wiki da comunidade ....
jldupont
3
Qual público-alvo você direciona para o seu software? Por exemplo. poucas empresas ou usuários de internet? Existe uma relação que você possa estabelecer com os usuários?
Janusz Skonieczny
@WooYek: Essa seria (no meu caso) uma base de usuários bastante grande, mas com um tempo de uso limitado (ou seja, não é um software que você usa com tanta frequência, é mais um "uso ocasional" com uma grande base de usuários possível).
F'x
@MikeJ Talvez seja a mesma pessoa que postou a pergunta em vários sites?
7wp 01/03/10
7
Eu estava no laboratório de informática da faculdade. Alguém se sentou ao meu lado e tentou fazer login. A mensagem de erro surgiu: "Senha incorreta. Verifique se você não tem o caps lock ativado". Ela o dispensou sem ler e tentou novamente. Várias vezes. Quando ela me pediu ajuda, eu apenas disse a ela para ler a mensagem.
Trig

Respostas:

70

Essa é uma excelente pergunta digna de um +1 de mim. A questão, apesar de simples, abrange muitos aspectos da natureza dos usuários finais. Aqui tudo se resume a vários fatores que beneficiariam você e o próprio software e, é claro, para os usuários finais.

  • Não coloque mensagens de erro na barra de status - elas nunca as lerão, apesar de terem cores vibrantes, etc ... sempre sentirão falta delas! Não importa o quanto você tente ... Em um estágio durante o teste da interface do usuário do Win 95 antes de ser lançado, a MS realizou um experimento para ler a interface do usuário ( ed - note-se que a mensagem declarada explicitamente no contexto de 'Olhe embaixo da cadeira' ), com uma nota de 100 dólares colada na parte inferior da cadeira em que os participantes estavam sentados ... ninguém viu a mensagem na barra de status!
  • Torne as mensagens curtas, não use palavras intimidadoras, como 'Alerta: o sistema encontrou um problema', o usuário final apertará o botão de pânico e reagirá em excesso ...
  • Não importa o quanto você tente, não use cores para identificar a mensagem ... psicologicamente, é como acenar uma bandeira vermelha para o touro!
  • Use palavras neutras para transmitir uma reação mínima e como proceder!
  • Talvez seja melhor mostrar uma caixa de diálogo listando a mensagem de erro neutro e incluir uma caixa de seleção indicando 'Deseja ver mais dessas mensagens de erro no futuro?', A última coisa que um usuário final deseja é estar trabalhando no meio do software a ser bombardeado com mensagens pop-up, eles ficarão frustrados e serão desativados pelo aplicativo! Se a caixa de seleção estiver marcada, registre-a em um arquivo ...
  • Mantenha os usuários finais informados sobre quais mensagens de erro haverá ... o que implica ... treinamento e documentação ... agora é difícil de transmitir ... você não quer que eles pensem que haverá 'problemas' ou 'falhas' e o que fazer no caso disso ... eles não devem saber que haverá erros possíveis, de fato complicado.
  • Sempre, sempre, não tenha medo de pedir feedback quando acontecer o sem intercorrências - como 'Quando esse erro número 1304 apareceu, como você reagiu? Qual foi a sua interpretação '- o bônus com isso, o usuário final poderá fornecer uma explicação mais coerente em vez de' Erro 1304, objeto de banco de dados perdido! ', Em vez disso, poderá dizer' cliquei sobre isso para e então, alguém puxou o cabo de rede da máquina acidentalmente ', isso indica que você precisa lidar com isso e pode modificar o erro para dizer' Opa, conexão de rede desconectada '... você entendeu.
  • Por último, mas não menos importante, se você deseja atingir o público internacional, leve em consideração a internacionalização das mensagens de erro - por isso, mantenha-o neutro, pois será mais fácil traduzir, evitar sinônimos, gírias etc. a tradução sem sentido - por exemplo, a Fiat Ford, a empresa de automóveis que vendia sua marca Fiat Ford Pinto, mas percebeu que não estava acontecendo nenhuma venda na América do Sul; no final, Pinto era uma gíria para 'pênis pequeno' e, portanto, nenhuma venda ...
  • ( ed ) Documente a lista de mensagens de erro esperadas em uma seção separada da documentação intitulada 'Mensagens de erro' ou 'Ações corretivas' ou similar, listando os números de erro na ordem correta com uma declaração ou duas sobre como proceder. ..
  • ( ed ) Obrigado a Victor Hurdugaci por sua contribuição, mantenha as mensagens educadas, não faça com que os usuários finais se sintam estúpidos. Isso contraria a resposta de Jack Marchetti se a base de usuários for internacional ...

Edit: Uma palavra especial de agradecimento ao gnibbler que mencionou outro ponto extremamente vital também!

  • Permita que o usuário final possa selecionar / copiar a mensagem de erro para que, se assim o desejarem, envie um email para a equipe de suporte de ajuda ou a equipe de desenvolvimento.

Editar # 2: Meu mal! Ops , graças ao DanM que mencionou isso sobre o carro, eu confundi o nome, era Ford Pinto ... meu mal ...

Edição nº 3: destaque por ed para indicar itens adicionais ou aditivos e creditados a outros por suas entradas ...

Editar # 4: Em resposta ao comentário de Ken - eis a minha opinião ... Não, não é, use cores neutras padrão do Windows ... não use cores chamativas! Atenha-se à cor de fundo cinza normal com texto em preto, que é uma diretriz padrão da GUI normal nas especificações da Microsoft. Consulte as Diretrizes UX ( ed ).

Se você insiste em cores chamativas, pelo menos, leve em consideração os usuários potencialmente daltônicos, ou seja, a acessibilidade, que é outro fator importante para os portadores de deficiência, mensagens de erro amigáveis ​​à ampliação da tela, daltonismo, aqueles que sofrem com albinos, eles pode ser sensível a cores chamativas e epiléticos também ... que podem sofrer de determinadas cores que podem desencadear uma convulsão ...

t0mm13b
fonte
1
Interessante sobre a barra de status. Eu diria que as pessoas fazem aviso essas tiras coloridas brilhantes na parte superior de uma página web que indicam, por exemplo, "você apenas ganhou uma boa badge Resposta". Isso não é equivalente à barra de status, mas indica que a posição e a cor do plano de fundo de uma mensagem de erro são fatores significativos. Ah, e uma pequena nota de ortografia: é o Fiat Punto. Pinto era um produto da Ford famoso por seu tanque de gasolina montado na traseira que às vezes explodia. Gostaria de evitar os dois nomes :) #
5800 devuxer
@DanM: Puxa! você está certo! Era vau ... o que eu estava pensando quando escrevi a resposta ... sim, foi defo Ford Pinto !!! Obrigado pela atenção !!!
precisa saber é o seguinte
@ Tommie, não se esqueça da Nova (como em Chevy Nova). Traduz para "No Go" ou "Doesn't Go" em espanhol :-P
devuxer
2
@ DanM: corrigido isso - ei que é interessante .... ai! Soa como um carro de madeira com rodas de madeira que vão de madeira .... :) #
0100 t0mm13b
Obrigado pela resposta muito agradável!
F'x 03/03/10
16

Mostre a mensagem. Due dilligence e tudo, mas registre todos os erros em um arquivo. Os usuários não conseguem se lembrar do que estavam fazendo ou qual foi a mensagem de erro segundos após o evento, são como relatos de testemunhas oculares de criminosos.

Forneça uma boa maneira de permitir que eles enviem por email ou carreguem o log para você, para ajudá-los a reconciliar o problema. Se for um aplicativo da Web: melhor ainda, você pode receber informações sobre a situação antes de qualquer pessoa que relate o problema.

MikeJ
fonte
2
Um grande +1 para isso. Observe que a parte do desenvolvedor pode conter o rastreamento completo da pilha e outros detalhes. Você pode até capturar capturas de tela de aplicativos (principalmente para aplicativos WinForms internos), se desejar.
TrueWill 01/03
Estou um pouco relutante em considerar um bom conselho para "capturar capturas de tela de aplicativos": afinal, parece um vazamento sério de dados particulares (mesmo que seu aplicativo nunca tenha sido projetado para lidar com informações de classe A <nogrep> A NS em primeiro lugar). ) ...
F'x 07/03/10
Eu acho que é mais uma decisão de negócios / política a ser manipulada pelos usuários do domínio do que os aspectos técnicos de dar um melhor suporte ao ter um suporte ao diagnóstico de falhas da "caixa preta". Eu esperaria que aplicativos LOB internos tenham preocupações / objetivos diferentes dos que os relacionamentos de suporte ao cliente externo com informações confidenciais possam ter.
MikeJ
11

Resposta curta: você não pode.

Resposta menos curta: torne-os visíveis, relevantes e contextuais (destaque o que eles estragaram). Mas ainda assim, você está travando uma batalha perdida. As pessoas não lêem nas telas dos computadores, digitalizam e foram treinadas para clicar nos botões até as caixas de diálogo desaparecerem.

Matt Garrison
fonte
Esse hábito de clicar em diálogos fora era um problema real com o antigo diálogo de instalação do IE ActiveX.
Alex Jasmin #
10

Colocamos um gráfico simples e memorável na caixa de erro: não um ícone, um bitmap razoavelmente grande e nada como os ícones de mensagens padrão do Windows. Ninguém consegue se lembrar do texto de uma caixa de mensagens (a maioria nem lê se a caixa tem um botão "OK" que pode ser pressionado), mas a maioria das pessoas se lembra da imagem que viu. Para que nosso pessoal de suporte possa perguntar ao cliente "você viu o cara que toma café?" ou "você viu a mesa vazia?". Pelo menos assim, sabemos aproximadamente o que deu errado.

Bob Moore
fonte
1
Meu problema com essa ideia é que ela quebra a uniformidade da interface do usuário que as pessoas esperam. Além disso, como eles podem saber que "mesa vazia" é uma questão mais ameaçadora que "cara que bebe café"?
F'x 02/03/10
Como criamos sistemas de uso único (centros de controle de emergência), apenas nos preocupamos com a uniformidade da interface do usuário nesse sistema. De qualquer maneira, nenhuma hierarquia de ameaças está implícita aqui. O objetivo é simplesmente ser memorável. Na verdade, esses dois gráficos representam situações de inatividade semelhantes (o operador se afastou da mesa, o operador provavelmente está de folga) para que fossem significativos ... mas esse não é o seu objetivo real. Nós apenas queremos que eles sejam memoráveis. Talvez eu não deva mencionar o mouse dançando :-).
Bob Moore
10

Dependendo da sua base de usuários, escrever mensagens de erro engraçadas / rudes / pessoais pode funcionar muito bem.

Por exemplo, escrevi um aplicativo que permitia ao nosso pessoal de RH acompanhar melhor as datas de contratação / demissão de funcionários. [éramos uma empresa pequena, muito descontraída].

Quando eles digitavam datas erradas, eu escrevia:

Ei, idiota, aprenda a inserir uma data!

EDIT: É claro que uma mensagem mais útil é dizer: "Digite a data como mm / dd / aaaa" ou talvez no código para tentar descobrir o que eles inseriram e se eles digitaram "blahblah" para mostrar um erro. No entanto, essa era uma aplicação muito pequena para uma pessoa de RH que eu conhecia pessoalmente. Daí novamente pessoas, leia a primeira linha deste post: Dependendo da sua base de usuários ...

Recentemente, trabalhei em um projeto do Art Institute, para que as mensagens de erro fossem voltadas para o público, como:

A maior parte da arte antes do período barroco não era assinada. No entanto, estamos além do período barroco agora, portanto todos os campos devem ser preenchidos.

Basicamente, direcione-o para o seu público, se possível, e evite os chatos, como todos os erros gerais sobrenaturais, como: "insira o email" ou "insira o email válido".

Jack Marchetti
fonte
Lembra-me da "ponta" no Word MS - Correndo com tesouras pode ser perigoso
MikeJ
7
Aprenda a inserir uma data !! - Claro, mas me dê uma pista. Eu não deveria ter que adivinhar o formato correto.
Alex Jasmin
4
+1 para a mensagem barroco, im sempre entretido por este tipo de criatividade :)
medopal
2
Não tenho certeza se gosto muito desse tipo de mensagem ... Afinal, por que devo aprender como inserir uma data?
F'x 02/03/10
1
Em vez de exigir que os usuários descubram o formato da data, dedique alguns minutos extras e ensine seu software a analisar datas em vários formatos. O computador é inteligente - deixe-o ajudar o usuário em vez de dar um tapa nos pulsos.
Bryan Oakley
10

Alertas / pop-ups são irritantes, é por isso que todo mundo pressiona o primeiro botão que vê.

Torne-o menos irritante . Exemplo: se o usuário digitou a data incorretamente ou digitou um texto em que os números são esperados, NÃO envie uma mensagem, basta destacar o campo e escrever uma mensagem em algum lugar ao seu redor.

Faça uma caixa de mensagem personalizada . Nunca use a caixa de mensagens padrão do sistema, por exemplo, as caixas de mensagens do Windows XP são irritantes. Faça uma nova caixa de mensagem colorida, com uma cor de fundo diferente do padrão do sistema.

Muito importante: não insista . Algumas caixas de mensagem usam a caixa de diálogo Modal e insistem em fazê-lo ler, isso é muito irritante. Se você pode fazer com que a caixa de mensagem apareça como uma mensagem de aviso, seria melhor, por exemplo, mensagens de estouro de pilha que apareçam na parte superior da página, informando, mas não irritando.

ATUALIZAÇÃO
Torne a mensagem significativa e útil . Por exemplo, não escreva algo como "Nenhum teclado encontrado, pressione F1 para continuar".

medopal
fonte
1
1 e 3 são bons. 2 é questionável, por razões de acessibilidade. Os controles padrão do sistema podem ser manipulados especialmente. Suas variantes não podem.
Phil Miller
1
@Novelocrat, é provável que, se o restante do seu aplicativo estiver acessível, sua caixa de diálogo de erro personalizada também seja exibida. E se o restante do seu aplicativo já tiver problemas de acessibilidade, mais um diálogo com os problemas não será importante.
Mike Daniels
@Novelocrat, estou falando principalmente de aplicativos da Web, em vez da caixa de alerta JavaScript padrão, você pode criar uma nova caixa elegante e dar as mesmas propriedades. Mas a mesma idéia poderia ir para aplicativos de desktop se o objetivo é forçar a leitura da mensagem
medopal
O mesmo que o Novelocrat, eu realmente não gosto da parte "nunca usar a interface do sistema" da resposta. As pessoas querem se sentir em território conhecido.
F'x 02/03/10
E também, a acessibilidade é sempre melhor para a interface do usuário do sistema.
F'x 04/03/10
8

O melhor design da interface do usuário será onde você praticamente nunca mostra uma mensagem de erro. O software deve se adaptar ao usuário. Com esse tipo de design, uma mensagem de erro será nova e atrairá a atenção dos usuários. Se você apimentar o usuário com diálogos sem sentido como esse, você está explicitamente treinando-o para ignorar suas mensagens.

Bryan Oakley
fonte
6

Na minha opinião e experiência, são os usuários avançados, que não lêem mensagens de erro. O público não técnico que conheço lê cada mensagem na tela com mais cuidado e o problema neste momento é principalmente: eles não entendem.

Esse ponto pode ser a causa de sua experiência, porque em algum momento eles deixarão de lê-los, porque "eles não o entendem", portanto, sua tarefa é fácil:

Torne a mensagem de erro o mais fácil de entender possível e mantenha a parte técnica sob o capô.

Por exemplo, transfiro uma mensagem como esta:

ORA-00237: operação de captura instantânea não permitida: arquivo de controle recém-criado Causa: Foi feita uma tentativa de chamar cfileMakeAndUseSnapshot com um arquivo de controle montado atualmente que foi criado recentemente com CREATE CONTROLFILE. Ação: Monte um arquivo de controle atual e tente novamente a operação.

para algo como:

Não foi possível processar esta etapa devido a problemas momentâneos no banco de dados. Entre em contato (seu administrador | o suporte técnico | qualquer pessoa que possa entrar em contato com o desenvolvedor ou administrador para resolver o problema). Desculpe pela inconveniência.

bl4ckb0l7
fonte
2
E então admin / helpdesk / etc ouve sobre a mensagem e pergunta "O que diabos devo fazer sobre isso?". Sua segunda mensagem é genérica a ponto de ser inútil. Quanto ao primeiro, nunca tendo usado o software Oracle (suposição com base no prefixo), ainda posso sugerir o que devo fazer sobre isso.
Phil Miller
Bem, o suporte técnico pode informar o desenvolvedor para corrigir o problema. Ajudaria o cliente ou o suporte técnico a escrever a mensagem técnica no erro? Tudo o que o usuário deseja saber neste momento é: O que aconteceu e onde posso obter ajuda, se não foi um erro que ele cometeu (entrada incorreta ou algo assim). E não me interpretem mal, é claro que essa é a mensagem na camada de apresentação. Nos logs do servidor, há a mensagem de erro específica, que o ajudará a corrigi-lo.
Bl4ckb0l7
1
@Novelocrat, precisamente. Muitas vezes, você pode encontrar o pessoal de suporte técnico gritando: "Mas eu sou o administrador do sistema e não tenho a menor idéia do problema!" É melhor adicionar uma opção "mostre-me o technobabble" aos seus erros.
Mike Daniels
o helpdesk não pode fornecer muita ajuda quando é um aplicativo comercial pronto para uso e o erro não contém informações úteis.
Mike Daniels
5

Mostre aos usuários que a mensagem de erro tem um significado e é uma maneira de fornecer assistência a eles e eles a lerão. Se for apenas uma mensagem de jargão ou bobagem genérica, eles aprenderão a descartá-los rapidamente.

Aprendi que é uma prática muito boa incluir uma caixa de diálogo de erro com ação padrão para enviar (por exemplo, por email) informações detalhadas de diagnóstico; se você responder rapidamente a esses emails com informações valiosas ou soluções alternativas, eles o adorarão.

Essa também é uma ótima ferramenta de aprendizado. Nas versões futuras, você pode resolver problemas conhecidos ou, pelo menos, fornecer informações alternativas sobre o local. Até lá, os usuários aprenderão que essa mensagem é causada por X e o problema pode ser resolvido por Y - tudo porque alguém lhes explicou.

Obviamente, isso não funcionará em um aplicativo de larga escala, mas funcionará muito bem em aplicativos corporativos com poucas centenas de usuários e, em um ambiente ágil, com liberação ágil e com liberação frequente.

EDITAR:

Como você possui uma ampla base de usuários, recomendo fornecer um software que faça o que os usuários são / podem esperar, por exemplo. não mostre a mensagem de erro se o número de telefone não estiver formatado corretamente, reformate se for para eles.

Pessoalmente, gosto de software que não me faz pensar e, quando ocasionalmente não há nada que você (o desenvolvedor) possa fazer para interpretar minha intenção, forneça mensagens muito bem escritas (e revisadas por usuários reais).

É do conhecimento comum que as pessoas não leem a documentação (você leu as instruções consecutivas quando você conectou o eletrodoméstico?), Elas tentam uma maneira de obter resultados rapidamente, quando falham, você precisa chamar a atenção delas (por exemplo, desativar o botão padrão por um tempo) com informações úteis e significativas . Eles não se preocupam com a falha do seu software, querem obter resultados agora.

Janusz Skonieczny
fonte
3

Torne-os divertidos . (Pareceu relevante, dado o site em que estamos :))

wersimmon
fonte
2

Para começar, escreva mensagens de erro que os usuários possam realmente entender. "Erro: 1023" não é um bom exemplo. Eu acho que a melhor maneira é registrar o erro, do que mostrá-lo ao usuário com algum código "sofisticado". Ou, se o registro não for possível, forneça aos usuários a maneira correta de enviar os detalhes do erro ao departamento de suporte.

Além disso, seja breve e claro o suficiente. Não inclua alguns detalhes técnicos. Não mostre a eles informações que eles não podem usar. Se possível, forneça uma solução alternativa para o erro. Caso contrário, forneça uma rota padrão, isso deve ser seguido.

Se seu aplicativo for um aplicativo Web, é recomendável projetar páginas de erro personalizadas. Eles enfatizam menos os usuários, como o SO, por exemplo. Você pode obter algumas idéias sobre como criar uma boa página de erro aqui: http://www.smashingmagazine.com/2007/07/25/wanted-your-404-error-pages/

anthares
fonte
2

Uma coisa que eu gostaria de acrescentar.

Use verbos nos botões de ação para fechar suas mensagens de erro em vez de exclamações. Por exemplo, não use "Ok!" "Fechar" etc.

Marca
fonte
1
Algumas plataformas não permitem que você faça isso. Há quase boas razões para essas restrições também.
Phil Miller
Eu fortemente apoio o comentário do Novelocrat. Uma interface do usuário padronizada é boa para os usuários (e, portanto, boa para você). Eu acho que manter os rótulos dos botões padrão alcança algo que você não quer perder, mesmo para capturar a atenção (exceto talvez em casos extraordinários).
F'x 02/03/10
Você não precisa usar os alertas JS () para exibir mensagens de erro. Você pode criar sua própria janela de diálogo. Além disso, o objetivo de usar verbos em vez de apenas exclamações é porque, se você vir 'Ok' como um botão, precisará ler o conteúdo da caixa de diálogo. O problema é que alguns usuários não demoram para fazer isso e apenas clicam em ok. Se você usar verbos para descrever a ação, o usuário saberá o que está acontecendo sem ler a caixa de diálogo.
Mark
Fechar é um verbo. Você o usou em sua própria frase; "para fechar suas mensagens de erro"
Ricket 13/03
Mas @ Mark, esta pergunta é sobre permitir que eles a leiam: p
Bart van Heukelom 13/03/10
2

Uma boa dica que aprendi é que você deve escrever uma caixa de diálogo como um artigo de jornal. Não no sentido do tamanho, mas no sentido da importância. Deixe-me explicar.

Você deve escrever as coisas mais importantes para ler primeiro e depois fornecer informações mais detalhadas.

Em outras palavras, isso não é bom:

There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.

Do you want to retry opening the file?

Em vez disso, altere a ordem:

Problem loading file, do you want to retry?

There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.

Dessa forma, o usuário pode ler o quanto quiser ou incomodar e ainda ter uma idéia do que está sendo solicitado.

Lasse V. Karlsen
fonte
2

Veja também as respostas dos usuários do Slashdot aqui .

Jim
fonte
2

A menos que você possa fornecer ao usuário algumas soluções simples, não se preocupe em mostrar ao usuário uma mensagem de erro. Simplesmente não faz sentido, já que 90% dos usuários não se importam com o que diz.

Por outro lado, se você PODE realmente mostrar ao usuário uma solução alternativa útil, uma maneira de forçá-lo a lê-lo é ativar o botão OK após 10 segundos ou mais. Classifica como o Firefox faz isso sempre que você está tentando instalar um novo plug-in.

Se for uma falha total da qual você não pode se recuperar normalmente, informe o usuário em termos muito leigos, dizendo:

" Desculpe-nos por termos estragado tudo, gostaríamos de enviar algumas informações sobre este acidente. Você nos permite fazer isso? SIM / NÃO "

Além disso, tente não tornar suas mensagens de erro mais longas que uma frase. Quando as pessoas (eu incluído) veem um parágrafo inteiro falando sobre o erro, minha mente simplesmente desliga.

Com tanta mídia social e sobrecarga de informações, a mente das pessoas congela quando vê uma parede de texto.

EDITAR:

Alguém também sugeriu recentemente usar histórias em quadrinhos junto com a mensagem que você deseja mostrar. Como algo de Dilbert que pode estar próximo ao tipo de erro que você pode ter.

7wp
fonte
1
Você pode procurar por um cartoon Dilbert relevante aqui: bfmartin.ca/finder
SLaks
Dez segundos? Olhe para um relógio e conte dez segundos. É uma eternidade quando você está tentando fazer algum trabalho maldito.
Mike Daniels
1
Mike, era para ser um exemplo, não escrito em pedra. Escolha o tempo limite desejado. Como alternativa, você já instalou um adon do Firefox? Essa contagem regressiva realmente te incomoda tanto? Não ouvi muitas pessoas reclamarem disso.
7wp 02/02/10
@Roberto - falando da contagem regressiva do plugin do Firefox ... isso me incomoda. Eu só quero clicar em instalar. Por que preciso de uma contagem regressiva quando cliquei em instalar um plug-in e agora tenho que esperar 10 segundos para confirmar a instalação.
Mark
1
@ Mark justamente pelo motivo pelo qual essa pergunta sobre estouro de pilha foi feita. Muitas pessoas ficam felizes com o clique e não se preocupam em ler as mensagens e suas consequências e acabam fazendo algo que não pretendiam. Mark, você conhece e entende o que clicar. No entanto, tendo trabalhado no suporte técnico da HP no passado, existem pessoas por aí que clicam nas coisas apenas porque podem. O atraso força o usuário a parar e dar uma olhada na mensagem, em vez de dizer "sim, sim, tudo o que eu vou clicar em OK, já vai"
7wp 03/03/10
2

Da minha experiência: você não faz com que os usuários (especialmente os não técnicos) leiam as mensagens de erro. Por mais clara e compreensível, em negrito, em vermelho e intermitente exibida, a maioria dos usuários clica em qualquer coisa a que não esteja acostumada, mesmo que seja "Deseja realmente apagar tudo?". Vi usuários clicarem no ícone "fechar janela" em vez de em "OK" ou "cancelar", mesmo sem saberem qual opção escolheram ao fazê-lo ...

Se você realmente precisar forçar os usuários a ler o que está exibindo, sugiro uma contagem regressiva de JavaScript até que um botão seja clicado. Dessa forma, o usuário esperançosamente usará o tempo de espera para realmente ler o que deveria. Porém, tenha cuidado: a maioria dos usuários ficará ainda mais irritada com isso :)

Além disso, gosto da sua idéia de um link "leia mais", embora eu duvide que os usuários se interessem mais e que queiram apenas se livrar da mensagem por todos os meios ...

Apenas para constar: existem usuários que lêem mensagens de erro, mas têm tanto medo de não fazer nada com isso. Certa vez, recebi uma ligação de suporte em que o cliente lia uma mensagem de erro para mim, perguntando o que ele deveria fazer. "Bem, quais são suas opções?", Perguntei. "A janela possui apenas um botão 'OK'.", Ele respondeu. ... mmh, difícil :)

Select0r
fonte
11
Essa "contagem regressiva de JavaScript" é a coisa mais irritante que você pode fazer. O usuário detestará "ter que esperar a contagem regressiva" e mal se concentrar no texto do erro do que em sua raiva.
precisa saber é o seguinte
2

Costumo exibir o erro em vermelho (quando o design permite).

Vermelho significa "alerta", etc., por isso é mais frequentemente lido.

Tyzak
fonte
3
e as pessoas que são daltônicas?
Natrium
1
Como alguém que é daltônico, nem tenho certeza de como é a cor "vermelha".
MikeJ
O vermelho não é universalmente interpretado como um alerta. Algumas culturas interpretam isso como felicidade, por exemplo. Esteja ciente de quem são seus usuários em potencial ao escolher cores.
Bryan Oakley #
1
@ MikeJ: claramente, Tyzak deve fazê-lo piscar, em vez disso. Isso seria muito mais útil. Há uma diferença no valor (brilho) entre os campos que outras pessoas dizem que são 'vermelhos' e os que eles dizem que são claros, não é?
Phil Miller
hm, eu não pensei em daltônicos, esse é um bom ponto. sim, a cor é universalmente interpretada (china, índia). Depende da audiência, certo.
Tyzak
1

Bem, para responder sua pergunta diretamente: Não deixe seus programadores escreverem suas mensagens de erro. Se você seguir este conselho, economizará, cumulativamente, milhares de horas de angústia e produtividade do usuário e milhões de dólares em custos de suporte técnico.

O objetivo real, no entanto, deve ser projetar seu aplicativo para que os usuários não possam cometer erros. Não permita que eles executem ações que levem a massagens de erro e exijam que eles façam backup. Como exemplo simples, em um formulário da Web que exige que todos os seus campos sejam preenchidos, em vez de exibir uma mensagem de erro quando os usuários clicam no botão Enviar, não ative o botão Enviar até que todo o campo contenha conteúdo válido. Isso significa mais trabalho na parte de trás, mas resulta em uma melhor experiência do usuário.

Claro, esse é um mundo ideal. Às vezes, os erros do programa são inevitáveis. Quando elas ocorrem, você precisa fornecer informações claras, completas e úteis e, o mais importante, não expõe o sistema ao usuário e não culpa os usuários por suas ações.

Uma boa mensagem de erro deve conter:

  1. Qual é o problema e por que aconteceu.
  2. Como resolver o problema.

Uma das piores coisas que você pode fazer é simplesmente transmitir mensagens de erro do sistema aos usuários. Por exemplo, quando seu programa Java lança uma exceção, não basta passar o programador para a interface do usuário e expô-lo ao usuário. Capture-o e tenha uma mensagem clara criada pelo desenvolvedor de assistência ao usuário que você pode apresentar ao usuário.

Tive a sorte de, no meu último emprego, trabalhar com uma equipe de programadores que não pensaria em escrever suas próprias mensagens de erro. Sempre que se encontravam em uma situação em que era necessário e o programa não podia ser projetado para evitá-lo (geralmente por causa de recursos limitados), eles sempre vinham a mim, explicavam o que precisavam e deixavam-me criar uma mensagem de erro que foi claro e seguiu o estilo da empresa. Se essa fosse a mentalidade padrão de todo programador, o mundo da computação seria um lugar muito, muito melhor.

Chuck Martin
fonte
1

Menos erros

Se um aplicativo lança vômito em você regularmente, você se torna imune a ele e os erros se tornam irritantes. Se um erro for um evento raro, ele atrairá mais atenção.

Escolha qualquer coisa que não seja importante, jogue fora todos esses avisos, encontre maneiras de entender a intenção do usuário, tome as decisões sempre que possível. Eu tenho alguns aplicativos que continuo otimizando dessa maneira. Os desenvolvedores veem todos os erros como importantes, mas isso não é verdade da perspectiva do usuário. Procure a resposta comum dos usuários a um problema e capture-o, implante-o como sua resposta.

Se você precisar gerar um erro: fator de terror curto, conciso e baixo, sem pontos de exclamação. Os parágrafos são falhos .

Não existe uma bala de prata, mas você precisa de engenharia social para cometer erros importantes.

Joel Goodwin
fonte
1

Dissemos aos usuários que seu gerente havia sido contatado (o que era uma mentira). Funcionou um pouco bem demais e teve que ser removido.

reexecutados
fonte
1

Adicionar um botão "Avançado" que permita mais detalhes técnicos fornecerá um incentivo para lê-lo para a parte do público-alvo que se considera técnico

Mel Gerats
fonte
0

Eu sugiro que você dê um feedback (afirmando que o usuário cometeu um erro) imediatamente após o erro. (Por exemplo, ao inserir o valor de um campo de data, verifique o valor e, se estiver errado, torne o campo de entrada visualmente diferente).

Se houver erros na página (estou mais interessado no desenvolvimento da Web, por isso estou me referindo a ela como uma "página", mas também pode ser chamada de "formulário"), mostre um "resumo de erro", explicando que há foram erros e uma lista com marcadores do que exatamente ocorreram erros. No entanto, se houver mais de 5 a 6 palavras por mensagem, elas não serão lidas / compreendidas.

ingênuos
fonte
Seus dois parágrafos parecem contraditórios: dê um feedback imediato, mas junte-o no final da página?
F'x
@ FX, a idéia era que você fizesse as duas coisas - avise o usuário imediatamente, mas, como ele / ela ainda pode ignorá-lo, colete todos os erros no final da página.
naivists
0

Que tal definir o botão "Clique aqui para falar com um técnico de suporte que o ajudará com esse problema".

Existem muitos sites que oferecem a opção de falar com uma pessoa real.

JonnyBoats
fonte
O objetivo é fazer com que os usuários lidem com os próprios erros, pelo menos quando possível. Esse botão seria uma declaração de falha total da intenção.
Seether
0

Eu li um candidato para a solução mais horrível no slashdot:

Descobrimos que a única maneira de fazer com que os usuários se responsabilizem por erros é aplicá-los a uma penalidade por forçar o erro a desaparecer. Para iniciantes, sempre que possível, o erro não será fechado para eles, a menos que insira uma senha de administrador para que ela desapareça e, se eles reiniciarem para se livrar dela (o Gerenciador de Tarefas está desativado em todos os PCs clientes), a máquina não abrirá o aplicativo que travou por 15 minutos. Obviamente, tudo isso depende do tipo de usuário com o qual você está lidando, já que usuários mais tecnicamente qualificados não aceitariam esse tipo de sistema, mas depois de tentar, literalmente, YEARS, fazer com que os usuários assumam a responsabilidade por falhas e garantir que o departamento de TI esteja ciente de para corrigir o problema antes que ele fique muito difícil de gerenciar, essas são as únicas etapas que funcionaram. Agora,

F'x
fonte
0

"ATENÇÃO! ATENÇÃO! Se você não ler a mensagem de erro, VAI MORRER!"

anon235370
fonte
0

Apesar de todas as recomendações na resposta aceita, meus usuários continuaram a clicar no primeiro botão que encontraram. Então agora eu mostro isso:

Leia isso!

O usuário deve fazer uma escolha antes que o botão OK apareça

Escolha a opção correta

Se ele selecionar a 3ª opção, ele poderá continuar, caso contrário, o aplicativo será encerrado.

smirkingman
fonte