Interface Com o Usuário Ferramentas da Ergonomia Qualidade Qualidades Ergonômicas para IHC Para minimizar a ambigüidade na identificação e classificação das qualidades e problemas ergonômicos do software interativo, Scapin e Bastien, em 1993, formalizaram uma proposta de 8 critérios: • Condução: Presteza, Feedback Imediato, Legibilidade e Agrupamento/Distinção de itens (por Localização e por Formato). • Carga de Trabalho: Brevidade (Concisão e Ações Mínimas) e Densidade Informacional. • Controle Explícito: Ações Explícitas do Usuário e Controle do Usuário. • Adaptabilidade: Flexibilidade e Experiência do Usuário. • Gestão de Erros: Proteção Contra os Erros e Qualidade das Mensagens de Erro. • Homogeneidade/Coerência • O Significado dos Códigos e Denominações • Compatibilidade Interface com o Usuário 2 A condução Refere-se aos meios disponíveis para aconselhar, orientar, informar, e conduzir o usuário na interação com o computador (mensagens, alarmes, rótulos etc.), possibilitando: a localização do usuário, isto é, fazer com que ele sempre saiba onde se encontra (numa seqüência de interações ou na execução de uma tarefa); conhecimento das ações permitidas, bem como suas conseqüências; obtenção de informações suplementares (eventualmente por demanda). O software prestativo apresenta aprendizado rápido e fácil utilização permitindo que o usuário melhore seu desempenho e diminua o número de erros na operação do sistema. Interface com o Usuário 3 Presteza Engloba as informações que permitem ao usuário identificar o estado ou contexto no qual se encontra, bem como as ferramentas de ajuda e o modo de acesso, incluindo todos os mecanismos ou meios que permitam ao usuário conhecer as alternativas. O Software prestativo guia o usuário e poupa do aprendizado de uma série de comandos, permitindo ao usuário saber o modo ou o estado e onde se encontra no diálogo. Uma boa presteza facilita a navegação no aplicativo e diminui a ocorrência de erros. Interface com o Usuário 4 Exemplo de recomendações Dirigir a entrada de dados indicando o formato adequado e os valores aceitáveis (ex.: __/__/__) Exibir as unidades de medidas dos dados a digitar Fornecer um rótulo para cada campo de dado Indicar o tamanho do campo quando ele for limitado Quando necessário, fornecer no rótulo informações suplementares Dar um título a cada janela Fornecer ajuda on-line e orientação Interface com o Usuário 5 Feedback imediato Feedback Imediato, diz respeito mensagens que informam os usuários sobre ações prévias. Qualidade e rapidez do feedback, estes fatores possibilitam que o usuário tenha um melhor entendimento do funcionamento do sistema. Com a ausência do feedback os usuários podem suspeitar de uma falha no sistema, e podem tomar atitudes prejudiciais para os processos em andamento. Interface com o Usuário 6 Exemplo Todas as entradas dos usuários devem ser mostradas, com exceção de dados sigilosos. Mesmo neste caso, cada entrada deve produzir um feedback perceptível (ex.: ****) Seguindo a interrupção pelo usuário de um processamento de dados, mostrar uma mensagem garantindo ao usuário que o sistema voltou ao seu estado prévio. Quando o processamento é longo, informações sobre o estado do processamento devem ser fornecidas. Interface com o Usuário 7 Legibilidade Facilita a leitura da informação apresentada. Por exemplo, letras escuras em um fundo claro são mais fáceis de ler que letras claras em um fundo escuro; Texto apresentado com letras maiúsculas e minúsculas é lido mais rapidamente do que texto escrito somente com maiúsculas. A performance melhora quando a apresentação da informação leva em conta as características cognitivas e perceptivas dos usuários. Legibilidade diz respeito às características lexicais das informações apresentadas na tela que possam dificultar ou facilitar a leitura desta informação (brilho do caractere, contraste letra/fundo, tamanho da fonte, espaçamento entre palavras, espaçamento entre linhas, espaçamento de parágrafos, comprimento da linha etc.). Interface com o Usuário 8 Exemplo Títulos devem ser centralizados Rótulos devem estar em letras maiúsculas Cursores devem se apresentar distintos dos outros itens Quando o espaço para o texto for limitado, de ao menos 50 caracteres por linha A justificação a direita deve ser empregada se puder ser obtida por espaçamento, desde que sejam mantidos espaçamentos proporcionais constantes entre e nas palavras e espaçamento consistente entre palavras de uma linha Ao exibir um material textual, mantenha as palavras intactas, com o mínimo de hífens Interface com o Usuário 9 Agrupamento/Distinção de Itens A compreensão de uma tela pelo usuário depende, entre outras coisas, da ordenação, do posicionamento, e da distinção dos objetos (imagens, textos, comandos etc.) que são apresentados. Os usuários vão detectar os diferentes itens ou grupos de itens, e aprender suas relações mais facilmente, se, por um lado, eles forem apresentados de uma maneira organizada (ordem alfabética, freqüência de uso etc.), e por outro lado, os itens ou grupos de itens forem apresentados em formatos, ou codificados de maneira a indicar suas similaridades ou diferenças. O Agrupamento/distinção de itens está subdividido em dois critérios elementares: Por localização, diz respeito ao posicionamento relativo dos itens. Por formato, diz respeito mais especificamente às características gráficas (formato, cor etc.) Interface com o Usuário 10 Carga de trabalho Quanto maior for a carga de trabalho cognitivo para o usuário, maior será a probabilidade de cometer erros, além disso, quanto menos o usuário for distraído por informação desnecessária, mais será capaz de desempenhar suas tarefas eficientemente, pois quanto menos ações são necessárias, mais rápidas as interações. Esse critério diz respeito a todos elementos da interface que têm um papel importante na redução da carga cognitiva e perceptiva do usuário, e no aumento da eficiência do diálogo. O critério Carga de Trabalho está subdividido em dois critérios: Brevidade, refere-se a carga perceptiva e cognitiva, tanto para entradas e saídas individuais, quanto para conjuntos de entrada (conjuntos de ações necessárias para se alcançar uma meta) Densidade Informacional, diz respeito à carga de trabalho do usuário que não deve precisar executar tarefas cognitivas complexas quando estas não estão relacionadas com a tarefa em questão. Interface com o Usuário 11 Brevidade Tem por objetivo limitar a carga de trabalho de leitura e entradas e o número de passos. A Brevidade é justificada devido ao fato da memória de curto termo ser limitada, em conseqüência, quanto menos entradas, menor a probabilidade de cometer erros. Além disso quanto mais sucintos forem os itens, menor será o tempo de leitura O critério de Brevidade está subdividido em dois critérios: Concisão Ações mínimas Interface com o Usuário 12 Concisão Refere-se à carga perceptiva e cognitiva de saídas e entradas individuais. Concisão não diz respeito às mensagens de erro e de feedback. Exemplos: Para dados numéricos, a entrada de zeros à esquerda não deve ser necessária Se códigos forem mais longos que 4 ou 5 caracteres, use mnemônicos ou abreviaturas Permitir ao usuário entrada de dados sucintas Quando uma unidade de medida está associada a um campo, inclua a unidade como parte do campo de dados, ao invés de fazer o usuário digita-la. Interface com o Usuário 13 Ações mínimas Diz respeito à carga de trabalho em relação ao número de ações necessárias à realização de uma tarefa. Limitando assim, tanto quanto possível o número de passos pelos quais o usuário deve passar. Exemplos: Minimize o número de passos necessários para se fazer uma seleção de menu Não faça o usuário entrar com dados que poderiam ser derivados pelo computador Evite entrada de comandos que exijam pontuação Para entrada de dados, exiba os valores default atuais nos campos apropriados Quando várias páginas estiverem envolvidas, possibilitar ir diretamente para uma página sem ter que passar pelos intermediários Interface com o Usuário 14 Densidade informacional Refere-se à carga de trabalho do usuário de um ponto de vista perceptivo e cognitivo, com relação ao conjunto total de itens de informação apresentados aos usuários, e não a cada elemento ou item individual. Exemplo: Em qualquer transação, fornecer somente dados que sejam necessários e diretamente usáveis Os dados não devem necessitar d tradução entre unidades A linguagem de consulta deve usar o mínimo de quantificadores em sua formulação Prover computação automática de dados derivados, para que o usuário não tenha que calcular e entrar com dados que possam ser derivados de dados já acessíveis ao computador. Interface com o Usuário 15 Exercício 1 Em seu ponto de vista qual a distinção entre os critérios de presteza e feedback imediato? Justifique, com suas próprias palavras a necessidade do critério Agrupamento/Distinção de itens. Qual a diferença entre os critérios de Legibilidade e Feedback imediato ? Qual a diferença entre os critérios Ações mínimas e Concisão ? Problemas relacionados ao critério de Ações Mínimas podem resultar de mecanismos inadequados de correção de erros. Certo ou Errado? Justifique. Respostas no site: http://www.labiutil.inf.ufsc.br/indice-1.html#indice Interface com o Usuário 16 Controle explícito Com um software obediente o usuário tem o controle explícito sobre os processamentos do sistema. O software obediente se define em dois critérios elementares: Ações Explícitas do usuário, se refere às relações entre o processamento pelo computador e as ações do usuário. Controle do Usuário, se refere ao fato de que os usuários deveriam estar sempre no controle do processamento do sistema (e.g., interromper, cancelar, suspender e continuar). Interface com o Usuário 17 Ações explícitas • Se refere às relações entre o processamento pelo • • computador e as ações do usuário. Esta relação deve ser explícita, isto é, o computador deve processar somente aquelas ações solicitadas pelo usuário e somente quando solicitado a fazê-lo. Quando o processamento pelo computador resulta de ações explícitas dos usuários, estes aprendem e entendem melhor o funcionamento da aplicação e menos erros são observados. Interface com o Usuário 18 Ações explícitas • Exemplo: • Sempre faça necessário que o usuário tecle um ENTER • explícito para iniciar o processamento de dados digitados; não inicie um processamento (i.e. atualizar um arquivo) como efeito colateral de uma outra ação (i.e. imprimir um arquivo); Se a seleção do menu é feita através de dispositivo de apontamento, faça a ativação em dois passos, onde a primeira ação (posicionar o cursor) designa a opção selecionada e uma segunda ação distinta faz uma entrada de controle explícita; e • Entradas de comandos do usuário devem ser seguidas de um ENTER depois de editadas. Interface com o Usuário 19 Controle do usuário • Se refere ao fato de que os usuários deveriam • estar sempre no controle do processamento do sistema (i.e., interromper, cancelar, suspender e continuar). Cada ação possível do usuário deve ser antecipada e opções apropriadas devem ser oferecidas. O controle sobre as interações favorece a aprendizagem e assim diminui a probabilidade de erros. Como conseqüência, o computador se torna mais previsível. Interface com o Usuário 20 Controle do usuário • Exemplo: • Deixar ao usuário o controle do ritmo de suas entradas de • • • dados, e não pelo computador ou por eventos externos O cursor não deve ser automaticamente movido sem o controle do usuário (com exceção de procedimentos estáveis e bem conhecidos como o preenchimento de formulários). Possibilitar aos usuários interromper ou cancelar a transação ou processo atual. Fornecer uma opção CANCELAR a qual tem o efeito de apagar qualquer mudança que acabou de ser feita e trazer a tela para seu estado anterior. Interface com o Usuário 21 Adaptabilidade Refere-se a sua capacidade de reagir conforme o contexto, e conforme as necessidades e preferências do usuário. Dois subcritérios participam da adaptabilidade: Flexibilidade, A flexibilidade se refere aos meios colocados à disposição do usuário que permite personalizar a interface a fim de levar em conta as exigências da tarefa, de suas estratégias ou seus hábitos de trabalho. Quanto mais formas de efetuar uma tarefa existirem, maiores serão as chances de que o usuário possa escolher e dominar uma delas no curso de sua aprendizagem. Consideração da experiência do usuário, diz respeito aos meios implementados que permitem que o sistema respeite o nível de experiência do usuário. Interface com o Usuário 22 Flexibilidade A flexibilidade se refere aos meios colocados à disposição do usuário que lhe permite personalizar a interface a fim de levar em conta as exigências da tarefa, de suas estratégias ou seus hábitos de trabalho. Ela corresponde também ao número das diferentes maneiras à disposição do usuário para alcançar um certo objetivo. Trata-se em outros termos, da capacidade da interface de se adaptar as variadas ações do usuário. Quanto mais formas de efetuar uma tarefa existirem, maiores serão as chances de que o usuário possa escolher e dominar uma delas no curso de sua aprendizagem. Interface com o Usuário 23 Exemplo Quando as exigências sobre o usuário forem imprecisas fornecer meios para que ele controle a configuração das telas. Quando em algum contexto a validade de certas apresentações não poder ser determinada, fornecer ao usuário a possibilidade de desativa-las temporariamente. Quando os valores por default não são previamente conhecidos, o sistema deve permitir que o usuário defina, mude ou suprima valores. A seqüência de entrada de dados deve poder ser modificada para se adaptar a ordem preferida pelo usuário. Quando o formato de um texto não poder ser previsto com antecedência, deve-se proporcionar ao usuário os meios para definir e salvar os formatos que ele venha precisar. O usuário deve poder definir os nomes dos campos de dados que ele(a) venha criar. Interface com o Usuário 24 Experiência do usuário A consideração da experiência do usuário diz respeito aos meios implementados que permitem que o sistema respeite o nível de experiência do usuário. O grau de experiência dos usuários pode variar. Eles tanto podem se tornar especialistas devido a utilização continuada como menos especialistas depois de longos períodos de não utilização. A interface deve também ser concebida para lidar com as variações de nível de experiência. Usuários experientes não têm as mesmas necessidades informacionais que os novatos. Todos os comandos ou opções não precisam ser visíveis o tempo todo. Diálogos de iniciativa somente do computador podem entediar e diminuir o rendimento do usuário experiente. Os atalhos ao contrário, podem lhes permitir rápido acesso as funções do sistema. Pode-se fornecer aos usuários inexperientes diálogos fortemente conduzidos, ou mesmo passo à passo. Em suma, meios diferenciados devem ser previstos para lidar com diferenças de experiência, permitindo que o usuário delegue ou se aproprie da iniciativa do diálogo. Interface com o Usuário 25 Exemplo Prever atalhos. Permitir que usuários experientes contornem uma série de seleções por menu através da especificação de comandos ou e atalhos de teclado. Prever a escolha de entradas simples ou múltiplas conforme a experiência do usuário. Autorizar diferentes modos de diálogo correspondentes aos diferentes grupos de usuários (ex. prever uma presteza adaptada ao nível de experiência do usuário). Permitir a digitação de vários comandos antes de uma confirmação do usuário experiente. Fornecer um tutorial passo a passo para os usuários novatos. Quando as técnicas de condução atrasam o usuário experiente, fornecer meios de contornar esta condução. O usuário deve poder escolher o nível de detalhe das mensagens de erro em função de seu nível de conhecimento. Interface com o Usuário 26 A gestão de erros Diz respeito a todos os mecanismos que permitem evitar ou reduzir a ocorrência de erros, e quando eles ocorrem, que favoreçam sua correção. Três sub-critérios participam da manutenção dos erros: Proteção contra os erros, diz respeito aos mecanismos empregados para detectar e prevenir os erros de entradas de dados ou comandos. É preferível detectar os erros no momento da digitação do que no momento da validação. Isto pode evitar perturbações no planejamento da tarefa. Qualidade das mensagens de erro, refere-se a pertinência, a legibilidade e a exatidão da informação dada ao usuário sobre a natureza do erro cometido (sintaxe, formato, etc.), e sobre as ações a executar para corrigi-lo. Correção dos erros, diz respeito aos meios colocados a disposição do usuário com o objetivo de permitir a correção de seus erros. Os erros são bem menos perturbadores quando eles são fáceis de corrigir. Interface com o Usuário 27 Proteção contra erros • • • A proteção contra os erros diz respeito aos mecanismos empregados para detectar e prevenir os erros de entradas de dados, comandos, possíveis ações de conseqüências desastrosas e/ou não recuperáveis. É preferível detectar os erros no momento da digitação do que no momento da validação. Isto pode evitar perturbações na planificação da tarefa. Existem diversas maneiras de fornecer proteção contra os erros: • Pode-se por exemplo definir um mecanismo automático de verificação das entradas. Assim, no momento da validação, uma mensagem de erro aparece se o formato da entrada não está em conformidade com o esperado. Trata-se neste caso o critério proteção contra os erros. • Uma outra maneira consiste em fornecer uma informação orientando os usuários sobre o tipo de dado esperado ou ainda sobre o formato da entrada. Interface com o Usuário 28 Exemplos • • • • • • Quando o usuário termina uma seção e existe o risco de perda os dados, deve haver uma mensagem lhe avisando deste fato e lhe pedindo confirmação do final da seção. Os rótulos dos campos devem estar protegidos (não devem ser acessíveis ao usuário). As apresentações que acompanham as entrada de dados devem estar protegidas. Os usuários não podem modificar as informações contidas nestes campos. Depois de um erro de digitação de um comando ou de dados, dar ao usuário a possibilidade de corrigir somente a parte dos dados ou do comando que está errado. Todas as ações possíveis sobre uma interface devem ser consideradas e mais particularmente as digitações acidentais a fim de que entradas não esperadas sejam detectadas. Agrupar os atalhos de teclado por funções perigosas e/ou rotineiras Interface com o Usuário 29 Qualidade das mensagens de erro A qualidade das mensagens refere-se a pertinência, a legibilidade e a exatidão da informação dada ao usuário sobre a natureza do erro cometido (sintaxe, formato, etc.), e sobre as ações a executar para corrigi-lo. • • A qualidade das mensagens favorece o aprendizado do sistema indicando ao usuário a razão ou a natureza do erro cometido, o que ele fez de errado, o que ele deveria ter feito e o que ele deve fazer. Exemplo: • Se o usuário pressiona uma tecla de função inválida, nenhuma ação deve • • • • ocorrer, a não ser uma mensagem indicando as funções apropriadas a esta etapa da transação. Fornecer mensagens de erro orientadas a tarefas. Utilizar os termos tão específicos quanto possíveis para as mensagens de erros. Utilizar mensagens de erro tão breves quanto possível. Adotar um vocabulário neutro, não personalizado, não repreensivo nas mensagens de erro; evitar o humor. Interface com o Usuário 30 Correção dos erros • O critério correção dos erros diz respeito aos meios colocados a disposição do usuário com o objetivo de permitir a correção de seus erros • Os erros são bem menos perturbadores quando eles são fáceis de corrigir Exemplo: • Fornecer a possibilidade de modificar os comandos no momento de sua digitação. • Quando verifica-se erro na digitação de um ou mais comandos, proporcionar ao usuário a possibilidade de refazer a digitação apenas da parte equivocada do(s) comando(s), evitando rejeitar um bloco todo já digitado. • Se o usuário não percebe que cometeu um erro de digitação, lhe dar a possibilidade de efetuar, no momento da detecção do erro, as correções apropriadas. Interface com o Usuário 31 A Homogeneidade/Coerência Refere-se à forma na qual as escolhas na concepção da interface (códigos, denominações, formatos, procedimentos, etc.) são conservadas idênticas em contextos idênticos, e diferentes para contextos diferentes. Os procedimentos, rótulos, comandos etc., são melhor reconhecidos, localizados e utilizados, quando seu formato, localização, ou sintaxe são estáveis de uma tela para outra, de uma seção para outra. Nestas condições o sistema é mais previsível e a aprendizagem mais generalizável; os erros são diminuídos. A falta de homogeneidade nos menus por exemplo, pode aumentar consideravelmente os tempos de procura. A falta de homogeneidade é também uma razão importante da recusa na utilização. Interface com o Usuário 32 Exemplos Localização similar dos títulos das janelas. Formatos de telas semelhantes. Procedimentos similares de acesso às opções dos menus. Na condução, sempre utilizar as mesmas pontuações e as mesmas construções de frases. Apresentar na mesma posição os convites (prompts) para as entrada de dados ou de comandos. Os formatos dos campos de entrada de dados devem sempre ser os mesmos. Interface com o Usuário 33 O Significado dos Códigos e Denominações Diz respeito a adequação entre o objeto ou a informação apresentada ou pedida, e sua referência. Códigos e denominações significativas possuem uma forte relação semântica com seu referente. Termos pouco expressivos para o usuário podem ocasionar problemas de condução onde ele pode ser levado a selecionar uma opção errada. Quando a codificação é significativa, a recordação e o reconhecimento são melhores. Códigos e denominações não significativos para os usuários podem lhes sugerir operações inadequadas para o contexto, lhes conduzindo a cometer erros. Interface com o Usuário 34 Exemplos O título deve transmitir o que ele representa e ser distinto de outros títulos; Explicitar as regras de contração ou de abreviação; Utilizar códigos e denominações significativas e familiares em vez de códigos e denominações arbitrárias (ex.: utilizar M para masculino e F para feminino em vez de 1 e 2). Interface com o Usuário 35 A Compatibilidade Refere-se ao acordo que possa existir entre as características do usuário (memória, percepção, hábitos, competências, idade, expectativas, etc.) e das tarefas, de uma parte, e a organização das saídas, das entradas e do diálogo de uma dada aplicação, de outra. Diz respeito também, ao grau de similaridade entre diferentes ambientes e aplicações. A transferência de informações de um contexto à outro é mais tanto mais rápida e eficaz quanto menor é o volume de informação que deve ser recodificada. A eficiência é aumentada quando os procedimentos necessários ao cumprimento da tarefa são compatíveis com as características psicológicas do usuário; Os desempenhos são melhores quando a informação é apresentada de uma forma diretamente utilizável (telas compatíveis com o suporte tipográfico, denominações de comandos compatíveis com o vocabulário do usuário, etc.). Interface com o Usuário 36 Exemplos A organização das informações apresentadas devem estar conforme a organização dos dados a entrar. O formato das telas devem ser compatíveis com os documentos em papel. Os procedimentos de diálogo devem ser compatíveis com a ordem assim como o usuário a imagina ou conforme o seu costume. O formato da data deve respeitar o formato do país que a aplicação será utilizada (ex.: na França o formato da data é dia/mês/ano e na Inglaterra é mês/dia/ano) Os termos empregados devem ser familiares aos usuários, relativos à tarefa a realizar. As unidades de medida devem ser as que são normalmente utilizadas. A apresentação de texto na tela deve ser conforme as convenções utilizadas para a apresentação de texto em papel. Interface com o Usuário 37 Exercício 2 Considerando as ferramentas de ergonomia apresentadas nestas transparências, faça uma análise comparativa entre as ferramentas de desenvolvimento de programas: Turbo C 3.0 (download disponível na home page do professor); e Borland C++ (presente nos computadores do lab). Interface com o Usuário 38