El mundo multimedia del WEB en off-line

Daniel Soto
 
 

El estado actual de las tecnologías de multimedia interactivo off-line y de los entornos WEB, evidencia una convergencia de las mismas hacia un futuro común que ya empieza a ser una realidad. Teniendo en cuenta este hecho, es necesario conocer las limitaciones y ventajas de 'unir' ambos entornos, para de esa manera poder tener suficientes elementos de juicio a la hora de seleccionar un tipo u otro de solución técnica para un proyecto concreto.

Para poder entender claramente cómo se está llevando a cabo esta fusión, debemos definir en primer lugar de qué estamos hablando. Aunque el término multimedia se haya utilizado profusamente dentro del mundo informático, hay que definir qué es multimedia dentro del WEB. Dentro de las definiciones más generalistas y conservadoras de lo que es multimedia en general, encontramos las derivadas de lo que se conoce como hipermedia, que no es más que la evolución lógica del hipertexto. No obstante, que la definición de multimedia haya derivado del concepto hipermedia no implica que esté directamente relacionado con el mismo. Muy al contrario, pues hoy día se ha llegado a la conclusión acertada de que lo que no hay que hacer es utilizar el hipertexto o los hipermedia para definir lo que es multimedia. En esa línea la mayoría de autores huyen de las definiciones tradicionales y utilizan dos fundamentos comunes para definir lo que es. El primero de ellos es que en multimedia se utilizan de forma coordinada diferentes tipos de estímulos sensoriales, teniendo muy en cuenta que directamente no se imponen requisitos al respecto, ni tan siquiera tecnológicos. El segundo, que el uso de diferentes tipos de estímulos tiene como fin el de aumentar el grado de eficacia del sistema de cara a su interacción sobre el usuario.

Tratar de utilizar estos términos para definir multimedia en el WEB podría parecer muy vago, pero realmente no lo es.

Los principios básicos que fundamentaron lo que ahora conocemos como World Wide Web, son en realidad los mismos que hemos mencionado. El WEB se creó con la idea fundamental de hacer sencillo y eficaz compartir información de diferentes tipos y en diferentes formatos, lo que se ajusta muy bien a las ideas mencionadas. Tal vez el único obstáculo para reconocer que el WEB sí es multimedia, sea comprender que éste se adapta más bien a lo que es multimedia expansivo, y no la idea tradicional del multimedia extensivo.

¿Qué es multimedia expansivo y extensivo? Según mencionan algunos autores multimedia extensivo lo podemos definir como aquel que extiende algún otro medio creado con anterioridad. Veámoslo con un ejemplo. Supongamos que tenemos un magnífico libro y deseamos crear un entorno multimedia a partir de este libro. Si añadimos sonido y unas secuencias de vídeo con unos cuantos menús para acceder a la documentación tendremos un programa multimedia extensivo, ya que se ha partido de una base ya creada donde se ha aumentado la documentación con unos cuantos recursos multimedia. En la actualidad la mayoría de los programas comerciales que se califican como multimedia se encasillan en el apartado de extensivos. En multimedia expansivo no se parte de un soporte anterior, sino que se ha de diseñar todo desde un principio. Este tipo de programación es mucho más complejo que el anterior, y requiere más recursos, pero sin duda es mucho más interesante y potente. Pues bien, el WEB quedaría englobado dentro de este último grupo, por una razón bien sencilla: las aplicaciones o sistemas multimedia para este entorno deben ser creados específicamente para él, ya que los principios que rigen Internet son sustancialmente diferentes de todos los demás medios.

Una vez visto que los principios son los mismos, lo que hace falta conocer para entender la convergencia entre multimedia y WEB, es analizar cómo funciona de verdad el WEB. Éste sistema se apoya sobre dos pilares fundamentales: el HTML y el HTTP. El primero es el lenguaje que se utiliza para describir los documentos que se muestran al usuario. El contenido de estos documentos puede hoy día incluir cualquier tipo de objeto electrónico, aunque su implementación básica está orientada hacia el hipertexto. Así el WEB se convierte en una telaraña digital al existir enlaces hipertextuales entre los diferentes recursos disponibles por todo el mundo. Es importante notar que, en principio, los documentos HTML son sólo el contenedor de los diferentes recursos —a esto existen excepciones, como el texto del documento, que hasta hace muy poco debía ir siempre contenido en el documento—, y que hace que la WEB sea mucho más que un sistema hipertextual, convirtiéndose en un auténtico sistema hipermedia.

