Recursos avançados no WWW

Recursos avançados no WWW

Ao se avaliar a efetividade do uso do WWW no ensino à distância é imprescindível a realização de um estudo e avaliação das várias ferramentas disponíveis para prover recursos avançados no WWW, tais como interatividade, animações, simulações e mundos virtuais a este serviço. Assim, neste capítulo serão apresentados os Forms/CGI (Common Gateway Interface), bem como as linguagens Java, Javascript e VRML (Virtual Reality Modeling Language). Serão apresentados os fatores relevantes na avaliação destas ferramentas para verificar se o seu uso tem o potencial de prover um hiperdocumento interativo, eficiente e de alta de qualidade, e no final será apresentada a avaliação de cada ferramenta segundo estes fatores .

Apresentação das Ferramentas

FORM/CGI

O Form é um elemento da linguagem HTML que permite que o usuário forneça dados a uma aplicação de hiperdocumento, através do preenchimento de campos de um formulário. Esses dados são enviados para um servidor HTTP, onde serão interpretados e processados por uma CGI ( common gateway interface).

Uma CGI (common gateway interface) é colocada em um servidor WWW para realizar a interface deste com programas externos. Assim uma CGI atua como um gateway entre o servidor WWW e bancos de dados, programas locais ou geradores de documentos.

O funcionamento de uma CGI é descrito abaixo:

A figura 1 ilustra o funcionameto básico de um programa CGI.

Click here for Picture

Figura1. Common Gateway Interface

Os forms, juntamente com as CGI podem ser utilizados para a construção de tutoriais contendo testes para avaliação do aproveitamento do aluno. Para isto implementa-se um programa CGI para recuperar as respostas de um questionário, avaliar as respostas de acordo com um gabarito e gerar um documento HTML contendo o resultado da avaliação, a qual é disponibilizada instantaneamente para o aluno, funcionando como um auto-teste. Esse tipo de teste é bastante útil pois o aluno pode respondê-lo a qualquer hora, em qualquer lugar e de forma anônima, e também são facilmente distribuídas, modificadas e atualizadas pelo professor. Além disso, por serem geradas e corrigidas eletronicamente não há consumo de recursos como papel e tempo do professor/instrutor [HAR 96].

As figuras 2 e 3 abaixo apresentam um questionário implementado utilizando Forms/CGI.

Click here for Picture

Figura2. Questionário escrito utilizando-se o elemento FORM

Click here for Picture Figura 3. Resultado do questionário gerado por um programa CGI

Como a implementação de um CGI exige programação em linguagens como C, Perl, Visual Basic, Unix Shell, ou outra compatível com o sistema, sua utilização é razoavelmente difícil para pessoas sem experiência em programação. Esse problema está sendo contornado através de ferramentas auxiliares na criação de CGIs específicas, como por exemplo para a correção de questionários. Na seção 4.2.2.4 são apresentadas algumas destas ferramentas.

JAVA

A linguagem Java torna possível a criação de aplicações multimídia interativas as quais serão executadas localmente nas máquinas clientes de forma independente da plataforma, bastando que o usuário possua um browser Web com capacidade de interpretar código em Java instalado em sua máquina. Dessa forma a linguagem Java abre um grande número de novas perspectivas em direção à criação de ambientes integrados de aprendizado, onde o aluno possa usufruir completamente das vantagens do material on line e explorá-lo em profundidade, alcançando um grande envolvimento e motivação em sua experiência de aprendizagem [MIR 96].

Com os applets escritos em Java, é possível desenvolver-se páginas Web incluindo animações, gráficos, computação, aplicações distribuídas e comunicação. No entanto o maior destaque desta linguagem é a possibilidade de criar páginas Web altamente interativas. Segundo December [DEC 96], o Java transforma a Web em um sistema de distribuição de software, onde o usuário tem "coisas para fazer" e não apenas "lugares para ir". O Java pode mudar comportamento dos usuários da Web, que deixarão de apenas "surfar" para também "jogar", "interagir" e "aprender" nos novos ambientes interativos.

