Interfaces

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Interfaces as PDF for free.

More details

  • Words: 3,408
  • Pages: 10
Introdução A Computação Gráfica é um assunto extremamente amplo na atualidade, abrangendo desde a criação de simples janelas em um programa de computador, geração de gráficos até reconhecimento de rostos de humanos em uma foto digital. Dentre todos esses assuntos, podemos ressaltar quatro: Síntese de imagens: consiste na criação sintética de imagens, ou seja, representações visuais de objetos gerados no computador, ou ainda, a representação gráfica de informações do mundo real (visando facilitar o entendimento da informação); Processamento de imagens: consiste no tratamento/transformação de imagens no formato digital (para melhorar suas características, realçar áreas etc.); Análise de imagens: consiste na análise de imagens digitais buscando características específicas na imagem (como reconhecimento de formas e padrões, visão robótica). Criação de Interfaces Usuário-Computador: estudo, análise e criação de interfaces que permitem aos usuários interagirem com o computador de maneira confiável e confortável.

Principais áreas de atuação - Arte (desenhos, efeitos especiais, captura de movimentos); - Medicina (exames, diagnósticos, reabilitação); - Arquitetura; - Engenharia; - Geografia (cartografia, georreferenciamento); - Meteorologia (reconhecimento de poluição, previsão do tempo); - Astronomia; - Jogos; - Desenvolvimento de interface de sistemas.

Interface Usuário-Computador Fundamentos Desenvolver uma interface usuário-computador não envolve diretamente conceitos matemáticos, mas sim artísticos e humanos. A base para desenvolver uma boa interface é a liberdade e a criatividade, contudo cinco pontos essenciais devem ser levados em conta quando se desenvolve uma interface: - Velocidade de aprendizado: Quanto tempo um usuário novato irá gastar para atingir um nível aceitável de conhecimento sobre a interface. Isso se torna de especial importância em sistemas utilizados com menos freqüência pelo usuário, que normalmente não terá muito

Computação Gráfica (Resumo de sala) 1/10

Carlos Rafael

tempo para gastar aprendendo a utilizar um sistema que será utilizado apenas 1 vez por semana, por exemplo; - Velocidade de uso: Quanto tempo um usuário experiente irá gastar para desenvolver tarefas corriqueiras, especialmente se tiver que repeti-las diversas vezes; - Taxa de erros: Quantos erros o usuário irá cometer devido a sua interação com a interface. Isso afeta diretamente a velocidade de aprendizado e a velocidade de uso. Caso a interface leve o usuário a cometer vários erros, sua velocidade de aprendizado será reduzida, assim como a velocidade de uso do sistema. Para sistemas corriqueiros, isso não deve ser a principal preocupação, mas em sistemas críticos (como os de suporte à vida, controle de uma usina, controle de tráfego aéreo etc.) essa deve ser a preocupação principal, pois nenhum erro é permissível; - Facilidade de se relembrar: Quanto tempo o usuário do sistema, que teve que se ausentar por algum tempo, irá gastar para conseguir voltar a utilizar o sistema novamente; - Apelo visual: A aparência do é um quesito de extrema importância, especialmente no que diz respeito ao marketing do sistema. Contudo, criar um sistema que seja ao mesmo tempo atraente e rápido/fácil de utilizar não é uma tarefa simples, visto que muitos efeitos especiais que embelezam o sistema acabam tornando-o menos eficiente, menos ágil.

Interfaces Gráficas WYSIWYG WYSIWYG é a abreviatura para “What You See Is What You Get”, e representa um estilo fundamental para interfaces gráficas interativas. Nesse estilo, a representação com a qual o usuário interage também será o resultado final obtido. Exemplos clássicos bem conhecidos são editores de texto e editores de fórmulas matemáticas. Apesar de todas as facilidades fornecidas ao usuário por esse tipo de interface, existe uma grande dificuldade em sua implementação, no que diz respeito à fidelidade da tela com outros meios, como por exemplo, uma impressora. Nem sempre é possível obter as mesmas cores na tela e na impressora, o que pode confundir ou atrapalhar o usuário. Além disso, nesse estilo de interface é comum a necessidade em se exibir objetos auxiliares que não devem aparecer na saída, o que pode complicar um pouco a disposição desses objetos na tela.

Manipulação Direta Uma interface utilizando o estio de manipulação direta é aquela onde os objetos, atributos e suas relações são representados visualmente.