Con respecto al protocolo HTTP, éste no es más que un sistema de transferencia de recursos remotos, y no un protocolo para transferir hipertexto, como su nombre tal ver haga pensar (HTTP son las siglas de Protocolo de Transferencia HiperTextual, en inglés HyperTextual Transfer Protocol). Su funcionamiento se fundamenta en el modelo Cliente-Servidor orientado a transacciones, comúnmente utilizado en los entornos de red. El funcionamiento es muy simplemente, ya que los documentos HTML contienen enlaces hacia los recursos, y el protocolo sólo se dedica a recuperar de forma independiente los archivos enlazados de la red. Para definir los enlaces se utilizan los URL —o Localizador Uniforme de Recursos, en inglés Uniform Resource Locator— que no es más que un sistema unificado para referirse a los servicios y recursos que ofrece Internet.


El funcionamiento del web

Hemos mencionado que el WEB utiliza el principio cliente-servidor. Esto aunque a priori pueda parecer trivial, es muy importante porque realmente este principio es el que proporciona a los sistemas multimedia WEB la flexibilidad necesario como para aplicar sus principios en otros entornos, incluidos el mundo multimedia off-line. Además hace tiempo que la informática tomó un camino marcadamente distinto al de la tradicional estructura de máquina«aplicación«usuario. El desarrollo de la tecnología ha traído grandes revoluciones dentro del mundo del hardware que han influido en las ideas que se utilizan para desarrollar software. Un ejemplo de ello tiene que ver con la aparición del principio Cliente-Servidor. El hecho de que cada vez se haga más uso de redes de comunicación entre ordenadores ha propiciado la evolución de la informática distribuida, cuyos principios de funcionamiento son muy diferentes a los de la computación tradicional, con es el caso del principio Cliente-Servidor. Pero aunque las ideas básicas de este principio son sencillas, por las razones argumentadas conviene que lo describamos brevemente.

El método de funcionamiento de este principio es tan sencillo, como el que se observa en la imagen siguiente, y consiste fundamentalmente en dividir la ejecución de las aplicaciones en dos procesos, uno llamado cliente y otro servidor, que se comunican a través de una red de datos. La particularidad del sistema viene determinada tanto por la división entre servidores y clientes, como por la forma en la que se comunican los procesos. El método de comunicación empleado se conoce como “método de establecimiento de contacto”, término que deriva del vocablo anglosajón rendez-vous y que se utiliza profusamente en toda la literatura relacionada.


El principio cliente-servidor

Para definir si un proceso es cliente, o es servidor, se aplican las siguientes reglas:
    Cliente: El cliente siempre inicia la comunicación, hace las peticiones al servidor, espera la respuesta, y una vez recibida continúa su ejecución.
    Servidor: El servidor ejecuta un bucle infinito en el que espera que algún cliente haga una petición, la procesa, devuelve el resultado y después espera la petición de un nuevo cliente.
Esta división entre clientes y servidores tiene tres implicaciones importantes. La primera es que según este principio en una transacción sólo pueden haber implicados dos procesos. La segunda es que el hecho de que uno sea cliente o servidor dependerá del comportamiento del proceso dentro una parte concreta su ejecución; o sea, que un proceso puede ser en un momento dado, por ejemplo, un servidor y en otro ser un cliente. Y tercera, que el servidor atenderá él sólo las peticiones que le lleguen de más de un cliente. Con respecto al tipo de comunicación que se establece entre los procesos, hay una sola implicación fundamental. A parte del hecho de que el cliente siempre es el que inicia la secuencia, se trata de que la comunicación será siempre finita, o sea, que tendrá tanto un inicio como un final, y que será sólo durante el tiempo que ésta dure que los procesos se comunicarán.

Con este principio subyacente en el protocolo HTTP y utilizando el lenguaje HTML, el WEB puede comportarse perfectamente como un sistema multimedia. Esto es así porque dicho lenguaje incorpora de por sí, los elementos necesarios. Su nombre significa literalmente Lenguaje de Marcas para Hipertexto  —en inglés HyperText Markup Language—, pero es más bien un lenguaje de descripción de páginas (al estilo del PostScript), independiente de la plataforma de visualización, que permite además establecer enlaces entre diferentes documentos. Es decir: el documento HTML contiene toda la información necesaria sobre su aspecto y su interacción con el usuario. Su estructura se apoya en otro lenguaje más estándar, el SGML, que ya existía cuando se desarrolló el HTML. La idea inicial era que el HTML sirviese para describir la estructura y el contenido de un documento, pero la tendencia actual es a utilizarlo también para definir aspectos muy concretos de la apariencia del documento, como la tipografía o el posicionamiento. La diferencia fundamental que presenta con otros lenguajes similares, es la potencia de descripción unida a la fácil lectura de los códigos de control. El ‘código’ HTML se puede entender directamente por un programador sin necesidad de herramientas de conversión, o de interpretación, lo que lo hacen ideal tanto para la codificación manual como para la mecánica.