Também acredita-se que a linguagem Java irá melhorar muito o suporte à cursos via Internet através do uso de simuladores escritos nesta linguagem, os quais auxiliarão no aumento do envolvimento dos alunos nas sessões de aprendizagem remota, ajudando-os a aprender através da experimentação e visualização[MIR 96].

Click here for Picture

Figura4. Jogo Associativo implementado em Java

Click here for Picture

Figura5. Chat implementado em Java

Funcionamento da linguagem Java

O grande obstáculo no uso desta linguagem é que a geração do código fonte em Java exige uma grande experiência em programação, já que a utilização desta linguagem está longe de ser simples como a utilização da linguagem HTML.

Javascript

A linguagem Javascript foi criada pela Netscape com o objetivo de obter uma linguagem intermediária entre a linguagem Java e a HTML, de tal forma que fosse complementar e integrada a estas duas linguagens. Assim o Javascript é fácil de usar, aberta, e tem capacidade de ligar objetos e recursos tanto da linguagem Java como da HTML. Enquanto as applets Java são desenvolvidas apenas por programadores, o Javascript pode ser usado por autores de páginas HTML para controlar a interação e comportamento de suas páginas.

Um dos principais benefícios que o Javascript oferece é a capacidade de reduzir o tráfego da rede através da execução local de tarefas simples. Assim, ao invés do servidor executar as tarefas e retornar os resultados para o browser, este último pode manipular algumas tarefas localmente, com um menor tempo de resposta. A linguagem Javascript é interpretada pelos browsers Web que possuem este recurso (por exemplo o Netscape e Internet Explorer). O código da aplicação Javascript é recuperado pelo browser Web na forma de texto, juntamente com o documento HTML.

Com o Javascript pode-se facilmente implementar respostas a eventos do usuário, tais como cliques do mouse, movimentos do mouse sobre um link, e entrada de dados em um formulário. Dessa forma é de grande utilidade na criação de interfaces mais explicativas ao usuário. Também é possível criar-se páginas dinâmicas, cujo conteúdo muda de acordo com as requisições do usuário, ou mesmo disparar sons ou executar applets quando o usuário entra ou sai de uma página, permitindo assim uma maior interatividade com o usuário. Outra aplicação bastante comum da linguagem Javascript é a validação de formulários, ou seja a verificação dos dados que o usuário digitou no formulário, antes que estes sejam submetidos ao programa CGI, aumentando a performance do servidor e também diminuindo a frustração do usuário.

A linguagem Javascript é de aprendizado bem mais simples que a linguagem Java, no entanto exige um esforço consideravelmente maior do que a linguagem HTML, já que apesar de sua simplicidade a linguagem Javascript é baseada em linguagem de programação, o que a torna muito mais sofisticada do que a linguagem HTML.

VRML

VRML (Virtual Reality Modeling Language) é uma linguagem de descrição de simulações interativas com vários participantes se comunicando através da Internet. Espera-se que todos os aspectos referentes a apresentação, interação, internetworking de um mundo virtual possam ser especificados usando VRML. A intenção dos projetistas desta linguagem é torná-la padrão para a descrição de simulações interativas no WWW, assim como a linguagem HTML é o padrão para descrição de páginas Web.

A primeira versão (VRML 1.0) foi concebida em 1994, e foi projetada seguindo três requisitos principais: independência de plataforma, extensibilidade, e capacidade de trabalhar bem mesmo em conexões com pequena largura de banda (bandwidth) [BEL 95].

Na versão 1.0 optou-se pelo suporte a comportamentos interativos limitados. Assim sendo a interatividade ainda se restringe a inserção de hiperlinks. Segundo [SCOT 96], as quatro principais melhorias esperadas para a versão 2.0 são:

