Usabilidade é utilizada para descrever a qualidade da interação dos usuários com uma determinada interface. Esta qualidade diz respeito aos seguintes princípios:

  • facilidade de aprendizado;
  • facilidade de lembrar como realizar uma tarefa após um tempo;
  • rapidez no desenvolvimento de tarefas;
  • baixa taxa de erros;
  • satisfação subjetiva do usuário;

Interfaces problemáticas estão relacionadas a usuários ou grupo de usuários que encontram dificuldades para realizar alguma tarefa com a interface. As dificuldades podem existir devido a diferentes motivos e pode ocasionar perda de dados, diminuição da produtividade ou rejeição completa do software por parte do usuário.

Muitos dos problemas com as interfaces Web são provenientes de navegação, ou seja, usuários encontram dificuldades para encontrar as informações desejadas no site ou então não sabem como retornar a uma página que foi visitada anteriormente. Ainda existem outros problemas, como usado abusivo de cores, podendo causar fadiga visual, desvio de atenção do usuário do conteúdo ou tornar a página ilegível.

Nas próximas seções veremos como identificar problemas de usabilidade nos sistemas web e como melhorar a usabilidade dos nossos sistemas.

Usabilidade nos Sistemas Web

Quando falamos em interfaces web, as coisas podem complicar ainda mais, pois frequentemente surgem problemas como velocidade de carregamento da página, incompatibilidade entre browsers que não suportam da mesma maneira diferentes tecnologias para construção de interfaces web, links com URLs (Uniform Resource Locator) inválidas ou dificuldade de encontrar informações desejadas dentro um site.

É difícil fazermos uma generalização de forma a descrevermos todos os tipos possíveis de problemas de usabilidade que podem ser encontrados. No entanto, podemos identificar algumas métricas ou fatores que podem ser melhor observados, a fim de determinar um problema de usabilidade. Entre eles temos:

  • Desempenho do usuário durante a realização de tarefas: Observar de forma direta ou indireta a realização de tarefas por usuários permite que possamos verificar algumas métricas como: Conclusão de Tarefas onde tarefas não concluídas ou concluídas parcialmente indicam que existe algum problema de usabilidade; Tempo de Realização da Tarefa em que mesmo as tarefas concluídas com sucesso, tempos excessivos podem indicar um esforço desnecessário sendo exigidos do usuário; Ocorrência de Erros onde verificamos os tipos de erros que ocorrem durante a realização de uma tarefa. Dessa forma, se um erro for causado por uma operação do usuário verificamos se a interface não está induzindo ao erro através de comandos complexos ou ausência de mensagens adequadas.
  • Satisfação subjetiva do usuário: A usabilidade também é uma qualidade subjetiva que compreende a opinião do usuário da interface. Se os usuários estão satisfeitos com a interface, o efeito de eventuais problemas é minimizado.
  • Correspondência com os objetivos do usuário: Independente das tarefas que o sistema suporta, verificamos se os objetivos do usuário foram alcançados.
  • Adequação a padrões: A maioria do conhecimento sobre usabilidade está organizada na forma de normas e recomendações ergonômicas, como as definidas pela ISO 9241. Essas recomendações descrevem padrões conhecidos de problemas e alguns propõem soluções ou alternativas para evitá-los. Aplicar essas recomendações durante o desenvolvimento da interface ajuda a evitar ou reduzir vários problemas de usabilidade já conhecidos.

Melhorando a Usabilidade

A avaliação heurística é um método tradicional de avaliação de usabilidade. O método foi criado por Nielsen e Molich e consiste na inspeção sistemática da interface do usuário com relação à sua usabilidade. A primeira utilização desse método foi em 1994 num sistema Web realizada pela Sun Microsystems. O seu procedimento é bem simples: um avaliador interage com a interface e avalia a sua adequação comparando-a com as heurísticas.

