Apresentação da Aula
Manipulação direta e ambientes virtuais
Introdução
Para SHNEIDERMAN e PLAISANT (2005) as características de sistemas interativos que realmente fazem a diferença são a visibilidade de objetos e ações e a possibilidade de se tomar ações rápidas, reversíveis e incrementais. Interfaces devem possibilitar a manipulação direta de objetos e ações relacionados ao domínio da tarefa. Ao interagirem com interfaces com essas características, usuários reportam sentimentos positivos como:
- Domínio da interface;
- Competência em realizar as tarefas;
- Facilidade de aprendizado tanto de funções básicas como avançadas;
- Confiança de que continuarão a dominar a interface mesmo se deixarem de usa-la por algum tempo;
- Satisfação ao usar o sistema;
- Vontade de ensinar aos outros;
- Desejo de explorar aspectos mais avançados do sistema.
Nessa aula discutiremos sistemas que incorporam algumas dessas características.
Sistemas baseados em manipulação direta
Editores de texto
Processadores de texto e planilhas eletrônicas estão entre os primeiros aplicativos que se utilizaram do conceito de manipulação. A estratégia ajudou a revolucionar os escritórios de tudo o mundo. Um dos pilares para dessa abordagem é o conceito WYSISYG, do Inglês What you see is what you get, o que em tradução livre seria o que você vê é o que você leva, ou seja o que você vê na tela, é o que sairá na impressão. Hoje em dia isso até parece trivial, mas no passado não muito distante, existia a necessidade de se elaborar uma série de comandos antes para se imprimir uma página de texto no formato desejado.
Portanto, não se tinha segurança se a página sairia como se queria. Outra melhoria muito importante e revolucionária para época foi o fato da tela ter assumido um formato de “página”, exibindo o texto completo. Negritos, sublinhados e itálicos também passaram a aparecer na tela de forma natural. O uso do cursor e mouse permitiram que os usuários dessas ferramentas selecionassem diretamente a parte do texto a ser afetada por um comando de formatação, por exemplo. Nos modernos processadores de texto, as ações são facilmente revertidas, o que da muito mais conforto e segurança para o usuário.
Pode-se afirmar que uma pletora de ferramentas surgiram a partir do desenvolvimento de processadores de texto, tais como softwares de apresentação de slides (por exemplo, Powerpoint), planilhas eletrônicas e softwares para publicidade (publishing).
A figura abaixo mostra uma antiga tela do “não saudoso” software de edição de textos, Wordstar.
Planilhas eletrônicas
Dan Bricklin e Bob Frankston criaram a primeira planilha eletrônica, o VisiCalc. Dan estava frustrado em ter de fazer cálculos repetitivos durante as tarefas do curso de negócios de Harvard. A ferramenta, conforme descrita pelos seus criadores era uma “planilha eletrônica de cálculo automático” que permitia computação e exibição imediata de resultados em células espalhadas entre as 254 linhas e 63 colunas.
A simulação da planilha de trabalho de um contador facilitava o entendimento de um usuário acerca dos objetos e de quais ações poderiam ser realizadas sobre eles. Usuários de planilhas eletrônicas podem, por exemplo, tentar planos alternativos e observar seus efeitos em vendas e lucro. No primeiro contato com o programa, usuários ficavam maravilhados ao verem as células da planilha se recalcularem automaticamente quando determinado valor em outra célula era alterado. Era como o computador estivesse fazendo o trabalho deles bem debaixo de seus olhos.
Gerenciamento espacial de dados
São diversos os usos potenciais de aplicações cuja abordagem é o gerenciamento espacial de dados. A título de ilustração, uma aplicação militar pode oferecer a um oficial da Marinha um sistema de rastreamento de navios baseado no mapas e em zoom contínuo. Assim o oficial pode identificar comboios de navios como pequenos pontos no meio do oceano. Após selecionar os pontos, o oficial pode fazer um zoom, que pode ser implementado a partir de um movimento com o mouse (Clica-se o botão direito do mouse e arrasta-o para direita para aumentar o nível de zoom, ou para esquerda para diminuir). A medida que os objetos vão se tornando mais visíveis, mais detalhes a respeito deles vão se ficando disponíveis (Prefixo do navio, foto, nome e matrícula de seu comandante, etc.).
O sistema da Xerox chamado de Information Visualizer (figura abaixo) é um conjunto de ferramentas que permite explorações animadas e em três dimensões de edifícios, diretórios (pastas) e diagramas organizacionais.
O sucesso dos sistemas de gerenciamento espacial de dados depende da habilidade dos projetistas na escolha de ícones, representações gráficas, e leiautes de dados com apelo natural e compreensível aos usuários. A satisfação de pairar sobre um objeto e explorá-lo com o zoom atrai e seduz até o mais ansioso dos usuários, que demanda poder e informações adicionais.
Video games
Para muitos pesquisadores é na área de “games”, que muitos dos conceitos que estamos apresentando são aplicados de forma mais efetiva. Para ilustrar essa assertiva, vejamos o que acontece com uma pessoa jogando um antigo e elementar video game, o pong.
Tudo que o usuário tem de fazer é mexer um botão da direita para esquerda e verá um elemento gráfico se mexendo na tela que representa sua raquete. Tudo que um usuário novato precisa fazer para aprender a jogar o jogo é observar outro jogador em ação por não mais que uns trinta segundos.
Jogos mais modernos promovem competição entre jogadores que podem inclusive morar em países diferentes, possuem gráficos tridimensionais e em alta resolução, além de interfaces gestuais. Esses jogos propiciam diversão estimulante, desafios para usuários novatos e experientes e muitas lições que podem ser empregadas em outros projetos.
Esses jogos criam um campo de ação visual convincente. Os comandos são ações físicas cujo resultados são exibidos imediatamente na tela. Não existe nenhuma sintaxe que deva ser memorizada e, portanto não há mensagens de erro. Se usuário acha que a sua espaçonave está muito para esquerda, ele simplesmente move o joystick para direita. Se a brincadeira é de luta de boxe, ele pode interagir utilizando nada mais que seu próprio corpo, dando socos no ar. As mensagens de erro são dispensáveis, pois as ações são óbvias e facilmente reversíveis. Esses princípios podem ser aplicados em aplicações voltadas para escritório, computação pessoal ou outros domínios de sistemas interativos.
Entretanto, é importante salientar que existem diferenças importantes entre o ambiente de diversão e o de trabalho que devem ser consideradas pelo projetista. A pletora de recursos multimodais oferecidos ao usuário em ambiente de jogo pode ser vista como distração para um funcionário em um escritório. No jogo há muitos eventos aleatórios projetados para desafiar o jogador, usuários em outro ambiente de interação preferem que o sistema tenha comportamento previsível. Jogadores estão normalmente envolvidos em competições com outros jogadores ou mesmo com o sistema. Em um ambiente de escritório, por exemplo, a colaboração é mais valorizada do que a competição e o locus de controle interno (usuário no comando) é mais importante do que o externo.
Projeto auxiliados por computador
Os sistemas de CAD (Computer Aided Design, figuras abaixo), concebidos para auxiliar engenheiros e arquitetos enquanto projetam automóveis, circuitos integrados, espaços interiores, etc., também se valem dos conceitos de manipulação direta. O engenheiro eletrônico, por exemplo, pode ver um esquema de circuito na sua tela e, com uns cliques de mouse, mover resistências e capacitores para dentro do circuito ou ainda trocar por outros de diferentes especificações. Quando o projeto é concluído, o computador pode fornecer informação sobre corrente, voltagem, custos de fabricação, além da fazer uma checagem técnica do projeto à busca de eventuais imperfeições no projeto.
O que satisfaz os usuários desse tipo de aplicação é a capacidade de manipulação direta do objeto de interesse e as múltiplas possibilidades criadas a partir dessa manipulação. Isso é bastante diferente da antiga interação feita a partir da emissão de comandos via teclado.
Explicações acerca da manipulação direta
De acordo com o Princípio da Transparência de Rutkowski (1982), os usuários sentem satisfação interagir com sistemas que possibilitam a manipulação direta porque são “capazes de aplicar o intelecto diretamente na execução da tarefa em questão; a ferramenta em uso tende a desaparecer”. (HECKEL, 1991) lamenta que “Nossos instintos e treinamento de engenheiros encorajam-nos a pensar logicamente em vez de visualmente e isso é contraproducente em na construção de sistemas amigáveis.”
Hutchins e colegas (1985) revêem os conceitos de manipulação direta e oferecem uma inteligente decomposição de conceitos. Eles descrevem um “sentimento de envolvimento direto num mundo de objetos, o que é bem diferente de se comunicar com ele através de um intermediário”.
A psicologia, em particular o estudo de como resolvemos problemas e como aprendemos, pode nos ajudar a entender a satisfação do usuário em interagir com sistemas que permitem a manipulação direta. Décadas atrás, Montessori (1973) mostrou que crianças aprendem conceitos de matemática mais facilmente se, em vez de símbolos aritméticos, por exemplo, o professor utilizar objetos físicos para apresentar conceitos como a divisão, soma, subtração ou multiplicação.
(BRUNER et al. (1966) levou esse mesmo princípio para o ensino de fatoração polinomial. Finalmente, Arnheim (1969) mostrou que representações físicas, espaciais, ou visuais são mais simples de se memorizar do que representações numéricas ou textuais.
Chega-se a conclusão, portanto, que nós humanos raciocinamos melhor em cima do concreto do que do abstrato. E isso é fácil de se entender. Ao raciocinarmos sobre coisas abstratas, temos que manter em mente, o seu significado. Quando temos evidências perceptivas dos objetos da ação, não precisamos fazer uma operação de transformação mental a mais. Assim nossas mentes estão mais livres para focar nos objetivos das nossas tarefas.
Assista o vídeo abaixo e tire suas conclusões (From Earth to the Moon- capsule problem solved).
Manipulação direta pode não ser sempre a melhor saída
Representações espaciais ou visuais não se constituem necessariamente uma interface superior quando comparadas a interfaces mais tradicionais. No desenvolvimento de sistemas, por exemplo, os diversos diagramas são úteis até certo ponto. Diagramas complexos facilmente se tornam confusos e difíceis de ler. Estudos mostram que abordagens gráficas são mais eficientes quando a tarefa exige reconhecimento de padrões, mas não quando o campo visual fica muito cheio de objetos e a tarefa exige informações detalhadas. Para usuários experientes, uma tabela com cinqüenta nomes de documentos pode ser mais apropriada do que apenas dez ícones de documentos abreviados de tal forma a caber no tamanho de ícone.
Um segundo problema é que os usuários devem aprender o significado dos componentes das representações visuais. Um ícone, por exemplo, pode ter um significado para o projetista, mas pode requerer um tempo de aprendizado igual ou maior de aprendizado que uma palavra. Em aeroportos, por exemplo, devido ao fato de servirem a uma comunidade multilingual, boa parte da comunicação é feita por meio de ícones cujo significado nem sempre é óbvio.
Outra questão é a que em vários casos, usuários experientes, por motivo de performance, preferem usar teclado a ter que parar a digitação, procurar o mouse e apontar para o objeto na tela. O teclado continua sendo o dispositivo de manipulação direta mais efetivo para diversos tipos de tarefas.
A escolha dos objetos e ações adequados para cada tipo de tarefa não é necessariamente algo simples. Metáforas, analogias e modelos com um mínimo conjunto de conceitos são um bom ponto de partida. Problemas podem surgir quando o projetista escolhe uma metáfora não apropriada ou de difícil entendimento para a comunidade de usuários. Em geral, o projetista tem formação diferente daquelas pessoas que fazem parte da comunidade de usuários e não convive com elas. Assim é importante que o projetista apresente e teste seu modelo conceitual com membros da comunidade o mais cedo possível no processo. É também recomendável a confecção de um documento que apresente o modelo com suas suposições e limitações.
Ambientes de desenvolvimento de sistemas baseados em manipulação direta
Não basta produzir programas de computador que implementem a manipulação direta. Um ambiente de desenvolvimento de sistemas que implemente tais conceitos, certamente aumenta a produtividade do programador. Na programação de robôs, por exemplo, os profissionais primeiro testam os movimentos necessários para uma determinada tarefa, um a um, antes de executar a sequência toda em alta velocidade. Esse conceito de programação de manipulação direta também se aplica a brocas de precisão, câmeras de televisão com movimento previamente definido etc.
Esse conceito foi levado para a automação de escritório sob a forma de macros. Macros nada mais são do que um conjunto de comandos previamente gravados que, quando acionadas, as executam trazendo produtividade e diminuindo os erros do operador. Durante a execução de uma macro outra pode ser chamada, o que aumenta e muito as possibilidades de construção de encadeamento complexo de ações. Hoje programas de automação de escritório como o Excel possuem sua própria linguagem de programação que permite aos seus usuários a criação de partes de programas que são capazes de executar operações em planilhas eletrônicas.
Um trabalho que inspirou muitos foi o sistema Pygmalion de Smith (1977) (figura abaixo). O sistema permitia que programas aritméticos fossem especificados visualmente através de ícones. Muitos outros projetos de pesquisa tentaram criar sistemas de programação de manipulação direta.
Malsby e Witten (1989) desenvolveram sistemas capazes de inferir um programa a partir de exemplos, questionando os usuários para resolver ambigüidades. Em certos domínios de aplicação, as interfaces se tornaram previsíveis e úteis, o problema acontecia quando o sistema inferia errado. Os usuários então perdiam a confiança rapidamente.
Para se criar uma ferramenta confiável que funcione em muitas situações sem resultados imprevisíveis, projetistas precisam vencer os cinco desafios da programação da interface do usuário, de acordo com Potter (1993):
- Generalização computacional suficiente (estruturas de controle como sequência, decisão e repetição);
- Acesso às estruturas de dados apropriadas e seus operadores;
- Facilidade de programação (por especificação, por exemplo ou por demonstração, com modularização, passagem de argumentos, etc) e facilidade na edição de programas;
- Simplicidade na invocação e assinalamento de parâmetros (manipulação direta, biblioteca de ícones com comportamentos pré-definidos, ferramenta de depuração integrada);
- Baixo risco (alta probabilidade de programas livres de erros e operações do tipo undo para facilitar a recuperação de erros)
Green e Petre (1996) propuseram o framework de dimensões cognitivas para auxiliar o projetista na análise de questões ligadas aos ambientes de programação visual. O framework sugere um vocabulário para facilitar as discussões questões de alto nível relacionadas à interface. O termo viscosidade, por exemplo, é usado para descrever o grau de dificuldade em se realizar mudanças em um programa. Já avaliação progressiva descreve a capacidade de execução parcial de programas. São também dimensões: Consistência, difusão, dependências escondidas, comprometimento prematuro e visibilidade.
Um caso de sucesso – Scratch
Construindo sistemas baseados em manipulação direta
Para SHNEIDERMAN e PLAISANT (2005), o truque para a criação de sistemas de manipulação direta está na proposição de uma representação ou modelo apropriado da realidade. Muitos projetistas podem ter dificuldades em pensar sobre problemas de informação de forma visual. Mas com a prática, eles podem acabar achando o método mais natural. Vários projetistas aplicam
os conceitos de manipulação direta a partir de metáforas.
Por exemplo, se você está interessado em construir um programa de agenda de endereços, pode começar com a imagem de uma agenda real. Com essa imagem diante de você, imagine as ações que seus usuários podem fazer e como eles fariam essas mesmas ações com uma agenda de verdade. A partir daí veja como essas ações podem ser implementadas na sua aplicação de tal forma que se pareçam ao máximo com aquelas realizadas com o objeto do mundo real.
Obviamente, nem todas as ações do mundo real poderão ser modeladas em sua aplicação e como já discutido anteriormente, nem todas as tarefas são realizadas de forma mais eficiente através da manipulação direta.
Manipulação direta tem o poder de atrair usuários porque as ações são facilmente compreensíveis, simples e até agradáveis de se executar. Quando as ações se tornam simples e reversibilidade é assegurada, a retenção fica facilitada, há uma diminuição da ansiedade, os usuários se sentem em controle e o nível da satisfação aumenta.
Automação de lares
Existem muitas oportunidades para o desenvolvimento de sistemas interativos baseados em manipulação direta quando nos referimos à automação de lares. Essas oportunidades se estendem desde o controle da temperatura do ar-condicionado, passando pela hora em que o sistema de aspersão do jardim e chegando até a programação de eletrodomésticos.
Essas possibilidades incluem o uso de comandos de voz, algo que somente agora começa a se concretizar dado à complexidade de algoritmos e dos modelos matemáticos por trás deles. Um exemplo bem recente de sucesso no emprego de comandos de voz vem do aplicativo Siri disponibilizado pela Apple em seus smartphones a partir do modelo iPhone 4S.
Dispositivos como o controle remoto universal, apesar de não puder se dizer que são populares, devido ao preço proibitivo, estão no mercado a algum tempo. Eles foram concebidos, primeiro para reunir em um só dispositivo as funcionalidades dos diversos tipos de controle remoto: o da televisão, do DVD, do equipamento de som, etc. Os mais modernos controlam também computadores, ar-condicionados e iluminação.
O sucesso desses sistemas depende muito da facilidade de aprendizado tanto na hora de instalar e configurar o sistema como na momento de utilização (de controle) dos sistemas instalados. Esses sistemas são normalmente adquiridos por pessoas de alto poder aquisitivo e, portanto, exigentes.
Manipulação direta remota
A medida em que os problemas de redes de comunicação de dados são superados e conexões rápidas e confiáveis são disponibilizadas, grandes oportunidades para sistemas de manipulação direta se abrem. Dentre os domínios de aplicação que podem se beneficiar de tais tecnologias temos: automação de escritório, toda a área de trabalho colaborativos apoiado por computador ou CSCW do Inglês (Computer Supported Collaborative Work) – incluindo telemedicina, e educação – principalmente educação à distância.
Manipulação direta remota também pode permitir que o desenvolvimento de aplicações no espaço, subaquáticas e em ambientes hostis seja realizado de forma segura e viável economicamente.
Ambientes remotamente controlados em medicina podem permitir acesso de moradores de centros menos desenvolvidos a especialistas residentes em grandes centros. Em outro cenário, um patologista pode examinar amostra de tecido ou de fluídos a partir do uso de um microscópio que faz a captura remota das imagens e as transmite para uma tela de alta resolução. Nesse último cenário, o sistema de manipulação remota poderia oferecer ao patologista controles que permitissem ajustes:
- Da magnificação da imagem;
- De foco;
- De iluminação (ajuste bidirecional contínuo ou passo a passo);
- De posição (ajuste do posicionamento das amostras sob as lentes do microscópio).
Para SHNEIDERMAN e PLAISANT (2005) a arquitetura de ambientes remotos introduz vários fatores complicadores, a saber:
- Retardos. Normalmente são causados por baixa qualidade nos canais de comunicação que ligam os dois pontos onde as atividades estão ocorrendo. Existem os retardos de transmissão, que no exemplo acima seria o tempo que leva para um comando alcançar o microscópio e os retardos de operação, o tempo gasto para que o microscópio responda.
- Feedback incompleto. Um exemplo de feedback incompleto pode ser o do microscópio respondendo tão lentamente aos comandos que inviabiliza o seu uso de forma mais natural pelo patologista.
- Feedback de fontes múltiplas. Além da imagem o patologista pode também ter acesso ao audio para facilitar a colaboração com um auxiliar que se encontra junto ao microscópio. Os retardos de comunicação entre o patologista e o microscópio podem ser diferentes daqueles do canal de audio entre ele e seu auxiliar. Retardos distintos em canais diferentes podem complicar ainda mais a tarefa.
- Interferências imprevistas. Não é somente a comunicação que pode ser fonte de desafios, diversas outras coisas podem dar errado. No nosso exemplo do microscópio operado remotamente, os próprios componentes mecânicos podem falhar e comprometer o funcionamento do sistema.
Como vários desses fatores estão fora do alcance do projetista, resta-lhe propor sistemas que possam suportar esses diversos tipos de adversidades. Uma estratégia poder ser a de minimizar, até onde possível, o volume de dados trafegando pelos canais de comunicação. Outra seria a de ter canais de comunicação redundantes, onde o “reserva” poderia ser acionado automaticamente no momento em que o “principal” estivesse indisponível. Uma terceira seria a de optar por comunicação assíncrona, onde o operador captura o dado, remete-o ao operador remoto que o analisa e retorna ao com o seu devido parecer. Esse tipo de estratégia é chamada de store and forward.
Ambientes virtuais
Quando se pensa em simuladores de vôo imagina-se logo quanto não custa para criar um sistema desses. Os valores são tão altos no Brasil até hoje se conta nos dedos de uma mão o número deles. A maioria de nossos pilotos precisa se deslocar ao estrangeiro para ter acesso a um deles.
Quando se pensa na viabilidade econômica desse tipo de projeto fica fácil entender a sua importância. Um simulador de vôo que possa ser de fato utilizado para treinamento de pilotos profissionais custa algo em torno de cem milhões de dólares. Já a aeronave cujo vôo ele simula pode custar quatro vezes mais. Além da questão puramente econômica, existem também vários outros argumentos a favor da construção desses sistemas. Um deles é o humano. Não somente pelas vidas de pilotos-alunos que o uso do sistema poupa, mas também pela melhoria da qualidade do treinamento que proporciona. Determinadas situações de pane são muito perigosas para serem feitas em aeronaves de verdade. Já no simulador, a única coisa que pode sair ferida é o ego do aluno.
Agora, o que nos interessa, para esse texto, é entender como os componentes desse tipo de sistema são colocados juntos para se criar um ambiente virtual. As janelas são substituídas por telas de computador de alta resolução. Os sons são produzidos por sistemas estéreos distribuídos em alto falantes de grande fidelidade posicionados estrategicamente com o intuito de aumentar a sensação de imersão – termo bastante comum na área de realidade virtual que significa o grau de realismo proporcionado pelo sistema. Ainda com essa mesma intenção, o nosso piloto-aluno senta-se em uma poltrona equipada com motores hidráulicos que reproduzem turbulências, deslocamentos do centro de gravidade nos seus corpos que lhes propicia experiências perceptivas muito semelhantes àquelas experimentadas situações em vôo real.
Vários outros sistemas de realidade virtual estão surgindo e todos eles com um enorme potencial de benefícios tanto para as empresas que os criarem, pois um mercado promissor se abre para elas, como também para sociedade como um todo. Não só podemos ter barateados os custos de formação de pilotos com os teremos mais bem treinados. Se levarmos a discussão para a educação médica, por exemplo, podemos ter sistemas de educação que simulem cirurgias e procedimentos complexos.
Simulações essas que podem ser repetidas várias vezes para melhor assimilação, podem também ser interrompidas para que o instrutor corrija os alunos no momento apropriado, etc. Agora imagine que, com o avanço das redes de computadores, com conexões mais rápidas e confiáveis, esse treinamento pode ser dado à distância. A possibilidade de treinamento de profissionais de saúde à distancia abre caminho uma melhoria na qualidade de vida de milhões que moram em comunidades remotas.
Os princípios de manipulação direta discutidos nesse texto podem ser úteis àqueles que estão projetando novos sistemas de realidade virtual ou estão refinando os existentes. Usuários devem ser capazes de selecionar ações rapidamente tanto pelo ato de apontar como através de gestos. Seu controle deve incremental e suas ações, reversíveis.
O sistema deve mudar de estado imediatamente após cada ação de seu usuário, quer seja atualizado telas, emitindo sons ou mesmo ativando outros sistemas como movimentando a poltrona do piloto. As respostas do sistema, quando bem projetadas e implementadas, proporcionam e aumentam o senso de causalidade reforçam o aprendizado, aumentam performance e satisfação subjetiva. Objetos de interface e as ações que eles implementam devem ser simples e pertencerem ao domínio da aplicação.
Fim da Aula.