Upload
truongkhuong
View
215
Download
0
Embed Size (px)
Citation preview
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Departamento de Ciência da Computação - Campus Poços de Caldas
Análise de Interface Colaborativa para Softwares de Instanciação de Objetos 3D
Ana Luiza Dias
Poços de Caldas 2006
Ana Luiza Dias
Análise de Interface Colaborativa para Softwares de Instanciação de Objetos 3D.
Trabalho apresentado à disciplina de Trabalho de Diplomação, como exigência parcial para a obtenção do Título de Bacharel em Ciência da Computação da Pontifícia Universidade Católica de Minas Gerais - Campus Poços de Caldas, elaborado sob a orientação do Profº Eduardo Barrére.
Poços de Caldas 2006
Ana Luiza Dias Análise de Interface Colaborativa para Softwares de Instanciação de Objetos 3D
Trabalho apresentado à disciplina de Trabalho de Diplomação da Pontifícia Universidade Católica de Minas Gerais, Campus Poços de Caldas, 2006.
___________________________________________________ Prof.º M.Sc. Eduardo Barrére (Orientador) – PUC Minas
___________________________________________________ Prof.º Dr. João Benedito dos Santos Junior – PUC Minas
___________________________________________________ Prof.º M.Sc. Will Ricardo dos Santos – PUC Minas
"O caminho está aberto a todos, e se uns vencem e alcançam o
que almejam, não é porque sejam predestinados, senão porque
forçaram os obstáculos com arrojo e tenacidade".
Henrique Maximiliano Coelho Neto
Agradecimentos
Agradeço inicialmente a Deus, por me dar à família que tenho, a saúde e persistência
de lutar em busca dos meus objetivos.
Aqueles que são minha razão de viver, minha mãe e meu pai, que com um amor tão
puro me amparam a todo instante, e que através dos seus exemplos de vida, esculpiram meu
caráter e me fizeram o que sou. Obrigada pela oportunidade de estar onde estou, por
confiarem e acreditarem sempre em mim e na minha capacidade.
Ao meu querido irmão, por apoiar-me em todas as decisões tomadas durante essa
caminhada e por estar sempre disposto a apoiar-me nas horas difíceis e motivar-me.
Ao Jailson, meu querido namorado pelo companheirismo, sempre paciente nos dias
difíceis e presente em todos os momentos da minha vida.
Aos amigos e familiares ausentes, que mesmo longe, sempre estão preocupados e
dispostos a ajudar-me, mantendo viva a amizade que nos une, além de estarem disponíveis
mesmo quando meu tempo para eles era tão limitado.
Ao Prof. Barrére, meu orientador, agradeço pela amizade, pelas diversas
oportunidades que me ofereceu, por apoiar-me sempre. Obrigada por despertar em mim o
interesse e paixão pela área de IHC, pela paciência e valiosas orientações na confecção deste e
outros trabalhos.
Resumo
Um ambiente colaborativo deve propiciar a confrontação de pontos de vista
divergentes, bem como a existência de concepções diferentes a respeito de uma mesma
situação ou tarefa, fazendo com que ‘os sujeitos’ de um grupo, reflitam sobre o pensamento
dos outros, respeitando-se, ajudando-se entre si, trocando informações e aceitando idéias.
Além disso, é importante ao se desenvolver uma interface cooperativa e inteligente que se
possa obter um comportamento do sistema que reproduza ou imite, em certo sentido, o
comportamento normalmente esperado de um especialista humano em cooperação com o
usuário (FUKS, 2003). Ressalte-se então que o principal objetivo do presente trabalho de
diplomação foi promover a adaptação da interface do Projeto de Iniciação Científica,
realizado em 2005, juntamente com os estudos realizados no Estágio Curricular, intitulado
Análise de Interface Colaborativa, a fim de permitir que a ferramenta implementada no
projeto pudesse ser utilizada num ambiente colaborativo. Vislumbrou-se então, como objetivo
secundário, a otimização da interface atual, buscando proporcionar um controle mais refinado
da visualização e também uma maior interação do usuário com o ambiente 3D.
Abstract
An ambient collaborative should propitiate the confrontation of divergent point of
view, as well as the existence of different conceptions regarding a same situation or task,
doing with that 'the persons' of a group, think about the thought of the other ones, being
respected, helping each other her amongst themselves, changing information and accepting
ideas. Besides, it is important when growing a cooperative and intelligent interface that one
can obtain a behavior of the system that reproduces or imitate, in certain sense, the behavior
usually expected of a human specialist in cooperation with the user (FUKS, 2003). Be
emphasized then that the main objective of the present graduation work was to promote the
adaptation of the interface of the Project of Scientific Initiation, accomplished in 2005
together with the studies accomplished in the Apprenticeship entitled Analysis of Interface
Collaborative, in order to allow that the tool implemented in the project can be used in an
ambient collaborative. It was glimpsed then, as secondary objective, the optimization of the
current interface, looking for to provide a more refined control of the visualization and also a
larger interaction of the user with the ambient 3D.
Sumário
1 Introdução ...........................................................................................................................15
2 IHC – Interação Humano Computador .............................................................................17
2.1 Definição .....................................................................................................................17
2.2 Usabilidade .................................................................................................................19
2.3 Avaliação de Usabilidade ............................................................................................21
3 IHC Aplicada à Ferramenta de Modelagem 3D .................................................................26
3.1 Tipos de Interação .......................................................................................................27
3.1.1 Manipulação Direta ..........................................................................................28
3.1.2 Seleção de MENU ............................................................................................28
3.1.3 Exibição de Campos .........................................................................................28
3.1.4 Linguagem de Comando ...................................................................................28
3.2 Interface de Softwares Convencionais .........................................................................29
3.3 Funcionalidades...........................................................................................................31
4 Aplicações Cooperativas .....................................................................................................33
4.1 Definição .....................................................................................................................33
4.2 Características .............................................................................................................34
4.2.1 Classificação ....................................................................................................34
4.2.2 Requisitos .........................................................................................................35
4.2.3 Problemas .........................................................................................................35
4.2.4 Aprendizagem cooperativa ...............................................................................36
4.3 Distinção entre CSCW x Groupware ...........................................................................37
5 IHC em Aplicações Cooperativas .......................................................................................39
5.1 Engenharia de Groupware baseada no modelo 3C .......................................................39
5.1.1 O Modelo de Colaboração 3C ...........................................................................39
5.1.1.1 Comunicação ................................................................................................................... 40 5.1.1.2 Coordenação .................................................................................................................... 42 5.1.1.3 Cooperação ...................................................................................................................... 43
5.1.2 Ciclo de Desenvolvimento de Groupware ........................................................44
6 Definição do Protótipo.........................................................................................................47
6.1 Experimento para Validação da Interface.....................................................................48
6.1.1 Coleta de Dados ...............................................................................................52
6.1.2 Cenários ...........................................................................................................54
6.1.2.1 Cenário Um ...................................................................................................................... 55 6.1.2.2 Cenário Dois .................................................................................................................... 56 6.1.2.3 Cenário Três ..................................................................................................................... 57 6.1.2.4 Cenário Quatro ................................................................................................................. 57 6.1.2.5 Cenário Cinco .................................................................................................................. 58
6.1.3 Resultados da Pesquisa .....................................................................................59
6.1.4 Memorização ....................................................................................................61
6.1.5 Destaques da Interação .....................................................................................63
6.2 Novas Funcionalidades de Usabilidade ........................................................................65
6.3 Implementações do Protótipo ......................................................................................67
6.4 Especificação das Telas ...............................................................................................68
6.4.1 LEMD ..............................................................................................................69
6.4.2 A utilização da LEMD no protótipo ..................................................................74
6.4.2.1 Janela Alterações ............................................................................................................. 74 6.4.2.2 Janela Anotações do Cenário ........................................................................................... 75 6.4.2.3 Janela Gerar Anotação ..................................................................................................... 76 6.4.2.4 Janela Anotações Pessoais ............................................................................................... 78 6.4.2.5 Janela Anotações Gerais .................................................................................................. 80 6.4.2.6 Janela Cenário Atual ........................................................................................................ 82 6.4.2.7 Janela Listagem dos cenários ........................................................................................... 83 6.4.2.8 Janela Listagem dos Usuários do Cenário Atual .............................................................. 84 6.4.2.9 Janela Listagem de todos os Usuários Existentes ............................................................ 85
6.5 Integração na Ferramenta ............................................................................................87
7 Trabalhos Futuros ...............................................................................................................88
8 Conclusão .............................................................................................................................89
Referências Bibliográficas .......................................................................................................90
9 Anexo A................................................................................................................................96
9.1 Artigo Interface para Softwares de Instanciação de Objetos 3D publicado no
Simpósio WebMedia 2005. ........................................................................................................96
Listas de Tabelas
Tabela 01: Funcionalidades das Ferramentas Blender e 3DS ................................................ 29
Tabela 02: Modelo de Usabilidade Aplicado ........................................................................ 51
Tabela 03: Regras de Mapeamento Semântico Utilizadas ..................................................... 73
Lista de Figuras Figura 01 : Processo de Interação Humano-Computador ...................................................... 19
Figura 02 : Esquema de Interação Humano-Computador em Ambientes Imersivos .............. 27
Figura 03 : Distinção entre softwares comuns e softwares groupware .................................. 38
Figura 04 : Modelo 3C ......................................................................................................... 40
Figura 05 : Modelo de Comunicação mediada por computador ............................................ 41
Figura 06 : Modelando a Coordenação ................................................................................. 43
Figura 07 : Modelando a Cooperação ................................................................................... 44
Figura 08 : Ciclo de Desenvolvimento da Engenharia de Groupware ................................... 45
Figura 09 : Ferramenta Multi-Interface para a modelagem de objetos 3D ............................. 47
Figura 10 : Modelo de atributos de aceitabilidade de Nielsen ............................................... 48
Figura 11 : Exemplo do Modelo de Usabilidade ................................................................... 50
Figura 12 : Cenário da Etapa Um ......................................................................................... 56
Figura 13 : Cenário da Etapa Dois ........................................................................................ 56
Figura 14 : Cenário da Etapa Três ........................................................................................ 57
Figura 15 : Cenário da Etapa Quatro .................................................................................... 58
Figura 16 : Cenário da Etapa Cinco ...................................................................................... 58
Figura 17 : Perfil do Usuário que participou da Pesquisa ...................................................... 59
Figura 18 : Formalismos de Apoio do Design ...................................................................... 69
Figura 19 : Mensagens do Design ........................................................................................ 70
Figura 20 : Especificação da Função Aplicação .................................................................... 71
Figura 21 : Especificação da Função Imprimir ..................................................................... 71
Figura 22 : Especificação da mensagem para comando da Função Imprimir ......................... 72
Figura 23 : Janela Alterações ............................................................................................... 74
Figura 24 : Janela Anotações do Cenário .............................................................................. 76
Figura 25 : Janela Gerar Anotação ....................................................................................... 77
Figura 26 : Janela Anotações Pessoais .................................................................................. 79
Figura 27 : Janela Anotações Gerais ..................................................................................... 81
Figura 28 : Janela Cenário Atual .......................................................................................... 82
Figura 29 : Janela Listagem dos Cenários ............................................................................. 83
Figura 30 : Janela Listagem dos Usuários do Cenário Atual ................................................. 84
Figura 31 : Janela Listagem de todos os Usuários Existentes ................................................ 86
Lista de Abreviaturas
3C Comunicação, Coordenação, Cooperação
CSCA Computer Supported Collaborative Argumentation
CSCW Computer Supported Cooperative Work
CUI Character-based User Interface
FMI 3D Ferramenta Multi-Interface para Instanciação 3D
GUI Graphical User Interface
IHC Interação Humano-Computador
LEMD Linguagem de Especificação da Mensagem do Design
PUI Pen-based User Interface
RV Realidade Virtual
SUS System Usability Scale
UML Unified Modeling Language
VRUI Virtual Reality-based User Interface
WUI Web User Interface
15
1 Introdução
JACOB fornece uma formulação precisa sobre interfaces de softwares:
A interface de um software pode ser definida como uma tecnologia que enfatiza características de utilização de dispositivos multi-sensoriais, navegação em espaços tridimensionais, imersão no contexto da aplicação, simulação de ambientes e interação em tempo real (JACOB, 2005b).
Os softwares que manipulam ambientes 3D têm uma série de características especiais
quanto a sua interface, pois devem prever um cuidadoso estudo quanto à utilização de técnicas
de interação mais apropriadas, uma vez que sua meta é a de que os usuários se concentrem
mais em tarefas de alto nível do que em atividades motoras de nível menor.
A interação em ambientes 3D é realizada de maneira a atingir objetivos como
(JACOB, 2005b): efetuar operações de manipulação, seleção de objetos e permitir a
navegação no ambiente 3D. Por manipulação entende-se, a tarefa de alterar algum parâmetro
de um objeto 3D, acarretando mudança de suas propriedades geométricas (tamanho, rotação,
etc.) ou não. Por seleção, entende-se o processo de definir, dentre os objetos presentes em um
ambiente 3D, sobre qual deles se deseja operar. A navegação, por sua vez, corresponde ao
processo de movimentar o observador no ambiente tridimensional.
Num processo de interação, objetiva-se permitir que o usuário faça da sua tarefa o
centro de sua atenção, de tal forma que isso possa ser uma operação menos trabalhosa e sem o
necessário conhecimento de todas as operações do sistema para que se possam alcançar seus
objetivos.
A precariedade do feedback tátil, a ausência de peso dos objetos, o uso de técnicas de interação inadequadas para realizar a tarefa, entre outros fatores, transformam a simples tarefa de “pegar” e “movimentar” um objeto em uma experiência frustrante para o usuário. (JACOB, 2005a).
Portanto, conforme Jacob é importante ressaltar os atributos de usabilidade que diz
respeito a todas as características que permitem aos usuários interagir com o computador de
forma satisfatória, tais como: facilidade de aprendizado; retenção do conhecimento, mesmo
que o usuário fique algum tempo afastado da máquina; velocidade na execução das tarefas;
preparação do sistema para evitar erros de usuários.
16
Portanto, pretendeu-se com a presente pesquisa, estudar e analisar as alternativas
oferecidas por softwares comerciais para a instanciação de objetos 3D, bem como desenvolver
o protótipo de uma ferramenta para esse tipo de software. Vale dizer, tal estudo fora
desenvolvido ainda em época do Projeto de Iniciação Científica pelo qual promovemos seu
aperfeiçoamento com a realização deste trabalho, transformando-o em um software
colaborativo.
17
2 IHC – Interação Humano Computador
Por definição, a área de IHC diz respeito a todo tipo de pesquisa ou atividade
profissional que envolva centralmente o estudo, o projeto, a avaliação, ou algo semelhante
sobre a forma de como, para que e em que contextos de uso as pessoas interagem com
tecnologias de base computacional.
Com a explosão da utilização de computadores por causa da Internet, os estudos e
pesquisas de IHC (Interação Humano-Computador) têm contribuído muito para a formação de
padrões e critérios de construção de interfaces e artefatos que nos permitam, cada vez mais,
interagir através da tecnologia sem que esta seja percebida.
2.1 Definição
Sistemas computacionais e interfaces acessíveis são tecnologias em rápida ascensão.
Isto porque usuários comuns estão cada vez mais em contato com sistemas computacionais
em razão da Popularização da Internet (Sistema Bancário, Lojas Virtuais, Serviços Públicos,
entre outros), e Popularização de serviços e equipamentos (Caixas Eletrônicos, Máquinas de
cartões telefônicos, Telefonia celular).
Em decorrência desse crescente contato do homem com a máquina e da constante
dinâmica de informações, o usuário torna-se a parte mais desabilitada dessa relação. Tal fato é
tão verídico que usuários novatos chegam a ficarem apreensivos e com receio de danificar o
equipamento, sendo que muitos deles até entram em pânico ao visualizar possíveis mensagens
de erro. Assim, com o propósito de solucionar tais problemas há a necessidade de IHC que,
aplicadas aos sistemas, permitem aos usuários sentirem-se mais “à vontade” e menos
temerosos quando da operação e execução de tarefas (LIMA, 2004).
Interface é o componente (software) responsável por mapear ações do usuário em
solicitações de processamento ao sistema (aplicação), bem como apresentar os resultados
produzidos pelo sistema.
18
Deseja-se ver o sistema ideal, aquele em que a tecnologia é mantida escondida. Dessa
forma, as pessoas poderiam executar suas atividades sem que a constante mutação tecnológica
afetasse o desempenho das tarefas, por estar invisível, fora de vista, despercebida.
Na verdade as pessoas deveriam aprender a tarefa, não a tecnologia. Deveríamos poder
empregar a ferramenta na tarefa, e não como é hoje, onde temos que adequar a tarefa à
ferramenta. As ferramentas deveriam seguir os três princípios básicos de design: simplicidade,
versatilidade e satisfação de quem as usam.
Existem vários tipos de Interface Humano-Computador:
• CUI (Character-based User Interface): São as interfaces fundamentadas em textos e
caracteres alfanuméricos, fazendo uso da metáfora de uma máquina de escrever ou de um
teletipo;
• GUI (Graphical User Interface): São as interfaces fundamentadas em gráficos e desenhos,
fazendo uso de metáforas de mesas de trabalho, documentos, botões, janelas, etc;
• WUI (Web User Interface): Usadas na Web (navegadores);
• PUI (Pen-based User Interface) (Perceptual): São as interfaces compostas de um monitor
de vídeo em formato de uma planilha ou bloco de anotações que recebem dados através de
uma espécie de caneta eletrônica ou o próprio dedo;
• VRUI (Virtual Reality-based User Interface): São as interfaces fundamentadas no
paradigma da realidade virtual e utilizadas com muito menor freqüência que as anteriores
por limitação de custos e tecnologia.
Interação é tudo que ocorre entre o ser humano e o computador utilizado para realizar
algumas tarefas, ou seja, é a comunicação entre duas entidades. Enfim, o IHC diz respeito ao
projeto, avaliação e implementação de sistemas de computador interativos para uso humano e
ao estudo dos principais fenômenos que os cercam.
19
Segue abaixo a figura do processo de Interação Humano-Computador:
Figura 1: Processo de Interação Humano-Computador (LIMA, 2004).
Portanto, os objetivos de IHC consistem na produção de sistemas de fácil utilização,
seguros e funcionais. Nesse contexto, o termo sistemas não se refere somente ao hardware e
software, mas a todo o ambiente que usa ou é afetado pelo uso da tecnologia computacional.
As pessoas não devem ter que mudar radicalmente para se adequar ao sistema, pois o sistema
é que deve ser projetado para se adequar a seus usuários.
Deve-se enfatizar a importância de métodos e técnicas centrada no usuário para
incrementar a utilização de interfaces computadorizadas, explicitar os componentes da
interface e apresentar guidelines para o projeto de interfaces que facilitem a interação
humano-computador, bem como testar a facilidade de uso de aplicações computacionais,
relatar os problemas encontrados e apresentar possíveis soluções (LIMA, 2004).
2.2 Usabilidade
As “regras de ouro” de Ben Shneiderman (SHNEIDERMAN, 1993) são princípios
universais, pois podem ser aplicados a qualquer interface, seja a de um website, de um
software ou de uma multimídia e visam aumentar a satisfação das pessoas durante a interação
com os computadores e seria bom que fossem conhecidos e respeitados por todos os
envolvidos com o projeto de sistemas. As dicas aumentam em muito a sensação de
competência humana sobre os sistemas informatizados e facilitam o seu aprendizado, são elas:
20
• Consistência SEMPRE: A consistência das interfaces tem a ver com a repetição de
certos padrões. Como: o layout de cores, a tipologia, os menus e a diagramação básica que
devem ser os mesmos em todas as páginas da interface (como no projeto visual de um
livro, de uma revista). Além disso, termos idênticos devem ser utilizados nos menus e nos
helps. Certas seqüências de ações devem ser repetidas, em situações de operação
semelhantes, para facilitar o seu aprendizado.
• ATALHOS para os mais experientes: Com a utilização freqüente dos sites e sistemas
interativos, os usuários vão se tornando experientes e desejam diminuir o número de
cliques para aumentar a velocidade. As interfaces devem, nesse caso, fornecer atalhos e
comandos para diminuir o tempo de resposta da máquina manuseada pelos usuários mais
experientes.
• Retro-alimentação: É a velha questão da comunicação. Para cada ação realizada pelo
usuário deve haver um feedback (retro-alimentação) adequado vindo do computador.
Ações demoradas e raras demandam um feedback mais explícito do que ações freqüentes.
• Diálogos com início, meio e fim: O fechamento – sinalizado com sucesso – de uma
seqüência de cliques dá ao usuário a sensação de alívio, além da indicação de que o
caminho para o grupo de ações subseqüentes estará correto. Como: “Parabéns! Você
completou a instalação com sucesso!”.
• Prevenção de erros: O sistema deve ser capaz de recusar os erros humanos. Ações
erradas devem fazer o sistema permanecer inalterado. Se o usuário cometer algum erro, o
sistema deve oferecer uma forma simples e construtiva de recuperá-lo. E nada de
mensagens ameaçadoras do tipo “Seu programa realizou uma operação ilegal e será
fechado”. Isso inibe e assusta os usuários.
• Meia volta, volver! : É a possibilidade da reversão para o estado inicial. O sistema deve
encorajar sempre a exploração de áreas não conhecidas, mas as ações devem ser
reversíveis – isto previne a ansiedade do usuário. É o caso dos undos, do botão back e do
histórico de navegação, por exemplo. Mesmo que fique com melhor visual, aconselha-se
não esconder a barra de botões do Explorer.
21
• Atenção: o controle é do usuário! : Esta é a essência da usabilidade. Os usuários
precisam ter a sensação de que controlam o sistema e de que o sistema responde às suas
ações e não ao contrário, como muitas vezes ocorre em nome das vendas e do marketing.
De maneira alguma se devem aplicar peças nem sustos no usuário! Os usuários devem ser
os iniciadores das ações e não responder às ações geradas pelo computador. “Surpresas”
durante a interação com uma máquina causam insatisfação e ansiedade. É por isso que
existem hoje tantos bloqueadores de pop-ups no mercado.
• Na cabeça: sete mais ou menos no mercado: os seres humanos têm a memória de curto-
prazo muito ruim. A limitação da capacidade de processamento da memória humana deve
ser respeitada pelos projetistas de sistemas. Lembramo-nos somente de sete mais ou
menos dois blocos de informação de cada vez, durante a nossa interação com o
computador. Isso significa que – sempre que possíveis – menus expansíveis (pull-down)
devem ser evitados, pois é difícil para o operador memorizar todos os seus itens no curto
prazo de tempo. É preferível colocar as opções de navegação visíveis na tela, até o limite
de nove itens por página (se possível).
O objetivo destas regras é aumentar a sensação da competência humana durante o uso
da tecnologia e auxiliar o desenvolvimento de interfaces, gerando satisfação, eficiência e
conforto para o ser humano. Ressalte-se que tais regras devem ser entendidas como “obra
aberta”, ou seja, elas precisam ser interpretadas para o uso específico nas aplicações que se irá
desenhar.
E o mais importante, lembre-se que o usuário não é uma abstração. Uma interface só é
bem-sucedida se ela der o suporte adequado aos objetivos e ao comportamento do usuário
real. Por isso, conhecê-lo é fundamental. Devemos saber o que o usuário pensa, o que quer e
como age, aplicando técnicas de pesquisa como grupos de foco ou testes de usabilidade.
2.3 Avaliação de Usabilidade
Um dos maiores problemas enfrentados por ergonomistas de software tem sido a
realização de testes de usabilidade de forma eficaz e eficiente, ou seja, a detecção dos
problemas de usabilidade existentes em um protótipo ou aplicação utilizando tempo e
recursos disponíveis otimizadamente.
22
Neto faz uma observação futura sobre a avaliação de softwares:
A complexidade e tamanho desse problema aumentam quando se leva em conta o crescimento exponencial do mercado de software. Em 2010 a indústria de software será a maior do mundo em: volume de negócios, quantidade de empresas, e número de empregos. Entre os principais requisitos desse mercado, está incluída a realização de técnicas de usabilidade de forma muito rápida e, principalmente, com custos minimizados (NETO, 2000).
A avaliação de usabilidade envolve complexidade por natureza. Avaliar facilidade de
uso, facilidade de aprendizagem, eficácia e eficiência do sistema, além da satisfação do
usuário não é uma tarefa simples. Dentre os problemas enfrentados pelos pesquisadores
atuantes em IHC pode-se destacar a não utilização efetiva de um vocabulário controlado na
literatura, considerando a grande diversidade de conceitos, métodos, técnicas e suas variações.
Um método de usabilidade pode envolver várias técnicas de coleta de dados. Bastien e
Scapin (BASTIEN, 1995) propuseram um método que envolve um conjunto de dimensões de
usabilidade chamado “Critérios Ergonômicos” (ou princípios, heurísticas, etc.) como uma
alternativa ao uso de recomendações ergonômicas. Essas dimensões de usabilidade objetivam
explicar o conceito de usabilidade, avaliando e mensurando características de interface e
organizando um conjunto de dados sobre projeto de interfaces. Os conjuntos de dimensões
variam de um método para o outro em termos de número de dimensões, grau de generalidade,
ou especificidade e nível de precisão.
Um método de avaliação é um procedimento para coleta de dados relevantes
associados à operação de uma Interface Humano-Computador e às atitudes do usuário em
relação a isto. Podemos dividir esses métodos em cinco categorias:
• Avaliação Analítica: usa descrições de interface formais ou semi-formais para predizer o
desempenho do usuário;
• Avaliação por especialista: envolve especialistas na avaliação da interface;
• Avaliação Observacional: envolve observação ou monitoramento do comportamento dos
usuários enquanto estão usando a interface;
• Avaliação por pesquisa: busca obter a opinião subjetiva dos usuários sobre uma
interface; e
23
• Avaliação experimental: usa prática experimental científica para testar hipóteses sobre o
uso de uma interface.
Um teste de usabilidade envolve pessoas reais tentando realizar tarefas com o sistema
e a observação do que acontece. Testes de usabilidade e ensaios de interação são sinônimos e
destinam-se a validar ou não hipóteses de mau funcionamento de determinadas funções
quando utilizadas numa situação real de trabalho. Testes de usabilidade estão associados,
portanto, aos métodos de avaliação observacional e experimental. Os diagnósticos gerados por
avaliação heurística e ou por inspeção podem ser confirmados pela utilização de técnicas
empíricas de validação (ensaios de interação) do sistema interativo junto ao usuário. Há vários
tipos de ensaios de interação que podem ser divididos nos seguintes grupos:
• Medição de Performance: Dá-se uma lista de tarefas para o usuário executar em um
ambiente controlado (ou observa-se o usuário em sua rotina diária) e medem-se grandezas
como:
1. Tempo gasto para completar cada tarefa;
2. Número de erros cometidos pelos usuários;
3. Número de comandos e funções nunca utilizados pelos usuários; e
4. Número de consultas do usuário ao manual do sistema.
• Pensamento em voz alta (Thinking aloud): Consiste basicamente em fazer um usuário
verbalizar seus pensamentos enquanto utiliza o sistema sob teste, anotando-se os pontos
onde ocorre um erro ou dificuldade. Há muitas variações do método básico, como por
exemplo:
1. Aprendizagem por co-descoberta: dois usuários usam junto o sistema.
Captura interações entre usuários e torna mais natural a verbalização;
2. Teste retrospectivo: o usuário é convidado a comentar sua própria atuação,
gravada em videoteipe; e
3. Protocolo de pergunta: há uma interação explícita (o “treinador”) entre o
usuário e o aplicador do teste. O usuário pode perguntar ao treinador,
24
geralmente um assistente do aplicador ou um usuário experiente, sobre
qualquer questão relacionada ao sistema.
De posse das observações e das gravações produzidas no teste de usabilidade, os
avaliadores podem analisar desempenho em termos de velocidade, precisão, número de
problemas, número de tentativas, etc. Também podem procurar por sinais de confusão ou
hesitação por parte dos usuários.
O uso combinado de diferentes métodos e/ou técnicas para a realização de uma
avaliação de usabilidade mais abrangente tem se mostrado uma tendência em várias
pesquisas. Tal tendência consiste na realização de testes com usuários de uma aplicação
hipermídia e com a comparação dos resultados com aqueles obtidos por avaliação heurística
realizada por especialistas em um domínio específico, e avaliação heurística realizada por
especialistas em interface.
Dentro do método de avaliação observacional, Preece (PREECE, 1993) descreve
algumas técnicas para coleta de dados:
• Observação direta: envolve a observação de usuários durante a execução da tarefa, com
o avaliador registrando o desempenho do usuário;
• Gravação em vídeo: pode ser usado para gravar aspectos visuais e auditivos da atividade
do usuário;
• Logging de software: registram o diálogo entre o usuário e o sistema, os tempos
associados às entradas do usuário e às respostas do sistema; e
• Protocolos verbais: são registros das observações e falas dos usuários (Think aloud).
Saint-Pierre e Rodrigues (SAINT-PIERRE, 1999) utilizaram a técnica thinking aloud
para analisar protocolos verbais que foram usados como dados para avaliação de aspectos
lingüísticos e terminológicos da interação.
Connally (CONNALLY, 1995) alerta que a anotação manual é limitada drasticamente
pela habilidade de um observador humano em documentar eventos rapidamente, pois não é
possível registrar manualmente cada entrada do usuário e cada resposta do sistema com a
25
rapidez necessária para não perder nenhum detalhe da interação, ao mesmo tempo em que
busca compreender as ações do usuário. Além do registro de entradas e respostas do sistema,
Lewis (LEWIS, 1994) destaca a dificuldade em anotar simultaneamente o que o usuário fala.
A técnica de gravação do movimento dos olhos do usuário ao interagir com um
sistema também tem sido utilizada por pesquisadores da área de Interação Humano-
Computador, que neste caso, utilizam as mesmas ferramentas dos ergonomistas que atuam em
marketing e propaganda. Aoki e Itoh (AOKI, 2000) utilizaram esta técnica para analisar
atitudes cognitivas do público em relação a filmes comerciais. Segundo Rasmussen
(RASMUSSEN, 1986), a gravação do movimento dos olhos possui a habilidade potencial de
auxiliar na análise de processos perceptivos e/ou cognitivos que são realizados
automaticamente baseados em habilidades e regras.
Alguns autores sugerem que o registro dos testes de usabilidade seja realizado por uma
combinação de gravação em vídeo/áudio do que acontece na tela e notas escritas por um
observador. Tal solução, entretanto, implica na presença de um observador, que pode se
constituir em um elemento gerador de constrangimento para o usuário, mesmo que o
observador esteja eventualmente invisível atrás de um vidro espelhado em um laboratório de
usabilidade.
26
3 IHC Aplicada à Ferramenta de Modelagem 3D
IHC aplicada à ferramenta de modelagem 3D baseia-se na interação com o usuário.
Existe a preocupação das formas distintas de visualização, o aumento e maior necessidade de
memória. Uma dificuldade encontrada é a modelagem de objetos 3D em visualização 2D,
como navegação, manipulação de objetos, entre outros.
O processo de interação em ambientes virtuais consiste na capacidade reativa do sistema em detectar e responder a cada ação do usuário através de modificações instantâneas no ambiente virtual. Trata-se de um processo contínuo que tanto pode ser realizado através de dispositivos especiais como convencionais. A interação em ambientes tridimensionais é realizada com o objetivo de efetuar operações de seleção, manipulação e navegação no ambiente tridimensional (NEDEL, 2003).
O usuário efetua ações no ambiente virtual através dos dispositivos de entrada. Estas
ações (estímulos motores) são efetuadas através de técnicas de interação, que correspondem a
métodos através dos quais o usuário especifica comandos e dados para o sistema
computacional para executar tarefas. A resposta do sistema se dá através de dispositivos de
saída que estimulam os sentidos do usuário.
A percepção é o resultado de uma cadeia de processamentos de estímulos obtidos
pelos diferentes sentidos, como a visão, a audição e o tato. Tais estímulos são processados e
assimilados pelo cérebro e, juntamente com as expectativas criadas com base em experiências
anteriores, definem como as pessoas interagem com o ambiente.
Alguns dos atributos utilizados no processo perceptual são: cor, textura, tamanho,
perspectiva, oclusão, sombra e movimento do observador. No processo de Interação Humano-
Computador usando a tecnologia oferecida pelos dispositivos de RV (Realidade Virtual),
busca-se eliminar qualquer estímulo do mundo real através da produção de estímulos virtuais
realistas. O objetivo é proporcionar imersão total no ambiente virtual, “desligando” o usuário
do mundo real.
A figura a seguir apresenta o esquema de Interação Humano-Computador em
ambientes imersivos, onde o usuário tem seus sentidos estimulados pelo computador e por um
conjunto de atuadores e envia ao computador, por intermédio desses mesmos atuadores, as
ações desejadas.
27
Figura 2: Esquema de Interação Humano-Computador em Ambientes Imersivos (JACOB, 2002).
Existem várias técnicas de interação para o usuário realizar suas ações no ambiente
virtual, técnicas estas que podem ser mais apropriadas ou não para determinados tipos de
tarefas.
3.1 Tipos de Interação
Para os tipos de interação, Rocha faz considerações em alguns aspectos: Toda ação e percepção do usuário dependem da interface do software que o mesmo utiliza. O desenho desta interface não é uma maquiagem final, ao contrário, esse desenho tem de ser a expressão da sua organização, ontologia e possibilidades operativas (ROCHA, 2003).
Como os dados são definidos internamente? Que tipo de modificações eles permitem?
Quais formas operativas são disponibilizadas? Qual o potencial que o usuário consegue
reconstruir, ou alterar a interface segundo suas necessidades? Tudo isso vai delimitar o campo
de ação do usuário, constrangendo-o a ações rígidas ou permitindo potenciais maiores de
criação a partir dos dados existentes.
Para os softwares de instanciação e modelagem de objetos 3D utilizam-se,
tradicionalmente, os tipos de interação (SHNEIDERMAN, 2004) citados a seguir. Lembrando
que cada software para instanciação de objetos 3D opta por utilizar um ou mais tipos de
interação para cada conjunto de funcionalidades, não existindo uma regra para cada ação a ser
realizada.
28
3.1.1 Manipulação Direta
Facilita a interação com os objetos do cenário em desenvolvimento, pois esta é feita
diretamente no cenário.
São vantagens desta forma de interação: fácil aprendizagem, fácil retenção, minimiza a
ocorrência de erros e encoraja exploração. Sua principal desvantagem: difícil programação.
3.1.2 Seleção de MENU
Em um sistema de seleção, as ações a serem executadas estão organizadas e
classificadas em grupos e subgrupos, facilitando a interação do usuário.
São vantagens desta forma de interação: curto aprendizado, redução da quantidade de
passos para realizar uma tarefa e apoio fácil com tratamento de erros. Suas desvantagens:
perigo de muitos menus, redução da velocidade dos usuários freqüentes, grande consumo de
espaço na tela e requer taxa de exibição rápida;
3.1.3 Exibição de Campos
Utilizada quando se requer entrada de dados. Os usuários devem entender os campos
principais, saber os valores permissíveis e os dados, e ser capaz de responder a mensagens de
erro.
São vantagens desta forma de interação: simplifica entrada de dados e requer
treinamentos modestos. Sua principal desvantagem: consome grande espaço na tela;
3.1.4 Linguagem de Comando
Provê um sentimento forte de lugar de controle e iniciativa aos usuários. Os usuários
aprendem a sintaxe e podem expressar rapidamente possibilidades complexas.
São vantagens desta forma de interação: é flexível e dá poder aos usuários. Suas
desvantagens: requer treinamento significativo e memorização.
29
3.2 Interface de Softwares Convencionais
O 3DStudio (UNIDEV, 2005) é um importante e conhecido software para instanciação
e modelagem 3D, sendo identificado como um dos mais populares em animação e
renderização, particularmente para a indústria de jogos. Vem com um pacote composto por
softwares com diversas finalidades específicas para as áreas de modelagem, animação e
renderização, porém, com uma alta complexidade em todas as tarefas.
Numa linha de softwares “alternativos” para a instanciação e modelagem 3D, destaca-
se o Blender (BLENDER-OPEN, 2005). Sua interface diferente dos demais é um atrativo
importante, apesar de não possuir uma interface muito amigável, o programa utiliza muitos
atalhos de teclado, o que confere agilidade ao trabalho. Dentre suas deficiências pode-se citar
o fato de não possuir uma unidade de medida, gerando uma falta de precisão para projetos e
também a falta de documentação que acaba dificultando o trabalho com o programa.
Após o estudo das duas ferramentas (Blender e 3DS), podemos verificar as seguintes
interações:
Tabela 1: Funcionalidades das Ferramentas Blender e 3DS (UNIDEV, 2005; BLENDER-OPEN, 2005).
Ferramentas
Blender e 3DS
Afetar o ângulo de visão Mouse e Teclado
Mouse 2 Botões: Botão esquerdo do mouse + ALT Mouse 3 Botões: Botão central + ALT
Zoom Mouse e Teclado
Mouse 2 Botões: Botão esquerdo do mouse + ALT + CTRL Mouse 3 Botões: Botão central + CTRL Teclado numérico (com o NumLock ligado). As teclas [2], [4], [6] e [8]. Obs: Estas teclas só irão funcionar se o cursor do mouse estiver sobre a janela de visualização.
Translação Mouse e Teclado
Mouse 2 Botões: Botão esquerdo do mouse + ALT + SHIFT Mouse 3 Botões: Botão central + SHIFT
Teclado numérico (com o NumLock ligado). As teclas [+] e [-]. Obs: Estas teclas só irão funcionar se o cursor do mouse estiver sobre a janela de visualização.
30
Tipos de visualização Mouse ou através do teclado numérico.
Via teclado a operação é mais rápida
Usando o mouse é simples. Ex: No modo OBJECT MODE clique em VIEW. Estes botões estão logo abaixo da janela de visualização. Aparecerá um menu, e então basta clicar sobre o tipo de visualização que deseja.
Visualização: Visão superior (TOP)
Teclado numérico:
Tecla [7]
Visualização: Visão frontal (FRONT)
Teclado numérico:
Tecla [1]
Visualização: Visão lateral direita
Teclado numérico:
Tecla [3]
Visualização: Alterna modo ORTOGONAL / PERSPECTIVA
Teclado numérico:
Tecla [5]
Visualização: Habilita a visão da câmera
Teclado numérico:
Tecla [0]
Visualização: Enquadra todos os objetos na janela
Teclado numérico:
Tecla [Home]
Visualização: Alterna entre visualização global e local. A visualização local permite enquadrar o objeto selecionado na janela de modo a ficar mais evidente e permitir uma melhor visualização na hora de trabalhar com edição. Selecione um objeto e experimente teclar [/] mais de uma vez.
Teclado numérico:
Tecla [/]
Visualização: Permite a visualização do objeto selecionado na janela, ou seja, enquadra o objeto selecionado.
Teclado numérico:
Tecla [,]
Selecionar um objeto na cena Basta clicar sobre ele com o botão direito do mouse. Automaticamente o objeto irá ficar rosa Mantendo a tecla SHIFT pressionada, é possível selecionar mais de um objeto
Movimenta o objeto selecionado (translação) Tecla [G] Escalamento Tecla [S] Rotação Tecla [R] Ajuste fino de translação Tecla [G] em seguida SHIFT pressionado
Para um ajuste exato tecle [N]. Uma janela irá abrir para que você altere os valores correspondentes a translação, rotação e escala do objeto.
31
Ajuste fino de rotação Tecla [R] em seguida SHIFT pressionado Para um ajuste exato tecle [N]. Uma janela irá abrir para que você altere os valores correspondentes a translação, rotação e escala do objeto.
Deletar tudo e voltar ao ponto inicial de abertura do programa
Pressionar [CTRL] + [X] e em seguida confirmar
Edição de objetos Basta pressionar a tecla [TAB]. No modo de edição estarão pontos evidentes nos vértices da malha do objeto. Estes pontos podem ser editados utilizando os mesmos processos descritos anteriormente, ou seja, as combinações de teclas para translação, escalamento e rotação funcionarão perfeitamente para o conjunto de vértices, linhas ou polígonos, no momento da edição.
Para cancelar o comando (o último) Teclar simultaneamente CTRL+Z (undo – desfazer).
DEFICIÊNCIAS Blender: Não possuir uma unidade de medida, gerando uma falta de precisão para projetos. 3DS: Complexidade em todas as tarefas.
3.3 Funcionalidades
Após várias pesquisas, análises e avaliações de interações mais adequadas para cada
situação, considerando grupos heterogêneos de usuários, foram feitas as seguintes
funcionalidades para a ferramenta Interface para Softwares de Instanciação 3D desenvolvida:
• Zoom: Mouse e teclado.
Mouse de dois Botões: Dentro da janela de visualização, segurar o botão esquerdo e o
direito, arrastando o mouse.
Mouse de três Botões: Clicar no botão central “scroll” e regular o zoom.
Teclado: Dentro da janela de visualização, mexer com as setas “acima” e “abaixo”.
• Seleção de um objeto em cena: Mouse
Mouse: Clicar uma vez no objeto com o botão esquerdo, ou clicar na lista de objetos
através do painel lateral.
• Visualização: Caixa de diálogo.
Caixa de diálogo: Selecionar o tipo de visualização: paralela ou perspectiva.
32
• Criação de um objeto 3D: Seleção de menu, mouse e caixa de diálogo.
Seleção de menu: Selecionar o objeto desejado.
Mouse: Dentro da janela de visualização, clicar no ícone para criar objetos com valores
por default.
Caixa de diálogo: Entrar com as coordenadas e dimensões do objeto e confirmar para a
criação dos objetos.
• Exclusão de objetos: Mouse e teclado.
Mouse: Selecionar o objeto e clicar em excluir.
Teclado: Selecionar o objeto e em seguida clicar Delete.
• Edição de objetos: Caixa de diálogo.
Caixa de diálogo: Fornecer as novas propriedades do objeto, como coordenadas,
dimensões, etc.
• Posicionamento da câmera: Seleção de menu.
Seleção de menu: Qualquer posicionamento da câmera pode ser definido, como: Frente,
Atrás, Esquerda, Direita, Topo e Fundo.
• Grade de apoio: Seleção de menu.
Seleção de menu: Altera suas propriedades através da caixa de diálogo, ajudando na
localização do objeto no cenário, fornecendo pontos de apoio para controle de
distância e dimensão dos objetos na cena.
33
4 Aplicações Cooperativas
O CSCW – Computer Supported Cooperative Work (Trabalho cooperativo mediado
por computador) pode ser aplicado a praticamente todos os ambientes de trabalho que envolva
atividades em grupo, podendo ser usado tanto em instituições de ensino como em empresas:
• Nas empresas o CSCW é utilizado para aumentar a produtividade, tanto no que diz
respeito a quantidade, como a qualidade, visando o aumento dos lucros;
• Nas instituições de ensino procura-se, a partir do CSCW, aprimorar o aprendizado e a
formação dos estudantes, através do uso de ferramentas de ensino mais adequadas como o
CSCL – Computer Supported Cooperative Learning (Aprendizagem Cooperativa
Mediada por Computador) (WIKIPÉDIA, 2006).
4.1 Definição
As aplicações relacionadas ao trabalho cooperativo, como o próprio nome diz, devem
ser capazes de possibilitar a comunicação e integração entre pessoas que se distribuem
geograficamente. As atividades realizadas de maneira colaborativa buscam maior eficiência e
rapidez na solução de problemas complexos, pois muitas pessoas pensam melhor que apenas
uma pessoa. O mercado atual oferece várias ferramentas de groupware. O desenvolvedor da
aplicação pode referenciar classes de uma aplicação aos componentes, visando usar os
métodos oferecidos pelo componente. Cabe à empresa analisar qual dessas ferramentas irá
atender a seus requisitos de forma mais adequada. Existem métodos abstratos que podem ser
implementados pela classe da aplicação ou por outro componente. Sendo assim, as duas
relações entre uma classe da aplicação e os vários componentes associados possuem as
seguintes características:
• Uma classe da aplicação pode não necessitar de todos os métodos existentes na estrutura de
um componente;
• Uma classe da aplicação pode utilizar ou implementar métodos de diferentes componentes;
34
• Um método abstrato de um componente pode ser implementado por método concreto da
aplicação ou por método concreto de outro componente;
• Os métodos da aplicação podem ter nomes diferentes dos nomes que possuem nos
componentes. (WIKIPÉDIA, 2006).
4.2 Características
Sistemas de co-autoria (editores cooperativos) são aplicações que permitem a um
grupo compor e editar um objeto conjuntamente. Possuem área de trabalho comum onde os
usuários atuam e podem visualizar a atuação dos outros. Porém, quando dois ou mais usuários
manipulam o mesmo objeto e possuem direitos para isto, toda atividade realizada sobre o
objeto por um usuário deve ser apresentada a todos os outros usuários instantaneamente
(WIKIPÉDIA, 2006).
4.2.1 Classificação
Na literatura existem diferentes abordagens para classificar sistemas groupware. São
freqüentemente citadas (BORGES, 1995, BERTOLETTI, 1997) referências aos trabalhos de
Ellis, Gibbs e Rein (ELLIS, 1993), Nunamaker (NUNAMAKER, 1993), e Grudin (GRUDIN,
1994).
Dentre as inúmeras classificações existentes aquela que mais interessa ao presente
trabalho de pesquisa é o nível de funcionalidade do aplicativo. A lista abaixo apresentada por
Ellis (ELLIS, 1993) é capaz de nos proporcionar uma idéia geral da amplitude de domínio de
groupware:
• Sistemas de mensagens;
• Editores multiusuários (O software “Ferramenta Multi-Interface para Softwares de Instanciação 3D”, objeto da presente pesquisa, se encaixa nesta classificação);
• Sistemas de suporte a decisão;
• Salas de reunião eletrônicas;
• Conferência por computador;
• Conferência por computador em tempo real;
35
• Teleconferência por computador;
• Conferência desktop;
• Agentes inteligentes;
• Sistemas de coordenação.
4.2.2 Requisitos
Toda organização é composta de grupos formais e informais. É importante entender
que groupware não é apenas mais um estágio da tecnologia de computação. Pelo contrário,
seu objetivo é permitir a eficácia dos grupos existentes, dentro das estruturas naturais da
organização.
Segundo Borges, são requisitos principais de um CSCW:
• Facilitar a cooperação entre indivíduos, ao invés de impor práticas que causem mudanças
radicais na forma de trabalho;
• Possibilitar redefinição de procedimentos e processos, pois nesse contexto mudanças são
freqüentes;
• Disseminar as mudanças entre os participantes; e
• Preferir a construção de aplicações menores e inter-relacionadas, ao invés de aplicações
monolíticas que incluem o conjunto completo de tarefas.
4.2.3 Problemas
Segundo Bannon (BANNON, 1993), enquanto groupware visa os problemas técnicos
de aperfeiçoar a Interface Humano-Computador, provendo facilidades multi-usuárias para
qualquer programa aplicativo, CSCW precisa direcionar os seguintes requerimentos
específicos do trabalho cooperativo que constituem o âmago de CSCW:
• Articulação do trabalho cooperativo;
• Compartilhamento de um espaço de informação;
• Adaptação da tecnologia para a organização, e vice-versa.
36
Grudin (GRUDIN, 1993) faz uma boa análise dos problemas envolvidos no
desenvolvimento de sistemas groupware, destacando que repetidos fracassos neste campo são
motivados por cinco fatores:
• A disparidade entre quem faz o trabalho e quem recebe o benefício.
Trabalho adicional é requerido de algumas pessoas, que não são as que irão beneficiar-
se diretamente com o uso da aplicação.
• Fatores sociais, políticos e motivacionais.
Groupware pode levar as atividades que violam tabus sociais, ameaçam estruturas
políticas existentes, ou desmotivam usuários que são cruciais para seu sucesso.
• Manipulação de exceções em grupos de trabalho.
Groupware pode fracassar se não permitir a manipulação de um largo campo de
exceções e improvisações que caracterizam muitas atividades de grupo.
• A subestimada dificuldade em avaliar groupware.
Estes aplicativos complexos introduzem obstáculos quase insuportáveis para
compreensão, análise generalizável e avaliação.
• A quebra da tomada de decisão intuitiva.
O processo de desenvolvimento groupware falha porque nossas intuições são
especialmente pobres para aplicativos multi-usuários.
4.2.4 Aprendizagem cooperativa
Aprendizagem cooperativa é um processo onde os membros de um determinado
grupo se ajudam e confiam uns nos outros para atingir um determinado objetivo. Vale dizer,
que neste processo a responsabilidade pela informação é individual, possuindo
interdependência positiva, de forma que os estudantes sintam que terão sucessos juntos. A
aprendizagem cooperativa é interativa, onde se desenvolve um objetivo comum e se
compartilha sua compreensão do problema.
37
Neste processo cada membro permite ao outro falar e contribuir e considerar suas
contribuições. Onde todos são responsáveis e dependentes uns dos outros (WIKIPÉDIA,
2006).
4.3 Distinção entre CSCW x Groupware
CSCW foi criado por Irene Greif e Paul Cashmann em 1984, ao organizarem um
workshop com pessoas de várias disciplinas que compartilhavam o interesse em estudar como
grupos trabalham, e procurar descobrir meios como a tecnologia (especialmente
computadores) poderia auxiliá-los (BANNON, 1993 , ELLIS, 1993 , GRUDIN. 1997).
O termo groupware já tinha sido usado por Peter e Trudy Johnson-Lenz em 1982, mas
passou a ser adotado pela comunidade CSCW para definir as tecnologias comerciais que
procuram implementar sistemas CSCW. Atualmente existem conferências anuais para
groupware, focalizando sistemas comerciais e CSCW direcionadas para sistemas
experimentais e estudo da natureza do espaço do trabalho e organizações (ELLIS, 1993,
GRUDIN, 1997).
Para Ellis, Gibbs e Rein (ELLIS, 1993), o objetivo de groupware é dar assistência aos
grupos na comunicação, colaboração e coordenação de suas atividades. Esses autores definem
groupware especificamente como "sistemas de computadores que assistem grupos de pessoas
engajadas em uma tarefa (ou objetivo) comum e que provêem uma interface com um
ambiente compartilhado".
Segundo Baecker (BANNON, 1993), CSCW e groupware representam uma mudança
de paradigma na ciência da computação, pois são enfatizadas a coordenação, comunicações e
resolução de problemas entre humano-humano ao invés de humano-máquina. Sistemas
CSCW podem integrar voz e vídeo comunicação com espaços de trabalho digitais
compartilhados, e podem suportar trabalho que ocorra tanto de forma síncrona como
assíncrona. Assim, a tecnologia groupware permite uma expansão dos conceitos de reunião e
de trabalho colaborativo, ao habilitar aos participantes transcenderem aos requerimentos de
estarem no mesmo lugar e trabalharem juntos ao mesmo tempo.
38
Na mesma obra, Baecker (BAECKER, 1993) também cita Lynch, Snyder, e Vogel
(1990), para caracterizar a distinção entre softwares comuns e softwares groupware:
Figura 3: Distinção entre softwares comuns e softwares groupware (ZOTTO, 2003).
Segundo Ozir Francisco de Andrade (ZOTTO, 2003):
• “... groupware torna o usuário consciente de que ele é parte de um grupo, enquanto outros
softwares procuram esconder e proteger os usuários uns dos outros”.
• “... groupware é um software que acentua o ambiente multi-usuário, coordenando e
orquestrando coisas, então os usuários podem ver aos outros, ainda que sem conflitar com
os outros”.
Borges (BORGES, 1995) considera que sistemas que promovem a comunicação entre
os membros de um grupo de trabalho, como o correio eletrônico, são sistemas groupware,
pois contribuem para que o resultado seja maior do que a soma das contribuições individuais.
Numa visão ainda mais prática Hills (HILLS, 1997), considera que groupware é
qualquer ferramenta que ajuda as pessoas a trabalharem juntas de forma mais fácil e
eficazmente, citando o telefone como a mais simples e comumente utilizada dessas
ferramentas.
Para o contexto computacional, a mesma autora define groupware como um conjunto
de hardware e software numa rede que procura atender a três propósitos: Comunicação
(ajudar pessoas a compartilhar informações), Coordenação (ajudar pessoas a coordenar seus
papéis pessoais com os outros) e Colaboração (ajudar pessoas a trabalharem juntas). Para
realizar esses propósitos, groupware deve permitir que duas ou mais pessoas trabalhem juntas
ajudando a compartilhar seus conhecimentos e especialidades, automatizar suas atividades,
criar uma memória organizacional, e a conectá-las, mesmo através de pontos geográficos e
tempos diferentes.
39
5 IHC em Aplicações Cooperativas
Grudin esclarece os desafios de aplicações groupware:
As aplicações de groupware trazem muitos outros desafios além dos técnicos. Isto se deve ao fato de ser um tipo de aplicação utilizado para a interação de grupos. O groupware tem que lidar não somente com questões de interface, como também atender aos requisitos sociais e políticos provenientes de interações em grupos (GRUDIN, 1994).
A transformação de um sistema monousuário para um sistema groupware exige
muitos estudos e avaliações, pois enquanto em aplicações monousuário o fator importante a
ser avaliado são os aspectos cognitivos, perceptuais e motores, em groupware, além desses
fatores, deve-se atentar para os fatores sociais, econômicos motivacionais e sociais.
5.1 Engenharia de Groupware baseada no modelo 3C1
A Engenharia de Software, que muito avançou no desenvolvimento de aplicações
monousuário e recentemente começou a considerar o fator humano (FUKS, 2003), começa a
buscar nas áreas de CSCW e IHC aspectos do trabalho em grupo tão necessários em
aplicações colaborativas.
Nesta seção será apresentado o modelo de colaboração 3C baseado nos princípios de
comunicação, coordenação e cooperação e um ciclo de engenharia de software estendendo
suas fases para a Engenharia de Groupware.
5.1.1 O Modelo de Colaboração 3C
Fuks relata sobre a utilização de sistemas de forma colaborativa:
Ao trabalhar em grupo, os indivíduos podem potencialmente produzir melhores resultados do que se atuassem individualmente. Num grupo podem ocorrer a complementação de capacidades, de conhecimentos e de esforços individuais, e a interação entre pessoas com entendimentos, pontos de vista e habilidades complementares. Ao argumentar suas ideáis, os membros de um grupo têm retorno para identificar inconsistencias e falhas em seu raciocínio e, juntos, podem buscar ideáis, informações e referências para auxiliar na resolução dos problemas. Um grupo também tem mais capacidade de gerar alternativas, levantar as vantagens e desvantagens de cada uma, selecionar as opções viáveis e tomar decisões (FUKS, 2003).
1 Capítulo baseado em: FUKS, Hugo, Groupware@LES. Disponível em : <http://groupware.les.inf.puc-rio.br/> Acesso em: 10Fev 2006. Ver: (FUKS, 2006).
40
Para colaborar, os indivíduos têm que trocar informações (se comunicar), organizar-se
(se coordenar) e operar em conjunto num espaço compartilhado (cooperar). As trocas
ocorridas durante a comunicação geram compromissos que são gerenciados pela coordenação,
que por sua vez organiza e dispõe as tarefas que são executadas na cooperação. Ao cooperar
os indivíduos têm necessidade de se comunicar para renegociar e para tomar decisões sobre
situações não previstas inicialmente. Isto mostra o aspecto cíclico da colaboração. Através da
percepção, o indivíduo se informa sobre o que está acontecendo, sobre o que as outras pessoas
estão fazendo e adquire informações necesarias para seu trabalho.
Figura 4: Modelo 3C (FUKS,2003).
O diagrama da figura 4 sumariza os principias conceitos abordados. Este diagrama é
um refinamento do modelo 3C apresentado em (FUKS, 2001), que é baseado em (ELLIS,
1991).
5.1.1.1 Comunicação
Para trabalhar, as pessoas se comunicam. Esta comunicação normalmente envolve
negociação e firmação de compromissos. Os compromissos assumidos nas interações
modificam o estado do mundo e têm efeito de ações. Uma ferramenta de comunicação
mediada por computador dá suporte às interações entre os participantes, podendo gerenciar as
transições de estados, os eventos de diálogo e os compromissos de cada participante.
41
Na figura a seguir é apresentado um modelo de comunicação mediada por
computador. Este modelo representa um evento de diálogo entre o emissor, que de acordo
com suas intenções e compromissos elabora a mensagem a ser transmitida, e o receptor, que
ao receber e interpretar a mensagem tem seus compromissos e conhecimentos modificados.
Figura 5: Modelo de Comunicação mediada por computador (FUKS, 2003).
Para transmitir o conteúdo, o emissor dá forma a sua intenção, formulando signos em
uma linguagem apropriada para a conversação, que deve ser entendida por todos os
envolvidos. Para que seja possível transmitir a mensagem é necessário que ela seja expressa
na ferramenta de comunicação, que define os recursos disponíveis para a conversação. O
emissor se expressa através de elementos de percepção de sua ferramenta. O Canal de Dados
estabelece a conexão necessária para a transmissão das mensagens eletrônicas.
Quando se comunicam, as pessoas normalmente se concentram no Nível de
Argumentação, negociando compromissos. A comunicação é bem sucedida se a intenção do
emissor resultar nos compromissos esperados. A única forma de se obter indícios do sucesso
da comunicação é através do discurso e das ações (e reações) do receptor, pois são guiados
por seus compromissos e conhecimentos. Uma ruptura na comunicação seria então uma
42
discordância entre as intenções do emissor e as ações do receptor ao realizar os
compromissos.
Os membros de um grupo se comunicam com diversos propósitos. Ferramentas de
comunicação assíncrona normalmente são utilizadas quando se deseja valorizar a reflexão dos
participantes, pois estes terão mais tempo antes de agir. Em uma ferramenta de comunicação
síncrona, valoriza-se a velocidade de interação, visto que o tempo de resposta entre a ação de
um participante e a reação de seus companheiros é curto. Algumas ferramentas de
comunicação são voltadas para uma conversa desestruturada, enquanto outras favorecem uma
estruturação em lista, em árvores ou em grafo. Alguns exemplos de ferramentas de
comunicação atualmente são: e-mail, lista de discussão, fórum, ferramentas CSCA,
ferramentas de votação, mensagem instantânea, chat, vídeo-conferência, teleconferência,
telefone, etc. (LONG, 1997, FUKS, 2003).
5.1.1.2 Coordenação
Conversação para ação gera compromissos (WINOGRAD, 1987, WINOGRAD,
1988). Para garantir o cumprimento destes compromissos e a realização do trabalho
colaborativo através da soma dos trabalhos individuais, é necessária a coordenação das
atividades. Esta coordenação organiza o grupo para evitar que esforços de comunicação e de
cooperação sejam perdidos e para que as tarefas sejam realizadas na ordem correta, no tempo
correto e cumprindo as restrições e objetivos (RAPOSO, 2001). Sem coordenação, há o risco
de os participantes se envolverem em tarefas conflitantes e repetitivas.
A coordenação envolve pré-articulação das tarefas, o gerenciamento do andamento das
mesmas e a pós-articulação. A pré-articulação envolve as ações necessárias para preparar a
colaboração, normalmente concluídas antes do trabalho colaborativo se iniciar: identificação
dos objetivos, mapeamento destes objetivos em tarefas, seleção dos participantes, distribuição
das tarefas entre eles, etc. A pós-articulação ocorre após o término das tarefas, e envolve a
avaliação e análise das tarefas realizadas e a documentação do processo de colaboração
(memória do processo).
43
Figura 6: Modelando a Coordenação (FUKS, 2003).
As tarefas de colaboração são originadas dos compromissos assumidos na
comunicação. O grupo se coordena através de mecanismos de coordenação de forma a
garantir a execução das tarefas, respeitando suas interdependências. Em algumas ferramentas
colaborativas, a coordenação fica a cargo do chamado protocolo social, caracterizado pela
ausência de mecanismos de coordenação explícitos entre as atividades. Porém, algumas
atividades exigem sofisticados mecanismos de coordenação para garantir o sucesso da
colaboração. Exemplos de ferramentas com mecanismos de coordenação explícitos são os
gerenciadores de fluxo de trabalho (workflow), jogos multi-usuários e ferramentas de autoria e
de desenvolvimento de software colaborativo. Na figura 8 é apresentado o modelo de
coordenação.
5.1.1.3 Cooperação
Comunicação e coordenação, apesar de vitais, não são suficientes. É necessário espaço
compartilhado para criar entendimento compartilhado (SCHRAGE, 1996). Cooperação é a
operação conjunta dos membros do grupo no espaço compartilhado visando a realização das
tarefas gerenciadas pela coordenação. Indivíduos cooperam produzindo, manipulando e
organizando informações, planilhas, gráficos, etc. Para atuar nestes objetos, os membros do
44
grupo contam com elementos de expressão. Elementos de percepção fornecem informações
sobre as alterações realizadas no espaço compartilhado (Figura 7). O registro das interações
dos membros do grupo fica armazenado, catalogado, categorizado e estruturado nos objetos
de cooperação.
Figura 7: Modelando a Cooperação (FUKS, 2003).
A percepção é também um conceito essencial do Modelo 3C, que permeia a
comunicação, a coordenação e a cooperação. Informação de percepção é gerada pelas
interações que ocorrem no grupo, servindo para mediar toda a colaboração. Através da
percepção dos indivíduos pode tomar ciência do objetivo comum, do papel de cada um dentro
do contexto, do que fazer, como proceder, qual o impacto das ações, até onde atuar, quem está
por perto, etc. (GUTWIN, 1999).
5.1.2 Ciclo de Desenvolvimento de Groupware
Para contextualizar o ciclo de desenvolvimento de groupware, as fases de
desenvolvimento de software são apresentadas na figura 8. O ciclo apresentado é baseado no
modelo espiral de desenvolvimento de software, usando as fases do ciclo clássico de
45
desenvolvimento. Este modelo tem a vantagem de combinar o modelo sequencial clássico
com a interatividade da prototipação (SCHRAGE, 1996), tão necessária em groupware.
Figura 8: Ciclo de Desenvolvimento da Engenharia de Groupware (FUKS, 2003).
A fase de análise de domínio segue o modelo de colaboração 3C. Requisitos gerais de
groupware são elicitados na fase de análise de requisitos segundo (FUKS, 2002). Apesar de
serem muito importantes para o desenvolvimento de groupware, esses requisitos raramente
são claros o suficiente para permitir uma especificação precisa do comportamento do sistema.
Isso se deve ao fato de que temos apensa um conhecimento superficial de como as pessoas
colaboram, e a tradução desse conhecimento em projetos efetivos é muito difícil (GUTWIN,
1999). Além disso, sistemas colaborativos são especialmente sujeitos a falhas (GRUDIN,
1997), exigindo evolução iterativa durante durante todo o desenvolvimento. Por todos esses
motivos, a proposta de Engenharia de Groupware sugere o uso de metodologías de prometo e
implementação que acomodem a naturaza continuamente evolucionária de um groupware.
46
Para prover instrumentos para a fase do prometo, onde o groupware é concebido de
forma a satisfacer os requisitos, toolkits, conceitos de componentes de groupware e extensões
de UML (FUKS, 2002) são necessárias.
Para a fase de implementação, a escolha por um processo incremental é natural, uma
vez que sistemas colaborativos são fortemente sujeito a falhas e têm avaliação contínua
durante o desenvolvimento. O Modelo Incremental de desenvolvimento de software propõe
sua construção em pequenas partes operacionais, chamados “incrementos” (PRESSMAN,
1992), que são usados para contínuas avaliações dos requisitos e detecção de falhas ou
deficiencias. No final do ciclo, um novo incremento é gerado, normalmente incorporando o
incremento anterior.
47
6 Definição do Protótipo
Na figura 9 é apresentado um protótipo do software implementado que será chamado
nesta seção de “FMI 3D” (Ferramenta Multi-Interface para Instanciação 3D), onde foram
realizados alguns testes de uso da ferramenta para validação do seu funcionamento. Na
imagem tem-se um desenho na visão principal e logo abaixo outros dois tipos de visualização,
que podem ser configuradas, através de Caixa de diálogo, conforme a preferência do usuário.
Pode-se verificar ao lado dessas visualizações a listagem desses objetos (que estão na
imagem) e seu respectivo ID. Acima das visualizações, têm-se os vários tipos de interação,
como menu e caixas de diálogo. E logo abaixo, no canto inferior direito, podemos vislumbrar
a interação de rotação sobre os eixos da câmera, que podem ser feitos de forma direta ou
também através de caixa de diálogo acessado nos menus localizados acima da imagem.
Figura 9: Ferramenta Multi-Interface para a modelagem de objetos 3D
Durante os testes iniciais, verificou-se que os usuários acostumados a utilizarem outras
ferramentas para instanciação e modelagem de objetos 3D tiveram facilidades com o uso da
interface do protótipo. Verificou-se também que algumas novas formas de interação foram
facilmente incorporadas às ações destes usuários, as quais serão explicadas a seguir.
48
6.1 Experimento para Validação da Interface
Para validar a interface da ferramenta, foi desenvolvido um experimento descrito nesta
seção. Antes de se iniciar a pesquisa, foi realizada a delimitação do seu escopo, definindo
como objetivo principal a análise das formas de interação em um software para instanciação
3D e buscando com isso delimitar os motivos que levam os usuários a realizarem cada
operação, disponível num software desta categoria, através de um tipo de interação ou de
outro. Com isso, busca-se obter uma resposta científica para aquela resposta clássica dos
usuários que utilizam uma determinada forma de interação: “por que é melhor assim” ou “Ah,
porque eu gosto mais dessa forma”.
Delimitado o escopo da pesquisa, partiu-se para a escolha do método de avaliação de usabilidade que melhor se adequaria à proposta da pesquisa. A usabilidade lida com a forma com que um software pode ser utilizado pelos usuários para alcançarem seus objetivos com eficiência, eficácia e satisfação, dentro do contexto do uso esperado (JUNIOR, 2004).
Vários autores têm uma definição de usabilidade Shackel (SHACKEL, 1991), Nielsen
(NIELSEN, 1993), Jordan (JORDAN, 1998), entre outros. Este trabalho de validação da
Interface do software FMI 3D baseou-se na definição de Nielsen, que considera a usabilidade
como um entre os vários aspectos que podem influenciar a aceitabilidade de um produto. Isto
é, ela faz parte de um conceito mais amplo que envolve aspectos como custo, confiabilidade e
até mesmo aceitabilidade social (Figura 10). A definição de aceitabilidade dada por Nielsen é:
A aceitabilidade de um sistema se refere à capacidade do sistema de satisfazer todas as necessidades e exigências dos usuários, que podem ser tanto os usuários finais quanto outras pessoas que estejam envolvidas de alguma forma com esse sistema. (NIELSEN, 1993).
Figura 10: Modelo de atributos de aceitabilidade de Nielsen (NIELSEN, 1993).
Aceitabilidade de um sistema
Aceitabilidade Prática Aceitabilidade Social
Compatibilidade Confiabilidade Usefulness etc Custo
Utilidade Usabilidade
Facilidade de
aprender
Eficiência no uso
Eficiência de
lembrar
Poucos erros
Subjetivamente agradável
49
Na avaliação e na medida da usabilidade, Nielsen utiliza cinco atributos (NIELSEN,
1993):
• Aprendizagem: o sistema deve ser de fácil aprendizado para que o usuário possa começar
a utilizá-lo rapidamente;
• Eficiência: o sistema deve ser eficiente no sentido de que uma vez que o usuário aprenda
a utilizá-lo ele o faça com alta produtividade;
• Memorização: o sistema deve ser de fácil lembrança, ou seja, ao passar um determinado
período sem utilizar o sistema o usuário pode utilizá-lo novamente sem ter que aprender
tudo novamente;
• Erros: a taxa de erros deve ser baixa. Erros de extrema gravidade não devem ocorrer. Ao
cometer algum erro, o usuário deve ter a possibilidade de recuperar o sistema para o
estado imediatamente anterior ao erro; e
• Satisfação: os usuários devem gostar do sistema. Ele deve ser agradável de ser utilizado
para que as pessoas se sintam satisfeitas com o seu uso.
A validação em questão também considerou esses atributos como medida de
avaliação. Após a definição dos atributos, foi necessário fazer a escolha de um dentre os
métodos de avaliação de usabilidade comumente utilizados (JUNIOR, 2003):
• Avaliação Heurística: este método pode ser aplicado sem a participação do usuário, por
avaliadores que se baseiam nas dez heurísticas de Nielsen (NIELSEN, 2006a) para
realizar a avaliação. Ele não é adequado à pesquisa pelo fato de avaliar o software e não
como (ou porque) o usuário faz uso do mesmo (objetivo desta pesquisa);
• Percurso Cognitivo: também não conta com a participação do usuário, analisando os
aspectos de usabilidade referentes à facilidade de aprendizagem da interface, através de
um Processo Exploratório (LEWIS, 1997), ou seja, refere-se ao processo de aprendizagem
do software e não à forma como os usuários mais experientes fazem uso do mesmo. Por
este motivo e também pelo mesmo motivo do método anterior, este método também não é
recomendado para esta pesquisa;
50
• Teste de Usabilidade: realizado através da observação dos usuários, visando detectar
problemas de usabilidade ou mesmo a forma com que os usuários utilizam a interface para
realizar uma determinada tarefa (CIF, 2001). Este teste é realizado baseado nas métricas
de usabilidade escolhidas. O registro de informações pode ser feito através de vídeo, áudio
e anotações. De posse destas informações, é possível obter medidas qualitativas
(comportamento do usuário) e quantitativas (tempo de execução, etc.). Este método se
mostra mais adequado ao escopo da pesquisa e por isso foi escolhido para ser
implementado.
Definido o método da avaliação a ser utilizado, o Teste de Usabilidade, partiu-se então
para a definição das métricas de usabilidade que deveriam ser medidas para contribuir de
forma efetiva à pesquisa. Posteriormente definiram-se as atividades a serem executadas para
coletar os dados.
Para a definição das métricas de usabilidade, utilizou-se o Modelo de Medida de
Usabilidade de Nielsen (NIELSEN, 1993), que segue os seguintes passos: identificar
claramente qual o objetivo a ser atingido, definir os componentes do objetivo, quantificar os
componentes, determinar quais serão todas as atividades a serem executadas para coletar os
dados. A figura 11 ilustra um exemplo de aplicação deste modelo.
Figura 11: Exemplo do Modelo de Usabilidade (CIF, 2001).
Objetivo: Usabilidade
Componente: Facilidade de aprendizagem
Componente: Eficiência no uso
Quantificação: Tempo médio necessário para executar cinco tarefas específicas
Método de Medida: O usuário, no laboratório, recebe a lista das tarefas e as executa sem ajuda.
Técnica para Coleta de Dados: Cronômetro (com regras para iniciar e terminar a contagem do tempo)
51
Baseado no objetivo principal da pesquisa, a análise das formas de interação em um
software para instanciação de objetos 3D, buscou-se delimitar os motivos que levam os
usuários a realizarem cada operação disponível num software desta categoria, ou seja, a
utilização de um tipo de interação ou de outro. Focado nestes motivos, foi preenchido o
modelo de usabilidade de Nielsen e assim definidas as métricas de usabilidades a serem
utilizadas na pesquisa. A Tabela 2 apresenta o modelo obtido.
Tabela 2. Modelo de Usabilidade Aplicado.
Objetivo: Verificar, dentro dos tipos de interação selecionados, o que leva o usuário a utilizar um tipo de interação em detrimento aos outros.
Método de Medida:
O método de medida utilizado será único e aplicado a todos os componentes de uma única vez. Ele consiste na apresentação do cenário a ser construído pelo usuário (através de uma lista de objetos a serem instanciados e de uma imagem do cenário já pronto). Serão apresentados cinco cenários diferentes (este número é justificado posteriormente).
Componente: Aprendizagem
Quantificação: Tempo para realizar o primeiro passo da primeira etapa (instanciação do primeiro objeto no seu local, com as propriedades de cor e tamanho adequadas).
Técnica de Coleta:
Cronômetro, anotações do avaliador e questionário preenchido após a realização da atividade.
Componente: Eficiência de uso
Quantificação: Tempo para executar a construção de cada cenário.
Técnica de Coleta:
Cronômetro, anotações do avaliador e questionário preenchido após a realização da atividade.
Componente: Memorização
Quantificação: Número de vezes que o usuário executou os passos, subseqüentes ao primeiro passo de cada etapa, interagindo com a interface sem titubear na escolha de uma forma de interação ou mesmo da sua localização na interface.
Técnica de Coleta:
Anotações do avaliador e questionário preenchido após a realização da atividade.
Componente: Erros
Quantificação: Quantos e quais erros o usuário cometeu na execução de cada tarefa.
Técnica de Coleta:
Anotações do avaliador e questionário preenchido após a realização da atividade.
Componente: Satisfação
Quantificação: Qual a satisfação do usuário em utilizar cada tipo de interação.
Técnica de Coleta:
Anotações do avaliador e questionário preenchido após a realização da atividade.
52
É importante ressaltar que a pesquisa foi aplicada a cada tipo de interação escolhido de
forma isolada, ou seja, menu, manipulação direta, botões e comandos. Após a aplicação das
pesquisas isoladas, a mesma foi aplicada com todos os tipos de interação disponíveis de forma
simultânea. Sendo assim a pesquisa foi realizada em cinco etapas.
6.1.1 Coleta de Dados
Para realizar a coleta de dados foi necessário definir que tipo de anotação deveria ou
poderia ser feita em relação a cada componente do modelo:
• Aprendizagem: quais os tipos de dificuldades o usuário encontrou, como localização da
funcionalidade, visualização do resultado, entendimento das terminologias utilizadas na
interface, etc.;
• Eficiência de uso: condução do processo de construção do cenário;
• Memorização: quais as dificuldades que o usuário encontrou no processo de
memorização da interface;
• Erros: o que provavelmente levou o usuário a cometer os erros. Tabela com a descrição
do erro, o tipo do erro (falha de execução, erro recuperável, pequena dificuldade/
confusão) e comentário; e
• Satisfação: reações físicas e emotivas do usuário em reação as suas atividades.
Além da anotação, havia o questionário a ser preenchido pelo usuário após a
realização de cada etapa da pesquisa e no final da aplicação de toda a pesquisa. O questionário
foi elaborado da seguinte forma:
• Dados pessoais: nome, idade, grau de instrução, área de formação, grau de conhecimento
neste tipo de software;
• Problemas encontrados: descrição dos problemas encontrados;
• Avaliação da forma de interação: pontos positivos e negativos da forma de interação; e
53
• Satisfação: baseado no questionário de satisfação da SUS (System Usability Scale)
(SYSTEM, 2006).
Os Dados Pessoais foram preenchidos somente na primeira etapa da pesquisa e os
demais itens após a execução de cada etapa.
Para a aplicação da pesquisa alguns aspectos foram definidos inicialmente e são de
suma importância para se obter resultados significativos e validar a pesquisa. Foram
definidos:
• Ambiente de aplicação: sala isolada com computador, cadeira para o usuário e para o
avaliador. Foi utilizado um laboratório de informática em horários que não havia aula e
nem alunos utilizando-o;
• Grupo de usuários: foram chamados a contribuir com a pesquisa 10 usuários de diversas
áreas de formação, mas todos deveriam ter um pré-requisito em comum: ser usuário (uso
profissional ou pessoal) de alguma ferramenta gráfica que tenha a instanciação de objetos
2D ou 3D, pois dificuldades com os periféricos e com funcionalidades básicas de um
software desta natureza iriam prejudicar a análise aqui pretendida;
• Horário de aplicação: agendamento dos horários de aplicação com cada usuário. Este é
um ponto importante, pois como o usuário deverá construir cinco cenários (cinco etapas
da pesquisa), deve-se reservar entre noventa e cento e vinte minutos para a aplicação da
pesquisa; e
• Definição dos cenários: a seguir é apresentado e descrito o processo de definição dos
cenários utilizados.
Quando da realização do recrutamento dos voluntários para participarem da pesquisa,
foi feita uma apresentação sobre o Trabalho em desenvolvimento e qual o objetivo da
pesquisa, visando esclarecer aos voluntários quais os objetivos a serem alcançados e qual o
motivo da realização da pesquisa.
54
No dia da aplicação da pesquisa foi seguido um roteiro baseado no proposto por
Nielsen (NIELSEN, 2006b):
• Apresentação: apresentar ao usuário os procedimentos da pesquisa e funcionamento do
software (funcionalidades);
• Treinamento do usuário: criação de um cenário exemplo (contando com todas as formas
de interação) com a condução do avaliador;
• Execução das etapas: apresentação do cenário, realização das etapas de construção do
cenário;
• Questionário: aplicado após a execução de cada etapa da pesquisa; e
• Debriefing: após o término da aplicação da pesquisa foi realizada uma conversa informal
com o usuário a fim de se obter comentários gerais e de esclarecer possíveis dúvidas sobre
seu desempenho durante a pesquisa.
A pesquisa ocorreu dentro da normalidade e num ambiente tranqüilo e propício. Em
média cada usuário demorou noventa minutos para realizar suas atividades e de forma geral,
todos compreenderam os objetivos da pesquisas e aprenderam algo com as dificuldades
encontradas durantes as atividades.
A seguir são descritos os cenários utilizados em cada etapa da pesquisa.
6.1.2 Cenários
Cada etapa da pesquisa tem como atividade a construção de um cenário pré-
estabelecido e elaborado para tal finalidade. Neste contexto, têm-se cinco cenários diferentes,
um para cada etapa da pesquisa, que são: manipulação direta, menus, botões, linguagem de
comando, livre (com todas as formas de interação disponíveis).
A escolha entre aplicar somente um cenário para todas as etapas e aplicar um cenário
para cada etapa ocorreu baseada num problema: se o cenário for o mesmo, a cada etapa o
usuário tem mais domínio do cenário e dos seus objetos (instanciação, posicionamento, escala
e cor), mascarando assim as dificuldades que um determinado tipo de interação possa trazer; e
55
um desafio: se a criação do cenário único pode mascarar os resultados, como planejar cenários
que não apresentem grandes variações no seu nível de complexidade (objetos, posicionamento
e escala), que também iriam interferir nos resultados?
A resposta foi obtida analisando-se os seguintes pontos:
• Cada cenário deveria ser composto por quantidades aproximadas de objetos (no máximo
dois objetos a mais ou a menos do que a média da quantidade de objetos num cenário);
• Todos os objetos do cenário devem sofrer mudança de cor;
• Todos os objetos do cenário devem sofrer transformação de escala e translação; e
• A complexidade no posicionamento dos objetos deve ser mantida. Como exemplo pode-se
citar a sobreposição de objetos ou colocação dos mesmos com alguma superfície de
contato.
A única consideração na relação entre o tipo de interação e a ordem das etapas foi
deixar a livre interação (utilizando quaisquer tipos de interação) por último, pois ela
representa a agregação do que o usuário achou mais fácil em cada tipo de interação, ou seja,
ela representa parte da conclusão do que o usuário achou de cada tipo de interação.
Com base nessas considerações foram elaborados os cenários utilizados na pesquisa. A
seguir são apresentados estes cenários.
6.1.2.1 Cenário Um
Este cenário é composto por oito objetos e trás como resultado, Figura 12, o modelo
de três bolas colocadas sobre uma mesa. Ele foi utilizado na aplicação da primeira etapa e foi
desenvolvido utilizando-se somente a interação através de menus.
56
Figura 12: Cenário da Etapa Um.
A principal complexidade está na colocação espacial dos objetos e na mudança de
escala que ocorrem nos mesmos.
6.1.2.2 Cenário Dois
Este cenário é composto por oito objetos e trás como resultado, Figura 13, o modelo
de um sofá. Ele foi utilizado na aplicação da segunda etapa e foi desenvolvido utilizando-se
somente a interação através de botões.
Figura 13: Cenário da Etapa Dois.
A maior complexidade está na colocação espacial dos “pés” do sofá, pois além da
conexão com a base, eles devem estar eqüidistantes.
57
Para este cenário foram disponibilizados, na interface do software, todos os botões
existentes, forçando o usuário a localizar a funcionalidade dentre uma gama grande de opções,
como ocorre em alguns softwares e/ou situações de uso.
6.1.2.3 Cenário Três
Este cenário é composto por seis objetos e trás como resultado, Figura 14, o modelo de
um ventilador. Ele foi utilizado na aplicação da terceira etapa e foi desenvolvido utilizando-se
somente a interação através de comandos.
Figura 14: Cenário da Etapa Três.
Este tipo de cenário proporciona a facilidade de ter um objeto central, a esfera. Este
objeto propicia uma organização inicial do cenário e serve de apoio para a disposição dos
demais. Esta situação é importante quando todos os passos deverão ser realizados via linha de
comando, pois gera um ponto de referência para a elaboração do cenário.
6.1.2.4 Cenário Quatro
Este cenário é composto por sete objetos e trás como resultado, Figura 15, o modelo
de um “arquivo morto”. Ele foi utilizado na aplicação da quarta etapa e foi desenvolvido
utilizando-se somente a interação através de manipulação direta.
58
Figura 15: Cenário da Etapa Quatro.
A maior complexidade está na colocação espacial das gavetas (dentro do armário, mas
proporcionalmente fora do mesmo) e dos puxadores.
6.1.2.5 Cenário Cinco
Este cenário é composto por seis objetos e trás como resultado, Figura 16, o modelo de
uma impressora. Ele foi utilizado na aplicação da quinta etapa e foi desenvolvido utilizando-
se a interação livre, ou seja, utilizando quaisquer tipos de interação para realizar cada
atividade.
Figura 16: Cenário da Etapa Cinco.
A complexidade deste modelo está na colocação espacial dos objetos e na mudança de
escala que ocorre nos mesmos. Dentre todos os modelos utilizados é o que requer maior
atenção no posicionamento dos objetos na cena. O objetivo principal deste cenário é obter
59
quais foram as preferências do usuário, quanto a forma de interação, durante a execução de
cada operação necessária à conclusão do cenário.
6.1.3 Resultados da Pesquisa
Participaram desta pesquisa dez usuários e em todos os casos o processo ocorreu de
forma tranqüila e sem intervenções externas.
A figura a seguir apresenta quatro gráficos (grau de conhecimento sobre este tipo de
software, faixa etária, área de formação e grau de instrução, respectivamente) que
caracterizam o perfil do usuário que participou desta pesquisa.
Figura 17: Perfil do Usuário que participou da Pesquisa
Dentre os aspectos importantes do perfil do usuário está o fato da maioria absoluta
estar cursando o terceiro grau (universitários) e serem da área de exatas.
A seguir são citadas as métricas de usabilidades utilizadas, baseadas no modelo de
usabilidade de Nielsen, e seus respectivos resultados.
Em relação ao processo de aprendizagem, três aspectos foram fortemente detectados
durante a realização da pesquisa. Foram eles:
60
• Localização da Funcionalidade: o processo de relacionar o local e forma de
acionamento com a funcionalidade, foi o ponto mais marcante e também o mais esperado
do processo de aprendizagem. Esta dificuldade é natural e previsível durante este
processo. Ela ocorreu em maior quantidade nos cenários dois (botões) e quatro
(manipulação direta). Na interação através dos botões ocorreu devido a grande quantidade
de ícones presentes na interface, o que acaba confundindo o usuário. Na interação através
de manipulação direta, ela ocorreu devido às possibilidades da funcionalidade estar ativa
através de uma das combinações do mouse ou do menu associado ao botão direito do
mouse;
• Terminologias utilizadas na interface: o uso de funcionalidades técnicas acaba levando
ao uso de nomes técnicos para o acionamento das funcionalidades técnicas (cisalhamento,
translação, etc.), o que dificulta o aprendizado por usuário “menos especializados” em
qualquer tipo de software. Esta situação ocorreu principalmente nos cenários um(menu) e
três(linguagem de comandos). No primeiro cenário justifica-se principalmente por ter sido
o primeiro cenário apresentado ao usuário. Já no terceiro cenário, a grande dificuldade da
terminologia está associada também aos comandos que devem ser utilizados para ativar
cada funcionalidade (mesmo com a disponibilidade de um help – o qual os usuários
sempre relutam a utilizar). Apesar dos usuários já terem contato anterior com softwares
desta natureza, verificou-se que grande parte dos usuários faz uso das funcionalidades
mais complexas associando o ícone com a funcionalidade ou decorando como fazer para
ativá-las, sem associar o que está sendo feito com o termo técnico; e
• Visualização do resultado: Esta dificuldade esteve presente no cenário três (linguagem
de comandos), onde mesmo com a disponibilização da área de visualização da cena, o
usuário muitas vezes fica concentrado na tela de interação de comandos e acaba se
esquecendo da tela de visualização do cenário.
Vale ressaltar que ao cenário cinco (interação livre) não se aplica o processo de
aprendizagem, pois o usuário já passou por este processo ao realizar as outras etapas da
pesquisa.
De forma geral destacam-se o problema das terminologias utilizadas e da localização
das funcionalidades como problemas comuns ao processo de aprendizagem.
61
6.1.4 Memorização
O processo de memorização das funcionalidades, para todos os cenários, ocorreu
normalmente a partir da segunda ou terceira vez que o usuário realizou a mesma operação.
Para cada tipo de cenário, um ponto de maior dificuldade se destacou no processo de
memorização. Foram eles:
• Cenário Um: a relação entre associar em qual menu e/ou submenu se encontra a
funcionalidade esteve presente para quase todos os usuários (oito em dez). Esta
dificuldade é natural e se resolve rapidamente quando o usuário assimila a estrutura de
organização dos menus;
• Cenário Dois: o posicionamento dos botões e a grande “poluição” de ícones dificultaram
a localização visual rápida da funcionalidade, mas assim como no cenário um e também
nos demais cenários, assim que o usuário compreende a divisão (posicionamento) dos
elementos de interação, ele passa a acessar com maior rapidez e precisão as
funcionalidades;
• Cenário Três: o maior problema apresentado no processo de memorização da interação
através de linguagem de comando é a assimilação da sintaxe. O uso de comandos
padronizados e com estruturação de parâmetros semelhante facilita bastante o processo de
memorização e apresentou bons resultados na execução de novos comandos através da
lógica apresentada em comandos utilizados anteriormente. Cinco usuários conseguiram
instanciar novos objetos ou propriedades através da indução dos comandos (dada a sintaxe
semelhante);
• Cenário Quatro: como as funcionalidades estão associadas à ação do mouse (botão
direito, dois botões, clicar e arrastar, etc.) a dificuldade de memorização é grande, pois os
usuários buscam as mesmas funcionalidades dos softwares mais utilizados por eles e nem
sempre é o mesmo padrão de software. A abstração da interação é um fator determinante
na dificuldade de memorização, mas com poucas repetições o usuário se adapta ao uso da
interação;
62
• Cenário Cinco: não apresenta nenhuma dificuldade de memorização, pois o usuário está
utilizando as técnicas já vistas anteriormente, mas o processo de memorização parece
ocorrer, dada a indecisão do usuário em escolher a “melhor” forma de interação. A
percepção deste fator não foi tão fácil de ser feita, pois a princípio tem-se a impressão de
que o usuário não lembra como fazer, mas na maioria dos casos a indecisão ocorre na
escolha de qual forma ele achou mais eficiente e não por não lembrar como ativar a
funcionalidade.
Em relação à eficiência de uso do software, o aspecto da dificuldade de manipulação
dos objetos (propriedades e transformações) ocorreu principalmente nos cenários um e dois,
devido à dificuldade natural do usuário em se adaptar ao software.
A dificuldade de posicionamento dos objetos na cena ocorreu principalmente no
cenário quatro (linguagem de comando), pois a abstração espacial é grande e nem todos os
usuários conseguem assimilar essa abstração. O posicionamento dos objetos e a manipulação
das propriedades de transformação impedem bastante a eficiência de uso desta forma de
interação. Esta dificuldade apareceu também nos cenários um e dois, mas foi mais bem
assimilado devido à atenção do usuário estar focado à área de visualização, o que não ocorreu
no cenário três.
Já no cenário quatro, o grande inibidor da eficiência foi à falta de precisão em algumas
operações. Ora por inabilidade do usuário em manipular o mouse, ora por problemas de
precisão do próprio software (relação entre ação do periférico e reação do sistema).
A maior eficiência ocorreu, como já era previsto, no cenário cinco, onde o usuário
pode utilizar a forma de interação que achava mais adequada a cada tipo de funcionalidade.
De forma geral, os usuários preferiram a interação através de menu ou botão para a
instanciação dos objetos e preferiram a manipulação direta para posicionamento dos objetos
na cena e também para a sua seleção (para poder aplicar alguma alteração nas propriedades de
um objeto). Nenhum dos usuários utilizou a linguagem de comandos durante a execução desta
etapa, o que já era previsível e foi confirmado por eles próprios, pois é comum este tipo de
interação por usuários mais experientes e com formação básica de programação mais aguçada.
Uns pontos importantes na eficiência de uso do software durante a elaboração de todos
os cenários foram às funcionalidades de manipulação da câmera (vistas da cena, zoom e
63
manipulação livre da câmera). O zoom (incremento ou decremento da distância da câmera
num único eixo) é utilizado sempre que o usuário necessita ampliar o cenário (para ver
maiores detalhes) ou reduzir (para ter maior noção da cena como um todo) e a manipulação
livre da câmera (para visualizar a cena ou algum objeto de outro ângulo). O zoom é facilmente
acionado por menu, botão ou manipulação direta, mas gera um grau de dificuldade maior na
interação por linguagem de comandos, mas o principal problema é a funcionalidade de
manipulação livre da câmera, que somente proporcionou bons resultados na manipulação
direta da câmera no cenário, nos outros casos sempre perdesse algum tempo tentando colocar
a câmera na posição desejada.
6.1.5 Destaques da Interação
Para cada etapa da pesquisa foram levantados os aspectos positivos e negativos de
cada tipo de interação. Foram eles:
• Cenário Um: como destaque positivo tem-se a organização das funcionalidades e como
destaque negativo tem-se a mudança de foco (o usuário está centrado na área de
visualização e muda o foco para a navegação dos menus);
• Cenário Dois: o ponto positivo é a representação gráfica e a organização através de
grupos (com funcionalidades bem definidas) que auxiliam ao usuário a encontrar a
funcionalidade pretendida e o ponto negativo é a poluição da interface do software com
um grande número de ícones gráficos, o que desvia o foco da área de visualização do
cenário e confunde o usuário na busca de uma funcionalidade. A possibilidade de
visualizar ou inibir um determinado grupo de botões é muito útil para diminuir este ponto
negativo;
• Cenário Três: um ambiente de entrada de comandos parecido com um prompt de sistema
é bem aceito por usuários acostumados com sistemas operacionais como LINUX e UNIX
e também por programadores. Já a necessidade de saber a sintaxe dos comandos e as
terminologias técnicas (que norteiam a sintaxe dos comandos) foi o principal destaque
negativo deste tipo de interação;
64
• Cenário Quatro: como destaque positivo tem-se a manutenção do na área de visualização
da cena, o que permite uma maior concentração do usuário na atividade fim e em
conseqüência uma maior produtividade. Como destaques negativos tem-se a manipulação
de objetos quando esses se encontram sobrepostos e a falta de precisão na manipulação do
mouse. Este último problema é minimizado com a experiência do usuário em manipular o
software e o problema da sobreposição dos objetos pode ser diminuído com a mudança de
cor ao selecionar um objeto ou na composição com outra forma de interação ao se manter
uma lista dos objetos ativos na cena;
• Cenário Cinco: o ponto positivo é a liberdade de escolha da forma de interação, o que
possibilita uma configuração do software para otimizar o seu uso; e o ponto negativo é a
indecisão da forma de interação mais adequada durante o processo de aprendizagem, o
que é praticamente resolvido com o tempo de uso do software.
De forma geral, os principais problemas encontrados pelos usuários foram o
posicionamento dos objetos na cena, a manipulação da câmera e a aplicação das
transformações nos objetos. Somente no cenário três é que ocorreram vários problemas com a
sintaxe dos comandos, mas essa situação já era esperada.
A manipulação direta apresentou uma quantidade pequena de problemas de
posicionamento, mas não garantiu a diminuição dos problemas referentes às aplicações das
transformações, pois isso requer experiência com o software e não está diretamente associado
ao tipo de interação utilizado. A falta de precisão refinada nas funcionalidades de
manipulação dos objetos pode ser resolvida com o auxílio de outro tipo de interação (menu ou
botão) para realizar o ajuste fino do posicionamento ou transformação.
A satisfação do usuário foi mensurada na sua facilidade ou dificuldade em executar os
passos de cada etapa. O quesito que ocorreu com maior ênfase foi considerado o principal
aspecto de satisfação / insatisfação dos usuários na etapa corrente.
No Cenário Um destaca-se a satisfação do usuário com a organização dos menus e a
facilidade de encontrar as funcionalidades a partir do momento em que o usuário entendeu a
esta organização e se familiarizou com as principais terminologias utilizadas pelo software.
65
Na interação através de botões, a relação visual, através de ícones, propicia uma maior
facilidade no processo de busca de funcionalidades “desconhecidas”, propiciando assim uma
sensação de domínio do usuário sobre a interface, mas o congestionamento da interface com
muitos botões, também levou a insatisfação de alguns usuários com este tipo de interação. Já
o processo de interação através de linguagem de controle apresenta um alto grau de
insatisfação dos usuários com as falhas de execução dos comandos (principalmente por
problemas de sintaxe), o que desvia a atenção dos usuários menos especialização deste tipo de
interação.
A interação que apresentou um maior grau de satisfação foi a manipulação direta, pois
propiciou uma maior concentração dos usuários no cenário e uma melhor relação entre ação e
resultado.
6.2 Novas Funcionalidades de Usabilidade
Os estudos para as novas funcionalidades (recursos de interface) do protótipo foram
realizadas, e comparando-se a possível nova interface com a atual, podemos tecer algumas
observações (DIAS, 2005).
• Afetar o ângulo de visão: É necessário nas duas aplicações (Stand-Alone e CSCW),
através de interações de manipulação direta e menus;
• Ajuste fino de translação: É necessário nas duas aplicações (Stand-Alone e CSCW),
através de interações de manipulação direta, menus e exibição de campos;
• Ajuste fino de rotação: É necessário nas duas aplicações (Stand-Alone e CSCW), através
de interações de manipulação direta, menus e exibição de campos;
• Anotações: Irá associar ao cenário anotações sobre modificações feitas nos cenário antes
mesmo que a janelça seja aberta. São necessárias apenas em aplicações CSCW, através de
manipulação direta, menus e exibição de campos;
• Bloqueio de objetos: Irá tratar a consistência de dados. Enquanto um objeto estiver sendo
utilizado por algum usuário, ele estará bloqueado para os outros. É necessário apenas em
aplicações CSCW, através de manipulação direta e menus;
66
• Cancelamento do comando (último): É necessário nas duas aplicações (Stand-Alone e
CSCW), através de manipulação direta;
• Chat: Sala de conversação que permitirá aos usuários troca de informações e
aprendizados. É necessário apenas em aplicações CSCW, através de manipulação direta e
seleção de Menus;
• Deletar tudo: Permite voltar ao ponto inicial de abertura do programa. é necessário nas
duas aplicações (Stand-Alone e CSCW), através de interações de manipulação direta e
menus;
• Edição de objetos: São funcionalidades do tipo colar, copiar, recortar, entre outros. É
necessária nas duas aplicações (Stand-Alone e CSCW), através de interações de
manipulação direta e menus;
• Escalamento: É necessário nas duas aplicações (Stand-Alone e CSCW), através de
interações de manipulação direta e menus;
• Ferramentas Gerais: Feito para acompanhar históricos de atualizações desde que o
usuário se conectou pela última vez. O usuário poderá visualizar uma lista de arquivos e
seções mais consultadas. São necessárias apenas em aplicações CSCW, através seleção de
Menus;
• Histório de desenvolvimento: Serão ações, anotações e usuários, em ordem de
atualização. É necessário apenas em aplicações CSCW, através de Seleção de Menu;
• Lista de Usuários: Conterá agendas pessoais de contatos, permitindo e-mail’s e outros
dados importantes. É necessária apenas em aplicações CSCW, através de Seleção de
Menu;
• Manipulação de Objetos: Tamanho, posição, cor, textura, entre outros. É necessária nas
duas aplicações (Stand-Alone e CSCW), através de interações de manipulação direta,
menus e exibição de campos;
67
• Observações de cada objeto: Informações do tipo: O que foi feito? Quem fez? Quando?
Por que?- Sendo essa uma opção do usuário responder. É necessário apenas em aplicações
CSCW, através de manipulação direta, Seleção de Menu e Exibição de campos;
• Operação de Seleção: Permite selecionar dentre os objetos presentes no ambiente 3D
qual se deseja operar. É necessária nas duas aplicações (Stand-Alone e CSCW), através de
interações de manipulação direta e menus;
• Tipos de Visualição: São necessários nas duas aplicações (Stand-Alone e CSCW), através
de interações de manipulação direta e menus;
• Visão de outro usuário: É necessária apenas em aplicações CSCW, através de
Manipulação Direta, Seleção de Menu e Exibição de campos;
• Zoom: É necessário nas duas aplicações (Stand-Alone e CSCW), através de interações de
manipulação direta, menus e exibição de campos.
6.3 Implementações do Protótipo
Para a implementação da ferramenta, foi aplicado todo o conhecimento adquirido no
estágio, o que permitiu a utilização da ferramenta em um ambiente colaborativo. Outra
contribuição objetivada é a usabilidade das funcionalidades “colaborativas” da ferramenta,
pois estas contribuíram para a boa utilização do software, ou seja, sem interferir na
usabilidade das funcionalidades básicas da ferramenta.
Por exemplo, foi introduzido ao Protótipo um Chat, para que pudesse ser feita a
comunicação entre os usuários da ferramenta. Neste caso, podem-se destacar as seguintes
considerações de usabilidade:
Ferramenta:
• Sala de conversação (Chat): possibilitando um contato mais direto e imediato com os
outros usuários e operadores do software durante a criação e manuseio dos objetos. É
importante observar que algumas conversas ocorridas podem ser gravadas e publicadas,
permitindo que qualquer pessoa posteriormente possa acompanhar o que for discutido.
Além disso, seria interessante que um editor corrija falhas de digitação dos participantes.
68
1. O usuário já está logado ao sistema;
2. Ativação do Chat através da Interação de Menu (Ex: Menu CSCW
(Ativação/Desativação) do Chat, Usuários Logados, entre outras funcionalidades);
3. Aviso de recebimento de mensagens;
4. Verificação dos usuários ativos no sistema.
• Lista de usuários: deve funcionar como uma agenda de contatos, permitindo os telefones
pessoais ou comerciais, correio eletrônico e outros dados que o usuário julgue importantes
serem compartilhado (listar todas as pessoas cadastradas no sistema).
Cenário:
• Anotações: associar ao cenário possíveis anotações;
• Ferramentas gerais: mencionar uma forma de a pessoa acompanhar o histórico de
atualizações desde que se conectou pela última vez, ver uma lista dos arquivos e seções
mais consultadas e acompanhar as estatísticas dos diversos ambientes;
• Histórico de Desenvolvimento: ações, anotações, usuários (em ordem de atualização).
Objetos em cena:
• Bloqueado ou Liberado
• Observações: Associar observações aos objetos (O que foi feito? Quem fez? Quando fez?
Por quê? – Sendo essa última uma opção do usuário preencher ou não).
6.4 Especificação das Telas
Para que as telas fossem implementadas de forma que atendesse aos requisitos de IHC,
elas foram especificadas através da utilização da Linguagem LEMD, a qual falaremos com
mais detalhes adiante.
69
6.4.1 LEMD
A Linguagem de Especificação da Mensagem do Designer (LEMD) tem como
objetivo principal a definição de quais mensagens devem ser transmitidas ao usuário, de
acordo com o estado da aplicação. Para que o sistema tenha uma boa comunicabilidade, o
designer deve ter clareza de quais mensagens ele quer passar e qual o conteúdo delas. Este é
um fator crucial no desenvolvimento de interfaces, pois dele depende a facilidade de
abstração por parte dos usuários. Além disso, uma boa comunicabilidade evita que o usuário
se perca na interface ou não saiba o quê está acontecendo.
Utilizando as modelagens de usuários e tarefas, feitas anteriormente, aliado à
modelagem de comunicação, pode-se compor um visual muito mais funcional. Para essa
composição são utilizados signos. Um signo pode ser um botão, um menu, uma caixa de
texto, uma imagem ou até mesmo uma tela (que é um signo complexo, formado por vários
outros signos). O signo possui dois aspectos principais: expressão, que é o que se percebe, e
conteúdo, que é o seu significado. A expressão do signo deve revelar seu conteúdo,
transmitindo seu significado.
Figura 18: Formalismos de Apoio ao Design (LEITE, 1999).
A LEMD diferencia diversos tipos de mensagens, a figura a seguir identifica alguns
deste tipos de mensagens do design.
70
Figura 19: Mensagens do Design (LEITE, 1999).
As mensagens identificadas são:
• Mensagens de metacomunicação direta: permitem ao designer enviar mensagens
diretamente ao usuário. Na LEMD, é especificada pelo elemento View.
• Mensagens sobre o estado do signo do domínio: revelam o estado do sistema, através
dos signos da interface.
• Mensagens sobre funções da aplicação: mostrar se a função está realizando ou não, uma
busca, por exemplo.
• Mensagens sobre interações básicas: indicar ao usuário a interação a ser deempenhada.
As interações básicas são acionar (Active), fornecer informação (Enter) e selecionar
informação (Select).
• Mensagens sobre a estrutura sintática dos comandos: a articulação das interações que
o usuário precisa desempenhar. As interações podem ser agrupadas em seqüência
(Sequence), repetição (Repeat), agrupamento (Join), combinação (Combine) e seleção
(Select).
71
• Mensagens de metacomunicação para apresentação e controle de leitura mensagem:
comunicar ao usuário como deve “ler” a mensagem do designer (COLFERAI, 2001).
As funções da aplicação devem ser descritas de tal forma que o designer possa associá-las com o comando que ele quer especificar. Apenas as funções do sistema que podem ser controladas por comandos do usuário devem ser especificadas. Na especificação devem ser descritos os operandos, que são objetos de representação de signos do domínio, e as condições anteriores e posteriores que determinam quais são as entradas e saídas desta função da aplicação e devem ser utilizadas na especificação do comando (LEITE, 1998).
A especificação de uma função da aplicação é feita segundo a forma geral2
apresentada na figura a seguir:
Application-Function <Application-functionname>
Operands <Domain-signs-name>
Pre-conditions pre-conditions-list
Post-conditions post-conditions-list
Control <application-functioncontrol>
State <application-function-state>
Figura 20: Especificação da Função Aplicação (LEITE, 1999).
A especificação das pré e pós-condições são descritas aqui usando uma linguagem
informal. Entretanto, elas devem ser descritas por uma linguagem de especificação mais
apropriada, como as linguagens formais.
Application-Function Impressão
Operands Nome do arquivo,
Nome da Impressora,
Número de cópias
Pre-conditions
Nome do arquivo deve ser definido,
Nome da impressora deve ser escolhida,
Número de cópias deve ser fornecido,caso contrário imprime
apenas uma cópia
Post-conditions
A impressora especificada deve produzir o número de cópias
fornecidas do arquivo definido
Control
Iniciar, Parar, Suspender, Continuar, Cancelar
State
Disponível, Executando, Interrompido, Terminado
Figura 21: Especificação da Função Imprimir (LEITE, 1999).
2 Os termos da linguagem são palavras do inglês visando uma ampla compreensão e aceitação nos meios de divulgação científica (LEITE, 1999). A notação que foi utilizada para descrever a linguagem usa a fonte Courier New.
72
Suponhamos que o designer tenha a intenção de desenhar a parte da interface para o
comando de função imprimir de uma aplicação com as seguintes características. O comando
requer que o usuário forneça o nome do arquivo a ser impresso, o nome da impressora e o
número de cópias.
O usuário deve poder escolher dentre as impressoras disponíveis e também configurá-
la. A função da aplicação impressão a ser controlada permite os controles iniciar, terminar,
suspender e continuar.
Command-Message Imprimir for Application-Function Impressão
Join
{
View “Para imprimir você deve fornecer os dados, e, em seguida,
selecionar o controle da função que você deseja acionar.”
Sequence
{
Join
{
Select
{
Enter Information-of Nome do Arquivo
Select Information-of Nome do Arquivo
} //select
Combine
{
Select Information-of Nome da impressora
Activate Show Command-Message Configurar
impressora
} //combine
Enter Information-of Número de cópias
}
Select
{
Activate Start Application-Function Impressão
Activate Stop Application-Function Impressão
Activate Suspend Application-Function Impressão
Activate Continue Application-Function Impressão
Activate Waive Application-Function Impressão
} //select
} //sequence
} //join
Figura 22: Especificação da mensagem para comando da Função Imprimir (LEITE, 1999).
Esta mensagem deve ser expressa através dos widgets de uma interface gráfica. As
construções da interface estão associadas a regras de correlação de acordo com a Tabela 3 a
seguir:
73
Tabela 3: Regras de Mapeamento Semântico Utilizadas (LEITE, 1999).
Join Configuração espacial (agrupamento visual) Sequence Configuração espacial com os elementos da seqüência em cinza
claro indicando “não-disponível” Combine Widgets Frame Select Configuração espacial (agrupamento visual) Select
texto Caixa “combo”
Enter
texto Caixa de texto
Enter
numérico Caixa Spin (número com incrementadores)
Activate Botão de pressão
A LEMD permite aos designs formularem sua mensagem de maneira estruturada e
coerente com o modelo apresentado. Este modelo descreve os componentes necessários ao
desempenho do processo de interação. Este formalismo é complementar às linguagens de
especificação tradicionais e pode ser integrado às ferramentas de interfaces baseadas em
widgets, normalmente utilizadas para interfaces gráficas.
O usuário é um beneficiário indireto quando utiliza sistemas cujas interfaces
produzidas com o apoio da LEMD que são mais fáceis de interpretar. Ele é também um
beneficiário direto quando utiliza sistemas ciente da perspectiva de metacomunicação. Neste
caso, ele utiliza o sistema conhecendo as diferenças conceituais do modelo de usabilidade e
espera consistência na utilização dos signos de interface.
A linguagem proposta não foi comparada com outras linguagens uma vez que ela faz
parte de uma abordagem inovadora que é complementar às abordagens cognitivas mais
tradicionais. A especificação da mensagem utilizando a LEMD, não garante sozinha que o
sistema construído tenha boa usabilidade. Ela deve ser utilizada conjuntamente com outros
formalismos tradicionais da engenharia de software que façam a especificação da
funcionalidade e do modelo de interação. O seu objetivo é especificar como estes
componentes do modelo conceitual de aplicação devem ser comunicados aos usuários
(LEITE, 1999).
74
6.4.2 A utilização da LEMD no protótipo
A LEMD foi utilizada para especificar as janelas do módulo CSCW do software
“Ferramenta Multi-Interface para Instanciação 3D”, citado também como FMI 3D. Nesta
seção são apresentas as especificações das janelas a seguir.
6.4.2.1 Janela Alterações
Através da janela Alterações, o usuário que criou o cenário pode alterar as
propriedades básicas do mesmo (nome, descrição, status e anotações). Estas informações são
utilizadas no processo de abertura e consulta do cenário e definem se o cenário encontra-se
em modo de edição. A forma de acionamento desta janela é: Menu CSCW -> Alterações ->
FORM Alterações.
Figura 23: Janela Alterações
Especificação da Função: Alterações
Application-Function Alterações
Operands
Nome do cenário,
Descrição do cenário,
Status do cenário,
Anotações do cenário
Pré-conditions
Novo nome do cenário deve ser definido,
Descrição do cenário pode ser alterada,
75
Status do cenário pode ser escolhido,
Anotações do cenário pode ser alterada
Post-conditions
Se opção confirmar, deve haver verificação se os dados foram
corretamente preenchidos e armazenar no Banco de Dados,
Se opção cancelar, deve fechar o FORM deixando então os dados
de criação do cenário sem alterações
Control
Confirmar, Cancelar
State
Construção, Bloqueado, Finalizado
Especificação da mensagem para comando da Função: Alterações
Command-Message Alterações for Application-Function Alterar
Join
{
Sequence
{
Join
{
Enter Information-of Nome
Enter Information-of Descrição
Combine
{
Select Information-of Status do cenário
}//combine
Enter Information-of Anotações
}//join
Select
{
Activate Cancelar Application-Function Alterar
Activate Confirmar Application-Function Alterar
}//sequence
}//sequence
}//join
6.4.2.2 Janela Anotações do Cenário
Através da janela Anotações do Cenário, o usuário pode obter informações sobre o
cenário atual, como: nome, descrição, status e anotações. Estas informações são utilizadas
pelo usuário para consulta de maiores informações do cenário e definem se o cenário
encontra-se em construção, bloqueado ou finalizado. A forma de acionamento desta janela é:
Menu CSCW -> Anotações -> FORM Cenário.
76
Figura 24: Janela Anotações do Cenário
Especificação da Função: Anotações do cenário
Application-Function Anotações do cenário
Control
Sair
Especificação da mensagem para comando da Função: Anotações do cenário
Command-Message Anotações do cenário for Application-Function Anotações do
cenário Join
{
Sequence
{
View information-of Anotações do cenário
Select
{
Activate Sair Application-Function Anotações do cenário
} //sequence
} //sequence
} //join
6.4.2.3 Janela Gerar Anotação
Através da janela Gerar Anotação, o usuário pode gerar uma anotação qualquer para
um outro usuário existente. Inicialmente, deve haver a seleção do usuário que se quer enviar a
anotação, depois escrever a anotação, preencher a data e por último definir o Status dessa
Anotação (que no momento de sua criação é definido como “não lido” automaticamente). A
forma de acionamento desta janela é: Menu CSCW -> Anotações -> FORM Gerar Anotação
77
Figura 25: Janela Gerar Anotação
Especificação da Função: Gerar Anotação
Application-Function Geração de Anotações
Operands
Nome do usuário,
Anotações para o usuário,
Data da anotação,
Status da anotação
Pré-conditions
Nome do usuário deve ser definido,
A anotação para o usuário deve ser escrita,
A data da anotação deve ser preenchida,
O status da anotação deve ser escolhido
Post-conditions
Se opção confirmar, deve haver verificação se os dados foram
corretamente preenchidos e armazenar no Banco de Dados,
Se opção cancelar, deve fechar o FORM sem salvar a anotação
prenchida ou não
Control
Confirmar, Cancelar
State
Não lido, Lido, Executado, Não executado
Especificação da mensagem para comando da Função: Gerar Anotação
Command-Message Gerar anotação for Application-Function Geração de
Anotações
Join
{
Sequence
{
Join
{
Select
78
{
Select Information-of Usuario
}//select
Enter Information-of Anotação
Enter Information-of Data
Combine
{
Select Information-of Status da anotação
}//combine
}//join
Select
{
Activate Cancelar Application-Function Geração de
Anotações
Activate Confirmar Application-Function Geração de
Anotações }//sequence
}//sequence
}//join
6.4.2.4 Janela Anotações Pessoais
Através da janela Anotações Pessoais, o usuário pode navegar nas suas anotações
(mensagens) recebidas. Além de visualizar suas anotações, o usuário pode alterar o Status da
mensagem como: “lido”, “executado” e “não executado”, confirmando em seguida a opção
Confirma Alteração. Estas informações são utilizadas para a comunicação entre usuários sem
a necessidade da utilização de Chat. A forma de acionamento desta janela é: Menu CSCW ->
Anotações -> FORM Anotações Pessoais.
79
Figura 26: Janela Anotações Pessoais
Especificação da Função: Anotações Pessoais
Application-Function Anotações Pessoais
Operands
Nome do remetente,
Nome do destinatário,
Data da anotação,
Anotação para o usuário,
Status da anotação
Pré-conditions
Nome do remetente a ser definido,
Nome do destinatário a ser definido,
A data da anotação deve ser preenchida,
A anotação para o usuário deve ser escrita,
O status da anotação deve ser escolhido
Post-conditions
Se opção alterar, deve haver disponibilização dos dados para
que haja alteração,
Se opção sair, deve fechar o FORM sem salvar a alteração
prenchida ou não
Control
Alterar, Sair
State
Não lido, Lido, Executado, Não executado
80
Especificação da mensagem para comando da Função: Anotações Pessoais
Command-Message Anotações Pessoais for Application-Function Anotações
Pessoais
Join
{
Sequence
{
Join
{
Select
{
Select Information-of Remetente
Select Information-of Destinatário
}//select
Enter Information-of Data
Enter Information-of Anotação
Combine
{
Select Information-of Status da anotação
}//combine
}//join
Select
{
Activate Alterar Application-Function Anotações
Pessoais
Activate Sair Application-Function Anotações
Pessoais
}//sequence
}//sequence
}//join
6.4.2.5 Janela Anotações Gerais
Através da janela Anotações Gerais, o usuário pode navegar em todas as anotações
(mensagens) existentes, mesmo que não seja destinado ou remetente a ele. Estas informações
são utilizadas para a integração entre os usuários através das anotações existentes, essa janela
é apenas utilizada para leitura. A forma de acionamento desta janela é: Menu CSCW ->
Anotações -> FORM Anotações Gerais.
81
Figura 27: Janela Anotações Gerais
Especificação da Função: Anotações Gerais
Application-Function Anotações Gerais
Operands
Nome do remetente,
Nome do destinatário,
Data da anotação,
Anotação para o usuário,
Status da anotação
Control
Sair
Especificação da mensagem para comando da Função: Anotações Gerais
Command-Message Anotações gerais for Application-Function Anotações gerais
Join
{
Sequence
{
View Information-of Nome do remetente
View Information-of Nome do destinatário
View Information-of Data da anotação
View Information-of Anotações do usuário
View Information-of Status da anotação
Select
{
82
Activate Sair Application-Function Anotações gerais
}//select
} //sequence
} //join
6.4.2.6 Janela Cenário Atual
Através da janela Cenário Atual, o usuário pode visualizar, apenas para leitura, todas
as informações do cenário atual, como: nome do cenário, nome do usuário que criou o
cenário, data da criação do cenário, data da última alteração realizada no cenário, o status do
cenário (construção, bloqueado, finalizado), descrição do cenário e anotações referentes a esse
cenário atual. Estas informações são utilizadas uma melhor compreensão do usuário em
relação ao cenário que se quer saber. A forma de acionamento desta janela é: Menu CSCW ->
Cenários -> FORM Atual .
Figura 28: Janela Cenário Atual
Especificação da Função: Cenário Atual
Application-Function Cenario Atual
Control
Sair
Especificação da mensagem para comando da Função: Cenario Atual
Command-Message Anotações gerais for Application-Function Anotações gerais
Join
{
Sequence
{
View Information-of Nome do remetente
View Information-of Nome do destinatário
View Information-of Data da anotação
View Information-of Anotações do usuário
83
View Information-of Status da anotação
Select
{
Activate Sair Application-Function Cenario Atual
}
} //sequence
} //join
6.4.2.7 Janela Listagem dos cenários
Através da janela Listagem dos Cenários, o usuário pode navegar na listagem de todos
os cenários existentes. Durante essa navegação, o usuário pode ver nessa janela o nome do
cenário, o status do cenário, e sua data de criação, respectivamente. Estas informações são
utilizadas apenas para leitura do usuário, não podem ser alteradas. A forma de acionamento
desta janela é: Menu CSCW -> Cenários -> FORM Todos.
Figura 29: Janela Listagem dos Cenários
Especificação da Função: Listagem dos Cenários
Application-Function Listagem Cenários
Operands
Nome do cenário,
Status do cenário,
Data criação cenário
Control
Sair
84
Especificação da mensagem para comando da Função: Listagem dos Cenários
Command-Message Listagem dos cenarios for Application-Function Listagem
dos cenarios
Join
{
Sequence
{
View Information-of Nome do cenario
View Information-of Status do cenario
View Information-of Data de criação
Select
{
Activate Sair Application-Function Listagem dos cenarios
}//select
} //sequence
} //join
6.4.2.8 Janela Listagem dos Usuários do Cenário Atual
Através da janela Listagem dos Usuários de Cenário Atual, o usuário pode navegar
nos usuários existentes no cenário atual. Essas informações são apenas para leitura e contém
informações de usuários como: nome do usuário, e-mail, todos os objetos criados por este
usuário no cenário atual, quais as alterações, remoções, data de entrada para o cenário e a
última data de acesso. A forma de acionamento desta janela é: Menu CSCW -> Usuários ->
FORM Cenários
Figura 30: Janela Listagem dos Usuários do Cenário Atual
Especificação da Função: Listagem usuários Cenário
85
Application-Function Listagem usuarios cenario
Operands
Nome do cenario,
E-mail do usuario,
Criação de objetos,
Alteração de objetos,
Remoção de objetos,
Data entrada no cenario,
Data do ultimo acesso
Control
Sair
Especificação da mensagem para comando da Função: Listagem usuários Cenário
Command-Message Listagem usuarios cenario for Application-Function
Listagem usuarios cenario
Join
{
Sequence
{
View Information-of Nome do usuario
View Information-of E-mail do usuario
View Information-of Criação de objetos
View Information-of Alteração de objetos
View Information-of Remoção de objetos
View Information-of Data entrada no cenario
View Information-of Data do ultimo acesso
Select
{
Activate Sair Application-Function Listagem usuarios
cenario
} //select
} //sequence
} //join
6.4.2.9 Janela Listagem de todos os Usuários Existentes
Através da janela Listagem de todos os usuários Existentes, o usuário pode visualizar
todos os usuários cadastrados no software do módulo CSCW, juntamente com seu respectivo
e-mail e os cenários já criados pelo mesmo. A forma de acionamento desta janela é: Menu
CSCW -> Usuários -> FORM Todos
86
Figura 31: Janela Listagem de todos os usuários existentes
Especificação da Função: Listagem usuários existentes
Application-Function Listagem usuarios existentes
Operands
Nome do usuario,
E-mail do usuario,
Cenarios cadastrados
Control
Sair
Especificação da mensagem para comando da Função: Listagem usuários existentes
Command-Message Listagem usuarios existentes for Application-Function
Listagem usuarios existentes
Join
{
Sequence
{
View Information-of Nome do usuario
View Information-of E-mail do usuario
View Information-of Cenarios cadastrados
Select
{
Activate Sair Application-Function Listagem usuarios
existentes
}//select
} //sequence
} //join
87
6.5 Integração na Ferramenta
As especificações geradas foram repassadas para o aluno Geraldo Clézio Oliveira
Junior, que desenvolveu a implementação da versão colaborativa para a ferramenta Multi
Interface para Softwares de Instanciação 3D, como parte do seu Trabalho de Diplomação,
intitulado “Desenvolvendo uma Aplicação Colaborativa para Modelagem 3D”. Maiores
informações sobre a implementação podem ser consultadas na monografia de mesmo título.
Durante este processo, foram levantadas, analisadas e solucionadas todas as
pendências relativas à dificuldade de implementação das especificações geradas. Como ambos
os alunos envolvidos já tinham um bom conhecimento da linguagem utilizada na
implementação, foram evitadas especificações de interface que não tivessem correspondente
na linguagem Ruby (RUBY, 2005).
88
7 Trabalhos Futuros
Como trabalhos futuros, têm-se as continuações de todo o trabalho realizado até aqui,
através do Projeto de Iniciação Científica que vem sendo realizado pelo aluno Samuel de
Matos Rezende, intitulado: Ferramenta Cooperativa para Modelagem de Objetos 3D.
Neste Projeto com término previsto para Junho /2007 será realizada a integração de
recursos multimídia (áudio e vídeo) como elementos cooperativos e alguns ajustes como a
criação de uma área pessoal, que permitirá ao usuário possuir anotações, como lista de tarefas,
agenda pessoal, além de uma área de arquivos pessoais (podendo ou não ser compartilhados),
além de uma reformulação e otimização dos códigos e interfaces já implementados.
É importante ressaltar que todas as técnicas aqui aplicadas podem e devem ser
utilizadas no desenvolvimento desta nova pesquisa.
89
8 Conclusão
Um software que não tem uma boa interface causa constrangimentos aos usuários e,
para que isso não ocorra, exige-se uma atenção especial aos atributos indispensáveis de
usabilidade. Junto à usabilidade, os estudos das formas de interações são indispensáveis e
colaboram significamente para uma boa interface em um software. Portanto, foram definidas
as interações mais adequadas para cada tipo de ação. Após a criação dessas interações, foi
feito um estudo de como os usuários trabalham com cada tipo de interação.
A partir desses dados, viu-se a necessidade de adequar a ferramenta para que ela
pudesse ser utilizada de forma colaborativa. Assim, foram separadas várias outras
funcionalidades, que foram implementadas e testadas, para que pudesse ser feita uma
comparação entre os dados colhidos com interface Stand-Alone e CSCW.
Após a definição dos dados que foram inseridos na versão colaborativa do software,
foi realizada uma especificação das telas utilizando a Linguagem de Especificação da
Mensagem do Design (LEMD). Esta linguagem mostrou-se adequada para o tipo de
representação que se pretendia fazer das interfaces e proporcionou uma maneira importante de
documentar as funcionalidades de cada interface.
Após o desenvolvimento das novas funções, algumas novas tarefas como testes,
avaliações e validações das novas funcionalidades do software, ficaram propostas para as suas
realizações em Trabalhos Futuros, conforme citado.
90
Referências Bibliográficas
(AOKI, 2000) AOKI, H., ITOH, K. Analysis of cognitive attitudes to commercial films on
basis of eye tracking data. Proceedings of the IEA2000/HFES2000 Congress. San Diego. 2000.
(BAECKER, 1993) BAECKER, RONALD M. Readings in groupware and computer-supported cooperative work (introduction). San Francisco: Morgan Kaufmann, 1993, p. 1-6.
(BANNON, 1993) BANNON, LIAM J.; SCHMIDT, KJELD. CSCW: four characters in search of a context. In: BAECKER, Ronald M. Readings in groupware and computer- supported cooperative work. San Francisco: Morgan Kaufmann, 1993. p. 50-56.
(BASTIEN, 1995) BASTIEN, J. M. C., SCAPIN, D. L. Evaluating a user interface with ergonomic criteria. International Journal of Human-Computer Interaction. v. 7, n. 2, 1995, p. 105-121.
(BERTOLETTI, 1997) BERTOLETTI, ANA CAROLINA. SAGRES - um sistema adaptável de informações e suporte à interação em grupo. Porto Alegre: UFRGS/Instituto de Informática, 1997. Tese de Mestrado.
(BLENDER-OPEN, 2005) Blender-Open Source 3D Graphics creation. Disponível em: <http://www.blender.org/cms/Home.2.0.html> Acesso em: 10 Agosto 2005.
(BORGES, 1995) BORGES, MARCOS ROBERTO DA SILVA; CAVALCANTI, MARIA CLÁUDIA REIS; CAMPOS, LUIZA MACHADO. Suporte por computador ao trabalho cooperativo. In: CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 1995, Canela. Anais... Canela, 1995.
(CIF, 2001) Common Industry Format for Usability Test Reports – CIF – ANSI NCITS 354-2001.
(COLFERAI, 2001) COLFERAI, Lucas. Análise de técnicas de Modelagem de interface para Zope. Laboratório de Sistemas II. Ijuí, julho de 2001.
(CONNALLY, 1995) CONNALLY, C. E.; TULLIS, T. S. Evaluating the user interface: videotaping without a camera. Human Factors perspectives on Human-Computer Interaction. Santa Monica: HFES.1995.
91
(CUNHA, 2003) CUNHA, H. R. S. Padrão Pontifícia Universidade Católica de Minas de Normalização: normas para apresentação de trabalhos científicos, teses, dissertações e monografias. jan 2003. Disponível em: <http://www.pucminas.br/documentos/normalizacao_monografias.pdf > Acesso em: 10 Fevereiro 2006.
(DIAS, 2005) DIAS, A. L., OLIVEIRA JUNIOR, G. C. and BARRÉRE, E., "Interface para Softwares de Instanciação de Objetos 3D", XI Simpósio Brasileiro de Multimídia e Web - WebMedia, Poços de Caldas, Brasil, 2005, pp. 204-206.
(ELLIS, 1991) ELLIS, C.A., GIBBS, S.J. and REIN, G.L. “Groupware - Some Issues and Experiences”, Communications of the ACM, January 1991, Vol. 34, N. 1. 1991. p. 38-58.
(ELLIS, 1993) ELLIS, CLARENCE A.; GIBBS, SIMON J; REIN, GAIL L. Groupware some issues and experiences. In: BAECKER, Ronald M. Readings in groupware and computer-supported cooperative work. San Francisco: Morgan Kaufmann, 1993. p. 9-28.
(FUKS, 2001) FUKS, H. and ASSIS, R.L. “Facilitating Perception on Virtual Learningware-based Environments”, The Journal of Systems and Information Technology, Vol 5., No. 1, Edith Cowan University, Australia, p. 93-113. 2001. ISSN 1328-7265
(FUKS, 2002) FUKS, H., RAPOSO, A.B. & GEROSA M.A. Engenharia de Groupware: Desenvolvimento de Aplicações Colaborativas, XXI Jornada de Atualização em Informática, Anais do XXII Congresso da Sociedade Brasileira de Computação, V2, Cap.3, ISBN 85-8844-24-8, pp. 89-128. 2002.
(FUKS, 2003) FUKS, H., RAPOSO, A.B. & GEROSA, M.A. Do Modelo de Colaboração 3C à Engenharia de Groupware. WEBMIDIA 2003 - Simpósio Brasileiro de Sistemas Multimídia e Web, Trilha especial de Trabalho Cooperativo Assistido por Computador, 03 a 06 de Novembro de 2003, Salvador-BA, pp. 445-452.
(FUKS, 2006) FUKS, HUGO, Groupware@LES. Disponível em: <http://groupware.les.inf.puc-rio.br/> Acesso em: 10 Fevereiro 2006.
(GRUDIN, 1993) GRUDIN, JONATHAN. Groupware and cooperative work: problems and prospects. In: BAECKER, Ronald M. Readings in groupware and computer- supported cooperative work. San Francisco: Morgan Kaufmann, 1993. p. 97-105.
(GRUDIN, 1994) GRUDIN, J., Groupware and social dynamics: eight challenges for developers Communications of the ACM, 37(1), ACM Press, pp. 92-105, 1994.
92
(GRUDIN, 1997) GRUDIN, JONATHAN. CSCW: its history and participation. Disponível em: <http://www.ics.uci.edu/~grudin/CSCW.html> Acesso em 10 Fevereiro 2005.
(GUTWIN, 1999) GUTWIN, C. and GREENBERG, S. “A framework of awareness for
small groups in shared-workspace groupware”, Technical Report 99-1, Saskatchewan University, Canada. 1999.
(HILLS, 1997) HILLS, MELANIE. Intranet as groupware. New York: J. Wiley, 1997.
(JACOB, 2002) JACOB, L.J., NEDEL, L.P., FREITAS, C.M.D.S., Avaliação Experimental de Técnicas de Seleção e Manipulação em Ambientes Virtuais . Disponível em: http://www.inf.ufrgs.br/cg/publications/liliane/srv2002.pdf> Acesso em: 20 Outubro 2006.
(JACOB, 2005b) JACOB, L.J., Avaliação de técnicas de interação egocêntricas. Disponível em: <http://www.inf.ufrgs.br/cg/publications/liliane/dissertacao.pdf> Acesso em: 10 Agosto 2005.
(JACOB. 2005a) JACOB, L.J., NEDEL, L.P., FREITAS, C.M.D.S., Avaliação de técnicas de interação em ambientes imersivos: uma proposta de aplicação no tratamento de fobia de altura. Disponível em: <http://www.inf.ufrgs.br/cg/publications/liliane/srv2001.pdf> Acesso em: 10 Agosto 2005.
(JORDAN, 1998) Jordan, P.W. An Introduction to Usability. Taylor & Francis, 1998.
(JUNIOR, 2003) Junior, S. L. and Silva, J. C., Processes of software reengineering
planning supported by usability principles. In Proceedings of the Latin American Conference on Human-Computer interaction - CLIHC '03, vol. 46. ACM Press, 2003, 223-226.
(JUNIOR, 2004) JUNIOR, Sérgio Luisir Díscola, Júnia Coutinho Anacleto Silva, André Constantino da Silva and Marcela Xavier Ribeiro, Integração IHC e ES: Processo de Planejamento da Reengenharia de Software Guiado pela Avaliação de Usabilidade – PPR-UVI Simpósio sobre Fatores Humanos em Sistemas Computacionais — Mediando e Transformando o Cotidiano, CEIHC, 2004.
(LEITE, 1998) LEITE, J. C. Modelos e Formalismos para a Engenharia Semiótica de
Interfaces de Usuário. Tese de Doutorado. Departamento de Informática. PUC-Rio, 1998.
(LEITE, 1999) LEITE, J. C.; DE SOUZA, C. S. Uma Linguagem de Especificação para a Engenharia Semiótica de Interfaces de Usuário, II Workshop sobre Fatores Humanos em Sistemas Computacionais, Campinas – SP, Outubro/99.
93
(LEWIS, 1994) LEWIS, C., RIEMAN, J. Task-centered user interface design: a practical introduction. 1994.
(LEWIS, 1997) Lewis, C. and Wharton, C., Cognitive walkthroughs. In M. Helander, T.K. Landauer, P. Prabhu (Eds.) Handbook of human-computer interaction, 2nd ed. Elsevier Science, 1997, 717-732.
(LIMA, 2004) LIMA, P., Interfaces Homem-Máquina. Disponível em: <http://www2.uepa.br/paulolima/disciplinas/ufpa/IHCUFPA2004P1.p> Acesso em: 10 Maio 2006.
(LONG, 1997) LONG, B. and BAECKER, R.“A taxonomy of Internet communication
tools”, Proceedings of WebNet - World Conference of the WWW, Internet, and Intranet, Toronto, Canada, p. 318-323. 1997. ISBN 1-880094-27-4
(NEDEL, 2003) NEDEL, L.P., FREITAS, C.M.D.S., SCHYN, A., NAVARRE, D., PALANQUE. P., Usando Modelagem Formal para Especificar Interação em Ambientes Virtuais: Por que?. Disponível em: <http://www.irit.fr/recherches/LIIHS/palanque/Ps/svr2003.pdf> Acesso em: 10 Abril 2005.
(NETO, 2000) NETO, S.M.; MATIAS, M.; SANTOS, NERI dos. Uma ferramenta de apoio ao registro da interação humano-computador. Disponível em: <http://ssooweb01.univali.br/prof/MARCIO%20MATIAS/ergonomia/uma%20ferramenta%20de%20apoio%20ao%20registro%20da%20ihc.pdf> Acesso em: 10 maio 2006.
(NIELSEN, 1993) Nielsen, J., Usability Enginnering, Academic Press, Cambridge, 1993.
(NIELSEN, 2006a) Nielsen, Jacob, Ten usability heuristics. Disponível em: <http://www.useit.com/papers/heuristic/heuristic_list.html> Acesso em: 10 maio 2006.
(NIELSEN, 2006b) Nielsen, J. 230; Nielsen Norman Group, Tips and Tricks for a Better
Usability Test. Disponível em: <http://www.nngroup.com/reports/tips/usertest/testtipsforeword.html> Acesso em: 10 maio 2006
(NUNAMAKER, 1993) NUNAMAKER, Jay F. et al. Electronic meeting and decision rooms. In: BAECKER, Ronald M. Readings in groupware and computer-supported cooperative work. San Francisco: Morgan Kaufmann, 1993, p. 718-739.
(PREECE, 1993) PREECE, J. A guide to usability. Wokingham: Open University. 1993.
94
(PRESSMAN, 1992) PRESSMAN, R. Software Engineering: A Practitioner’s Approach, 3rd ed. McGraw-Hill, USA, 1992. ISBN 0-07-050814-3. 1992.
(RAPOSO, 2001) RAPOSO, A.B., MAGALHÃES, L.P., RICARTE, I.L.M. and FUKS, H. “Coordination of collaborative activities: A framework for the definition of tasks interdependencies”, Proceedings of the 7th International Workshop on Groupware - CRIWG, Darmstadt, Germany, IEEE Computer Society, USA, p 170-179. ISBN 0-7695-1351-4. 2001
(RASMUSSEN, 1986) RASMUSSEN, J. Information processing and human-machine interaction: an approach to cognitive engineering. New York: Elsevier. 1986.
(ROCHA, 2003) ROCHA, H.V., BARANAUKAS M.C.C., Design e Avaliação de
Interface e Humano-Computador. UNICAMP, NIED, 2003.
(RUBY, 2005) Ruby Central.... the Source for Ruby. Disponível em: <http://www.rubycentral.com/> Acesso em: 10 Junho 2005.
(SAINT-PIERRE, 1999) SAINT-PIERRE, M.; RODRIGUES, P. Towards user-friendly interfaces: an inferential approach. X Conferência Internacional de Tecnologia de Software: Qualidade de Software. Curitiba: CITS/CTI. 1999.
(SCHRAGE, 1996) SCHRAGE, M. “Cultures of Prototyping”, In: Bringing Design to Software, Edited by Terry Winograd, ACM Press, USA. ISBN 0-201-85491-0. 1996.
(SHACKEL, 1991) Shackel, B. Usability – context, framework, design and evaluation. Cambridge University Press, 1991.
(SHNEIDERMAN, 1993) SHNEIDERMAN, B., Designing the User Interface: Strategies for Effective Human-Computer Interaction. Massachussets, Addison-Wesley Publishing Company, 1993
(SHNEIDERMAN, 2004) SHNEIDERMAN, B., Designing the User Interface. Pearson Education, c2004.
(SYSTEM, 2006) System Usability Scale, http://www.usability.serco.com/ trump/methods/satisfaction.htm, visited in march 2006.
(UNIDEV, 2005) UniDev, Como utilizar o mapeamento de textura no 3DStudioMax. Disponível em: <http://www.unidev.com.br/artigos/texmap3dsmax000.asp?id=463> Acesso em: 10 Agosto 2005.
95
(WIKIPÉDIA, 2006) WIKIPÉDIA – A enciclopédia livre, Sistema Cooperativo. Disponível em: <http://pt.wikipedia.org/wiki/Sistema_cooperativo> Acesso em: 10 Fevereiro 2006.
(WINOGRAD, 1987) WINOGRAD, T. and FLORES, F., Understanding Computers and Cognition. Addison- Wesley, USA, 1987. ISBN 0-201-11297-3
(WINOGRAD, 1988) WINOGRAD, T. “A Language/Action Perspective on the Design of Cooperative Work”, IN: Computer Supported Cooperative Work - A book of readings, Edited by Irene Greif, Morgan Kaufmann Publishers, USA. ISBN 0-934613-57-5. 1988.
(ZOTTO, 2003) ZOTTO, Ozir Francisco de Andrade, Ferramentas Groupware para Intranets. Disponível em: <http://www.pr.gov.br/batebyte/edicoes/1997/bb70/ferramen.htm> Acesso em: 10 Maio 2006.