Unicamp - Universidade Estadual de Campinas

Faculdade de Engenharia Elétrica e Computação

 

                                                

IA368F - Tópicos em Engenharia de Computação V

Tecnologias da Infraestrutura de Informação em Ambientes Colaborativos de Ensino

 

 

Interação na Web - Visão Geral

 

 

                                                                      Jefferson Blaitt RA 973528

 

 

                                                

                                                

Resumo

 

A recente explosão na popularidade do uso da World Wide Web e consequentemente do Hypertext Markap Language (HTML) e do Hypertext Transfer Protocol (HTTP) possibilita uma nova oportunidade de implementar acesso distribuído a sofisticadas aplicações de software. Entretanto, as estruturas do HTTP e HTML colocam diversos obstáculos para o desenvolvimento de interfaces de uso. Neste artigo são abordados aspectos do desenvolvimento de aplicações na Web e os modelos de interação atualmente disponíveis nas ferramentas de programação.

 

 

Introdução

 

Deste os princípios da utilização de sistemas computacionais o relacionamento homem-computador tem sido alvo de diversos estudos, em sua maioria voltados para pesquisas de novas formas de interação humano-computador. Nos últimos anos, com o advento da World Wide Web criou-se o conceito de interatividade digital, através dos hipertextos, onde o utilizador (usuário) participa ativamente do processo de concepção do conteúdo alterando a sua estrutura conforme a sua conveniência.

 

O objetivo deste trabalho é proporcionar uma visão geral sobre a interação na World Wide Web através de textos coletados na própria Web e em publicações específicas citadas na bibliografia.

 

Conceitos

 

“Interatividade é hoje em dia uma palavra de ordem no mundo da comunicação eletrônica. . O que compreendemos hoje por interatividade, nada mais é que uma nova forma de interação técnica, caracterizada basicamente pelo inter-relacionamento entre o homem e o computador. Nós experimentamos, todos os dias, formas de interação ao mesmo tempo técnica e social.” [LEM97]

 

“Nossa relação com o mundo é uma relação interativa de cunho social, onde ações variadas correspondem retroações as mais diversas, essa interação funda toda vida em sociedade. O que vemos hoje, com as tecnologias digitais, não é a criação da interatividade propriamente dita, mas de processos baseados em manipulações de informações binárias que caracterizam a interação técnica” [LEM97].

 

A definição de interação pode ser buscada em um dicionário: "Ação que se exerce mutuamente entre duas ou mais coisas, ou duas ou mais pessoas; ação recíproca. (Aurélio, 2a Edição)"; esta definição implica que para que haja interação é necessário, no mínimo, dois elementos exercendo ações entre eles. Atualmente, as ferramentas disponíveis para desenvolvimento de aplicações na Web não possibilitam classificar o uso da Internet como totalmente interativa. As ações no mundo Web são em sua grande maioria de iniciativa do usuário, cabendo a aplicação apenas o papel de retroação, ou seja, responder as iniciativas do usuário.

 

Para caracterizar um ambiente interativo seria necessário que as aplicações também iniciassem "ações" em relação ao usuário,caracterizando uma "ação recíproca" entre os elementos da interação. Para tanto seria necessário um "sentimento" da aplicação em relação as ações do outro, ou seja, do usuário da aplicação. A interação homem-máquina, tem evoluído, a cada ano, no sentido de uma relação mais ágil e confortável. Vivemos hoje a época da comunicação planetária, fortemente marcada por uma interação com as informações, cujo ápice é a realidade virtual.

 

“A interatividade digital caminha para a superação das barreiras físicas entre os agentes (homens e máquinas), e para uma interação cada vez maior do usuário com as informações, e não com objetos no sentido físico. Essa nova qualidade da interatividade, como os computadores e o ciberespaço, vai afetar de forma radical a relação entre o sujeito e o objeto no mundo contemporâneo” [LEM97].

 

Portanto, a interface tem um papel fundamental na interatividade, sendo definida como “o espaço onde essa pode realizar-se” [LEM97]. Ou como citado em [BAI95], a interface têm como função "traduzir, articular espaços, colocar em comunicação duas realidades diferentes". A interatividade seria então uma espécie de "conversação entre o homem e a técnica através das interfaces” [LEM97].

 

 

Hipertextos e os obstáculos impostos pelo HTTP e HTML

 

“A interatividade digital, a partir dos hipertextos, fez com que os autores mudassem suas formas de concepção dos conteúdos de seus produtos. O hipertexto deixa livre o utilizador para que ele participe também do processo de concepção. Estabelece-se, dessa forma, um processo não-linear de concepção e de utilização (interatividade) dos conteúdos. Os hipertextos, mostram bem esse processo de interatividade digital. Hipertextos são informações textuais, combinadas com imagens (animadas ou fixas) e sons, organizadas de forma a promover uma leitura, ou navegação, não-linear, baseada em indexações e associações de idéias e conceitos, sob a forma de "links". Os "links" agem como portas virtuais que abrem caminhos para outras informações” [LEM97].

 

