96
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

Análise de Interface Colaborativa para Softwares de ...anadias/Docs/MonografiaTDAna_vFinal.pdf · GUI Graphical User Interface ... JACOB fornece uma formulação precisa sobre interfaces

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

FICHA CATALOGRÁFICA ELABORADA PELA

BIBLIOTECA DA PUC Minas (Campus Poços de Caldas)

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

A meus pais

Pelo incentivo e carinho

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

96

9 Anexo A

9.1 Artigo Interface para Softwares de Instanciação de Objetos 3D publicado no Simpósio WebMedia 2005.