Aunque el HTML es un lenguaje de descripción de páginas, la unidad fundamental del lenguaje no es la página, sino el documento. La página WEB es la unidad que visualiza el cliente, que en muchos casos tiene una relación directa con un documento HTML; pero en otros no, como sería el caso de documentos con marcos, documentos incrustados o documentos incluidos. El documento se compone de dos partes: una cabecera, que contiene información sobre el propio documento —autor, título, referente, localizador, etc.—, y que no tiene que visualizarse; y el cuerpo del documento, que contiene el texto del documento junto a los demás elementos.

Para identificar las diferentes partes del documento, así como los elementos no textuales, y los atributos de visualización, se utilizan una serie de marcas, o etiquetas —del inglés tag—. Estas marcas definen las estructuras dentro del documento, y son las que marcan la apariencia de los elementos multimedia contenidos en el documento.

Las marcas de enlace —del inglés link— son uno de los elementos más importantes del lenguaje. Gracias a estas marcas es posible convertir un simple documento en información hipertextual. La marca fundamental es la que indica un enlace con otro documento, y es aplicable a cualquier elemento del documento, tal como una palabra, una imagen u otro recurso visual. El enlace debe apuntar hacia algún recurso de la red utilizando una URL, que bien puede ser absoluta (no depende de otras direcciones) o relativa (depende de la dirección de la página actual). Estas referencias pueden apuntar no sólo a otros documentos, sino también a partes dentro del mismo documento.


Algunas etiquetas básicas del lenguaje HTML

Todo lo visto hasta ahora demuestra la viabilidad del uso del WEB como elemento estructural de multimedia. No obstante, no se ha mencionado nada de la interactividad, que es otro de los elementos fundamentales del multimedia expansivo. Para hacer frente a las carencias interactivas del HTML, se recurre al lenguaje JavaScript. Éste, bien al contrario que el HTML, es un auténtico lenguaje de programación, compacto y orientado a objetos. El origen de este lenguaje se remonta a la versión 2.0 del cliente Netscape™ Navigator. La idea original era dotar al HTML de las extensiones necesarias para dinamizar las páginas WEB. Para hacerlo se concibió este lenguaje que se integra en el mismo archivo fuente que el código HTML y que actúa sobre los elementos de la página WEB. El JavaScript hereda su sintaxis y estructura del lenguaje Java®, propiedad de Sun Microsystems®, pero su estilo de programación, así como de funcionamiento, es muy diferente, por lo que no hay que confundir ambos lenguajes.
Básicamente el comportamiento del lenguaje JavaScript es muy similar al de los lenguajes de scripting utilizados en una herramienta de autor. Por esa razón este lenguaje proporciona todos los mecanismos necesarios para acceder a los objetos que maneja el visualizador WEB. Como el JavaScript está destinado a implementar pequeños programas que actúan sobre el cliente, es ideal para tareas repetitivas y de control de eventos, aspectos que conforman los puntos fuertes del lenguaje. Esto le confiere una serie de características especiales:

    Lenguaje interpretado: Que sea un lenguaje interpretado implica que el código se ejecuta directamente, al igual que ocurre con el HTML. Este tipo de lenguajes ofrecen varias ventajas, entre ellas las de ser más sencillos y fáciles de utilizar, pues no precisan de herramientas especiales para crear el código ejecutable. Además, normalmente es más fácil desarrollar y modificar programas para lenguajes interpretados, porque no es necesario recompilar el código cada vez que se realiza un cambio; aunque la depuración en algunos casos es más compleja. Los programas codificados con lenguajes interpretados suelen requerir un mayor tiempo de ejecución que los programas compilados, pero para el JavaScript esto no supone un problema, ya que la evaluación del código se hace mientras se descarga el código y los programas no son muy largos.
    Lenguaje no extensible: Al depender el JavaScript del HTML el ámbito de acción es limitado. Es por ello que el número de objetos, propiedades, métodos, y tipos está limitado a los ofrecidos por el cliente, que dependen en buena parte de los soportados por el HTML. No obstante estos son más que suficientes para desarrollar muchos tipos de aplicaciones diferentes. Aun así, el lenguaje incorpora funciones para crear objetos propios y hacer llamadas a funciones en otros lenguajes; pero siempre de forma muy estricta y simplificada.
    Interacción limitada: Uno de los aspectos determinantes en el desarrollo del JavaScript es la seguridad. Ya que este lenguaje proporciona una manera de hacer algo más que describir elementos gráficos de una página WEB, es necesario proteger al usuario de los posibles comportamientos no deseados del software cliente. Esto limita mucho lo que será capaz de hacer el lenguaje, y no sólo en referencia a acciones tales como leer o escribir archivos, o comunicarse a través de la red con otros programas, sino también a otros aspectos más sutiles, que limitan y complican mucho el trabajo del desarrollador.