Entretanto, há somente duas maneiras para que um browser transmita informação ao servidor (isto é, a aplicação), selecionando uma âncora pode-se transmitir o estado atual e até que uma tecla de submeter seja ativada, não é possível para o servidor determinar qualquer coisa sobre as atividades intermediárias que um usuário pode executar, como datilografar um texto em um campo da entrada, selecionar artigos dos menus, mover o mouse, etc . A única maneira para que a aplicação (servidor) transmita a informação a um browser é em resposta a uma ação iniciada pelo usuário. Além disso, há uma diferença fundamental entre o tipo de interação suportado por HTML e os formulários da interação com qual nós todos somos acostumados em relações de usuário gráficas. Em GUIs, as operações típicas sobre formulários permitem ao usuário a seleção de um operando ou os operandos são manipulados diretamente através de uma seleção de menus ou de uma tecla de atalho.

 

Em interfaces de usuário baseadas em HTML, não há como selecionar objetos antecipadamente. Há, de fato, dois formulários da interação disjuntos: 1- A página do usuário é sobre é vista como um operando implícito, e consequentemente o usuário pode selecionar um comando aplicar a esse operando. O usuário pode mudar o operando atual clicando em um objeto e indo à página para esse objeto, onde o objeto o usuário selecionado se transformará o operando implícito atual para uns comandos mais adicionais. 2- A semântica de uma ligação simples pode localmente ser mudada de modo que um comando particular seja aplicado ao operando nomeado dentro da ligação. Isto tem a conseqüência de potencialmente desconcertante porque os usuários da Web são condicionados a esperar que uma ligação normal fará o exame do objeto selecionado.

 

Conseqüentemente, é atualmente impossível executar muitas características de interfaces sofisticadas sobre a Web. Por exemplo, em um menu de seleção, não é possível para a aplicação caracterizar as opções que estão no momento indisponíveis. Além disso, não pode haver nenhuma manipulação direta dos objetos tais como os que podem ser encontrados em uma classe de browser gráfico. Finalmente, não é possível para a aplicação a previsão da atividade do browser ou possibilitar comunicação assíncrona. No exemplo, não é possível notificar o usuário assincronamente sobre os resultados de uma tarefa feita em background ou lembrar-lhe de salvar o seu trabalho.

 

Além disso, um número crescente de browsers da Web de uma variedade das instituições e fabricantes fazem extensões não padronizadas aos protocolos publicados. Estes browsers fornecem diferentes níveis de suporte as características dos protocolos. Felizmente, o protocolo fornece um meio para browsers identificar-se, que reserve usuários tais como nossos a ser sensíveis a algumas das distinções entre elas.

 

Uma característica original de browsers da Web é armazenar páginas previamente vistas e permitir que o usuário revisite estas páginas sem notificar o servidor. Em aplicações interativas disponibilizadas, estas " páginas previamente vistas " podem representar estados iniciais em um diálogo com o usuário. Consequentemente, o browser permite que o usuário viaje para trás no tempo a um estado anterior da interação e possibilite executar os comandos da maneira como eram apresentados então. Como o estado dos dados no servidor pode ter mudado como um resultado das interações do usuário com o servidor, transações incoerentes podem resultar. Há duas maneiras alternativas para aplicações manipularem este problema. As aplicações devem suportar time-travel, ou devem sempre refletir o estado o mais recente. Como exemplo, suponha que um usuário solicite, em um diálogo, a eliminação de um objeto e em seguida retorne a uma página em que o objeto estará presente. Se o usuário selecionar o objeto suprimido que está representado nessa página, a aplicação deve desfazer a eliminação ou, de alguma forma, o relatar simpaticamente o erro.

 

A interação através do Java

 

Apesar de oferecer possibilidades antes não imaginadas, a Web era "só para ver", não havendo uma interatividade real. Com o surgimento da linguagem Java começaram a aparecer páginas que se mexiam, outras que traziam jogos interativos, apostilas on-line que utilizavam exemplos animados e interativos para explicar um conceito, e assim por diante. Com Java a houve um avanço significativo na interação na Web.[BOM97]

 

A linguagem Java foi projetada para se adaptar a um ambiente dinâmico, em constante evolução. Possui uma representação de  tempo de execução que permite que o programa saiba a classe a que pertence um objeto, na hora em que o recebe, durante a execução. Isso permite a inclusão dinâmica de classes que podem estar em qualquer lugar da Internet. Java também suporta a integração com métodos nativos de outras linguagens. Desta forma, podem surgir em breve aplicativos híbridos em Java e C++, aproveitando o grande volume de código existente hoje em C++. [BOM97]

 

