DTeixeira Creativity, what else?

1out/090

Pacote de inspiração para quem anda emperrado

Okay, você está lá sentado em sua cadeira na sua casa/escritório e precisa fazer o design/CSS daquele sitezinho específico que você prometeu para seu tio ou aquele freela que parou por um bloqueio criativo e agora você mal pode ter seus vícios distrativos.

A Smash Magazine publicou faz 2 anos mais ou menos um pacote com mais de 60 screenshots (com links) para você se inspirar e copiar criar seus layouts rapidinho. Seu fim de semana agora está salvo, a não ser que seu cliente fale que o site está "escuro demais" e queria um tema floral.

Visualizações: 392
22dez/080

As Oito Regras de Ouro

Complementando o post anterior que fala sobre avaliações heurísticas existe uma outra metodologia alternativa à Heurística de Nielsen. De acordo com Dias (2003, p.55), Ben Shneiderman também criou heurísticas para projetos que envolvem interfaces gráficas, que foi chamada de "As Oito Regras de Ouro", que são:

  • Consistência: Seqüência de ações similares para procedimentos similares. Manter um padrão visual para as cores, Layout e fontes. Utilizar a mesma terminologia em menus.
  • Atalhos para usuários assíduos: Teclas de atalho, macros e navegação simples facilitam e agilizam a interação do usuário mais experientes com a interface.
  • Feedback informativo: Toda e qualquer ação do usuário requer uma resposta do sistema, cujo qual será mais ou menos explicativa dependendo do tipo de ação a ser executada.
  • Diálogos que indiquem término da ação: As seqüências de ações do sistema deve ser organizada de tal forma que o usuário consiga entender os passos e saiba quando cada um deles for executado com sucesso.
  • Prevenção e tratamento de erros: A interface não pode dar vias para o usuário cometer erros graves, e caso ocorram erros, devem haver mecanismos que tratem, corrijam na medida do possível, e caso não seja possível, instrua o usuário para uma possível solução.
  • Reversão de ações: Sempre que possível, as ações devem ser reversíveis, de forma que tranqüilize o usuário e lhe dá mais coragem para explorar o sistema.
  • Controle: Os usuários mais experientes devem ter a sensação de que eles dominam os processos do sistema e que ele apenas responde a suas ações.
  • Baixa carga de memorização: O sistema deve conter uma interface simples para memorização. Para isso requer uma boa Estrutura e Equilíbrio para relacionar elementos e facilitar a memorização subjetiva das telas, sem exigir esforço.

Note que as heurísticas de Nielsen e nas regras de ouro de Shneiderman, apresentadas acima, contém alguma semelhanças. Ambas buscam a melhor experiência de uso, objetivando a busca da qualidade e acessibilidade da interface a ser usada, baseando-se na qualidade, na "amigabilidade" (user-friend) e usabilidade do sistema.

Este é um fator que prova que a usabilidade proporciona um maior conforto para o usuário, uma vez que todos buscam maior agilidade e menos tempo de adaptação necessária para utilizar o software, website ou game.

Devido ao dia-a-dia rápido e dinâmico em que as pessoas são submetidas, a necessidade de assimilação de um sistema deve ser o mais rápido possível, para que as empresas tenham o maior lucro possível devido a treinamentos menores. Uma interface fácil permite um aprendizado melhor e com isso, menor tempo de treinamento, e, portanto maior economia.

Acredito que valha a pena explorar esse lado com mais atenção ao desenvolver um sistema, certamente o resultado é positivo depois de tantos estudos por tantas pessoas.

Visualizações: 845
18dez/080

Engenharia da Usabilidade: Avaliação Heurística

É provável que interfaces com sucesso de vendas e/ou aceitação, passaram por um tipo de avaliação, e é importante citar a mais comum delas, a Avaliação Heurística.

De acordo com Vavassori, "heurística é um pedaço do conhecimento capaz de sugerir ações plausíveis a seguir ou ações implausíveis a evitar.". Podemos entender que heurística é um conjunto de regras de julgamento que ajudam a guiar as pessoas em tomadas rápidas de decisões, onde se for bem empregada, pode ajudar a levar ao objetivo pelo melhor caminho, utilizando o menor tempo. Dias (2003, p.62) define a avaliação heurística como "(...) um método de inspeção sistemático da usabilidade de sistemas interativos cujo objetivo é identificar problemas de usabilidade que, posteriormente, serão analisados e corrigidos ao longo do processo de desenvolvimento do sistema".

