manipulação direta e ambientes virtuais introdução exemplos de sistemas de manipulação direta...

29
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

Upload: internet

Post on 17-Apr-2015

133 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

Programação em Manipulação Direta

– Ferramentas de Engenharia de Software• Tcl/Tk

#First make a menu buttonmenubutton.menu1 -text "Unix Commands" -menu.menu1.m -underline 0

#Now make the menu, and add the lines one at a timemenu.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

• JAVAClass 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();} }

Page 14: 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

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.

Page 15: 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

Programação em Manipulação Direta

• Exemplos:• Alguns projetos do HCIL da Univ. de Maryland

– Visible Human Project

– LifeLines– SIMPLE– Juvenile Justice

Page 16: 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

Programação em Manipulação Direta

• Visual BASIC 5

Microsoft

Page 17: 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

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.

Page 18: 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

Programação em Manipulação Direta

• LabView - National Instruments

Page 19: 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

Programação em Manipulação Direta

• Visual Café for JAVA

Page 20: 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

Programação em Manipulação Direta• WEKA:

Page 21: 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

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.)

Page 22: 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

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).

Page 23: 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

Ferramentas de Avaliação

• Doctor HTML (http://www.imagiware.com/RxHTML)

Page 24: 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

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.

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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.

Page 28: 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

Ambientes Virtuais

• Exemplos:– Fobias:

– World Chats™

Page 29: 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

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