4 Capítulo IV – Desenvolvimento e implementação da plataforma
4.2 O processo de desenvolvimento
4.3.1.2 Desvantagens de um CMS
• Apesar de ajudarem na gestão de diversos tipos de conteúdo, desde weblogs a comércio electrónico, a escolha é demasiado extensa e difícil. Escolher um CMS que se destine aos objectivos propostos, tornou‐se uma tarefa ingrata, pois se alguns são excelentes na disponibilização de elementos que podem ser caracterizados como funcionais, outros são bastante melhores na arquitectura dos elementos (Ruby, 2006) [112.]. Não existe uma fórmula para escolher um CMS e mesmo que este passo seja ultrapassado, a instalação, personalização e gestão do CMS pode tornar‐se demasiado técnica e por vezes ininteligível para alguns utilizadores (Mehta 2009) [39.].
• Adicionalmente, é necessário considerar a curva de aprendizagem longa e acentuada que poderá ser impeditiva num projecto de término a curto prazo, como é o caso desta dissertação.
A utilização de um CMS implica ainda a instalação de componentes que poderão ser desnecessários às finalidades de cada utilizador. Neste ponto será contraproducente desinstalar componentes desnecessários pois obrigará à perda de tempo, mas por outro lado ocupar espaço com informação inutilizada poderá tornar a sua utilização menos eficiente. A desinstalação dos componentes que à partida não serão utilizados poderá também pôr em risco a funcionalidade de outros que sejam necessários.
4.3.2 Wiki
Numa análise detalhada sobre CMS, foi necessário comparar as potencialidades e funcionalidades de sistemas mais generalistas com outros mais específicos como as Wiki de forma a avaliar se algum destes sistemas poderia servir os propósitos da plataforma.
50 | Capítulo IV – Desenvolvimento e implementação da plataforma
O termo “wiki” é uma abreviatura da expressão havaiana “wiki wiki” que significa “rápido”. Actualmente esta expressão refere‐se a uma ferramenta que permite a qualquer pessoa criar e editar páginas de um sítio Web. Funciona como um CMS em que os utilizadores não necessitam de ter conhecimentos de HTML ou de outras linguagens e dispensa, na maioria das vezes, o registo por parte do utilizador.
Uma característica fundamental das ferramentas/plataformas Wiki é a facilidade de edição e a possibilidade de criação de conteúdo de forma colectiva e livre. Um sistema Wiki é, no fundo, uma aplicação utilizada para trabalho colaborativo onde os utilizadores do sistema são os contribuintes primários, e o que produzem é publicado para todos (Rahman 2007) [45.]. Este sistema permite que qualquer utilizador possa editar conteúdo, possibilitando o crescimento e correcção da plataforma com base na contribuição de todos. Sendo sistemas colaborativos por natureza, pequenas contribuições de visitantes num sistema Wiki podem levar a um manancial de conhecimento colectivo, e a qualidade será tanto maior quanto maior for o contributo dos utilizadores (Mehta 2009) [39.].
No entanto, o facto de estar regularmente disponível para edição a qualquer pessoa que a consulte, independentemente da nacionalidade, dos objectivos ou do grau de conhecimento do utilizador, acaba por se transformar no maior constrangimento que uma plataforma deste tipo apresenta. Se o objectivo for então o trabalho colaborativo num contexto educativo, será necessário que a colaboração não seja totalmente livre, mas sim uma colaboração controlada entre elementos de uma determinada unidade curricular. Um outro objectivo da plataforma, ainda que numa fase posterior, será a avaliação do conteúdo criado pelo formando. Tal será impraticável se houver uma abertura total à edição do conteúdo.
Duas plataformas foram fortemente consideradas para a base da plataforma: Mediawiki [93.] e Dokuwiki [70.]. Estes sistemas são escritos em PHP e utilizam uma base de dados MySQL, tecnologias bastante acessíveis e adequadas ao pretendido, no entanto, e na sua globalidade, o processo de aprendizagem de utilização, a instalação, e a adequação de um CMS para funcionar como base para a plataforma implicaria sacrificar a única variável que não o é: o tempo.
4.3.3 RIA (Rich Internet Application)
Em resposta a uma crescente complexidade, as palavras‐chave nesta nova era de desenvolvimento são “simplicidade”, “integração”, “abertura”, “geração”, e “agilidade”. Neste sentido surge um novo conceito de desenvolvimento: as Rich Internet Applications, ou como são vulgarmente mencionadas, as RIA (Surveyer 2004) [118.]. As RIA são utilizadas para criar aplicações Web que combinem as capacidades de uma aplicação local para desenvolver uma interface de utilizador enriquecido com as funcionalidades universalmente acessíveis e sem recurso a download e instalação de uma aplicação.
A diferença fundamental entre as RIA e outras aplicações da Internet (como os CMS) é a quantidade de interacção permitida na interface. Numa aplicação tradicional com base em páginas da Internet, a interacção é limitada a um pequeno conjunto de controlos normalizados, tais como caixas de selecção, botões rádio, campos de formulários e botões em geral, o que limita seriamente a possibilidade de criar aplicações intuitivas e a grande maioria das aplicações Web mostra‐se mais confusa e de mais difícil utilização do que as suas correspondentes aplicações locais.
As RIA podem utilizar uma mais vasta (e eventualmente melhor) gama de controlos para melhorar a interacção entre o utilizador e a interface, permitindo interacções eficientes, melhor gestão do erro, retorno de informação e experiência geral de utilização (Mauer 2006) [92.].
São exemplos de RIA: Backpack [58.], Basecamp [59.], Flickr [76.], Google Maps [79.] e Odeo [101.].
Há, hoje, vários sistemas de desenvolvimento de RIA e alguns deles foram tidos em consideração para o desenvolvimento da plataforma. São exemplo desses sistemas: OpenLaszlo [86.] e Flex [55.].
4.3.3.1 Flex
O Flex é uma tecnologia lançada pela Adobe Systems para desenvolvimento, implementação e manutenção de RIAs multi‐plataforma com base no Adobe Flash.52 | Capítulo IV – Desenvolvimento e implementação da plataforma
As aplicações Flex podem ser desenvolvidas com recurso a uma framework de código aberto ou ao Adobe Flex Builder, um ambiente de desenvolvimento integrado concebido com base na plataforma de código aberto Eclipse que permanece uma aplicação proprietária.
Se por um lado o Flex permite a criação de aplicações ricas num curto espaço de tempo, por outro lado apresenta como desvantagens a curva de aprendizagem da tecnologia em si, acentuada e demorada, e o facto de produzir um resultado em Flash®, o que pressupõe a instalação da aplicação Adobe Flash Player e a existência dos plug‐ins necessários para a visualização do conteúdo.
4.3.3.2 OpenLaszlo
O OpenLaszlo é uma plataforma de código aberto, patrocinada pela Laszlo Systems, responsável original pelo seu desenvolvimento. Distribuída gratuitamente, a plataforma é utilizada para criar aplicações Web enriquecidas que igualem as características de aplicações locais e é a única plataforma RIA que suporta o desenvolvimento simultâneo de aplicações em DHTML e Flash® a partir de uma mesma base.
O Laszlo Webtop tem o OpenLaszlo como base e permite a integração de múltiplas aplicações OpenLaszlo num ambiente de trabalho unificado via explorador Web. O Webtop permite, também, a gestão avançada de dados em aplicações mais complexas e de maior envergadura, e do ponto de vista do desenvolvimento, permite a integração de aplicações OpenLaszlo recorrendo a XML para aplicações já existentes. As aplicações em Java precisam apenas de implementar uma interface simples para a troca de dados XML. Foi neste sentido que foram efectuadas algumas tentativas de implementação deste sistema com base na linguagem XML. No entanto, a plataforma disponibilizada encontra‐se ainda com alguns problemas e a documentação disponível não corresponde à versão disponibilizada. Também os problemas que surgiram não encontraram resposta em fóruns ou sítios Web com alguma (ainda que pouca) informação sobre a implementação da plataforma. Sobre a curva de aprendizagem do OpenLaszlo, apesar de ser de curta duração para aplicações tipificadas, revelou‐se acentuada para o tipo de funcionalidade pretendida.
Mais uma vez optou‐se por não se sacrificar o pouco tempo disponível na aprendizagem, detecção e correcção de erros de um novo sistema.