Estos tres aspectos, que a simple vista pueden no parecer determinantes, hacen del lenguaje JavaScript un lenguaje muy particular y único en su especie. Además, el uso de este lenguaje, al ser muy específico, permite utilizar toda una serie de objetos predefinidos. El grupo de estos objetos es muy amplio, y se permite que el usuario puede crear otros nuevos según las necesidades; pero como estos son la única forma de interacción del lenguaje, si el objeto que se quiere manipular no está definido en la implementación es imposible controlarlo. De ahí, que cada nueva versión incorpore un nuevo grupo de objetos para ampliar la potencia del lenguaje, llegando en la actualidad a poder acceder a casi cualquier objeto presente en el visualizador web.


Jerarquía de objetos manipulables en JavaScript 1.2

Todo lo que hemos comentado hasta ahora tiene relación con el uso tradicional del WEB en Internet. El otro campo de la convergencia son las aplicaciones multimedia off-line. ¿Qué podemos decir al respecto? En primer lugar que la mayoría de ellas utilizan como medio de distribución, la antítesis de Internet: el CD-ROM. Si actualmente Internet es el medio de comunicación por excelencia en el mundo informático, el CD-ROM es el medio de almacenamiento más utilizado para distribuir software. Las razones son muy sencillas: es barato, es versátil y es universal. Su uso está implantado en todas las arquitecturas informáticas modernas, y esa es la razón por la cual se ha extendido tanto.

Pero más interesante que analizar los soportes de distribución es entender cómo trabajan las aplicaciones multimedia off-line. Un primer paso para hacerlo es conocer los elementos multimedia que utilizan, pues de esa forma será después fácil compararlos con los utilizados en la WEB. Dentro del mundo multimedia los elementos son los diferentes tipos de recursos que pueden utilizarse. Normalmente cuantos más elementos estén disponibles para los desarrolladores, de más libertad disfrutarán ellos para realizar buenas creaciones. Dentro del multimedia expansivo, que es la parte que nos interesa, esto es particularmente importante. Cuando se desarrolla una aplicación multimedia desde el principio, es importante centrarse en combinar los elementos de tal forma que se transmita la información al usuario de la forma más eficaz posible. Eso siempre va ha estar condicionado por la arquitectura multimedia disponible; pero no hay que caer en el error de dejar que los requerimientos técnicos marquen los contenidos. Para conseguir un buen trabajo se necesita siempre conocer en detalle aspectos tales como los elementos disponibles, qué posibilidades proporcionan, qué limitaciones técnicas conllevan, qué costos de implementación suponen, etc.

Dentro del mundo multimedia off-line existen infinidad de clasificaciones sobre los tipos de elementos que conforman el abanico de posibilidades. Las razones pueden atribuirse principalmente al enorme conjunto de elementos que existen, casi infinitos, ya que constantemente se inventan nuevas formas de comunicación. Además, realmente multimedia es un término muy amplio, que estrictamente podría aplicarse a partir de sólo dos elementos diferentes. Si, por ejemplo, el texto y las imágenes son elementos distintos, entonces un simple diario es multimedia; aunque por supuesto, éste no entra dentro del contexto que estamos considerando. Este pequeño ejemplo sirve para ilustrar la importancia de disponer de una clasificación de los elementos.
No obstante, tal y como se reconoce, no existe ninguna buena clasificación. Sin embargo, eso no tiene porqué ser un problema. Cuando se dispone de una arquitectura concreta, entonces el conjunto de elementos es limitado, y por tanto, susceptible de disponer de una clasificación. Partiendo de esta premisa, es mucho más útil clasificar los soportes físicos que soportarán los elementos. Esto es así porque los recursos físicos de la máquina son los que determinan qué tipo de elementos multimedia se pueden utilizar. Así que son estos los que ayudan a definir la arquitectura. Una clasificación acertada es la que divide los soportes físicos según sus características en los siguientes grupos:

    Dispositivos digitales: Dentro de este conjunto se encuentran los dispositivos típicos relacionados con el mundo informático. Se subdividen en dispositivos de captura (teclados, escáners de imágenes, digitalizadores de sonido, etc.), de representación (impresoras, sintentizadores musicales, tarjetas de vídeo, etc.) y de procesamiento digital (decodificadores de vídeo, procesadores digitales de sonido, aceleradores de gráficos 3D, etc.).
    Dispositivos analógicos: Normalmente los dispositivos analógicos están conectados a algún componente informático para que éste los controle, ya que los ordenadores sólo entienden de datos digitales. Así, de forma similar al grupo anterior, éstos dispositivos se dividen en instrumentos de fuente (micrófonos, cámaras de vídeo, reproductores de audio analógico, etc.), de salida (altavoces, monitores, grabadores de audio, etc.) y de filtrado (ecualizadores de sonido, superimposión de vídeo, mezcladores de audio, etc.).
    Dispositivos de almacenamiento: Este grupo reúne a los dispositivos capaces de guardar información, ya sea ésta digital (discos magnéticos, discos compactos, etc.) o analógica (magnetoscopios de vídeo, cintas de audio, etc.).
    Dispositivos de sincronización: Aquí encontramos a un grupo reducido de aparatos utilizados para sincronizar, o ayudar a manejar, varios tipos de dispositivos (tales como los generadores de sincronismos y otros).
    Dispositivos de propósito general: En este apartado se incluyen todos los dispositivos difícilmente situables dentro de algún otro grupo. Podríamos estar hablando de dispositivos no orientados a ningún elemento mediático en concreto (transmisores de señales analógicas, por ejemplo), dispositivos multifuncionales (las plataformas multimedia) y algunos otros.

Diferentes tipos de soportes físicos de elementos multimedia

Una vez que sabemos cómo agrupar los diferentes soportes físicos, estamos en condiciones de describir los elementos multimedia propiamente dichos. Éstos harán uso de uno o más soportes físicos. Reconocer esta circunstancia es muy importante, ya que, para que cierto elemento pueda utilizarse hay que contar con todos los soportes físicos involucrados. Además, existen elementos que son opcionalmente dependientes de los soportes. Por ejemplo, el texto puede transmitirse al usuario utilizando una pantalla de visualización, pero también usando unos altavoces junto a un sintetizador de voz. Teniendo todos esos aspectos en cuenta, es posible especificar claramente todos los requerimientos de la plataforma, que serán la suma de todos los soportes que necesiten cada uno de los elementos utilizados según las opciones contempladas.

Dentro del ámbito de las aplicaciones multimedia off-line, los elementos habitualmente más utilizados se relacionan con dispositivos digitales de entrada y salida, analógicos de salida y de almacenamiento. Dentro de esa gama, las referencias al almacenamiento se centran casi exclusivamente en los discos compactos; y los dispositivos de salida analógicos sólo se refieren a los monitores y altavoces. En el campo de los dispositivos de entrada —digitales, se entiende—, la situación típica no es tampoco muy amplia. Normalmente se utiliza sólo el ratón, como dispositivo apuntador, o a veces, una combinación de teclado y ratón. Sin embargo, también son posibles las pantallas táctiles, los teclados musicales, los dispositivos especiales tales como botones o sensores individuales, y otros.
En el apartado de elementos relacionados con soportes de salida tanto analógicos como digitales, encontramos todos los que habitualmente se relacionan con las aplicaciones multimedia, como son las imágenes, el vídeo, la música, etc. Dentro de este grupo, y en general con todos los elementos, las clasificaciones son innecesarias, ya que lo importante es describir los elementos para analizar qué recursos utilizan. Basándose en ello, y de forma muy breve, definiremos ‘algunos’ tipos de elementos multimedia —ya que posiblemente el número total será muy grande—, con el objetivo de que en los próximos capítulos podamos entender cómo implementarlos y cómo operar sobre ellos en un entorno WEB.

    Texto: El texto es la representación de información por excelencia dentro del mundo informático. Aunque en muchos casos olvidado, el texto es también un elemento multimedia. No obstante dentro de este entorno lo importante del texto no es lo que dice —o su significado—, sino cómo se presenta. El texto puede aparecer simplemente como texto plano, o puede estar estructurado, o formateado —cuando tiene atributos tales como el tamaño, el color, la posición, la tipografía, etc.—, o también puede contener enlaces —como cuando se habla del hipertexto—. Según su representación podrá hacer uso de unos recursos físicos o de otros, aunque normalmente se asocia a las tarjetas de vídeo y los monitores.
    Imágenes: Las imágenes estáticas son uno de los elementos fundamentales en multimedia. Por imagen estática se entiende cualquier clase de elemento visual invariable que pueda mostrarse por pantalla. Por supuesto que los simples colores monocromos utilizados como fondo no son imágenes; pero las figuras geométricas sencillas, aunque sean de un solo color, deben considerarse también imágenes. Normalmente en multimedia las imágenes digitales están formadas por un conjunto de puntos visuales —llamados comúnmente en inglés pixels—, que tienen diferentes valores de color, brillo y saturación (dependiendo del modelo de color utilizado). El conjunto de todos esos puntos forma la imagen que percibe el usuario. El grupo de recursos físicos en este caso es muy limitado, y se reduce a los dispositivos gráficos.
    Gráficos: La diferencia entre los gráficos y las imágenes estáticas normales, es que estos se almacenan como un conjunto de primitivas de dibujo. Este es el tipo de imagen empleado por los diseñadores para crear imágenes sintéticas en 2D y 3D. Aunque sería muy fácil convertir estas imágenes a formatos de mapa de puntos, existe una ventaja importante en mantener el formato original, y es que así puede crearse una proyección a cualquier resolución. Además, en la mayoría de los casos el tamaño del archivo es, para altas resoluciones, mucho menor con este formato. A parte de eso, más interesante todavía es poder modificar ciertos parámetros del gráfico para cambiar su representación. Así puede hacerse que el gráfico se vea influido por la interacción del usuario.
    Vídeo Digital: Aunque existen muchos formas de almacenar vídeo digital, lo más importante de este tipo de elemento es conocer los requisitos específicos del formato utilizado. Dependiendo de cómo sean estos se utilizarán unos dispositivos físicos u otros. El vídeo digital es un elemento complejo ya que necesita de un soporte de sincronización y utiliza más de un medio de salida. Otro de los aspectos a tener en cuenta es la capacidad de almacenamiento que requiere.
    Sonido: El sonido en muchos casos puede ser un elemento fundamental en una aplicación multimedia, aunque en otras sólo será un elemento superfluo. Al igual que sucede con el vídeo digital, lo importante de este tipo de elemento multimedia son los requisitos físicos necesarios. En este caso son diferentes, básicamente porque no hay que sincronizar elementos. Aún así, aquí el problema fundamental es la fuente de datos utilizada, ya que el sonido puede ser tratado como analógico o como digital. Además, su uso puede ser bien distinto dependiendo de para qué se utilice.
    Música: En multimedia el sonido y la música son cosas diferentes —tal vez como lo son el vídeo y las imágenes—. La música puede definirse como una melodía que se reproduce durante un intervalo de tiempo determinado. Dentro del entorno multimedia existen dos tipos bien diferenciados de músicas: las que se almacenan igual que los elementos sonoros, y las que sólo almacenan la partitura. Obviamente la forma de reproducción de ambos tipos es distinta. La primera normalmente no requiere ningún tipo de cálculo, por lo que es fácil de reproducir, aunque requiere mucho almacenamiento para obtener una buena calidad. La segunda por otro lado, puede necesitar muchos recursos para reproducirse dependiendo del hardware, pero casi siempre ocupa muy poco espacio.
    Elementos G.U.I.: Los elementos de los modernos entornos visuales de usuario, tales como botones, listas desplegables, marcas de verificación y otros, son utilizados profusamente en muchas aplicaciones multimedia interactivo. El papel que desempeñan está muy relacionado con la interactividad. Para usarlos sólo hay aprovechar el soporte ofrecido por la arquitectura que soporta la aplicación multimedia. Normalmente no requieren grandes recursos físicos, aunque no todos las arquitecturas contemplan las mismas posibilidades.
    Animaciones: Entre las imágenes estáticas y el vídeo, existe un grupo diferente, el de los elementos visuales animados. Este tipo de elementos requiere tratarse como un grupo diferente, ya que necesitan más recursos, tales como la sincronización y otros. Lo importante es que la implementación de las animaciones puede ser de lo más variado, así que hay que estudiar la composición de los elementos a utilizar de este grupo en cada caso.