Computação Gráfica (Resumo de sala) 2/10

Carlos Rafael

Em outras palavras, as operações são invocadas implicitamente através de ações realizadas nas representações visuais dos objetos. Essas representações podem ir desde textos até ícones ou outras imagens mais complexas. Normalmente as interfaces com manipulação direta são interfaces fáceis e rápidas de se aprender. Contudo, para usuários mais avançados, ter que fazer todas as operações visualmente pode ser um pouco tedioso/lento. Por causa disso, boa parte das interfaces com manipulação direta envolve outros meios para se executar as operações, como por exemplo, um menu, comandos de texto etc. Essa combinação de diferentes estilos faz com que uma interface seja apropriada para mais estilos de usuário.

Icônica Interfaces icônicas não existem sozinhas, elas estão sempre auxiliando outros estilos de interface, principalmente as de manipulação direta. Um objeto que possua um ícone (quando bem desenhado) faz com que o usuário o encontre mais facilmente na tela, do que ele encontraria um texto. Além desse ganho de velocidade, um ícone ocupa menos espaço que um texto, e por vezes consegue representar idéias que precisariam de muitas palavras, o que auxilia também no caso do usuário não conseguir ler esse texto, por estar em outro idioma, por exemplo. A criação de um ícone deve levar em conta três objetivos distintos, priorizados conforme a situação: - Reconhecimento: Quão rápido e preciso o usuário conseguirá reconhecer um ícone na tela, e seu significado; - Lembrança: Quão bem o ícone pode ser lembrado posteriormente, após ser aprendido; - Discriminação: Com qual facilidade o ícone pode ser diferenciado dos outros ícones na tela. A utilização de ícones para representar objetos quase sempre é uma boa prática. Porém, utilizar ícones para representar ações pode-se tornar uma tarefa um pouco difícil. Normalmente, ícones que representam ações são mais difíceis de entender logo de início, pois requer do usuário um conhecimento prévio do contexto da ação. Por exemplo, uma borracha: pode significar excluir arquivo, apagar área da imagem, remover um texto etc. Uma saída para ações complexas é exibir o antes e o depois de uma ação. Outra saída é utilizar uma representação abstrata da ação, como por exemplo, uma seta. Nesses casos, deve-se tomar cuidado com símbolos culturais e regionais, pois estes podem ofender usuários de outras regiões.

Computação Gráfica (Resumo de sala) 3/10

Carlos Rafael

De qualquer modo, um ícone não deve ser criado arbitrariamente, sem critérios, pois pode acabar tendo o efeito inverso do desejado.

Interfaces Não Gráficas Diferentemente dos estilos de interface discutidos até agora, que se utilizam muito de um apelo visual e recursos gráficos, há estilos de interface que naturalmente não se utilizam de imagens e representações gráficas. Mesmo não se utilizando de recursos gráficos, esses estilos são também muito utilizados em conjunto com interfaces gráficas.

Menus São muito utilizados em todos os tipos de aplicativos devido a sua praticidade e facilidade de uso. Como eles associam textos curtos (e às vezes até um ícone) à ações, eles fazem uso da memória cognitiva do usuário, que acaba se familiarizando com os menus, em vez de obrigar o usuário a ter que se lembrar de nomes de comandos. Apesar de permitir que usuários acessem comandos e ações rapidamente, sem que necessite esforçar muito sua memória, os menus limitam a quantidade de alternativas que podem ser selecionadas pelo usuário.

Pergunta e Resposta Caixas de diálogo no estilo pergunta-resposta, como o próprio nome diz, contêm perguntas para o usuário, e juntamente com as perguntas, contém um conjunto já predeterminado de possíveis respostas que o usuário pode dar. Às vezes permite-se ao usuário que ele digite a resposta como teclado (o que aumenta a possibilidade de erros e repetições), mas normalmente as respostas possíveis estão enumeradas em listas ou menus. Na pior das hipóteses, um diálogo pergunta-resposta pode ser representado como um conjunto seqüencial de seleções de menus. Um dos problemas que mais afetam estes estilos de diálogo é o fato do usuário nem sempre conseguir voltar um número arbitrário de questões para corrigir ou alterar uma resposta. Outro problema é a falta de informações sendo exibidas simultaneamente na tela. Normalmente apenas uma questão é exibida por vez, e o usuário precisa ficar voltando para telas anteriores para lembrar o que respondeu.

