09 abril 2010

Um tributo à Message Box

Como programador de aplicações desktop (ou seja as que se instalam no computador), volta e meia chega sempre aquela altura nefasta em que tenho de colocar uma caixa de mensagens, uma Message Box, para informar ou perguntar alguma coisa ao utilizador. Falo daquelas caixinhas irritantes que têm botões de OK e Cancelar, ou de Sim e Não, que aparecem sempre quando menos se espera.

Sei que são irritantes porque eu próprio, como utilizador, fico por vezes irritado com elas, quando aparecem repetidamente e muitas vezes sem necessidade. As inúmeras caixas de "posso actualizar o programa?", que nos aparecem à frente sempre que queremos trabalhar nesse mesmo programa e nos fazem perder tempo, são chatas até dizer "chega, vou mas é desinstalar isto que não posso mais". Aliás, uma grande vantagem do browser Google Chrome é a maneira inteligente como ele se actualiza: sozinho, sem nos perguntar nada, sem ter sequer a pretensão de mostrar que foi actualizado. Sem nos fazer perder tempo.

Mas dizia eu que de vez em quando lá vem a necessidade de programar uma dessas caixinhas de mensagens. Porque às vezes tem mesmo que ser, tem mesmo de se informar ou dar a escolha ao utilizador antes de prosseguir. Exemplos disso são as clássicas caixas de "Deseja gravar as alterações?" ou "Tem a certeza de que quer apagar este ficheiro?", que representam uma segurança para o caso de o utilizador ter feito algo que não queria. Mas uma nova caixa de mensagens tem de ser tratada com todo o cuidado: a mensagem deve ser o mais simples e clara possível, os botões não devem ter mais de uma ou duas palavras, a opção pré-seleccionada deve ser escolhida de forma ao utilizador não fazer asneira só por carregar na tecla Enter. Por isso cada vez mais as directivas para programadores são evitar ao máximo as caixas de mensagens, e se não puder evitá-las, fazê-las o mais simples possível:


E isto porquê? Porque depressa ficou provado que grande parte dos utilizadores não lê as mensagens escritas nestas caixas! Para eles uma caixa de mensagens é apenas algo que lhes aparece à frente e de que se têm que livrar o mais depressa possível. A maior parte deles lê as primeiras palavras e toma logo a decisão de carregar no Sim ou no Não; alguns não lêem nada sequer e simplesmente clicam num dos botões esperando que a mensagem desapareça (e se não desaparecer tentam novamente com cada um dos outros). Daí se percebe como pode ser frustrante para um programador, que só colocou a caixa de mensagem porque não tinha alternativa, e que teve tanto cuidado na escolha da mensagem certa, verificar que afinal ninguém a lê. 


Têm-me acontecido algumas situações caricatas com caixas de mensagens nos últimos dias, e por isso gostava de partilhar convosco alguns dos problemas mais comuns. São caixas de mensagens que muitas vezes não funcionam por excessiva pressa do utilizador, quando afinal o problema seria facilmente resolvido se se lesse o que lá está escrito:

1 - Os que cancelam sempre na mensagem de erro.


Eu sei o que estão a pensar. "É uma mensagem de erro, por isso não me interessa, não sou eu que o vou resolver". O problema é que cancelar a operação não vai resolver o problema, porque continuam a precisar de fazer a operação, e quando o fizerem, esta caixa vai aparecer novamente. Mas se lessem a mensagem verificavam que afinal o ficheiro que queriam abrir não existe, ou que o CD que devia estar a correr afinal está na vossa mão, ou que basta clicar no OK para resolver o problema.

Aconteceu há dias algo semelhante com um colega de trabalho: chamou-me porque tinha alterado o nome do PC e o programa XPTO tinha deixado de funcionar porque ainda tinha o nome antigo. Mas quando aparecia a caixa "Deseja alterar as configurações?", ele clicava sempre no "Não". Afinal bastava carregar no "Sim" para que aparecesse uma opção para colocar o nome correcto.

2 - Os que clicam no OK mais rápido que a própria sombra.


Uma mensagem informativa serve para isso mesmo, para informar o utilizador. Por isso, lá porque tem só um botão não é razão para clicar nesse botão o mais rápido possível. A mensagem pode estar simplesmente a dizer o que deve fazer a seguir.

3 - Aqueles para os quais todas as mensagens estão escritas em chinês


Existe a clássica situação do cliente que telefona para a assistência técnica e diz "O programa diz "Insira o CD para continuar." O que é que eu faço?". Não é piada, já tem acontecido. Neste caso, eles até leram a mensagem, mas como vinha numa dessas caixinhas, acharam que não a iam perceber de qualquer forma. Note-se que não se trata de burrice do utilizador, é simplesmente porque ele não quer saber o que a mensagem diz. Mas olhem que às vezes é mais rápido perceber a mensagem do que ligar para assistência técnica...

4 - Os que veem dúvidas existenciais nas caixas de mensagens


Por vezes as caixas de mensagens representam um verdadeiro dilema. A típica "Deseja gravar as alterações?" é normalmente tratada com muito cuidado, as pessoas param realmente para pensar se estão a clicar no botão correcto. Mas isto não é razão para clicar no "Cancelar" só para adiar a resolução do problema, ou, pior ainda, para evitar mexer em computadores só para não ter que lidar com ele. Muitas mensagens não são tão simples como a "Deseja gravar as alterações?", mas o texto da mensagem explicar-vos-á o que está a acontecer e ajudar-vos-á a escolher a melhor opção.

5 - Os que gostam de ver o progresso ficar a meio.


Sim, eu sei, as actualizações são chatas. Mas às vezes um programa tem mesmo de actualizar atualizar, de outra forma não funciona!
Isto aconteceu-me hoje com um cliente. Ao iniciar o computador dele deparou-se repetidas vezes com a imagem de uma barra de progresso a querer actualizar um programa. O cliente clicava sempre no "Cancelar" mas passados dois segundos, a barra de progresso voltava novamente! Ele teve de clicar no "Cancelar" pelo menos umas dez vezes até conseguir fechar o programa completamente. Não percebeu que se deixasse o programa actualizar até ao fim, não só demorava menos tempo a fechá-lo, como da próxima vez que iniciasse o computador, a barra de progresso já não apareceria.
Lembre-se sempre que se cancelar uma operação que precisa de ser feita, ela voltará novamente para o atormentar. Por vezes é preferível perder algum tempo agora para ganhar muito tempo no futuro.

6 - Os que não trocam os seus botões por nada


Há algumas mensagens muita chatas. Por exemplo aquelas que mostram a "dica do dia" ao iniciar o programa, que já passaram tantas vezes que as dicas já deram a volta três vezes. Ou aquelas que dão uma informação importante mas que já passou tantas vezes que já estão fartos de saber.
Mas mesmo assim, continuam a clicar no "OK" para fazer a mensagem desaparecer e nem sequer reparam na opção que diz "Não voltar a mostrar esta mensagem". Esta opção está lá por um motivo. O programador sabe que a mensagem não é para ser vista todas as vezes. Serve para informar o utilizador a primeira vez que a vê, porque da próxima vez ele já sabe e não precisa de a ler novamente.
No entanto, aparentemente, os utilizadores das caixas de mensagens desenvolveram uma obsessão por clicar em botões, de tal maneira que seria impensável usar outras ferramentas (até porque precisam de dois cliques, dois! para fazer a caixa desaparecer. É um escândalo!).
Lembrem-se que tudo o que estiver a mais numa caixa de mensagens está lá para vos ajudar. Se explorarem todas as opções poderão poupar tempo no futuro. 

Sem comentários: