Ricardo Galli, Juan Pedrosa, Iker Tolosa, Valentín Ginard,
Carlos Guerrero, Antoni Bibiloni, Llorenç Valverde
Universitat de les Illes Balears
La aplicación se ha utilizado para la promoción de la sección joven de Banca March [March] mediante el concurso ESCRIPNAUTA [Escrip], donde los alumnos de los institutos de educación secundaria de las islas han podido crear sus ``redacciones multimedia''.
El desarrollo específico del ESCRIPNAUTA comenzó en junio de 2002 y la versión final estuvo acabada a finales de enero de 2003. El periodo de pruebas, en el que participaron unos pocos institutos de la isla de Mallorca, abarcó desde diciembre de 2002 a enero de 2003.
La aplicación se estructura principalmente en tres módulos diferenciados: un sistema de gestión de contenidos, una herramienta de edición y un generador dinámico de redacciones multimedia. Todo ello está vinculado a una estructura de datos dinámica que permite enlazar los diferentes módulos.
Las aplicaciones multimedia en Internet han experimentado un auge con la expansión de la banda ancha y la mejora en las tecnologías de compresión para aprovechar los recursos existentes. El ESCRIPNAUTA nació con la filosofía de llegar al máximo número de usuarios posible sin discriminación de sistema operativo y/o navegador, basándose en estándares y software libre.
Un grupo de becarios e investigadores del Dept. de Matemàtiques i Informàtica de la Universitat de les Illes Balears ya había participado en el Proyecto Europeo de Investigación y Desarrollo Minority Newspapers to Multimedia [MNM,Gel02,Mari02,Guer02,Mero03]. En dicho proyecto se desarrolló un prototipo basado en estándares y software libre para generar la salida de noticias periodísticas en varios formatos y dispositivos a partir de una base de datos única.
Durante la última fase del proyecto también se demostró la posibilidad de integrar las diversas fuentes (texto, imágenes, audio) para generar una salida multimedia basada en el estándar SMIL [Smil].
En contactos posteriores con directivos de la Banca March se vislumbraron las capacidades del prototipo como herramienta de creación audiovisual. Así surgió la idea de ampliarlo para permitir que usuarios ``inexpertos'' puedan crear sus propias presentaciones multimedia, con el único requisito de tener disponible un navegador y conexión a Internet.
El objetivo fue desarrollar una herramienta que combine imágenes, texto y audio para crear presentaciones multimedia, usando un navegador web. De esta forma se ofrece a los usuarios un entorno de creación común y universal. Ésto evita las desigualdades o ventajas derivadas de que algunos centros o alumnos cuenten con más recursos de software que otros.
Además el sistema debe permitir modificar cualquier elemento de las animaciones, en cualquier momento, en cualquier lugar.
Otro de los objetivos era que los participantes trabajen en grupos y desde cualquier lugar con conexión a Internet. Por tanto el sistema debe soportar el trabajo colaborativo, es decir, que varias personas puedan trabajar simultáneamente sin que se produzcan inconsistencias en la información.
El sistema se basa en una arquitectura cliente-servidor centralizada. La interfaz de usuario reside completamente en el navegador web. En el servidor residen todos los demás módulos: base de datos y middleware de acceso a datos, lógica de edición, gestor de contenidos (galería) y el generador de las presentaciones.
El hecho de ser una aplicación cuya lógica esta totalmente centralizada confiere al sistema una gran flexibilidad, tanto de desarrollo como de acceso y utilización. De esta forma se da la oportunidad de desarrollar completamente el sistema sobre Linux y SL al ser independiente de las instalaciones y recursos de los usuarios.
El sistema funciona sobre un servidor Apache, con base de datos MySQL, PHP como lenguaje de programación y las librerías Ming para la generación dinámica de las presentaciones a partir de la información almacenada en la base de datos.
En los clientes se utiliza principalmente DHTML para la edición de las presentaciones y SWF [OpSWF] para la salida multimedia.
La estructura de datos es el vínculo entre los distintos módulos de
la aplicación y está definida por la base de datos (Figura
)
y una serie de módulos en PHP, el middleware, que facilita
el tratamiento de los datos mediante la exposición de una estructura
orientada a objetos al resto de los módulos del sistema.
Los métodos de cada una de las clases permiten separar las operaciones de consultas a la base de datos del tratamiento de estos datos por parte de la aplicación.
Una presentación o redacción multimedia está formada por diapositivas que a su vez contienen elementos multimedia configurables.
Los objetos básicos almacenados en la base de datos son:
).
Pueden asignarse enlaces hipertexto (URL) a una caja de texto.
). Las imágenes deben
estar previamente almacenadas en la galería de imágenes. Se pueden
incluir en una diapositiva siempre que se dispongan de los privilegios
necesarios.
La gestión de la galería hace referencia a la posibilidad del sistema
de almacenar elementos multimedia (imágenes y audio) de carácter público
o privado para, posteriormente, ser incluidos como elementos de una
redacción multimedia. Estos elementos conformarán una galería multimedia
accesible desde el entorno de edición (Figura
).
En la galería se almacenan los ficheros gráficos en cualquier formato
reconocido por la librería ImageMagick [IMagick]. Debido a los
problemas de visualización de gráficos distintos a JPEG el sistema
convierte el fichero original a dicho formato. Además, escala el gráfico
al tamaño máximo en pixels admitido por el sistema y genera una imagen
en miniatura para facilitar la edición y visualización (como se observa
en el panel de la izquierda de la figura
)
y reducir los requerimientos de ancho de banda.
Las redacciones multimedia se basan en el concepto de línea de tiempo. Los distintos elementos multimedia se distribuyen en dicha estructura temporal, dependiendo de su momento de inicio y finalización.
El concepto de presentación multimedia hace necesario el control de distintos elementos: diapositivas, objetos texto, objetos imagen, sonido. Esta distinción ha permitido la estructuración del editor en iframes funcionales en un mismo documento web:
y
,
) permite añadir y modificar
estos objetos y parámetros que conforman una redacción multimedia.
De esta forma, se han conseguido organizar los distintos aspectos de cada posible elemento de manera sencilla e intuitiva en un único documento web. En consecuencia, una sesión de trabajo típica sería la siguiente:
El desarrollo del editor es compatible con el modelo DOM de nivel 3 a fin de garantizar la compatibilidad entre navegadores. La programación de la interfaz del editor fue una de las tareas más complejas por su sofisticación y porque debía funcionar en navegadores diferentes, algunos de ellos no totalmente compatibles con los estándares. El editor se ha realizado íntegramente programando en HTML, DHTML y Javascript.
Para facilitar el desarrollo y mantenimiento del numeroso contenido DHTML se han utilizado las librerías CBE, con licencia GNU LGPL, creadas por Mike Foster [CrBrow]. Las librerías CBE originales disponen de cinco módulos de los cuales hemos utilizado dos:
El motor de generación de redacciones multimedia se encarga de recuperar una estructura de datos previamente cumplimentada y almacenada en la base de datos durante el proceso de edición. El generador está enteramente programado en PHP y se ejecuta para cada petición que se realiza desde un navegador.
En cada ejecución se crean en memoria los elementos multimedia según
sus diferentes parámetros y finalmente se pasa al cliente el stream
ya en formato SWF. Desde el punto de vista del cliente es como si
recuperase un fichero SWF estático estándar (Figura
).
La ventaja de generar las presentaciones cada vez y bajo demanda es que eliminamos problemas de mantenimiento de ficheros temporales y posibles inconsistencias con la base de datos. En todas las presentaciones que se han realizado durante el concurso no hubo en ningún momento sobrecarga del servidor (un Pentium 3 Tualatin 1.4 GHz con 512 MB de RAM) y todas las presentaciones se generan en menos de un segundo.
Se ha tenido mucho cuidado de usar todas las posibilidades del SWF a efectos de disminuir el consumo de ancho de banda mediante la reutilización de objetos que aparecen varias veces en las presentaciones2 y de un pre-procesado, con ImageMagick, de las imágenes que se almacenan en la galería a efectos de maximizar la compresión teniendo en cuenta el tamaño máximo que tienen la presentaciones (800x600 pixels).
Debido a que algunas de las presentaciones generaban ficheros de más de 1 MB, el generador también agrega automáticamente un preloader para mostrar casi inmediatamente una pantalla de inicio e indicar al usuario cuantos bytes restan por bajar.
Todo el proceso se realiza en el mismo servidor Linux donde se ejecuta el Apache y el MySQL. El desarrollo está basado completamente en librerías Ming y el paquete php4-ming [Ming] distribuidos con Debian.
El acceso al sistema, tanto como autor, administrador o visitante
anónimo, se realiza desde un documento web único (Figura
,
[Escrip]) que gestiona la detección de los requisitos mínimos
del sistema cliente (navegador compatible y plug-in del reproductor
de Flash). En dicho documento se permite la visualización de las redacciones
multimedia publicadas y el acceso a la información sobre el concurso.
El módulo anterior enlaza con el de gestión de usuarios a través de un proceso de login. Una vez validado por el sistema, el usuario tendrá acceso a unos u otros contenidos dependiendo de su nivel de privilegios.
Los objetivos fundamentales fueron dos:
Como resultado del primer concurso, la Banca March ya tiene planificado hacer una segunda versión en Baleares, y en setiembre hacer otro concurso en Canarias (allí se llamará ESCRITNAUTA).
Otra cosa que queríamos demostrar, y consideramos que lo hemos logrado (aunque con bastante trabajo), es que se pueden hacer páginas web tan complejas y sofisticadas como el editor de presentaciones respetando estrictamente los estándares y haciendo que funcionen en todos los navegadores que hemos tenido acceso.4
Durante el desarrollo del proyecto nos hemos encontrado en determinados momentos donde no podíamos resolver un problema muy complejo en alguno de los navegadores y había la tendencia a pensar:
Y todo este trabajo sólo por si aparece una persona que se le ocurra usar el navegador XYZ, que nadie usa en estas islas, y aún menos en los institutos donde son todos Windows con IE.Aunque fue muy duro, y hemos perdido quizás cientos de horas en el proceso, al final queda la satisfacción que nadie, durante más de seis meses, se ha quejado de que no haya podido usar el sistema5.
Como aspecto ``negativo'' nos vemos obligados a comentar que muchas de las presentaciones realizadas son bastantes ``aburridas'' debido principalmente a la duración exagerada de algunas de ellas (el límite impuesto era de diez minutos). Suponemos que es debido a la fiabilidad y facilidad de uso del sistema, que hacía que los chicos se divirtieran bastante creando sus redacciones.
Como no podemos hacer que el sistema sea más complicado de usar (por razones profesionales6), y menos aún disminuir la fiabilidad (¡que es una Debian!), creemos que la solución razonable para el siguiente concurso será limitar las presentaciones a no más de minuto y medio.
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -local_icons -numbered_footnotes escripnauta
The translation was initiated by Ricardo Galli on 2003-07-02