Para visualizar um mundo virtual criado em VRML é necessário usar-se um browser VRML. Este pode comunicar-se com o browser HTML, de tal forma que quando seleciona-se um link para um arquivo html de dentro de um mundo virtual, o browser HTML carregará a URL. No caso inverso o browser HTML reconhecerá o MIME type e passará a URL para o browser VRML. Alguns browsers HTML como o Netscape (versão gold 3.0) possui um plug-in VRML (Live3D), que permite que o arquivo VRML seja apresentado no browser HTML, na mesma janela onde são apresentados os arquivos HTML. Atualmente os arquivos HTML podem ser enviados usando o mesmo servidor HTTP usado para enviar arquivos HTML.

A configuração mínima necessária para se utilizar o VRML inclui um computador 486/50 com 8 MB de memória RAM e uma conexão à Internet através de um modem de 14.400 [SCO 96].

Figura6. Exemplos de VRML

Avaliação das ferramentas de implementação de recursos avançados no WWW

Quanto ao usuário final

Hardware mínimo necessário

Um fator importante na efetividade dos recursos avançados do WWW é a configuração mínima de hardware necessária para o usuário final executar tais recursos. Apesar deste recursos poderem ser executados diversas plataformas (PC, Macintosh, Sun, etc), esta análise será baseada na plataforma PC, por ser a mais acessível economicamente e também a mais utilizada.

Forms/CGI

computador 386DX ou compatível
modem 9.600 bps

Java

computador 486DX2 ou compatível
modem 14.400 bps
placa de som (recursos de áudio)

Javascript

computador 386DX ou compatível
modem 9.600 bps
VRML computador 486DX2 ou compatível modem 14.400 bps

Tabela2. Hardware mínimo para o usuário final

Analisando na tabela acima pode-se notar que todos os recursos avançados considerados podem ser executados utilizando uma configuração de hardware que atualmente é bastante comum.

Software mínimo necessário

Softwares necessários para o usuário final executar os recursos avançados em questão.

Forms/CGI

browser WWW com capacidade para visualizar FORMS, por exemplo:
Netscape Navigator - http://www.netscape.com
Microsoft Explorer - http://www.microsoft.com/ie

Java

browser WWW com capacidade de interpretar código em Java, por exemplo:
Hot Java - http://www.javasoft.com/
Netscape 2.0 ou superior - http://www.netscape.com
Microsoft Explorer3.0 - http://www.microsoft.com/ie

Javascript

browser WWW com capacidade de interpretar a linguagem Javascript,por exemplo:
Netscape2.0 ou superior - http://www.netscape.com Microsoft
Internet Explorer 3.0 - http://www.microsoft.com/ie

VRML