Computação Gráfica (Resumo de sala) 4/10

Carlos Rafael

Linguagem de Comando O uso de comandos para realizar a interação com o usuário é uma das maneiras mais tradicionais de interação. A interface permite uma lista extensa de entradas, que pode ser expandida facilmente pelo desenvolvedor. Além disso, ela oferece muita velocidade de acesso para usuários mais experientes. Contudo, há três fatores que comprometem o uso dessas interfaces: - Grande tempo de aprendizado; - Necessidade de habilidades de digitação; - Erros na digitação e memorização dos comandos.

Linguagem Natural A utilização de linguagem do dia-a-dia como meio de interação com computadores sempre foi o maior desejo dos desenvolvedores. Se um usuário pudesse interagir com o computador, tanto escrevendo, como falando, na linguagem natural, então qualquer pessoa poderia utilizar qualquer programa. O método mais comum de interação utilizando linguagem natural é o de reconhecimento de voz. Contudo, o reconhecimento da voz não é uma tarefa 100% precisa, por isso comumente os desenvolvedores limitam a quantidade de palavras que podem ser faladas por vez, quase como um menu, na tentativa de melhorar a taxa de acertos do reconhecimento. Essa limitação das palavras remove um pouco da liberdade do usuário, tirando a naturalidade da interação. Mesmo com isso, infelizmente os reconhecedores de voz atuais não conseguem acertar todas as vezes os comandos dos usuários, o que pode frustrar o usuário que acaba tendo que repetir o comando diversas vezes. Sem a limitação da quantidade das palavras, permitindo que o usuário fale qualquer coisa, a dificuldade recai no entendimento das frases e na sua conexão com o contexto do programa. Além dessas dificuldades, há ainda o caso de aplicações onde comandos de voz não auxiliam muito diretamente, como aplicativos de desenho. Nesses casos os comandos de voz não seriam utilizados como entrada principal, mas sim auxiliando uma caneta ou auxiliando o teclado.

Computação Gráfica (Resumo de sala) 5/10

Carlos Rafael

Princípios e Regras de uma Boa Interface Consistência Um sistema consistente é aquele onde todos os modelos conceituais são uniformes, seguindo poucas regras simples. Portanto, não possuem muitas exceções ao longo de sua utilização. A idéia básica é permitir que o usuário generalize seus conhecimentos sobre uma parte do programa, aplicando-os às outras. Também evita que o usuário desanime devido ao comportamento não previsível e não lógico. A melhor maneira para se conseguir isso é utilizando uma modelagem do tipo top-down. Por exemplo: - Cores semelhantes representando ações semelhantes; - Mensagens exibidas sempre no mesmo lugar; - Itens de menus mostrados sempre na mesma posição relativa ao menu; - Comandos genéricos, como mover, copiar e deletar, podem ser sempre utilizados com resultados previsíveis; - Comandos do teclado, como enter, tab, backspace, sempre devem ter as mesmas funções em sistemas com funcionalidade similares. Contudo, nem todas as ações devem ser tratadas de modo que fiquem consistentes entre si. Por exemplo, se um usuário arrasta um arquivo para a lixeira e depois disso ele é excluído do lugar original, não quer dizer que ao usuário arrastar o mesmo arquivo para uma impressora, para que ele se impresso, ele também tenha que ser excluído do lugar original. Nesses casos o que conta é a lei do “mínimo espanto”, ou seja, é mais importante que ocorram as ações consideradas normais, do ponto de vista do usuário, do que essas ações ocorram de uma maneira imprevisível, apenas para manter a consistência.

Feedback Feedback é essencial durante uma interação homem- computador. Ele pode ser dado em todos os níveis da modelagem da interface, cabendo ao desenvolvedor escolher qual o tipo de feedback que será usado em cada nível. Um exemplo de feedback funcional seria a ampulheta exibida na tela do computador enquanto ele processa alguma operação e está incapaz de mostrar outro tipo de alteração na interface, dando ao usuário um mínimo entendimento de que o computador não está “parado”. Outro exemplo de feedback está no nível da modelagem seqüencial, quando o usuário seleciona algum objeto na tela, e a partir desse momento o objeto aparece com algum tipo de destaque.

Computação Gráfica (Resumo de sala) 6/10