Outra possibilidade é o uso de scripts através do JavaScript, onde é possível introduzir recursos de interatividade em uma página Web, fazer animações, imagens clicáveis independentes de CGI e muita coisa que se faz com applets. No entanto, as limitações do JavaScript são maiores. JavaScript não é compilada, mas interpretada bloco-a-bloco pelo browser. Como um programa JavaScript só existe dentro de um arquivo HTML, não existem aplicações JavaScript independentes de browser, como em Java. [BOM97]

 

Contudo, mesmo com as evidentes vantagens da utilização do Java, não é ainda possível o desenvolvimento de aplicações altamente interativas na Web.

 

VRML - Uma linguagem para a interação

 

VRML (Virtual Reality Modeling Language) é uma linguagem utilizada na construção de simulações de ambientes tridimensionais, multiusuário, interligados na via Internet. Todos os aspectos de descrição de mundos virtuais podem ser endereçados pela linguagem. Com o VRML pode-se, além de criar modelos de interação, acessar bancos de dados de modelos tridimencionais.

 

O desafio da especificação VRML era desenvolver uma linguagem onde fosse possível a independência de plataforma, extensibilidade e habilidade para trabalhar em condições de pequena largura de banda. Caracteristivas fundamentais para aplicações na Web.

 

Para o mais alto nível de abstração, VRML é apenas um caminho para leitura e escrita de objetos. Teoricamente, os objetos podem conter qualquer coisa, tais como: 3-D geométrico, dados MIDI, imagens JPEG e outros. VRML define um conjunto de objetos úteis para fazer gráficos em 3-D. Esses objetos são chamados de Nodes.

 

Nodes são arranjados dentro de estruturas hierárquicas chamadas cenários gráficos. Estes são mais que apenas uma coleção de nodes, pois definem a ordem para os mesmos. Nodes anteriores de uma cena, podem simular aqueles que aparecerão posteriormente. Um mecanismo é definido para limitar os efeitos de propriedade (nodes separados), permitindo que partes de uma cena gráfica seja funcionalmente isolada de outras partes.

 

A linguagem VRML define classes distintas de nodes. A maioria dos nodes podem ser classificados em 1 das 3 categorias: Formato (define a geometria da cena); Propriedade (simulam as formas do desenho); Grupo (reúne os outros nodes permitindo uma coleção dos mesmos, que serão considerados como um único objeto)

 

Extensões para VRML são suportadas por nodes que possuem suporte de descrições próprias. Nodes que não são parte do padrão VRML devem ser escritos fora da descrição de seus primeiros campos, assim, todas as implementações são capazes de detectar e ignorar as extensões.

 

 

Conclusão

 

Neste trabalho foi apresentada uma visão geral dos conceitos que envolvem interação entre o usuário e o ambiente Web. Foram abordados principalmente os aspectos tecnológicos relacionados com o desenvolvimento de aplicações na rede. Hoje, a evolução da interface homem-computador atinge seu ponto máximo com a realidade virtual, sistemas simulados de ambientes em três dimensões com alto grau de interação. Podemos afirmar que o caminho para a total abrangência da Web passa pela adequação dessas tecnologias as necessidades de cada um, possibilitando um maior número de usuários

 

 

Referências Bibliográficas

 

 

[LEM97] Lemos, André L. M.. Anjos Interativos e retribalização do mundo. Sobre interatividade e interfaces digitais. Revista Tendências XXI. Lisboa, Portugal. 1997. disponível em http://www.facom.ufba.br/ciberpesquisa/lemos/interac.html

 

[BAI95] Bairon, S., "Multimídia"., São Paulo, Global Editora, 1995.

 

[RIC96]Using the Web Instead of a Windows System

James Rice, Adam Faquhar, Philippe Piernot, Thomas Gruber

Knowledge System Laboratory - Stanford, CA

http://www.acm.org/sigchi/chi96/proceedings/papers/Rice/jpr_txt.htm

 

[BOM97] Bonaccini, Alexandre. O que é Java?. jun/1997. disponível em http://orbita.starmedia.com/~bonacinis/java.html

 

[SPEC]VRML Consortium - Standards and Specifications

http://www.vrml.org/Specifications

 

[ICE]Interactive Conference Environment (ICE)

http://www.songline.com

 

[BYO98] Byous, Jon. Steinberg, Daniel. Tour The Future In Java Technology Town. disponível em http://www.java.sun.com/features/1998/04/javatechtown.html