1 Diálogo - Considerações Dois componentes: • interface de ação • interface de percepção Objetivos: Tornar o sistema: • Agradável ao uso • Prático de Usar - quer dizer: Produtivo • Confiável Aspectos de desempenho • velocidade de resposta • aceitabilidade do programa • eficiência do usuário Ciência Correlatas • Psicologia Perceptiva - “How to see” • Psicologia Cognitiva - “How to acquire knowl.” • Fatores Humanos - “How to interact with equip.” Maria Alice Grigas Varella Ferreira EP-USP Interface de Ação Maria Alice Grigas Varella Ferreira EP-USP 2 Atributos da linguagem Ser natural Com regras e vocabulário simples Conceitos conhecidos ou facilmente assimiláveis Diálogo Completo e eficiente Gramática Natural - mínimo de regras Extensibilidade - capacidade de extensão e personalização pelo usuário Feedback!!!!!!! Capacidade de recuperação de Erros/Enganos !!!!!!! Auxílio ao usuário Maria Alice Grigas Varella Ferreira EP-USP 3 Modelo Linguístico Linguagem do Homem: Ações Linguagem da máquina: gráficos, textos, sons, realimentação (“feedback”), sensações tácteis Nível conceitual Significado Nível Semântico Nível Sintático Forma Nível Léxico Maria Alice Grigas Varella Ferreira EP-USP 4 Projeto Conceitual Conceitos - chave da aplicação: quem é, o que se pretende, quais os requisitos, etc Definição de seus Objetos e Classes de Objetos (Objetos e Sub-Objetos) Definição de Relações entre Objetos Definição das operações sobre os Objetos Deve permitir ao usuário, usar o sistema sem ter que fazer estudos elaborados Projeto por metáforas Objetos • intrínsicos - os da aplicação • controle - comuns a aplicações diferentes: grade, cursores, escala, menus e outros “widgets as ações devem ser consistentes, isto é, aplicáveis a todas as categorias de objetos - nem sempre é possível Maria Alice Grigas Varella Ferreira EP-USP 5 Projeto Conceitual Exemplo: Editor de Textos • Objetos: Linhas e Arquivos • Relações : Arquivo = Sequência de Linhas • Operações: – Sobre Linhas: insert / delete / move / change – Sobre Arquivos: create/ copy/ merge/ rename/ delete Maria Alice Grigas Varella Ferreira EP-USP 6 Projeto Semântico especificação funcional detalhada de cada operação sobre um objeto: • informação necessária • erros que podem ocorrer e tratamento a ser dado a cada um • resultado das operações Maria Alice Grigas Varella Ferreira EP-USP 7 Projeto Sintático especifica sequências de entradas e saídas • entradas: a sequência é dada pela Gramática; a sequência é dada pelos “tokens” (átomos) • exemplo: comando: ROTATE quantidade: 45o objeto: cadeira ponto em torno do qual rotacionar: X,Y comentários: Rodar, agora! saídas: sequência inclui noção temporal /espacial -> organização do display projeto visual Maria Alice Grigas Varella Ferreira EP-USP 8 Projeto léxico especifica como combinar os primitivos gráficos de hardware (lexemes) para compor os “tokens” • lexemes de entrada -> depende dos dispositivos de entrada: mouse, mesa digitalizadora, setas • lexemes de saída -> linhas, gráficos e respectivos atributos (cor, espessura, tipo do fonte) “tokens” independente de HW Maria Alice Grigas Varella Ferreira lexemes dependente de HW EP-USP 9 Realimentação (“feedback”) em nível léxico, sintático e semântico • léxico: eco de caracteres/movimento do cursor • sintático: aceitação de escolha no menu por “highlighting” ou cor/ aceitação de uma sequência de “tokens” ( t = 1 a 2 segundos) • semântico: indicação de operação em curso: – dial de 360o – resposta indicativa do que está sendo feito (quando se consome muito tempo ou recursos ou quando ocrrem situações ambíguas) – resultados parciais Maria Alice Grigas Varella Ferreira EP-USP Realimentação (“feedback”) 10 Saída Banco de Dados Semântico Entrada Sintático proc.selec. Interpretador de comandos Léxico Driver de dispositivo Posição na tela: área fixa, para erros ou mensagens, caixas de mensagens na posição do cursor Maria Alice Grigas Varella Ferreira EP-USP Realimentação (“feedback”) 10.a área total “View indicators” indicador da vista vista Menus Domínio do controle “Control Domain”) sem indicação de status elevador 2 com indicação de status Maria Alice Grigas Varella Ferreira com indicação da página 2 indicação da pá gina + relação de proporção no conjunto EP-USP Realimentação (“feedback”) 10.b Posicionamento corrente (“current settings”) x x x Zoom seleção para Zoom Maria Alice Grigas Varella Ferreira EP-USP 11 Auxílio ao usuário categorias de usuários • inexperientes • intermediários • experientes ferramentas: “prompting” e help: – podem ser em vários níveis: • contextuado / não contextuado – podem ser obstrutivos / não obstrutivos exemplos de “prompting” não obstrutivos • cursor na tela -> “entre posição” • cursor em “blinking”-> “entre texto” • botões iluminados -> “selecione um” • colocação de escala na tela/grade -> forneça um valor Maria Alice Grigas Varella Ferreira EP-USP 12 Auxílio ao usuário “computer-initiated” dialogues -> menus • a iniciativa de conversação é da máquina “user-initiated dialogues” -> comandos • seleção de uma alternativa, sem que as demais tenham sido sugeridas ao usuário Help (geral /contextuado) • deve poder ser chamado em qualquer ponto Documentação “on line” • o próprio manual poder ser colocado na tela, com toda informação detalhada ao máximo Maria Alice Grigas Varella Ferreira EP-USP 13 Minimização das Possibilidades de Erros não permitir a seleção de comandos ilegais não permitir excluir o quê não existe não impor atributos a classes de objetos, que não os admitem não permitir “colagens” com o “clipboard” vazio não permitir suavização de curva, se o objeto não é uma curva comandos sensíveis ao contexto cuidado com os efeitos colaterais !!! Maria Alice Grigas Varella Ferreira EP-USP 14 Tratamento de erros Teclas de “delete / “rubout” / backspace” “Undo” “Abort” do comando em execução • versões múltiplas do comando • arquivo histórico de toda a seção Custos envolvidos • semânticos - altos • não tratamento do erro - frustração do usuário, menor produtividade “Backups” • são obrigatórios em determinadas situações: “dragging” / “picking” em sequência típica (seleção, “highlighting”, pressão do botão) Maria Alice Grigas Varella Ferreira EP-USP 16 Tratamento de erros Oportunidade de cancelamento expressa no sistema Pedidos de confirmação Aceitação do comando somente após a introdução de outro comando • aceitação postergada comandos sem recuperação • reformatar Maria Alice Grigas Varella Ferreira EP-USP Tempo de resposta (satisfação, confiança) 17 depende do que o usuário espera hierarquia de tempos de resposta dois tempos a considerar: • tempo de espera por resposta • tempo recuperando a linha de pensamento tempo de espera ótimo: 2 segundos • satisfatório para a questão de imediatismo de resposta • suficiente para semânticas simples • suficiente para feedback em nível sintático Maria Alice Grigas Varella Ferreira EP-USP Tempo de resposta (satisfação, confiança) 18 problemas • desconforto da dúvida -> resposta não vem • perda de concentração do operador -> quebra do fluxo de raciocínio soluções alternativas • diálogo, indicando ação em curso • travamento da entrada -> previne erros requisitos absolutos de tempo: • ações reflexas (100 a 200 ms) -> exigem respostas imediatas – posicionamento do cursor – alarme sonoro Maria Alice Grigas Varella Ferreira EP-USP Tempo de resposta (satisfação, confiança) 19 • interações simples ( < 2s ) – realimentação semântica – realimentação sintática – semântica indicativa de montagem da resposta consistência do tempo de resposta (preditabilidade versus variabilidade) D = diferença em relação ao tempo médio (tm) D = 50% tm D > 50% tm -> desconfiança D < 50% tm -> será que fez mesmo? padrões de tempo • tm = 2 s -> tratamento simples • tm = 4 s -> médio • tm = 8 a 12 s -> complexos Maria Alice Grigas Varella Ferreira EP-USP 20 Consistência (exatidão) “Um sistema é consistente quando: modelo conceitual, semântica (funcionalidade), sintaxe (sequencialização), formatos das entradas/saídas são uniformes, seguem regras simples, não possuem exceções ou omissões” Permite: • generalização do conhecimento • previne frustração Maria Alice Grigas Varella Ferreira EP-USP Consistência (exatidão) 21 Regrinhas: • empregar sempre os mesmos códigos • cores têm sempre o mesmo significado • mensagens surgem sempre nas mesmas posições (lógica: por ex., olhos do usuário) • itens do menu são sempre colocados na mesma posição (ou ordem) Consistência perfeita: • classes de objetos correspondem a classes de ações Consistência pode conflitar com outros objetivos do sistema! Maria Alice Grigas Varella Ferreira EP-USP 21.a Consistência (exatidão) É interessante que a linguagem seja regular ---> expressa por gráficos de transição de estado Diagramas de Transição são muito usados para exibir a sintaxe dos comandos. O diagrama acima mostra claramente a inconsistência da sintaxe proposta pelo comando Move. Maria Alice Grigas Varella Ferreira EP-USP 22 Memorização Deve-se minimizar ao máximo as necessidades de memorização de como operar o sistema: • consistência • nome completo dos comandos • ordem de parâmetros do sistema (fornecimento) • uso de nomes e não de códigos numéricos • alteração da área do display, devido ao comando Help • janelas múltiplas simultâneas Maria Alice Grigas Varella Ferreira EP-USP 23 Similaridade Conceitual utilizar o universo próprio ao usuário • aprendizado simples • utilização eficiente termos técnicos/ jargão próprio da aplicação -> elementos conceituais da aplicação -> similaridade conceitual acentuada extensão do universo da aplicação (computação + aplicação) manutenção de propriedades - objetos simulados devem manter as carac-terísticas do objeto real Maria Alice Grigas Varella Ferreira EP-USP 24 Acomodar vários níveis de Habilidades melhorando a usabilidade do sistema • aceleradores • “prompts” • help • extensibilidade -> macros • ocultamento da complexidade “prompt” • indica o passo seguinte • podem ser diferenciados: – por cursor – por mensagem – pelos próprios ícones Maria Alice Grigas Varella Ferreira EP-USP 25 Acomodar vários níveis de Habilidades aceleradores • “multi-clicking” • vários tipos de seleção • letra do nome, no menu (S para Save) • acorde (ctrl + B, para Save, no Powerpoint) • via mouse • outros botões do mouse, em região especial da tela • comando no teclado (setas, digitação do nome, chaves) espectro de usuários: iniciantes, experientes -> interface de comandos, como alternativa à interface gráfica Maria Alice Grigas Varella Ferreira EP-USP 26 Modos de trabalho Conjunto de estados, onde somente um subconjunto de tarefas se aplica • Exemplo: Modo gráfico -> “draw”- para fazer desenhos e Modo texto -> Edit - para edição • Há um comando para chavear de um modo para outro Windows -> cada janela com um modo É melhor evitar modos e permitir uma só forma de interação Maria Alice Grigas Varella Ferreira EP-USP 27 Sintaxe Sintaxe é a forma de fornecer o comando Tipos: pós-fixada e pré-fixada Pré-fixada • comando par1, par2, ....... par_n <estilo> <cor> desenhar-linha <ponto1,ponto2> • não é uma boa forma para sintaxe. É melhor fornecer os atributos independentemente do comando posiciona-atributo par2=valor,par3=valor desenhar-linha par1 Maria Alice Grigas Varella Ferreira EP-USP 28 Sintaxe Pós-fixada: selecionar <ponto1,ponto2> -----> conceito de objeto corrente selecionar <par2,par3......par_n> -------> conceito de atributos correntes comando Exemplo: object 1 object 2 object 3 delete Maria Alice Grigas Varella Ferreira EP-USP