Quando as interfaces complicadas e ruins finalmente tornaram-se um problema, surgiram diversas propostas de heurísticas para ajudar a melhorar, que vão desde pequenas sugestões até longas regras de recomendações. Nesta bagunça de regras variadas, Nielsen e Molich apud  Silvera (1997), formaliza a avaliação heurística, onde agora o avaliador testa percorrendo toda a interface a procura de problemas e obstáculos que os usuários podem encontrar durante as interações, usando apenas uma pequena lista de heurísticas como referência.

Dias (2003, p.55) a partir do estudo empírico de problemas de usabilidade encontrados em interfaces, conseguiu agrupar um conjunto de 249 problemas, dos quais Nielsen (1994) resumiu em dez regras heurísticas de usabilidade, que são:

  • Visibilidade do estado atual do sistema: O sistema deve manter o usuário avisado do que está acontecendo por trás dos processos, por meio de feedbacks em tempo hábil. O uso de barras de progressos e avisos textuais, por exemplo, é uma prática muito utilizada.
  • Correlação entre o sistema e o mundo real: O sistema deve conter uma analogia ao mundo real, usando um dialeto conhecido por um usuário. Utilizar a frase "Erro na transação SQL na thread 502, a query sofreu um rollback, e foi cancelada" é muito técnico, a mesma mensagem pode obedecer a esta proposta com a frase "Não foi possível enviar seus dados para serem armazenados, consulte a ajuda sobre o erro 109".
  • Controle versus liberdade do usuário: O sistema deve ser capaz de prever possíveis erros do usuário, quando selecionam opções erradas. O sistema deve ter mecanismos que possam desfazer os erros inseridos pelos usuários.
  • Controle e Consistência: O usuário não deve ter que se preocupar em deduzir que palavras e situações diferentes podem significar a mesma coisa. Ele deve entender e ter certeza.
  • Prevenção de Erros: Uma boa interface não é aquela que exibe boas mensagens de erros, e sim, as que evitam em sua maioria.
  • Reconhecimento ao invés de memorização: Uma interface usual, também é aquela que não exige que o usuário memorize todas as funções, objetos e ações de uma tela, qualquer texto explicativo ou disposição que não dê dúvidas ao usuário é bem vindo!
  • Flexibilidade e eficiência de uso: Deve ser permitido que usuários possam personalizar ou programar as ações mais freqüentes. Teclas aceleradoras (teclas de atalho) devem ser implementados para serem usadas por usuários mais experientes.
  • Projeto estético e minimalista: Toda a informação em uma caixa de dialogo, mensagem, tela, balão deve ser extremamente objetivo, evitando conteúdo não útil ou pouco usual, isso confunde ou desacelera o uso do produto.
  • Suporte aos usuários no reconhecimento, diagnostico e recuperação de erros: Mensagens de erros devem ser claras, objetivas, sem códigos, devem expor o local exato do erro, se houve perdas e sugerir soluções.
  • Informações de ajuda e documentação: Não resta dúvidas que uma boa documentação faz com que as dúvidas sejam dirimidas rapidamente, evitando ligações para o suporte técnico ou banco de ajuda (HelpDesk). Uma documentação com linguagem simples e objetiva deve estar sempre a disposição do usuário, de modo que seja simples de consultar. A documentação deve estar sempre focada nas tarefas que o usuário costuma fazer e não pode ser muito longa.

Com essas regras em mãos, parece algo difícil de se fazer, mas se olhar atentamente não é uma tarefa complicada. Descomplicar a vida dos usuários É o nosso trabalho, e DÁ trabalho descomplicar a vida dos outros mas esta tarefa em si não é difícil, só exige atenção no momento da produção.

Interfaces que deram sucesso é o do próprio Windows. Apesar de ser altamente criticado, há um esforço enorme em adequar essas 10 regras nesse sistema operacional que eu considero gigante. Interfaces de celulares também tem essa regra aplicada com muito rigor, a Nokia e a Sony sempre fizeram excelentes interfaces onde sem curso algum o usuário consegue usa-la e em poucas semanas domina-la (não posso falar dos iPhones & CIA pois nunca tive um).

Olhando por esse prisma, dá para ver que uma interface usável afeta sem sombra de dúvidas o sucesso e popularidade de um software, game ou website.

Visualizações: 737
17dez/080

Engenharia da Usabilidade: Prototipação

Observar como um usuário se comporta ao interagir com uma interface, e atentar-se às dificuldades dele, faz da prototipação um passo importante no fluxo de uma Engenharia da Usabilidade. Morandini mostrou em sua Tese que a prototipação é capaz de determinar taxas e métricas que quantifiquem a usabilidade de uma interface.

Uma prototipação é feita criando-se uma interface com as mesmas características do produto final, mas sem funcionalidades. É apresentado aos usuários de forma que eles possam enxergar com mais clareza o produto final.

