O design de interação é uma disciplina ainda imatura no brasil. Embora até tenhamos cursos lato-sensu na área, ela é ainda confundida injustamente com o desenho puramente estético de páginas Web, ela é muitas vezes ignorada por analistas e desenvolvedores no processo de construção de sistemas. Em muitas empresas, inclusive, é esperado que o Web Designer (que é um outro tipo de profissional) cuide de aspectos associado à usabilidade, acessibilidade e o design de interação.
O design de interação deve ser pensado como um aspecto econômico em sistemas de informação. Cito um exemplo real ocorrido em São Paulo, onde um projeto de refatoração de usabilidade foi realizado para permitir que os atendentes praticamente duplicassem a quantidade de transações de negócio efetuadas em um dia. Neste caso, não houve compras de máquinas adicionais nem refatorações de performance do sistema. Apenas o trabalho de usabilidade gerou maior assertividade na entrada de dados com redução de cliques e esforço dos usuários. Este aspecto da usabilidade, em particular, é chamado de eficiência operacional.
Arquitetos modernos devem se preocupar com aspectos de acessibilidade e usabilidade, dado que a usabilidade pode gerar trade-offs com outros requisitos técnicos como a segurança, desempenho ou escalabilidade.
Arquitetos devem capturar estes requisitos de forma quantitativa.
Exemplos incluem:
- A acessibilidade das páginas do Web Site XPTO deve atender ao padrão WCAG no nível AA.
- O tempo de resposta para interações em combos e lookups não deve exceder 1 segundo.
- O sistema deve fornecer teclas de atalho e aceleradores para que as operações comuns do sistema sejam realizadas sem o uso de mouse.
Um contra-exemplo são os desejos ambíguos como “interfaces amigáveis” , naturais no vocabulário dos usuários. Requisitos objetivos e mensuráveis sempre devem ser capturados pelos arquitetos.
Após capturar os requisitos de forma quantitativa, os arquitetos podem então contar com os profissionais especializados para a implementação destes requisitos (engenheiros de usabilidade e desenvolvedores) e para os testes destes requisitos (analistas de testes).
Arquitetos são então a ponte. Eles ligam os desejos de negócio e os desejos econômicos e tornam estes desejos concretos em requisitos de usabilidades. Eles fazem a tradução destes requisitos para a linguagem dos engenheiros de usabilidade e desenvolvedores e acompanham os testes de usabilidade realizados pelos analistas de teste.
Para aprender mais sobre este assunto, arquitetos podem contar com questionários baseados em modelos com o FURPS+ ou a série ISO 25000. Para os iniciados em usabilidade, as perguntas e os testes podem ser organizadas ao longo dos seguinte temas:
- Simplicidade. Contra-exemplos são telas que possuem campos raramente usados ou um número de grupos de campos excessivos que sobrecarregam a memória de curto prazo (STM) dos seus usuários.
- Linguagem simples. Contra-exemplos são telas que apresentam erros de banco de dados (ORA600 ou java.lang.NullPointerException) para os seus usuários finais.
- Minimização do uso de memória do usuário. Um contra-exemplo é um sítio de comércio eletrônico no Brasil (que não vou citar aqui por delicadeza) que requer que o usuário avance por 12 telas até que ele chegue no fim da compra.
- Consistência. Contra-exemplo são sistemas onde existem diversas formas de fazer a mesma coisa ou que apresentam telas completamente diferentes com a mesma função. Bizarro!
- Feedbacks. Contra-exemplo são sistemas que não fornecem retorno sobre ações do usuário. Bons exemplos são sites que mostram contextualmente falhas na digitação de campos no local e no momento que acontecem. Bem vindo o AJAX.
- Atalhos. Contra-exemplos são sistemas que obrigam o usuário a pegar o mouse para cada mínimo movimento necessário na tela.
- Auxílio e documentação. Contra-exemplo são sistemas que não fornecem ajuda contextual ou ajuda on-line.
- Prevenção de erros. Sistemas devem guiar o usuário de forma correta e evitar erros. Contra-exemplos são alguns sites bancários onde digitar um CNPJ parece ser um jogo para testar o seu estresse.
A técnica de provas de conceitos arquiteturais pode ser usada para trabalhar o tema usabilidade. Arquitetos modernos, como diz Grady Booch, devem pensar sistemas de forma holística e contribuir na sua plenitude para a construção de sistemas melhores e mais eficientes.
Don’t make me think”, Steve Krug, Don’t Make Me Think: A Common Sense Approach to Web Usability.