Atualmente a interação na Web ocorre basicamente através de formulários da linguagem HTML e/ou através de widgets em applets Java. Apesar do esforço de alguns desenvolvedores em implementar interfaces mais complexas com apenas estes recursos é nítida a carência de mecanismos mais sofisticados de interação na Web. Este trabalho pretende mostrar algumas tendências no sentido de aprimorar os mecanismos de interação na Web. Serão abordados temas como ambientes de trabalho compartilhados, ambientes virtuais compartilhados e o uso de multimedia nas interfaces. Esses temas tendem a se tornar cada vez mais frequentes em publicações da área e, se a tendências se confirmarem, constituirão parte essencial do futuro software para a Web.
1. Introdução
A explosão de popularidade da Internet através
da World Wide Web aliada às tecnologias que permitem maior dinamismo
e flexibilidade de interação com a Web (por exemplo, CGI,
Javascript e Java) têm levado muitos pesquisadores e desenvolvedores
a utilizarem-na como meio de interação com as aplicações
[Ibrahim 97], [Rice 96].
As grandes vantagens em se desenvolver aplicações
disponibilizadas via Web estão associadas à fácil
acessibilidade: as aplicações ficam disponíveis à
cada vez mais ampla gama de usuários da Web, e elas podem ser acessadas
de praticamente qualquer lugar (de casa, do trabalho, ou mesmo em trânsito,
através da computação móvel). Somada a estas
vantagens, ainda existe a independência de plataforma das aplicações
Web.
No entanto, as tecnologias básicas da Web
(HTTP e HTML) ainda impõem algumas limitações no que
diz respeito à interação com as aplicações.
Uma destas limitações está relacionada à falta
de controle sobre a aparência da interface, já que a linguagem
HTML deixa este tipo de decisão para os browsers (browsers
diferentes podem gerar interfaces com disposições diferentes
dos widgets) [Ibrahim 97]. Outro problema
das interfaces Web está relacionado à lentidão de
feedback. Uma aplicação que usa CGI só terá
sua interface alterada e "desbloqueada" após entrar em contato com
servidor e obter o resultado do processamento realizado. Esse processo
geralmente demora bem mais do que o usuário está acostumado
a esperar em interfaces fora da Web.
O surgimento dos applets Java resolveu o
problema de controle de aparência da aplicação, pois
eles permitem que ela seja totalmente programada em Java (inclusive sua
interface). Na página HTML é necessário apenas definir
uma região para que a aplicação seja embutida na mesma.
O problema da lentidão de feedback também foi em grande
parte resolvido pelos applets: nem todas as tarefas exigem contato
com o servidor (elas podem ser executadas localmente) e, mesmo as que exigem
contato com o servidor (consulta a base de dados, por exemplo) podem ser
beneficiadas pela capacidade multithreading da linguagem Java (a
interface não precisa ficar "bloqueada" enquanto se realiza a consulta
ao servidor).
Apesar disso, ainda restam alguns problemas a serem
superados pela Internet e pela Web antes delas se tornarem o meio de interação
com a maior parte das futuras aplicações. As seções
seguintes mostrarão algumas direções que podem ser
seguidas para a superação desses problemas. A próxima
seção trata dos espaços de trabalho compartilhados,
que tentam tirar o usuário do "isolamento", permitindo a cooperação
entre os vários usuários de uma aplicação na
Web. A Seção 3 trata do uso de outras mídias (imagem,
som, etc) como objetos de interação na Web. A Seção
4 estuda os ambientes virtuais compartilhados, que saem da metáfora
de desktop das aplicações atuais e propõem
verdadeiras "sociedades virtuais" onde as interações são
modeladas a partir das interações do mundo real. As duas
seções que se seguem mostram conceitos que poderão
ser importantes no futuro das interfaces na Web: internetworked graphics
e tele-imersão. Finalmente, a Seção 7 apresenta as
conclusões.
2. Espaço de Trabalho Compartilhado
A Web e sua estrutura hipermedia oferece a ilusão
de uma grande base de informações. No entanto, ainda existem
barreiras significativas à colaboração efetiva entre
os usuários. Apesar da informação ser um recurso compartilhado,
os Web browsers ainda são ferramentas para um único
usuário, mantendo os usuários separados uns dos outros, já
que oferecem pouco suporte para que um grupo de usuários trabalhe
de maneira colaborativa sobre a informação compartilhada
(Fig. 1).
A criação de um espaço de trabalho
compartilhado eletrônico requer conhecimento das propriedades dos
espaços de trabalho do mundo real e também da maneira como
as pessoas trabalham neles. Neste aspecto, os estudos de CSCW (Computer
Supported Cooperative Work) são muito importantes, pois eles
procuram entender como as tecnologias computacionais podem ser projetadas
para suportar uma colaboração efetiva entre os usuários.
Dentre as características mais importantes
de um espaço de trabalho compartilhado podem ser citadas [Bentley
97a], [Greenberg 97]:
3. Uso de Recursos Multimedia Diretamente na Interface
Esta seção apresentará dois exemplos de como a interação na Web pode ser beneficiada com o uso da multimedia. O primeiro exemplo mostra um mecanismo de busca na Web que integra texto e imagem [Mukherjea 97]. Nesse mesmo exemplo recursos multimedia também são usados para a visualização dos resultados das buscas. O segundo exemplo mostra uma implementação não convencional de serviços como quadro de avisos e mensagens broadcast utilizando metáforas do mundo real, realizada com o uso de recursos multimedia [Seligmann 97].
3.1. AMORE - Um Sistema de Pesquisa Multimedia
O AMORE (Advanced Multimedia Oriented Retrieval Engine) [Mukherjea 97] visa superar três limitações básicas dos atuais mecanismos de busca na Web:
Além da busca por imagens, o AMORE usa mecanismos
multimedia para aprimorar a visualização dos resultados da
pesquisa. A partir dos resultados, um script CGI é utilizado
para a geração de um arquivo VRML (Virtual Reality Modeling
Language) [VRML 97] que permite a visualização
dos resultados de várias maneiras. Uma possível visualização
é pelo gráfico scatterplot, onde o eixo x mapeia
a similaridade de forma e o eixo y mapeia a similaridade de cor
(quanto maior o valor, maior a similaridade). As imagens encontradas são
representadas por cubos que serverm como links para as imagens desejadas.
O eixo z serve para separar imagens iguais. A Fig. 4 mostra um exemplo
de gráfico scatterplot construído em VRML.
Outro aspecto dos resultados de pesquisas tratado
pelo AMORE é a localização da página dentro
do seu Web site. A Fig. 5 ilustra a visão da página
do autor do AMORE dentro do seu site. Cada objeto do gráfico
é um link para a respectiva página e o tamanho do
mesmo indica a importância da página (medida pela frequência
de acesso, por exemplo).
3.2. Metáforas do Mundo Real
O estudo aqui apresentado [Seligmann
97] tem três objetivos: estudar como as pessoas interagem na
Web, criar sistemas adaptativos capazes de tornar esta interação
o mais transparente possível e integrar conteúdo e controle
na representação visual de interfaces multimedia para permitir
uma interação mais natural.
As metáforas comumente usadas em interfaces
são baseadas em sistemas de controle industrial (botões,
barras de rolagem, etc) e são eficientes na construção
de interfaces genéricas, mas o seu uso deve vir acompanhado de algum
texto explicativo (labels nos botões, por exemplo). Os autores
do referido artigo alegam que a criação de interfaces baseadas
em metáforas do mundo real aumentam a acessibilidade dos serviços
oferecidos, diminuindo a distância entre forma e função
na interface.
Para ilustrar as idéias defendidas, foram
desenvolvidos alguns serviços para a Web que usam metáforas
do mundo real como base para a interface multimedia.
Um dos serviços desenvolvidos é um
quadro de avisos em que as mensagens têm um certo tempo de vida e
estão associadas a uma região da superfície do quadro.
Essa superfície é dividida em várias áreas
e o usuário pode escrever uma mensagem em qualquer área livre
e "navegar" por toda a superfície para ler as mensagens existentes.
A metáfora encontrada para a interface deste serviço consiste
em uma praia onde os usuários podem escrever mensagens na areia.
A praia é circular, de modo que o usuário possa sempre visitar
toda a costa, andando em qualquer direção. Após o
tempo de vida da mensagem, ela é apagada por uma onda e aquela região
passa a ficar livre (Fig. 6).
A implementação é realizada
por um applet cliente que possui várias "camadas" de animação
que podem ser sobrepostas para gerar os efeitos desejados. Esse applet
é controlado por um servidor que envia parâmetros necessários
para a determinação da animação mostrada: texto
escrito, texto a ser apagado, hora do dia (de acordo com este parâmetro
a praia pode estar com o sol nascente, com o sol se pondo, escura, etc),
condições climáticas, condições da maré,
sons e outros efeitos visando tornar o ambiente mais realista e reforçar
as metáforas do mundo real.
Este quadro de avisos ainda apresenta algumas limitações.
Um exemplo é o fato de não haver estruturação
das mensagens. A resposta a uma determinada mensagem não estará
necessariamente ao lado da mesma, pois pode não haver espaço
disponível, além do ambiente não indicar o relacionamento
entre as mensagens. Outro problema diz respeito à percepção
dos usuários no ambiente. Os usuários presentes não
são representados por objetos no ambiente; a única maneira
de saber se há um usuário em determinado ponto da praia é
quando ele está escrevendo uma mensagem e ela está aparecendo
na areia. Apesar destas limitações, a ênfase do sistema
é na estética e na interatividade, servindo como um exemplo
motivador para novas experiências do gênero.
Com uma pequena alteração, o ambiente
do quadro de avisos pode ser usado para o envio de mensagens broadcast
a todos os usuários. Para isso, a mensagem é escrita no céu,
visível em todos os pontos da praia. A mensagem broadcast tem
vida mais curta que a do quadro de avisos e é precedida por um barulho
de avião para chamar a atenção dos usuários.
A Fig. 7 mostra uma mensagem broadcast sendo enviada.
4. Ambiente Virtual Compartilhado
Um ambiente virtual compartilhado (também
chamado ambiente virtual distribuído ou DVE - Distributed Virtual
Environment) é uma simulação em tempo-real de
um mundo real ou imaginário, onde usuários estão simultaneamente
presentes e podem navegar e interagir com objetos e outros usuários
[Hagsand 96].
Um DVE pode ser definido de acordo com as seguintes
características [Waters 97]:
4.1. DIVE
O DIVE (Distributed Interactive Virtual Environment)
[Carlsson 93], [Hagsand
96] é uma plataforma de software para VEs multi-usuários
que tem sido usada como toolkit para a criação de
várias aplicações. Ele foi desenvolvido pelo SICS
(Swedish Institute of Computer Science) e se enquadra na categoria
3 da seção anterior (ambiente com dados compartilhados distribuídos,
atualização ponto-a-ponto). Cada participante possui uma
réplica do mundo compartilhado (nas primeiras versões esta
réplica era total, nas versões mais recentes cada participante
tem uma réplica parcial do mundo). As mudanças são
propagadas aos outros participantes através de protocolo multicast
confiável. O uso de multicast é essencial, pois utiliza
melhor os recursos da rede, e assim reduz (indiretamente) a latência.
A base de dados é particionada em mundos.
Cada mundo representa um conjunto de objetos e parâmetros específicos,
completamente distintos de outros mundos. Cada mundo está associado
a um endereço multicast e o participante só pode estar
em um mundo de cada vez, embora possa mudar de mundo dinamicamente.
O problema de modificações concorrentes
de objetos é solucionado com um algoritmo de passagem de token:
se algum participante quiser modificar um objeto que está sendo
modificado, ele fica bloqueado até receber o token. Os participantes
podem se comunicar por texto e áudio.
Quando um novo participante deseja entrar no mundo,
ele contacta o endereço multicast daquele mundo e recebe
réplica atualizada do mundo, vinda do participante que estiver mais
perto.
A questão da percepção dos
usuários é bem tratada no DIVE. Usuários podem ser
representados de várias maneiras, desde formas mais simples, que
apenas informam presença, localização e orientação
até formas mais complexas, que mapeiam uma foto estática
do usuário na cabeça do avatar. A atividade do usuário
também é identificada por meio de uma linha que liga o avatar
ao ponto de manipulação e também pela mudança
de cor dos objetos manipulados.
O funcionamento do DIVE é semelhante ao VRML
2.0. O mundo é definido por uma linguagem baseada em hierarquias
de nós; comportamentos podem ser associados aos objetos do mundo
através de scripts Tcl e a visualização é
feita por software específico que pode ser usado como helper
application dos Web browsers convencionais.
4.2. NPSNET
O NPSNET-IV foi o primeiro DVE que incorporou o protocolo
DIS (Distributed Interactive Simulation) e o IP Multicast
para simulações multi-usuários na Internet [Macedonia
94]. O DIS é um grupo de padrões, desenvolvido pelo Departamento
de Defesa dos EUA e parceiros da indústria, que envolve arquitetura
de comunicação, formato e conteúdo de dados, gerenciamento
de simulação, medidas de desempenho, segurança, fidelidade,
feedback, etc. O objetivo é prover uma estrutura básica
capaz de unir as diferentes plataformas de hardware e software
que compõem os DVEs com grande número de usuários.
O NPSNET usa o paradigma de players e ghosts.
Nesse paradigma, cada objeto do mundo virtual é controlado em seu
próprio host por um objeto de software chamado player.
Nas outras máquinas, o objeto do mundo é controlado por um
objeto chamado ghost. O ghost calcula a posição
do objeto através de um algoritmo de dead-reckoning. O player
verifica a posição real do objeto e a calculada pelo dead-reckoning.
Quando estas duas posições ultrapassarem uma diferença
limite ou já se tenha passado um certo tempo desde a última
atualização (geralmente 5 segundos), o player envia
uma mensagem aos ghosts, corrigindo a posição do objeto.
O objetivo do dead-reckoning é reduzir o tráfego na
rede, ao preço de uma computação extra no host.
Uma das características do DIS é não
ter um servidor central, por isso todos os dados sobre um objeto devem
ser transmitidos quando seu estado muda. Quando um novo usuário
entra no ambiente, ele só vai ter conhecimento do estado atual do
ambiente após um certo tempo, quando ele tiver recebido mensagens
de atualização de todos os objetos. Isso exige que atualizações
sejam enviadas de tempos em tempos mesmo para objetos que não mudaram
de estado. Essa, aliás, é uma das grandes limitações
do DIS, pois muitas vezes são enviadas informações
redundantes (todos os dados sobre um objeto devem ser transmitidos) ou
desnecessárias (informação sobre objetos muito distantes
ou fora do campo de visualização). A alternativa encontrada
para resolver esta limitação é a utilização
de áreas de interesse, onde os participantes recebem atualizações
apenas de objetos dentro de sua área de interesse [Macedonia
95].
4.3. Community Place
O Community Place [Lea 97a], [Lea 97b] é um sistema VRML multi-usuário desenvolvido pela Sony, que consiste em um browser para VRML 2.0, uma arquitetura de servidor multi-usuário e um ambiente de suporte à aplicação. Este é um exemplo de sistema desenvolvido pela comunidade da Internet, com o objetivo de atingir um número elevado de usuários geograficamente dispersos e interconectados por links de baixa banda de passagem e alta latência. A arquitetura básica do sistema é mostrada na Fig. 12.
4.4. Open Community
O Open Community [Yerazunis
97] é um projeto desenvolvido pelo MEITCA (Mitsubishi Electric
Information Technology Center America), baseado na tecnologia SPLINE
(Scalable Platform for Large Interactive Networked Environments),
implementada pela própria Mitsubishi. O Open Community é
uma biblioteca de software, em C ou Java, projetada para prover
os serviços necessários para a construção de
ambientes cooperativos multi-usuários. A biblioteca se encarrega
de tarefas como comunicação na rede, filtragem por região
de interesse, transporte de áudio em tempo-real, transporte de objetos
grandes ou complexos (modelos VRML, por exemplo) independentemente da aplicação,
dentre outras. Do ponto de vista de uma aplicação executada
sobre o Open Community, todos estes serviços são vistos
como uma base de objetos compartilhados. A arquitetura do sistema é
ilustrada na Fig. 14. A aplicação enxerga a base de dados
(World Model) e os métodos de acesso da API; a biblioteca
se encarrega da conexão com o protocolo UDP Multicast padrão
da Internet.
4.5. DWTP
O DWTP (Distributed Worlds Transfer and communication
Protocol) [Broll 97a], [Broll
98] é um protocolo de camada de aplicação para
DVEs na Internet, construído sobre protocolos padrões, tais
como TCP/IP e UDP/IP (unicast e multicast). Ele surgiu a
partir de uma proposta submetida ao VRML Architecture Group para
a padronização do VRML 2.0 com suporte multi-usuário
[Broll 96]. Como esta não foi a proposta
escolhida para a padronização do VRML 2.0, os projetistas
do DWTP tiveram de se adaptar e criaram um protocolo independente do conteúdo
da aplicação (isto é, que não é limitado
a uma versão específica da VRML). Além disso, assim
como o Open Community, o DWTP tem por objetivo evitar com que os
programadores de aplicações tenham que lidar com as camadas
inferiores da rede.
O DWTP usa o IP Multicast como protocolo
de comunicação entre todos os participantes do mundo virtual.
Todos os usuários são iguais e podem enviar eventos diretamente
aos outros participantes (arquitetura ponto-a-ponto). No entanto, existe
uma espécie de servidor, chamado multiuser daemon (MUD),
que serve de referência para a conexão de novos usuários
e reconexão de usuários que ficaram temporariamente desconectados.
O MUD tem uma cópia sempre atualizada do mundo virtual e funciona
como um home do mesmo (especificado por um URL). Além desta
função, o MUD também é responsável pela
supervisão da presença dos usuários conectados e por
mecanismos de manutenção de consistência (bloqueio
em acessos concorrentes a um objeto, por exemplo). A distribuição
de mensagens no DWTP é ilustrada na Fig. 15.
Quando um novo participante deseja se conectar a
um mundo virtual, especificado por um URL, ele primeiro se conecta ao MUD
por meio de uma conexão TCP/IP, que é confiável (Fig.
16). A descrição atualizada do mundo (em VRML) é então
transmitida ao novo participante. No entanto, durante esta fase de transmissão,
novas mensagens podem ter chegado ao MUD para novas alterações
no mundo. Para evitar inconsistências, o MUD cria uma fila de mensagens
e espera até o final da transmissão para ser atualizado,
quando então ele também as envia para o novo particpante,
que fica consistente com o MUD e demais participantes. O novo participante
também recebe do MUD o endereço e porta do grupo multicast
onde ele deve se conectar para receber as mensagens de atualização
do mundo. Quando ele se conecta a este endereço, a conexão
TCP/IP com o MUD é fechada.
A transmissão
de áudio e vídeo é feita por grupos multicast adicionais,
de modo a não sobrecarregar os servidores (MUD, proxy e relay)
e não diminuir a prioridade de mensagens de atualização
dos objetos.
Outro mecanismo usado para diminuir o tráfego
de mensagens é dividir os mundos em zonas ou células, de
modo que os participantes recebam apenas mensagens sobre o conteúdo
de algumas células. O MUD é responsável pela determinação
de grupos multicast e portas para as células. Em ambientes
com grande número de usuários, diferentes células
podem estar localizadas em hosts diferentes, cada um com seu próprio
MUD (Fig. 18).
4.6. Outros
Um DVE "clássico", frequentemente citado na
literatura é o MASSIVE (Model, Architecture and System for Spatial
Interaction in Virtual Environments) [Greenhalgh
95]. O mecanismo utilizado para facilitar a escalabilidade e controlar
a interação entre os participantes é baseado no conceito
de aura, o mesmo utilizado no Community Place (a arquitetura deste,
por sinal, foi bastante influenciada pelo MASSIVE). Uma característica
inovadora do MASSIVE foi a utilização de spatial traders
para gerenciar a colisão de auras (indicando possibilidade de interação
entre objetos). Para explicar o funcionamento do spatial trader,
considere dois objetos de um mundo virtual. Ao entrar no mundo, o primeiro
objeto contacta o trader (chamado gerenciador de aura) e declara
suas interfaces como serviços que ele oferece (aqui interface é
definida como uma combinação de RPCs, atributos e streams).
O segundo objeto, entrando posteriormente no mundo, faz a mesma coisa.
Cada gerenciador de aura monitora todas as auras de objetos que ele conhece
e, detectando colisão, passa as referências das interfaces
aos objetos envolvidos, o que permite a eles estabelecer a conexão
ponto-a-ponto. Toda a comunicação no MASSIVE é feita
via conexões entre pares de interfaces, que provêem um contexto
no qual as mensagens podem ser interpretadas (há interface para
áudio, texto e imagem). O modelo é, portanto, uma mistura
de cliente-servidor (entre os objetos e o gerenciador de aura) e ponto-a-ponto
(entre os objetos do mundo). Com relação à percepção
dos usuários o MASSIVE é abrangente, permitindo aos usuários
definir seus avatars, provendo também alguns padrões
que indicam a capacidade de comunicação dos usuários,
o que é muito importante em ambientes heterogêneos (usuários
com capacidade de áudio tem ouvidos, por exemplo).
O AVIARY [Snowdon 94] é
outro DVE bastante citado na literatura. Ele é baseado na comunicação
ponto-a-ponto e na orientação a objetos. Superficialmente,
é possível dizer que um ambiente AVIARY é uma coleção
de objetos autônomos executados concorrentemente. Todos esses objetos
escondem sua implementação sob uma interface externa e dividem
um meio de comunicação para troca de mensagens. A representação
orientada a objetos tem algumas vantagens sobre a base de dados compartilhada
usada no DIVE, por exemplo. Uma dessas vantagens é o fato de objetos
proverem unidades convenientes de paralelismo, podendo ser distribuídos
entre vários processadores além de possibilitarem balanceamento
transparente de execução entre os vários processadores.
Além dos objetos de software que implementam objetos do mundo virtual,
há objetos especiais para os usuários, para dispositivos
de entrada e saída, para gerenciamento do mundo, detecção
de colisão, e gerenciamento dos objetos distribuídos. Embora
ainda não tenha aparecido na literatura, a arquitetura do AVIARY
tem grande potencial para ser utilizada numa implementação
de DVE via CORBA.
Outro DVE orientado a objetos é o SpaceFusion
[Sugano 97]. O SpaceFusion é baseado
no modelo cliente-servidor, mas permitindo a existência de vários
servidores. Para resolver o problema de sobrecarga dos servidores, uma
filtragem de comunicação baseada em regiões é
adotada. Os clientes podem se conectar a vários servidores simultaneamente,
e as informações dos diferentes servidores são "fundidas"
e apresentadas pelo browser. Um exemplo de fusão é
ilustrado na Fig. 19: há um servidor com o mapa da cidade e outro
servidor com informações sobre o trânsito; o resultado
da fusão é a cidade virtual com o trânsito. Há
dois elementos básicos no SpaceFusion: entidade e região.
Entidades são praticamente todos os objetos da arquitetura e podem
enviar e receber mensagens, ter seus próprios comportamentos e migrar
para outras regiões. Entidade, portanto, é a unidade de comunicação,
comportamento e distribuição do sistema. Apesar da arquitetura
com múltiplos servidores, ainda há a necessidade de dividir
o mundo em regiões para diminuir o tráfego de mensagens e
sobrecarregar menos os servidores. Informações sobre objetos
de uma determinada região são enviadas apenas para objetos
localizados na mesma região. O interessante no conceito de região
é que pode haver mais de uma região ocupando o mesmo lugar
no espaço (nesse caso o usuário escolhe qual deseja visualizar)
e também é possível implementar o conceito de aura,
"colando" uma região a um usuário.
Caminhando em direção a uma futura extensão de VRML com suporte multi-usuário, o VSPLUS [Araki 98] é uma biblioteca de extensão que pretende facilitar a criação de ambientes multi-usuários a partir de ambientes padrões VRML (um único usuário) sem esforço extensivo de programação. Esta biblioteca é implementada para o sistema Community Place e se baseia no conceito de netnodes, que são extensões multi-usuários dos nós VRML. A extensão de um mundo VRML para suporte a vários usuários é feita em duas etapas. Na primeira etapa é escolhido o local na cadeia de eventos (ROUTEs) onde ele será transmitido aos outros usuários. Na segunda etapa, insere-se um netnode no local escolhido, e ele se encarrega de enviar o evento a todos os browsers que compartilham o mesmo mundo virtual (Fig. 20).
Uma arquitetura em camadas para suporte geral a DVEs
na Internet é apresentada em [Wray 98]. A
camada inferior é a camada de rede, dividida em servidores de zonas.
A zona é a unidade de construção dos mundos, e representa
uma coleção de objetos de interesse para os participantes
do DVE. Acima da camada de rede se encontra a camada do KNS (Keryx Notification
System), usado como meio de comunicação em alternativa
ao IP Multicast, usado comumente nos outros DVEs. Acima da camada
KNS está o VRML browser, que pode ser dividido em três
subcamadas de acordo com a proposta do Living Worlds [LW
97]: MUtech, Living Worlds e mundo VRML. A camada MUtech separa
a tecnologia multi-usuário da descrição do mundo virtual.
A proposta Living Worlds não se preocupa com a tecnologia
utilizada para o suporte multi-usuário, desde que certas restrições
semânticas sejam obedecidas. A camada Living Worlds
acrescenta os nós suplementares ao mundo VRML padrão (camada
mais alta).
5. Internetworked Graphics
O suporte à exploração colaborativa
e visualização da Internet e da Web requer uma integração
entre as áreas de computação gráfica e de redes
de telecomunicações. O conceito de internetworked graphics
[Rhyne 97] descreve a futura junção
e dependências entre estas duas áreas de estudo, hoje consideradas
disciplinas distintas.
O conceito de internetworked graphics pode
ser visto a partir de seis perspectivas:
6. Tele-imersão
Tele-imersão é definida como uma efetiva combinação de [Tele-imersão 97]:
Neste trabalho foram apresentadas algumas tendências
que poderão aprimorar a eficiência da interação
dos usuários com aplicações na Web. As cinco tendências
aqui apresentadas foram escolhidas por aparecerem com cada vez maior frequência
em publicações da área. No entanto, interação
é um tema bastante abrangente e as tendências aqui apresentadas
certamente não são as únicas existentes. Também
não é possível afirmar com veemência que alguma(s)
dessas tendências se tornará(ão) o padrão para
a interação na Web. Tudo o que se pode afirmar é que
baseado na tecnologia e na literatura atual, essas tendências têm
boas possibilidades de se tornarem peças fundamentais nas futuras
interfaces para a Web. Entretanto, até mesmo as tendências
podem ser superadas por alguma tecnologia inovadora que nunca foi considerada
tendência...
8. Referências
[Araki 98] Y. Araki. VSPLUS: A High-level Multi-user Extension Library For Interactive VRML Worlds. VRML 98 Conference. 1998. http://ece.uwaterloo.ca:80/vrml98/cdrom/papers/araki/araki.pdf
[Barrus 96] J. W. Barrus, R. C. Waters and D. B. Anderson. Locales: Supporting Large Multiuser Virtual Environments. IEEE Computer Graphics and Applications, 16(6): 50-57. November 1996.
[Benford 95] S. Benford, J. Bowers et al. User Embodiment in Collaborative Virtual Environments. Proc. of CHI'95 (ACM SIGCHI Conf. on Human Factors in Computing Systems). 1995. http://www.acm.org/sigchi/chi95/proceedings/papers/sdb_bdy.htm
[Bentley 97a] R. Bentley, W. Appelt et al. Basic support for cooperative work on the World Wide Web. Int. J. Human-Computer Studies Vol. 46, pp. 827-846. 1997.
[Bentley 97b] R. Bentley and W. Appelt. Designing a System for Cooperative Work on the World-Wide Web: Experiences with the BSCW System. Proc. of the 30th. Annual Hawaii Intl. Conf. on System Sciences - Vol. IV, pp. 297-306. 1997.
[Broll 96] W. Broll. VRML and the Web: A Basis for Multi-User Virtual Environments on the Internet. Proc. of WebNet'96 (World Conf. of the WWW, Internet & Intranet). 1996. http://aace.virginia.edu/aace/conf/webnet/html/138/138.htm
[Broll 97a] W. Broll. Bringing People Together - An Infrastructure for Shared Virtual Worlds on the Internet. Proc. of the IEEE WE-TICE'97 (Sixth Intl. Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises), pp. 199-204. 1997.
[Broll 97b] W. Broll. Populating the Internet: Supporting Multiple Users and Shared Applications with VRML. VRML 97 Conference. 1997. http://www.stl.nps.navy.mil/vrml97cd/papers/broll.pdf
[Broll 97c] W. Broll. Distributed Virtual Reality for Everyone - a Framework for Networked VR on the Internet. Proc. of VRAIS'97 (IEEE Virtual Reality Annual Intl. Symposium), pp. 121-128. 1997. http://orgwis.gmd.de/~broll/papers/VRAIS97.ps.gz
[Broll 98] W. Broll. DWTP - An Internet Protocol For Shared Virtual Environments. VRML 98 Conference. 1998. http://ece.uwaterloo.ca:80/vrml98/cdrom/papers/broll/broll.pdf
[Carlsson 93] C. Carlsson and O. Hagsand. Dive - A Platform for Multi-User Virtual Environments. Computer & Graphics, 17(6): 663-669. 1993.
[DeFanti 97] T. DeFanti and M. Brown. Tele-Immersion eliminates the barriers of space and time. WICCS'97 (Workshop on International Collaboration in Computer Science). 1997. http://www.cse.ogi.edu/CSLU/wiccs97/brown_defanti.html
[Dennis 97] A. R. Dennis, S. K. Pootheri and V. Natarajan. TCBWorks: A First Generation Web-Groupware System. Proc. of the 30th. Annual Hawaii Intl. Conf. on System Sciences - Vol. II, pp. 167-176. 1997.
[Greenberg 97] S. Greenberg. Collaborative Interfaces for the Web. In "Human Factors and Web Development", C. Forsythe, E. Grose and J. Ratner (Eds.), LEA Press. 1997. http://www.cpsc.ucalgary.ca/grouplab/papers/97-HumanFactorsWeb.LeaPress/HumanFactors+Web.html
[Greenhalgh 95] C. Greenhalgh and S. Benford. MASSIVE: a Distributed Virtual Reality System Incorporating Spatial Trading. Proc. of the 15th ICDCS'95 (Intl. Conf. on Distributed Computing Systems), pp. 27-34. 1995. ftp://ftp.crg.cs.nott.ac.uk/pub/papers/DCS95.ps.gz
[Hagsand 96] O. Hagsand. Interactive Multiuser VEs in the DIVE System. IEEE Multimedia, 3(1): 30-39. Spring 1996.
[Hagsand 97] O. Hagsand, R. Lea and M. Stenius. Using Spatial Techniques to Decrease Message Passing in a Distributed VE System. VRML 97 Conference. 1997. http://www.stl.nps.navy.mil/vrml97cd/papers/hagsand/hagsand.pdf
[Hanss 97] T. Hanss. Internet2: Building and Deploying Advanced, Networked Applications. Cause/Effect, 20(2). Summer 1997. http://www.cause.org/information-resources/ir-library/html/cem9722.html
[Ibrahim 97] B. Ibrahim. Use of HTML forms in complex user interfaces for server-side applications. Int. J. Human-Computer Studies Vol. 46, pp. 761-771. 1997.
[Kothari 97] J. Kothari, E. Grossman and S. Mehrotra. Neighborhoods: A Framework For Enabling Web Based Synchronous Collaboration And Hierarchical Navigation. Proc. of the 30th. Annual Hawaii Intl. Conf. on System Sciences - Vol I, pp. 666-675. 1997.
[Lea 97a] R. Lea, Y. Honda and K. Matsuda. Virtual Society: Collaboration in 3D Spaces on the Internet. Computer Supported Cooperative Work: The Journal of Collaborative Computing 6: 227-250. 1997.
[Lea 97b] R. Lea, Y. Honda et al. Community Place: Architecture and Performance. VRML 97 Conference. 1997. http://www.stl.nps.navy.mil/vrml97cd/papers/lea.pdf
[Lee 96] J. H. Lee, A. Prakash et al. Supporting Multi-User, Multi-Applet Workspaces in CBE. Proc. of CSCW'96 (ACM Conf. on Computer Supported Cooperative Work), pp. 344-353. 1996.
[LW 97] Living Worlds working group. Living Worlds specification, Draft 2. 1997. http://www.livingworlds.com/
[Macedonia 94] M. R. Macedonia, M. J. Zyda et al. NPSNET: A Network Software Architecture for Large Scale Virtual Environments. Presence, 3(4). Fall 1994. MIT Press. http://www.npsnet.nps.navy.mil/npsnet0/publications.html
[Macedonia 95] M. R. Macedonia, M. J. Zyda et al. Exploiting Reality with Multicast Groups. IEEE Computer Graphics and Applications, 15(5): 38-45. September 1995.
[Macedonia 97] M. R. Macedonia, M. J. Zyda. A Taxonomy for Networked Virtual Environments. IEEE Multimedia, 4(1): 48-56, Jan-Mar 1997. http://www.npsnet.nps.navy.mil/npsnet0/publications.html
[Mukherjea 97] S. Mukherjea, K. Hirata and Y. Hara. Towards a Multimedia World-Wide Web Information Retrieval Engine. Proc. of the Sixth Intl. World Wide Web Conf. 1997. http://www6.nttlabs.com/HyperNews/get/PAPER3.html
[Palfreyman 96] K. Palfreyman and T. Roden. A Protocol for User Awareness on the World Wide Web. Proc. of CSCW'96 (ACM Conf. on Computer Supported Cooperative Work), pp. 130-139. 1996.
[Rhyne 97] T. M. Rhyne, D. Brutzman and M. Macedonia. Internetworked Graphics and the Web. IEEE Computer, 30 (8): 99-101. Aug. 1997.
[Rice 96] J. Rice, A. Farquhar et al. Using the Web Instead of a Window System. Proc. of CHI'96 (ACM SIGCHI Conf. on Human Factors in Computing Systems), pp. 103-110. 1996.
[Seligmann 97] D. D. Seligmann, C. Laporte and S. V. Bugaj. The Message is the Medium. Proc. of the Sixth Intl. World Wide Web Conf. 1997. http://www6.nttlabs.com/HyperNews/get/PAPER119.html
[Snowdon 94] D. N. Snowdon and A. J. West. The AVIARY VR-system. A Prototype Implementation. 6th ERCIM Workshop, 1994. ftp://ftp.crg.cs.nott.ac.uk/pub/dns/aviary/aviary-ercim94.ps.gz
[Sugano 97] H. Sugano, K. Otani et al. SpaceFusion: A Multi-Server Architecture For Shared Virtual Environments. VRML 97 Conference. 1997. http://www.stl.nps.navy.mil/vrml97cd/papers/sugano.pdf
[Tele-imersão 97] Tele-Immersion - Internet2 Project. http://www.internet2.edu/html/tele-immersion.html
[VRML 97] VRML Consortium. The Virtual Reality Modeling Language Specification. International Standard ISO/IEC DIS 14772-1. 1997. http://www.vrml.org/Specifications/VRML97.
[Waters 97] R. C. Waters and J. Barrus. The Rise of Shared Virtual Environments. IEEE Spectrum, 34(3), March 1997. http://www.meitca.com/opencom/spectrum/
[Woo 94] T. K. Woo and M. J. Rees. A Synchronous Collaboration Tool for World-Wide Web. Proc. of the Second World Wide Web Conference: Mosaic and the Web. 1994. http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/CSCW/rees/SynColTol.html
[Wray 98] M. Wray and R. Hawkes. Distributed virtual environments and VRML: an event-based architecture. Proc. of the Seventh Intl. World Wide Web Conf. 1998. http://www7.conf.au/programme/fullpapers/1836/com1836.htm
[Yerazunis 97] B. Yerazunis and B.
Perlman. High Level Overview of Open Community - Comforting Lies.
Mitsubishi Electric Information Technology Center America (MEITCA). 1997.
http://www.meitca.com/opencom/ov.html