Nielsen sugere um conjunto com apenas 10 recomendações heurísticas que ajuda a guia essa avaliação. Utilizando essas heurísticas podemos melhorar significativamente a usabilidade dos nossos sistemas. Segue abaixo a lista de heurísticas definidas:

  1. Diálogos simples e naturais: Os diálogos devem ser simples contendo apenas informações relevantes.
  2. Falar a linguagem do usuário: A compatibilidade entre o vocabulário do sistema e do domínio deve sempre ser levada em consideração. Devemos nos perguntar se a linguagem da interface está simples e se as palavras, conceitos, e frases são familiares ao usuário.
  3. Minimizar a sobrecarga de memória do usuário: Devemos sempre usar o reconhecimento em vez de lembrança. Os objetos, ações e opções devem estar sempre visíveis, as instruções para uso do sistema devem estar visíveis e facilmente encontráveis quando necessárias. Portanto, evitar o usuário de lembrar como encontrar ou fazer as tarefas é essencial.
  4. Ser consistente: O sistema deve manter a consistência fornecendo os mesmos comandos, termos e ações para situações similares no sistema. Um exemplo é o atalho Control-C (CTRL+C) para copia. Os sistemas Windows normalmente utilizam esse mesmo atalho para funções de copia.
  5. Dar feedback: Nessa heurística devemos nos perguntar se está sendo fornecido feedback em tempo razoável e se o usuário é mantido informado do que está ocorrendo. Nesse caso as barras de progresso são excelentes componentes visuais que ajudam o usuário, a saber, se um arquivo está sendo processado e quanto tempo ele irá levar para finalizar.
  6. Saídas claramente marcadas: O usuário deve ter controle explícito sobre o sistema. Dessa forma, ele deve ter a possibilidade de abandonar qualquer estado indesejado ou situações incorretas ou ainda realizar undo/redo.
  7. Fornecer atalhos: Os usuários mais experientes buscam sempre os atalhos para melhorar a sua produtividade. Nos sistema que estamos desenvolvendo não deve ser diferente, sempre devemos fornecer atalhos para esse tipo de usuário.
  8. Boas mensagens de erro: As mensagens devem ser expressas em texto claro, sem qualquer tipo de código, indicando precisamente qual problema está ocorrendo. Também é interessante sugerirmos possibilidades de correção para o erro.
  9. Prevenir erros: Devemos sempre nos perguntar se é fácil cometer erros no sistema, se sim verificamos onde e por que. Devemos prevenir ao máximo os erros causados pelo usuário.
  10. Ajuda e documentação: O sistema sempre deve fornecer ajuda que é facilmente seguida. Dessa forma a ajuda e a documentação devem ser precisas e claras.

Outras Formas de Garantir a Usabilidade

Além das heurísticas também temos um total de 18 critérios ergonômicos que da mesma forma que as heurísticas de Nielsen visam melhorar a usabilidade dos sistemas computacionais. Seguem os 18 critérios ergonômicos definidos pelos autores Basten e Scapin:

  1. Presteza
  2. Agrupamento e distinção por localização
  3. Agrupamento e distinção por formato
  4. Feedback
  5. Legibilidade
  6. Concisão
  7. Ações mínimas
  8. Densidade informacional
  9. Ações explícitas
  10. Controle do usuário
  11. Flexibilidade
  12. Consideração da experiência do usuário
  13. Proteção contra erros
  14. Qualidade das mensagens de erro
  15. Correção de erros
  16. Consistência
  17. Significado de códigos e denominações
  18. Compatibilidade

Estes critérios ergonômicos de Basten e Scapin possui bastante relação com as heurísticas discutidas anteriormente.

Outro autor também bastante conhecido na área de usabilidade é Ben Shneiderman que define oito "regras de ouro" para o projeto e avaliação de interfaces. As oito regras definidas por Ben Shneiderman são:

  1. perseguir a consistência;
  2. fornecer atalhos;
  3. fornecer feedback informativo;
  4. marcar o final dos diálogos;
  5. fornecer prevenção e manipulação simples de erros;
  6. permitir o cancelamento das ações;
  7. fornecer controle e iniciativa ao usuário;
  8. reduzir a carga de memória de trabalho.

Com isso, neste artigo vimos que usabilidade é a qualidade que caracteriza o uso de um sistema interativo se referindo à relação que se estabelece entre usuário, tarefa, interface, equipamentos e demais aspectos do ambiente no qual o usuário utiliza o sistema. Também vimos às dificuldades da usabilidade em sistemas web e como podemos definir algumas métricas e fatores a fim de determinar um problema de usabilidade nesses sistemas. Por fim, vimos como melhorar a usabilidade dos nossos sistemas através de heurísticas comprovadamente eficazes e outras formas que ajudam a garantir a usabilidade nos nossos sistemas.

Bibliografia

[1]Shneiderman, B. e Plaisant, C. Designing the user interface: strategies for effective human-computer interaction. 4. ed. Addison-Wesley Publishing Company, 2004.

[2]Nielsen, J. Usability 101: Introduction to Usability. http://www.useit.com/alertbox/20030825.html

[3] Nielsen, J. Usability engineering. San Francisco: Morgan Kaufman, 1994.