Uma vez aprovada a interface, o desenvolvimento é feito com riscos amplamente reduzidos de uma reengenharia por falhas na utilização da interface. Um protótipo representando apenas uma parte do sistema final (a interface) reduz custos, e torna-se muito mais lucrativo quando aliado a uma metodologia de desenvolvimento iterativa.

Há dois tipos de prototipação: Horizontal e Vertical. A prototipação horizontal consiste em montar uma interface completa em termos de elementos, permitindo uma visão geral do usuário por todo o sistema, assim como uma pessoa observa o horizonte, em um protótipo horizontal, o usuário obtém uma visão geral de tudo.
A Prototipação Vertical é focada nas funcionalidades. Dessa forma, um protótipo do sistema pode ser reduzido a um módulo isolado, onde o usuário poderá ver em detalhes um pedaço limitado do sistema.

Eu pessoalmente sempre defendi a prototipação como um passo importante da Engenharia da Usabilidade, pois o cliente poderá degustar o sistema antes do mesmo ser implementado. Porém, acredito que a prototipação horizontal valha mais a pena pois investir tempo em um único módulo para fazer uma prototipação vertical pode exigir muito tempo e/ou regras de negócio já funcionando, causando retrabalho.

Visualizações: 634
16dez/080

Engenharia da Usabilidade: Introdução

A usabilidade é um parâmetro principal para o desenvolvimento de boas interfaces, é o que determina também se ela tem qualidade. Mas a pergunta é: Como desenvolver esta tal boa interface?

A resposta está na Engenharia da Usabilidade, idealizada por Jakob Nielsen. O objetivo dessa engenharia é obter uma interface com alto grau de facilidade de uso, Nielsen investe no processo de desenvolvimento que pode ser descrito em onze passos, que se seguidos à risca, garante uma interface com alta usabilidade. Este processo pode ser aplicado em qualquer tipo de interface: websites, softwares e games, por exemplo.

A tabela abaixo sintetiza estes processos, quanto mais passos forem seguidos, maior o grau de usabilidade. É perfeitamente aceitável que no mundo de hoje, nem sempre é possível seguir todos os onze passos, geralmente por motivos de tempo, pressão de clientes e custos. Não seguir todos os passos, as vezes para uma empresa, pode ser vital para sua sobrevivência economia. Daí surge a Engenharia da Usabilidade Reduzida, que nada mais é do que ceifar um ou mais, dos onze passos de Nielsen, para adaptar ao universo da empresa, tornando possível o emprego desta engenharia.

Uma das principais fases da engenharia (a fase 1) é conhecer o usuário. Esta etapa deve obrigatoriamente estar presente tanto na Engenharia normal quanto na reduzida. Conhecer os usuários é fundamental para sua interface, afinal, como pretende estabelecer uma via de comunicação sem sequer conhecer seu público alvo.

Fase

Descrição

1. Conhecer o usuário

Fase básica e essencial de análise das tarefas e objetivos, para identificação das características individuais dos usuários.

2. Analisar os aplicativos concorrentes

Análise comparativa de diversos produtos disponíveis, para estudo de recursos interessantes e falhas para inovar.

3. Especificar metas de usabilidade

Determinação dos pesos dos atributos de usabilidade, em função do projeto, dos objetivos da interface e das métricas da usabilidade.

4. Realizar o Design paralelo

Exploração das diversas alternativas de design, através do trabalho independente de vários designers, para geração de múltiplas soluções.

5. Fazer o Design participativo

Apresentação de diversas opções de design para uma amostra representativa de usuários, para seleção das alternativas adequadas.

6. Efetuar o Design coordenado para a interface total

Aplicação de argumentos de consistência para todo o conjunto da interface homem-computador incluindo, além das telas do produto, a documentação.

7. Aplicar os princípios de Design de interfaces e de análise heurística.

Utilização de princípios para design de interfaces com usuário e de heurísticas de usabilidade, para avaliação do design considerado.

8. Elaborar protótipos

Elaboração de telas sem funcionalidades para avaliação dos usuários e diminuição de tempos de reengenharia.

9. Aplicar testes empíricos

Elaborar uma série de testes das telas com os usuários para listagem de erros e melhorias de usabilidade.

10. Realizar o Design iterativo

Realização de novas versões da interface, através de um processo iterativo de design, baseados nos problemas de usabilidade e nas observações identificadas na fase 9.

11. Efetuar observação em campo

Análise da utilização do produto, para coleta de feedbacks

Os aspectos a seguir que vou abordar da Engenharia da Usabilidade é a Prototipação, Avaliação Heurística, As 8 Regras de Ouro, e a seguir, aprofundar cada um dos aspectos da GUI, que somados teremos então todas as ferramentas para aplicar a engenharia da usabilidade.

Visualizações: 789