Manipulação Direta e
Ambientes Virtuais
•
•
•
•
•
•
Introdução
Exemplos de Sistemas de Manipulação Direta
Explicação da Manipulação Direta
Programação em Manipulação Direta
Avaliação em Manipulação direta
Ambientes Virtuais
Introdução
• Pensamentos Positivos Associados a Boas
Interfaces:
•
•
•
•
•
•
Domínio da interface
Competência na execução de tarefas
Facilidade de aprendizagem inicial e de funções avançadas
Prazer em utilizar o sistema
Útil mesmo para pessoas inexperientes
Desejo de explorar aspectos mais poderosos do sistema
Exemplos de Sistemas de
Manipulação Direta
• Editores e Processadores de Texto (de linha de
comando, gráficos)
• Os tempos de treino com os editores gráficos são muito
menores que os de linha de comando
• Os editores de linha são geralmente mais flexíveis e
poderosos
• Os avanços nos processadores gráficos:
–
–
–
–
Mostram uma página inteira de texto
Mostram o documento na forma em que ele vai ser impresso
Mostram a ação do cursor
Controlam o movimento do cursor de uma forma fisicamente natural e
óbvia
– Utilização de ícones com etiquetas para as ações
– Mostram os resultados de uma ação imediatamente
– Fornecem ações fáceis e reversíveis
Exemplos de Sistemas de
Manipulação Direta
– Tecnologias que emergiram dos processadores de
texto:
•
•
•
•
•
•
Integração de aplicações e conteúdos (OpenDoc, OLE, etc.)
Software de publicação (pagemaker, quark-X-press, etc.)
Software de apresentação (powerpoint, claris impact, etc.)
Ambientes hipermídia (hypercard, supercard, director, etc.)
Capacidades de linguagens macro (VBA, Applescript, etc.)
Dicionários de sinônimos, corretores ortográficos e
gramaticais
Exemplos de Sistemas de
Manipulação Direta
• Planilhas e Bases de Dados
– Em alguns casos a representação espacial permite
um melhor modelo da realidade. Os sistemas de
gestão de dados espaciais dependem da escolha
apropriada de:
• Ícones
• Representações gráficas
• Disposições naturais e compreensíveis dos dados
Exemplos de Sistemas de
Manipulação Direta
• Jogos de Vídeo
• O Campo da ação é visual e atrativo
• Os comandos são ações físicas cujo resultado é
imediatamente mostrado no vídeo
• Inexistência de sintaxe
• CAD, automação de escritório e outros
exemplos de manipulação direta
•
•
•
•
•
HyperCard
Quicken
ArcView (GIS)
AutoCAD
Programação de Robots
Explicação da Manipulação
Direta
• Problemas com a Manipulação Direta
– As representações espaciais e visuais podem ser
muito complexas
– Os modelos de alto nível e os diagramas de estados
podem ser confusos
– O desenho pode forçar que informação valiosa fique
fora da tela
– Os usuários têm que aprender as representações
gráficas (metáforas)
– A representação visual pode ser enganadora
– Digitar comandos através do teclado pode ser mais
eficiente
Explicação da Manipulação
Direta
• O Modelo Objeto-Ação para a Manipulação Direta
– Características da manipulação direta
• Representação contínua dos objetos e ações de interesse
• Ações físicas sobre botões com etiquetas em vez de sintaxe
complexa
• Operações incrementais, rápidas e reversíveis cujo efeito no objeto
de interesse é imediatamente visível
– Vantagens
•
•
•
•
•
Os usuários inexperientes aprendem rapidamente
Os usuários experientes trabalham mais rapidamente
Os usuários intermitentes retêm os conceitos
As mensagens de erro são raramente necessárias
Os usuários vêm se as suas ações conduzem aos objetivos
Programação em Manipulação
Direta
• Os 5 desafios da programação em manipulação
direta
– Suficiente generalização computacional
– Acesso às estruturas de dados e operadores
apropriados
– Facilidade de programação e edição de programas
– Simplicidade na invocação e atribuição de argumentos
– Diminuição de erros do usuário
– O enquadramento das dimensões cognitivas pode ajudar
a analisar as questões de desenho dos ambientes de
programação visual
Programação em Manipulação
Direta
– A Terminologia depende muito das empresas
produtoras, alguns termos populares:
–
–
–
–
–
Rapid Prototyper
User Interface Builder
User Interface Management System
User Interface Development Environment
Rapid Application Developer
– Capacidades das ferramentas de desenvolvimento de
interfaces
• Independência da interface
–
–
–
–
–
Separar o desenho da interface da sua implementação
Permitir estratégias múltiplas de interface
Permitir o suporte de várias plataformas
Definir o papel do arquiteto da interface
Potencializar a utilização de normas
Programação em Manipulação
Direta
– Capacidades das ferramentas (cont.)
• Metodologia e Notação
– Desenvolver procedimentos de desenho
– Descobrir formas de falar sobre o desenho
– Criar a gestão do projeto
• Prototipação Rápida
– Testar idéias no início do processo
– Facilitar a iteração: testar, rever, testar, rever…
– Permitir a colaboração entre desenvolvedores, usuários e outros…
• Suporte de Software
– Aumentar a produtividade
– Permitir alguma verificação de restrições e consistência
– Facilitar o desenvolvimento em grupo
Programação em Manipulação
Direta
– Ferramentas de Desenho
• Os designers podem escrever programas simples:
– on mouseUp
» play "boing"
» wait for 3 seconds
» visual effect wipe left very fast to black
» click at 150,100
» type "goodbye"
– end mouseUp
Programação em Manipulação
Direta
– Ferramentas de Engenharia de Software
• Tcl/Tk
#First make a menu button
menubutton.menu1 -text "Unix Commands" -menu.menu1.m
-underline 0
#Now make the menu, and add the lines one at a time
menu.menu1.m
.menu1.m add command -label "List Files" -command {ls}
.menu1.m add command -label "Get Date" -command {date}
.menu1.m add command -label "Start Calendar" -command
{xcalendar}
pack.menu1
• JAVA
Class Test {
public static void main (String[] args)
{ for (int i = 0; i < args.length; i++)
System.out.print(i == 0 ? args[i] : " " + args[i]);
System.out.println();} }
Programação em Manipulação
Direta
– Ferramentas de Engenharia de Software (Cont.)
• JavaScript
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- to hide script contents from old browsers
function square(i) {document.write("The call passed ", i ," to the
function."<BR>")
return i * i}
document.write("The function returned ", square(5),".")
// end hiding contents from old browsers -->
</SCRIPT> </HEAD> <BODY> <BR> All Done.</BODY>
– Depois de carregada a página é produzido o seguinte output:
The call passed 5 to the function.
The function returned 25.
All Done.
Programação em Manipulação
Direta
• Exemplos:
• Alguns projetos do HCIL da Univ. de Maryland
– Visible Human Project
– LifeLines
– SIMPLE
– Juvenile Justice
Programação em Manipulação
Direta
• Visual BASIC 5
Microsoft
Programação em Manipulação
Direta
• Prograph CPX - Pictorius Corporation
• Linguagem OO Pictorial
– Uma linguagem totalmente visual com suporte a herança,
encapsulação e polimorfismo.
– No Prograph CPX os diagramas de fluxo de dados baseados em
ícones são o código executável.
Programação em Manipulação
Direta
• LabView - National Instruments
Programação em Manipulação
Direta
• Visual Café for JAVA
•
Programação em Manipulação
Direta
WEKA:
Ferramentas de Avaliação
– Existem ferramentas de software para avaliar e
criticar as interfaces:
– Métricas simples permitem avaliar e produzir relatórios sobre telas,
componentes e modelos navegáveis.
– Procedimentos mais avançados incluem a análise de hierarquias de
menus, de consistência e concordância dos termos.
– As ferramentas de registo permitem armazenar os padrões de
atividade dos usuários (frequência de erros, invocação de ajuda, etc.)
Ferramentas de Avaliação
• O Programa de Análise de Telas de Tullis (Versão 4.0)
– Parte de telas alfanuméricas e produz métricas de complexidade da
tela e algumas recomendações:
Upper-case letters: 77% The percentage of upper-case letters is
high.
Consider using more lower-case letters, since text printed in normal
upper- and lower-case letters is read about 13% faster than text in
all upper case. Reserve all upper-case for items that need to
attract attention.
Maximum local density = 89.9% at row 9, column 8.
Average local density = 67.0%
The area with the highest local density is identified...you can reduce
local density by distributing the characters as evenly as feasible
over the entire screen.
Total layout complexity = 8.02 bits. Layout complexity is high.
This means that the display items (labels and data) are not well
aligned with each other...Horizontal complexity can be reduced by
starting items in fewer different columns on the screen (that is, by
aligning them vertically).
Ferramentas de Avaliação
• Doctor HTML (http://www.imagiware.com/RxHTML)
Ferramentas de Avaliação
• Doctor HTML (cont.)
– Summary Report
• Here is a summary of the information that Doctor HTML has
learned about your Web page: http://www.times.com
– Image Syntax 109 There were 109 unset image command tags that you should
set to improve your overall web page performance.
– Spelling 63 : 63 potential spelling errors were found.
– HTML Parse 8 There were 8 HTML parsing errors detected.
– Table Analysis 1There was 1 table structure problem found.
– Image Analysis 0 The total number of bytes in images found on your web page is
129.2 KB. The total number of bytes transferred while loading the page is 195.2 KB.
This will take approximately 54.2 seconds to load over a 28.8 kbps network
connection.
– Browser Support 32 There are 35 browser support conflicts in your document.
– Meta Tags 2There are 2 potential meta tag errors in your document.
– Form Structure 2There were 2 form structure problems found.
– Document Structure 1There was 1 document structure problem found.
– Verify Hyperlinks 0There are 206 hyperlinks in your document. There were no
dead hyperlinks based on server replies.
– Squish HTML 0 A Squished page that is reduced in size by 7.0 % to 61.3 KB is
available here.
– Font Support 0 There are no font errors in your document. Congratulations!
– Format HTML A Formatted version of your page is available here. The text and
HTML commands of the document take up 66.0 K.
Ambientes Virtuais
– A realidade virtual quebra as limitações físicas do
espaço e permite aos usuários agirem como se
estivessem em outro lugar
– A realidade aumentada permite mostrar o mundo
real com informação adicional
– Por exemplo, enquanto visualizam um edifício podem observar
transparentemente a fiação elétrica
– Conhecimento situacional (situational awareness)
mostra a informação que rodeia o usuário,
registrando os movimentos num modelo
computacional
– Por exemplo, num museu podem ser utilizados sensores de
movimento para permitir alterar a informação visualizada num vídeo
em função da obra para a qual o usuário está olhando
Ambientes Virtuais
– O sucesso dos ambientes virtuais depende da boa
integração dos seguintes elementos:
– Dispositivos de visualização
» Telas de grandes dimensões que permitem limitar a visão,
capacetes de realidade virtual e projetores. Alta definição e
tempos de regeneração próximos do tempo real (100ms).
– Sensores de orientação da cabeça
» Sensores adaptados a capacetes, óculos ou baseados em
reconhecimento de imagem de vídeo.
– Sensores de orientação das mãos
» DataGlove e outros sensores em diversas partes do corpo.
– Feedback de força
» Importantes para a manipulação de dispositivos físicos.
– Entrada e Saída de som
– Outras sensações: vibrações, tato e olfato
– Realidade virtual cooperativa e competitiva
Ambientes Virtuais
• Exemplos:
– CAVE™
– Utiliza 4 projetores de imagens
geradas por computador nas paredes
e no chão. O software sincroniza
todos os dispositivos e calcula a
perspectiva correta para cada parede.
– ImmersaDesk™
• Protótipo na forma de elástico que
utiliza sensores para a cabeça e
mãos em conjunto com óculos
estéreo para bloquear a realidade
e transmitir uma semi-sensação de
imersão.
Ambientes Virtuais
• Exemplos:
– Fobias:
– World Chats™
Sumário
• No final deste capítulo os alunos devem saber:
– Descrever o estilo de interação por manipulação direta
– Descrever exemplos de manipulação direta
– Argumentar sobre as vantagens e desvantagens da
implementação da manipulação direta
– Descrever as características dos ambientes de programação
para manipulação direta
– Descrever as características dos ambientes de avaliação de
software
– Descrever e distinguir sistemas baseados em ambientes virtuais
– Descrever exemplos a aplicações dos ambientes virtuais
Material de Estudo: Cap. 6 de Shneiderman
Download

Aula5-Manipula‡Æo-Direta