Diz o dito popular : "Se conselho você bom ninguém dava , vendia...". Vou contrariar esta máxima dando alguns conselhos práticos que você pode aplicar no seu dia a dia de programador para tornar sua aplicação mais confiável , robusta e amigável ao usuário final. Ganham todos , você que consolida o seu nome como um bom desenvolvedor e seus clientes que terão aplicações robustas e fáceis de usar. Agora os conselhos...:
Uma das formas de se obter um sistema consistente é fazer um projeto top-down. Aqui as dicas principais:
Exemplo:
Ao adotar estes procedimentos você permite que o usuário final generalize o conhecimento de um aspecto do sistema para os demais sistemas e reduz a frustração com comportamento inesperados do sistema.
Se você quiser ter uma interface com o usuário bem projetada deve tomar alguns cuidados básicos. Quer um exemplo ? Você não deve permitir que o usuário possa escolher uma opção inválida para só depois apresentar uma mensagem de erro.
A seguir alguns requisitos relacionados a prevenção de erros :
- Inibir itens do menu que não podem estar relacionados ao estado do sistema.
- Não permitir a seleção de opções (Excluir , Copiar) quando não houver nada para ser removido ou copiado.
- Não permitir a troca de fonte dos caracteres quando o objeto selecionado não for um texto.
Uma boa interface , além de ser bonita , também deve previnir erros que possam vir a ser cometidos pelos usuários , o sistema deve inibir as ações inválidas e indicar isto ao usuário.
Existem basicamente dois tipos de erros : o funcional e o sintático.
- O erro sintático ocorre quando uma sequência de comando é fornecida com parâmetros ou nomes errados, neste caso deve existir uma mensagem informatica , clara e objetiva.
- O erro funcional ocorre quando um comando é acionado por engano gerando resultados antecipados ou inesperados. Podemos tratar estas ocorrências de 4 maneiras básicas :
- Desfazer ( Undo ) - permite ao usuário reverter os resultados de um comando.
- Abortar ( Aborta ) - permite ao usuário cancelar um comando durante sua execução retornando o sistema o seu estado inicial.
- Cancelar ( Cancel ) - permite ao usuário cancelar um comando ANTES dele ser executado.
- Corrigir ( Correct ) - permite ao usuário corrigir um comando antes de sua execução.
Errar é humano , todos erram ; uma boa interface deve ser capaz de corrigir os erros o mais rápido possível ; com isto o trabalho fica mais produtivo.
Você pode inserir a ajuda na interface do sistema desde o início do projeto , a isto chamamos de Ajuda Integrada. Ela é sensível ao contexto e permite ao usuário selecionar os tópicos relevantes á ação em andamento , reduzindo assim o tempo de espera pela ajuda.
Outro tipo de ajuda é a Ajuda Acrescentada que é introduzida depois que sistema esta pronto ; é manual do usuário on-line com capacidade de busca.
Os puristas da lógica dizem que um bom sistema começa a ser criado pelo seu manual.
As mensagens de erro e de advertência ao usuário devem ter as seguintes características:
- Devem ser claras e permitir ao usuário realmente entender o que ocorreu.
- Devem fornecer uma informação prática que auxilie a recuperação do erro.
- Devem indicar qualquer consequência negativa do erro que venha a afetar o sistema.
- Devem usar recursos visuais(cores) e auditivos(sons) de modo a serem reconhecidas como um erro.
- Não devem culpar o usuário pelo erro.
Exemplos : "Código já cadastrado" , "Cliente não encontrado" , "CEP inválido"
O tempo de resposta é o tempo entre o momento que o usuário dispara uma ação até o momento que o sistema responde. Assim temos :
- Duração - O tempo de resposta deve ter uma duração adequada : tempos longos frustram o usuário e tempos rápidos pode induzir o usuário a erros.
- Variação - O tempo de resposta deve ser mais ou menos o mesmo para cada ação . Com isto estabelecemos um ritmo , uma cadência que auxilia o usuário de forma geral.
Você deve levar em consideração as ações que possam exigir mais tempo de resposta :
- Pesquisa em banco de dados
- Cálculos complexos
- Impressões demoradas.
Tenha bom senso.
Só isto , Até a próxima... Bye...