A estas alturas es evidente y claro que se pueden encontrar los mismos elementos estructurales en las aplicaciones multimedia off-line que el WEB multimedia. Ahora sólo queda analizar cómo implementar el primer tipo de aplicaciones utilizando los recursos de la segunda. Para ello será suficiente ver cómo utilizar la herramienta básica del WEB, el visualizador —también llamado navegador o explorador—, para acceder a contenidos multimedia en un dispositivo de almacenamiento off-line, tal como un CD-ROM.

Los actuales entornos de desarrollo de aplicaciones multimedia cuentan siempre con formatos de archivo propietarios. Esto significa que a la hora de ejecutar la aplicación, hay que recurrir a un reproductor especializado —que proporciona el propio paquete y que normalmente es de libre distribución—, para que procese los archivos multimedia. Dentro del mercado existen dos maneras de hacer esto y almacenar la aplicación: utilizando archivos o usando paquetes.


Métodos de almacenamiento de una aplicación multimedia en CD-ROM

El método más antiguo, y por ende el más sencillo, es almacenar cada uno de los recursos multimedia en archivos diferentes, y guardar a parte todo el código de control de la aplicación. Al principio era necesario utilizar formatos únicos para cada tipo de elemento, para de ese modo aumentar la velocidad de acceso y no tener que hacer conversiones durante la ejecución. Ahora esta limitación en muchos casos ya no existe, y es posible modificar los recursos de forma sencilla si se respetan los formatos compatibles con el reproductor. Este mecanismo tiene la ventaja de un mantenimiento sencillo y una implementación rápida. El problema es que la ejecución depende mucho de la implementación que utilice el sistema de archivos de la plataforma en la que se va a ejecutar la aplicación.