Carlos Rafael

Em geral os feedbacks mais úteis são aqueles que indicam que uma ação ou operação foi concluída. É necessário também que o usuário consiga distinguir entre um feedback no domínio do problema, de um feedback no domínio do controle. Por domínio do problema entendem-se os objetos sendo manipulados juntamente com a sua aparência. Já o domínio do controle está relacionado com os mecanismos de controle do sistema, como menu, listas, caixas de diálogo etc. Além de prover o usuário com o feedback adequado, é de extrema importância que esse feedback apareça em um local onde o usuário com certeza esteja prestando atenção.

Baixa possibilidade de erros Por baixa possibilidade de erros deve ser entendido: “nenhuma armadilha”. Por exemplo: -Não oferecer opções que irão resultar em um comando ilegal; -Não deixar o usuário deletar algo sem que nada esteja selecionado; -Não deixar o usuário alterar a fonte de um objeto que não possui texto, e portanto não precisa de fonte; -Não deixar o usuário copiar nada sem que alguma coisa esteja selecionada. Todos esses exemplos representam uma sensibilidade ao contexto, ou seja, o sistema deveria alertar o usuário de algum modo que uma ação é inválida, antes do usuário tomar esta ação. Outro aspecto importante a ser considerado é a existência de efeitos colaterais. É frustrante para o usuário quando o sistema executa outra ação inesperada, além daquela inicialmente prevista. Como por exemplo, um programa fechar o documento logo após o usuário tê-lo salvo.

Capacidade de consertar erros Com uma boa capacidade para corrigir seus erros, o usuário está livre para explorar áreas desconhecidas do sistema sem temer que algo de errado aconteça. Isso encoraja o aprendizado exploratório, que é a melhor maneira para se aprender as funcionalidades do sistema. O pior tipo de erro é o funcional: o usuário executa uma série de comandos e ao final obtêm um resultado inesperado. Nesses casos o comando desfazer torna-se necessário. Através desse comando o usuário consegue retornar a um ponto anterior do sistema. Contudo, como o comando desfazer também é um comando, ele está sujeito ao uso indevido do usuário, portanto, é necessário também um comando refazer, que “desfaz a ação de desfazer”.

Computação Gráfica (Resumo de sala) 7/10

Carlos Rafael

Essa classe de comandos, desfazer e refazer, normalmente requer grandes quantidades de códigos para que funcione. Por isso, nem sempre é possível- desejável a utilização desses comandos. Nesses casos é desejável que se mostre ao usuário um alerta dizendo que a próxima operação é perigosa e não poderá ser desfeita. Há erros que ocorrem e o usuário só percebe que errou enquanto a operação pedida está sendo executada. Nesses casos é desejável um comando do tipo abortar, que cancela a operação atual e devolve ao usuário o sistema em seu estado anterior. Há ainda erros que o usuário pode cometer antes de pedir que uma ação seja executada. Para esses casos é comum a utilização do comando cancelar, onde o usuário não executa a operação que pretendia, e volta sem prejuízo à situação anterior.

Acomodação de múltiplos níveis de habilidade O objetivo de todo o sistema é que toda uma gama de usuários consiga utilizá-lo, deste o principiante até o mais avançado, sem que nenhum deles sinta-se desconfortável. Normalmente usuários principiantes ficam mais confortáveis com menus e caixa de diálogo com muitas indicações, ao passo que usuários avançados dão mais valor à velocidade de uso como, por exemplo, comandos de teclado. Além do teclado, é possível obter-se velocidade de uso utilizando o mouse de maneira diferente do usual, como por exemplo, clicando rapidamente duas vezes sobre um objeto. Outra forma de acelerar o uso é através de dicas na tela. O sistema exibe sugestões do que o usuário deve fazer a seguir, o que auxilia os novatos, mas não atrapalha os experientes. Até mesmo o desenho de um ícone, em sistemas de manipulação direta, pode ser considerado uma dica. Além de dicas, um sistema paralelo de ajuda é sempre bem vindo para o usuário. Essa ajuda pode conter tudo o tipo de informação, em detalhes, sobre o sistema. Pode também conter animações, ilustrações passo a passo, situações de exemplo, entre outros. Um bom sistema de ajuda, além de ser capaz de fornecer informações gerais sobre o sistema, deve também fornecer informações sobre partes do contexto atual em que o usuário está trabalhando. Por exemplo, se o usuário está escolhendo fonte de um documento e ele pede ajuda, é interessante que a ajuda já traga à tela informações sobre formatação de fontes e não informações genéricas sobre o sistema um todo. Outra estratégia é esconder dos usuários iniciantes a complexidade do sistema, sem inibir essas funcionalidades dos usuários mais avançados. Isso normalmente é realizado deixando à vista, nos menus e ícones, os comandos mais simples e usuais, enquanto que comandos mais complicados possam ser acessados apena através do teclado ou comandos escritos.