Browsers VRML:
WebFX (Paper Software) - http://www.paperinc.com
WebSpace (Silicon Graphics) - http://webspace.sgi.com
WorldView (Intervista) - http://www.intervista.com
Plugins:
Live3D 2(plugin do Netscape Navigator) - http://www.netscape.com
Director3D (plugin do Microsoft Explorer - http://www.microsoft. com / ie

Tabela3. Software mínimo para o usuário final

Como pode-se observar na tabela acima, caso o usuário final já esteja usando a versão 2.0 ou superior do browser Netscape Navigator, ou a versão 3.0 do browser Microsoft Internet Explorer, não necessitará de nenhum software adicional para visualizar Forms, Java e Javascript. Este fator é de grande importância na efetividade do uso destes recursos, já que a integração desses novos recursos torna-se praticamente transparente ao usuário, que passa a recebê-los, sem ter que se preocupar com a instalação de plugins ou helper applications.

Caso o usuário esteja usando a versão 3.0 Gold do browser Netscape Navigator, o usuário também poderá visualizar VRML, já que esta versão do Netscape já vem com o plugin Live3D incluído, caso contrário o usuário terá que instalar um plugin VRML para o seu browser Netscape Navigator 2.0+ ou Internet Explorer 3.0, ou então instalar um browser VRML.

Quanto ao programador

Facilidade de acesso a documentação on line

Para a pessoa que irá implementar os recursos avançados é de grande importância a facilidade de acesso a documentações on line (tutoriais, especificações, exemplos) que auxiliem em sua tarefa, tais como os apresentados a seguir:

Forms/CGI

Diversos Tutoriais sobre FORMS/CGI:
  • Criando Formulários no WWW
    http://penta.ufrgs.br/edu/forms/tut1.html
  • Carlos' FORMS Tutorial
    http://robot0.ge.uiuc.edu/~carlosp/cs317/ft.4-5.html
  • The Common Gateway
    Interface http://hoohoo.ncsa.uiuc.edu/cgi/
  • Introduction to The Common
    Gateway Interface http://www.utirc.utoronto.ca/CGI/cgi1.html
  • Learn to Write
    CGI-Forms http://www.catt.ncsu.edu/~bex/tutor/
  • CGI Test Cases
    http://hoohoo.ncsa.uiuc.edu/cgi/examples.html
  • HTML & CGI Unleashed - C-Base
    Scripting Home Page http://www.enterprise.net/wisdom/wdg/
  • C Source Code for
    CGI http://iel.ucdavis.edu/code/cgi/
  • CGI in C
    http://www.he.net/%7Esearsbe/ScriptingInC.html

Java

Encontra-se um grande número de tutoriais e exemplos sobre Java on line:
  • Sun's Java Site http://www.javasoft.com/ Gamelan
    http://www.gamelan.com/
  • Java SunTutorial
    http://java.sun.com/tutorial/TOC.html
  • The Java HUJI Course Home Page
    http://www.cs.huji.ac.il/course/java/
  • The Java TAU Course Home Page
    http://www.math.tau.ac.il/~java/JavaCourse/index.html
  • The Java tutorial forjava programming
    http://www.neca.com/~vmis/java.html
  • Brewing Java: A Tutorial
    http://sunsite.unc.edu/javafaq/javatutorial.html

Javascript

Encontra-se um grande número de tutoriais e exemplos sobre Javascript on line nos seguintes endereço:
  • Netscape Communications, Inc.
    http://www.netscape.com/comprod/products/navigator/version_2.0/script /script_info/index.html
  • Sun Microsystems, Inc.
    http://java.sun.com
  • Live Software
    http://www.livesoftware.com
  • Gamelan
    http://www.gamelan.com/

VRML

Encontra-se a documentação básica sobre VRML:
  • Especificação VRML - Versão 1.0
    http://vag.vrml.org/www-vrml/vrml.tech/vrml10-3.html
  • VRML Frequently Asked Questions
    http://www.oki.com/vrml/VRML_FAQ.html
  • The VRML Forum
    http://vag.vrml.org/www-vrml/
  • The Virtual Reality Modeling Language
    Technical Forum http://vag.vrml.org/www-vrml/vrml.tech/

Tabela4. Documentação on line

Como pode ser analisado na tabela acima existe um grande número de documentação on line sobre todos os recursos em questão, o que facilita bastante a implementação dos mesmos.

Software mínimo necessário

Softwares necessários para o desenvolvimento de recursos com as ferramentas de implementação em questão.

Forms/CGI

  • Compilador/interpretador usado para gerar o CGI
    C/C++
    Fortran
    PERL - http://fohnix.metronet.com/1h/perlinfo/perl5/manual/perl.html
    TCL
    qualquer shell Unix
    Visual Basic
  • editor html ou editor ascii para criar os formulários e escrever o código fonte do CGI
  • browser WWW (que suporte Forms) para poder visualizar a aplicação (é necessário colocar o documento html e o cgi em um servidor WWW que se encarregará de executar o cgi) - ver endereços na seção 4.2.1.2.

Java

  • JDK (Java Development Kit) é o kit básico para o desenvolvimento de programas em Java. O JDK inclui, entre outros recursos: um interpretador de runtime, compilador, depurador, visualizador de applets, código fonte de todas as classes que formam a API (Application Programming Interface) do Java. Pode ser encontrado no endereço http://www.javasoft.com/
  • um browser que suporte applets Java (Hot Java, Netscape 2.0 ou superior, Microsoft Explorer3.0) - ver endereços na seção 4.2.1.2.

Javascript

  • editor html ou editor ascii para escrever o código fonte em Javascript
  • browser WWW (que suporte Javascript) para poder visualizar a aplicação (pode ser testado off line pois é interpretado diretamente pelo browser) - ver endereços na seção 4.2.1.2.

VRML

  • editor ascii para especificar o mundo virtual
  • browser VRML ou plugin VRML para testar o mundo virtual - ver endereços na seção 4.2.1.2.

Tabela5. Software necessário para implementação

Os softwares necessários para a implementação dos recursos avançados no WWW não se apresentam como fatores limitantes pois são bastante comuns, como é o caso do editor ascii ou podem ser facilmente encontrados gratuitamente na rede, como é o caso dos browser, plugins, o JDK e alguns compiladores e interpretadores para gerar CGI.

Dificuldade de aprendizagem e uso

É importante se avaliar o grau de dificuldade envolvido na aprendizagem e uso da ferramenta de implementação, em função do conhecimento básico exigido.

Forms/CGI

Dificuldade média/alta na implementação dos CGI's, dependendo da linguagem escolhida para implementá-los, e da complexidade do CGI a ser implementado. No entanto em todos os casos é necessário uma experiência em programação.

Java

Dificuldade alta, exigindo conhecimento em linguagem de programação orientada a objetos.

Javascript

Dificuldade baixa, exige conhecimentos básicos de programação, com a vantagem da aplicação poder ser visualizada diretamente no browser, sem compilação, já que é interpretada pelo browser.

VRML

Dificuldade média a alta, dependendo da complexidade do mundo virtual a ser implementado.

Tabela6. Dificuldade de implementação

Como pode ser analisado, o grande obstáculo na efetividade da integração de recursos avançados no WWW é a sua dificuldade de implementação. Este fator se torna bastante limitante quando se considera que pessoas com pouco conhecimento em linguagens de programação desejem utilizar estas ferramentas. Esse problema pode ser contornado através do uso de ferramentas auxiliares na implementação de tais recursos (veja o item 4.2.2.4).

Existência de ferramentas auxiliares

Devido a dificuldade de implementação encontrada em alguns destes recursos, é importante a verificação da existência de ferramentas auxiliares que facilitem tal implementação.

Forms/CGI

Ferramentas auxiliares na criação de CGI:
  • http://www.oac.uci.edu/X/W6/forms/zot-dispatch/ZD-Doc.html
  • http://www.penta.ufrgs.br/questoes/teste.html
  • http://www.nsdu.nodak.edu/~wwwinstr/tools/quiz/index.html

Java

Ambientes de desenvolvimento Symantec Espresso:
  • http://www.symantec.com/lit/dev/javaindex.html Borland Latte
  • http://www.borland.com/Product/java/java.html Java Maker
  • http://net.info.samsung.co.kr/~hcchoi/javamaker.html Silicon Graphics Cosmo
  • http://www.sgi.com/Products/cosmo/

VRML

Ferramentas de Autoria :
  • Webspace Author - http://webspace.sgi.com
  • Home Space Builder (PC) -http://www.us.paragraph.com/whatsnew/homespace.htm
  • Instant Home World Fountain (PC)- http://www.caligari.com
  • Portal -http://www.well.com/user/jack/
  • Ez3d-VR - http://www.radiance.com/~radiance
Conversores :
  • Keith Rule (conversão de diversos formatos para VRML) http://www.europa.com/~keithr (freeware)
  • Interchange for Windows (conversos que suporta mais de 30 formatos de arquivos 3D, incluindo o VRML) sydesis@beta.inc.net
Tabela7. Ferramentas auxiliares

As ferramentas auxiliares na criação de CGI's são bastante úteis, permitindo que usuários sem conhecimento em programação possam inserir este recurso em suas páginas. No entanto estas ferramentas ainda são pouco genéricas, geralmente permitindo apenas a criação de formulários e CGI's para atender a um objetivo específico.

As ferramentas auxiliares na criação de applets Java ainda se restringem a ambientes de desenvolvimento, os quais facilitam o trabalho dos programadores, mas está longe de solucionar o problema das pessoas com pouco ou nenhum conhecimento em programação.

Quanto ao VRML, existem as ferramentas de autoria de documentos VRML, que são semelhantes às ferramentas de autoria de documentos HTML, no entanto ainda estão em suas versões preliminares e ainda devem melhorar muito. Os conversores permitem a criação de documentos VRML usando CAD ou softwares de modelagem 3D, no entanto, segundo [SCO 96], estes conversores tendem a gerar arquivos VRML grandes e ineficientes.

Recursos que podem ser implementados

No desenvolvimento de aplicações educacionais torna-se importante avaliar-se quais os recursos podem ser implementados usando-se a ferramenta em questão .

Forms/CGI

Permite a criação de formulários usados para a entrada de dados que são processados pelo programa CGI. Alguns exemplos do uso dos Forms e CGI's são:
  • criação de avaliação on line (como descrito na seção 4.1.1)
    Exemplos:
    http://www.cs.rit.nodak.edu/exercise.html
    http://penta.ufrgs.br/tp951/protocolos/
  • entrada de dados para simulações em Java
  • criação de fichas de sugestões e críticas que podem ser posteriormente enviadas por correio eletrônico ao professor. O interessante é que como a mensagem é enviada através de um programa CGI, a identidade do autor real da mensagem permanece desconhecida.

Java

Permite o desenvolvimento de páginas multimídia interativas, incluindo animações, gráficos, computação, simulações, aplicações distribuídas e comunicação. Tem a vantagem de ser executado diretamente no cliente WWW, diminuindo o tráfego na rede.
Exemplos:
  • Simulação da Transformação de Fourier
    (http://www.virtual-inn.co.uk/orbital/beta/fft/fft.html)
  • Simulador de Balística
    (http://jersey.uoregon.edu/vlab/Cannon2/#Fire)
  • Demonstração de uma Usina Nuclear
    (http://www.ida.liu.se/~her/npp/demo.html#instructions)
  • Jogo de casamento de palavras em diferentes idiomas
    (http://java.sun.com/applets/applets/WordMatch/index.html) Complementary
  • Metal-Oxide Semiconductor (CMOS)
    (http://jersey.uoregon.edu/vlab/Voltage/)
  • Representação Gráfica de Equações
    (http://www.geom.umn.edu/~worfolk/apps/Lorenz/)
  • Chat Touring (http://www.cs.princeton.edu/~burchard/www/interactive/chat/ express.html)

Javascript

Permite a validação da entrada de formulários, janelas de ajuda, aplicações interativas mais simples que as implementadas com a linguagem Java.

Exemplos:

  • http://jrc.livesoftware.com/ip/
  • http://jrc.livesoftware.com/frames/
  • http://jrc.livesoftware.com/cookies/
  • http://jrc.livesoftware.com/clock/
  • http://www.lisite.com/cgi-win/livesite.exe/modifypage
  • http://www.netscape.com/comprod/products/navigator/version_2.0/script/ script_info/index.html http://206.13.98.97/loancalc/

VRML

Permite a criação de mundo virtuais interativos e simulações.

Exemplo:

  • A Guide to VR World Demos http://www.graphcomp.com/vrml/pics.html#gallery

Tabela8. Recursos Possíveis

Custo da Ferramenta

Todas os produtos da Netscape disponíveis para download eletrônico são gratuitos para fins educacionais, organizações sem fins lucrativos e bibliotecas públicas, mas não incluem suportem técnico, documentação além da disponível on line, ou meio físico. Estas licenças não expiram, a menos que sejam copiadas versões betas. Além destes a Netscape possui uma lista de produtos que podem ser adquiridos com descontos educacionais. A lista destes produtos são apresentadas em http://home.netscape.com/comprod/business_solutions/education/index.html

A Microsoft também possui uma lista de produtos que podem ser adquiridos gratuitamente, e que podem ser encontradas em http://www.microsoft.com/msdownload/