Para eliminar ese inconveniente se desarrollaron métodos que usan paquetes en vez de archivos. El truco consiste en colocar varios recursos dentro de un solo archivo físico. Con eso se consiguen muchas ventajas. Por un lado es más fácil portar la aplicación de una plataforma a otra, ya que cada sistema de archivos tiene unas características propias, longitud de los nombres, caracteres permitidos, tamaños predefinidos, etc., que pueden estar contemplados dentro del paquete. Por otro lado es posible utilizar técnicas de compresión de datos, uso de tablas de índices, optimización del modo de lectura, etc. Técnicas que de otro modo pueden no estar accesibles en todas las plataformas. Por último, también es posible incluir el propio reproductor en el paquete, y reducir entonces la aplicación a un solo archivo ejecutable que se puede distribuir fácilmente por una red.

Este modelo, sin embargo, cuenta también con sus inconvenientes. Para empezar el reproductor tiene que ser más complejo, ya que debe incorporar un auténtico gestor de volúmenes de archivos. También sucede que el desarrollo de la aplicación se hace más complicado, porque se obliga a generar un paquete compilado cada vez que se quiere probar la aplicación. Por último, al juntar todos los recursos en un solo archivo, o unos pocos archivos, estos tienen al final tamaños muy grandes, lo que dificulta la distribución de la aplicación usando redes de área extensa, ya que hay que leer completamente los archivos para comenzar la ejecución.

Como ya se mencionó al inicio el modelo WEB está orientado al procesamiento transaccional cliente-servidor. Implementar dicho modelo dentro de un disco compacto de datos es muy fácil cuando se da la circunstancia de que la parte servidora se comporta como un servidor de archivos. El funcionamiento es tan sencillo como el que aparece en la imagen siguiente. Como puede verse el visualizador WEB lo único que hace es redirigir las direcciones URL locales a archivos físicos almacenados en los dispositivos de la máquina cliente. Aunque parezca que el sistema es muy simple, realmente sigue el principio cliente-servidor. Si no fuese así no sería posible coger el dispositivo de almacenamiento local y trasladarlo a otra máquina, que funcione como servidor WEB, y conseguir que todo funcione exactamente igual sin tener que hacer ni un solo cambio.


Funcionamiento del modelo Cliente-Servidor WEB en un CD-ROM

Trabajar de esta forma ofrece bastantes ventajas. Por un lado es posible realizar todo el proceso de desarrollo de la aplicación sin necesidad de utilizar un servidor WEB. Esto puede parecer en principio que no tiene mucha importancia, pero téngase en cuenta que cada profesional del grupo de trabajo necesitará una computadora, y entonces cada uno necesitaría su propio servidor WEB. Otra ventaja importante es que esta forma de trabajar hace posible utilizar cualquier tipo de red. No es necesario que la red cumpla el estándar TCP/IP, ya que si los recursos remotos son accesibles a través del sistema de archivos local también estarán disponibles para el cliente WEB. Tal vez parezca que esto no supone una gran ventaja, pues la mayoría de las plataformas modernas soportan la pila de protocolos de red TCP/IP. No obstante, no todos los medios físicos de red son eficientes utilizando el protocolo TCP. Un ejemplo son los medios de difusión, en los que los datos se envían a varios clientes a la vez, como en una red multicast. O también los medios unidireccionales, en los que no es posible utilizar técnicas de aceptación y retransmisión —tal como hace el protocolo TCP—, como es el caso de las emisiones vía satélite, televisión o radio.

Sin embargo, aplicar el modelo cliente-servidor de esta forma en un CD-ROM también tiene inconvenientes. El primero, y principal, es el no poder acceder directamente bases de datos, con la misma sencillez como se hace en Internet. No obstante, existen soluciones parciales al problema. Veamos una de ellas.