Computação Gráfica (Resumo de sala) 8/10

Carlos Rafael

Baixa necessidade de memorização Dependendo do design da interface o usuário pode se deparar com a necessidade de ter que memorizar muitos detalhes e comandos para poder trabalhar com um determinado sistema. Um caso típico são sistemas onde os objetos são acessados através de seu número e o usuário não tem a opção de substituí-los por nomes legíveis, como em alguns programas CAD mais antigos. Nesse caso específico vale apena lembrar mais uma vez que é preferível fazer com que o usuário utilize sua memória cognitiva, o que é muito mais natural e requer menos esforço do usuário. Em outro caso mais comumente visto, há sistemas de ajuda que ocupam toda a tela do computador, forçando o usuário a lembrar o que estava acontecendo quando ele pediu ajuda. Isso faz com que ele fique alternando entre a ajuda e o programa, e no final a ajuda acaba não atingindo seu objetivo, dificultando a vida do usuário.

Modelagem do Diálogo de uma Interface Conceitual Modelagem conceitual consiste em definir os conceitos principais que devem ser dominados pelo usuário, por isso também é conhecido como modelo do usuário do aplicativo. É aqui onde são definidos os objetos do sistema, suas propriedades, operações e relacionamentos entre eles. Por exemplo, para um aplicativo de texto: - Objetos: Caracteres, linhas e arquivos; - Propriedades: Fonte dos caracteres, o tamanho do arquivo, o nome do arquivo; - Relacionamentos: Arquivos são uma seqüência de linhas, linhas são grupos de caracteres; - Operações: Copiar texto, colar texto, formatar parágrafo. Às vezes, a modelagem conceitual é descrita através de analogias com outros objetos e conceitos já conhecidos, como uma máquina de escrever, ferramentas mecânicas, uma escrivaninha, um armário etc. Contudo, quando essas analogias são utilizadas deve-se tomar cuidado para não limitar as características do novo sistema às características do objeto em comparação.

Semântica Modelagem semântica de um sistema também é conhecida como modelagem funcional. Ela é responsável por especificar os detalhes das funcionalidades da interface: informações necessárias para se executar uma operação em um objeto, quais erros podem ocorrer a cada momento, como tratar erros, os resultados das operações etc.

Computação Gráfica (Resumo de sala) 9/10

Carlos Rafael

Apesar de definir as funcionalidades, a modelagem funcional não se preocupa com a seqüência das operações e com quais dispositivos as operações são executadas.

Seqüencial Modelagem seqüencial também é conhecida como modelagem sintática. Ao contrário da modelagem semântica, a modelagem seqüencial define apenas as ordens das entradas e das saídas do sistema. No caso das entradas, as seqüências são, por exemplo, abrir um menu, em seguida selecionar um item desse menu. Para as saídas, as seqüências incluem fatores espaciais e temporais, como as transformações do display ao longo do tempo, e a ordem com que elas ocorrem. Por exemplo, Uma linha reta em uma tela pode não ter muito significado, porém, uma série de linhas posicionadas corretamente pode compor uma forma com significado agregado, como uma seta ou um caractere.

Léxica A modelagem léxica determina quais primitivas de hardware serão utilizadas para formar as entradas e as saídas especificadas na modelagem seqüencial. O movimento do mouse e o clique de um botão são algumas primitivas de hardware de entrada. As primitivas de hardware de saída são as formas (pontos, linhas, curvas) bem como seus atributos (cores, espessura).

Computação Gráfica (Resumo de sala) 10/10

Carlos Rafael

Related Documents

Interfaces
June 2020 18
Interfaces Funcionales
June 2020 13
Oracle Interfaces
November 2019 21
Interfaces Interactivas
November 2019 21
Laboratorio Interfaces
April 2020 11
Interfaces Ch4
November 2019 13