En primer lugar es necesario definir en la fase de análisis una base de datos lo más sencilla posible; así como todo el conjunto de consultas necesarias, que se reducirán a las mínimas imprescindibles. En la fase de diseño se debe especificar la estructura de la base de datos adaptándose a los criterios que impone la estructura de un disco compacto de datos. En esta fase también hay describir detalladamente las consultas resultantes del análisis. Por último, en la implementación se codifica toda la aplicación utilizando técnicas de recuperación previa de datos. En la imagen siguiente se muestra gráficamente lo que esto significa.


Paralelismo entre el uso de un servidor y una base de datos en CD-ROM

En un entorno cliente-servidor normal, la parte que actúa como servidor se encarga de recuperar los datos de la base de datos para atender las peticiones de la parte cliente. Este sistema aplicado a la WEB significa que el servidor va a generar una serie de páginas HTML sobre la información de la base de datos a partir de los criterios suministrados por el cliente. En medio de esas circunstancias la idea consiste en definir un conjunto de consultas limitado y perfectamente conocido, consolidar la base de datos para hacerla estática, y entonces generar todas las posibles combinaciones de consultas, que en este caso serán páginas HTML. La única fase de este proceso que no tiene una correspondencia directa es la traducción de las peticiones del cliente en direcciones URL correspondientes a los archivos generados. De todas formas, no existen grandes problemas cuando en la fase de diseño se especifica la manera de hacerlo.

Los únicos aspectos a considerar, que deben estudiarse en la fase de análisis, son la estructura de la base de datos, el conjunto de consultas y el volumen final. Si la base de datos es muy compleja es posible que no pueda implementarse de esta forma por la gran cantidad de páginas que habrá que generar. Igualmente si existen demasiadas consultas también crece el número de páginas. Y finalmente, el volumen propio de la base de datos también determina el tamaño final de la aplicación. A todo ello hay que recordar que no existe una correspondencia directa entre cualquier base de datos y una estructura de directorios, por lo que hay que intentar limitar la complejidad todo lo posible, ya que si no, es posible que la generación de consultas quede incompleta.

Así, a modo de resumen, hemos visto como existen soluciones tecnológicas que permiten unir el mundo WEB con las aplicaciones multimedia off-line, con el fin de utilizar lo mejor de ambos mundos: alta capacidad de almacenamiento, ancho de banda prácticamente infinito; junto con sencillez de utilización y distribución universal. Esperemos poder visualizar en breve gran cantidad de títulos utilizando las técnicas aquí señaladas.

BIBLIOGRAFIA:

Berners-Lee, Tim. “World Wide Web Seminar”. Edición eletrónica publicada en « http://www.w3.org/Talks/General.html ». 1992.

Berenguer, Xavier. “Escribir programas interactivos”. Edición electrónica publicada en « http://www.iua.upf.es/formats/art/a01et.htm ». Universitat Pompeu Fabra de Barcelona. 1996-99.

Brown, Heather. “Hypermedia / Hypertext and Object Oriented Databases”. Chapman & Hall. 1991.

European Computer Manufacturers Association. “Standard ECMA-262. ECMAScript Language Specification”. 2ª Edición. Edición eletrónica publicada en    « http://www.ecma.ch/stand/ECMA-262.htm ». 1998.

Fidalgo, Angel “Los sistemas de inteligencia artificial tutoriales en el desarrollo de sistemas multimedia”. Tesis Doctoral. Universidad de las Palmas de Gran Canaria. Julio, 1995.

Gibbs, Simon J.; Tsichritzis, Dionysios C. “Multimedia Programming. Objects, environments and frameworks”. Addison-Wesley, ACM Press. 1995.

Martínez, J. Manuel; Hilera, J. Ramón. “Modelado de documentación multimedia e hipermedia”. Edición electrónica publicada en « http://www.ucm.es/ info/multidoc/multidoc/revista/cuad6-7/artmulti.htm ». Universidad de Alcalá. 1997.

Nielsen, Jakob. “Hypertext & Hypermedia”. Academic Press. 1990.

Sommerville, Ian. “Software Engineering”. 5ª Edición. Addison-Wesley. 1995.

Stallings, William. “Data and Computer Communications”. Prentice-Hall. 1996.

World Wide Web Consortium. “HyperText Markup Language”. Edición eletrónica publicada en « http://www.w3.org/MarkUp/ ». 1992-99.

World Wide Web Consortium. “About the World Wide Web”. Edición eletrónica publicada en « http://www.w3.org/WWW/ ». 1992-97.