Source: https://www.scribd.com/document/238261/PFC-AFR-MEMORIA-070809-con-portadas-y-licencia
Timestamp: 2017-02-23 09:58:30+00:00

Document:
PFC-AFR-MEMORIA-070809 con portadas y licencia
BrowseInterestsBiography & MemoirBusiness & LeadershipFiction & LiteraturePolitics & EconomyHealth & WellnessSociety & CultureHappiness & Self-HelpMystery, Thriller & CrimeHistoryYoung AdultBrowse byBooksAudiobooksNews & MagazinesSheet MusicBrowse allUploadSign inJoinMetodología de Desarrollo de Aplicaciones MultimediaAlfonso de la Fuente Ruiz
1.1 La creación digital 1.2 Qué se entiende por “Multimedia” 1.3 Tipos de Aplicaciones Multimedia 1.4 Prólogo a los estudios particulares
p. 2 p. 3 p. 4 p. 6
Metodología de Desarrollo de Aplicaciones Multimedia
1.1 La creación digital
Las nuevas tecnologías posibilitan una nueva forma de comunicación en la que la informática toma una papel destacado. Hoy en día es posible digitalizar e introducir en un ordenador casi cualquier dato o información que podamos imaginar, desde un video casero a una obra de arte, pasando por la estructura de un edificio en tres dimensiones. Pero no sólo podemos digitalizar los objetos que ya existen, sino que podemos crear otros nuevos directamente en el ordenador. A nuestro alcance tenemos diversas herramientas que nos permiten trabajar con estos objetos mediáticos y combinarlos de diversas maneras, para dar forma a una aplicación multimedia. El diseño de aplicaciones multimedia, la combinación de estos elementos de las más diversas fuentes, es mitad ciencia, mitad arte. Ciencia porque debemos conocer y emplear una serie de técnicas, y arte porque debemos ejecutarlas y combinarlas con cierto estilo para lograr atraer y absorber la atención del usuario del producto final. Este proyecto trata las técnicas y métodos empleados en la producción de aplicaciones multimedia. Para ilustrar este proceso se han construido dos aplicaciones que integran todos los medios descritos en el apartado teórico. Para ello se ha requerido el aprendizaje y utilización de un gran número de herramientas software, no tanto para el montaje de los contenidos y la creación de los cuerpos estructurales de las aplicaciones, tareas que se han realizado con las herramientas Director v8.5, Flash v5.0 y Authorware v6.0, como para el desarrollo de los medios contenidos, en el cual se han empleado desde aplicaciones “shareware” descargadas de Internet hasta complejos entornos de desarrollo comercializados por grandes compañías, como Autodesk® 3D studio MAX v4.0 Los resultados finales en forma de aplicaciones multimedia se distribuyen conjuntamente con este documento en dos CD-ROM’s.
1.2 Qué se entiende por “Multimedia”
La palabra “multimedia” se traduce etimológicamente como “muchos medios”, entendiendo como medio un vehículo para la comunicación humana. Multimedia, por tanto, es la combinación por medio de la informática de diversos medios, ya sean textuales, visuales, sonoros o de otro tipo, en la composición de una aplicación informática dotada de cierto grado de interactividad. Para el ámbito de este proyecto estableceremos la siguiente distinción entre los medios de transmisión de información que soportan la inclusión en una aplicación multimedia: Medios gráficos: Imágenes digitales de cualquier tipo, desde un complejo esquema a la fotografía de un paisaje Medios videográficos: Una secuencia de imágenes en sucesión que sea producto de una grabación con cámara de video o se haya creado por síntesis mediante un programa informático Medios animados: Toda secuencia de imágenes en movimiento que no se ajuste a la descripción anterior Medios fonográficos: música, diálogos y efectos de sonido Medios textuales: todo texto, de cualquier extensión y en cualquier formato, que se utilice para comunicar un dato o una idea Todos estos medios requerirán habitualmente un proceso de creación y edición mediante herramientas informáticas que en ocasiones puede llegar a superar en complejidad al desarrollo de la arquitectura de la aplicación en la que se integrarán.
1.3 Tipos de aplicaciones multimedia
Cuando empleamos y combinamos al menos dos de los medios descritos en una aplicación, podemos hablar de “aplicación multimedia”. Este software contará con un cierto grado de interactividad hacia el usuario, permitiendo la navegación por los medios contenidos y dirigiendo la atención hacia unos u otros por unos cauces preestablecidos. Para definir con mayor exactitud el tipo de aplicación al que nos estamos refiriendo, deben considerarse una serie de factores, entre ellos: Objetivo al que se dirige: profesionales, estudiantes, usuarios de una determinada herramienta, gran público, con conocimientos de informática o sin ellos, niños, asistentes a la presentación empresarial de un producto, a una conferencia, o a una proyección... Operaciones que realiza: Cálculos, consulta a bases de datos, reconocimiento y procesamiento de entradas... Carácter de la aplicación: puede ser formal o informal, orientado a un público especializado o de libre acceso en Internet Contenido de la aplicación: El contenido es la información que se transmitirá a través de los medios Medios a emplear: animaciones... los ya detallados: audio, video, texto,
Grado de interacción con el usuario: Si no permite ninguna interacción, la aplicación pasa a denominarse presentación y el papel del usuario será únicamente contemplativo Sistema hardware y software: sobre el que se ejecutará Soporte físico de distribución del producto: CD-ROM, DVD, navegador de Internet, autoejecutable poco voluminoso, sistema integral hardware... Lugar de visualización: Puede ser un poste de información en el casco urbano, un terminal en un centro comercial, un sistema de visualización en un museo o feria de muestras, un PC conectado a Internet, el PC del comprador del CD-ROM o DVD, una sala de juntas, una sala de conferencias, una exposición, un espectáculo de masas, un laboratorio, una cadena de televisión...
Difusión: Puede que se ejecute una sola vez, como en el caso de la presentación de un producto, o puede que se utilice continuamente, como un sistema de consulta de información Sin pretender hacer un recuento exhaustivo de todos los tipos posibles de aplicaciones multimedia, podemos enumerar algunos ejemplos basándonos en los factores considerados: • Un poste inscrito en el casco urbano de cierta ciudad que permita operaciones de búsqueda por los contenidos en una base de datos, navegación libre por los contenidos, muestre texto, imagen y audio, y posibilite la impresión de direcciones postales y teléfonos con impresora matricial de papel continuo. Una simulación por ordenador de equipo industrial Una enciclopedia multimedia distribuida en soporte óptico que incluya texto, fotografías, audio y video y permita consultas a bases de datos. Una página web diseñada en Flash, dividida en bloques pequeños rápidamente descargables con un alto grado de navegabilidad que posibilite hipersaltos a recursos accesibles en Internet. Una presentación de un producto comercial para una empresa Un curso de inglés con textos acompañados por la voz de un narrador Una aplicación de entrenamiento virtual en cirugía para un hospital basada en un plug-in VRML Una presentación en PowerPoint para una conferencia Un juego en tres dimensiones Una aplicación educativa para niños Un catálogo multimedia para el producto de una cierta marca comercial
Como vemos, el abanico de posibilidades es enorme. Para este proyecto se han desarrollado dos aplicaciones multimedia con dos herramientas diferentes de composición multimedia, como se explica a continuación.
1.4 Prólogo a los estudios particulares
Para ilustrar la metodología de desarrollo de aplicaciones multimedia y la creación, edición e integración de los medios implicados, se han diseñado dos aplicaciones que se incluyen en los CD-ROM’s distribuidos junto con el presente documento que constituye la memoria del proyecto. El trabajo de análisis y recopilación de información comenzó en el mes de Noviembre de 2001 y el desarrollo se da por terminado en Septiembre de 2002. Ambas están diseñadas para ejecutarse desde un dispositivo al menos tan rápido como un lector de CD-ROM, restricción que se establece para lograr la inclusión de la mayor variedad de medios posible para mejor ejemplificar el proceso de producción de los mismos. Las aplicaciones multimedia son el punto central del proyecto y en ellas priman factores como el impacto visual y la facilidad de uso cara al usuario. Al acabar este capítulo introductorio se recomienda (si no se ha hecho ya) explorar los contenidos de los dos CD’s y ejecutar las aplicaciones para observar el resultado final de la producción y entender mejor los conceptos que se tratan en este documento. Así mismo es conveniente volver a examinarlas cada vez que se expliquen conceptos relacionados con los contenidos y el montaje. Se recomienda también leer las notas de última hora incluidas en los archivos “Léeme.txt” de cada uno de los CDs.
1.4.1 “Invitación Multimedia de Boda”
La primera de las aplicaciones consiste en un proyecto real de pequeña tirada que se realizó bajo encargo para una boda que tuvo lugar el 27 de Julio de 2002. El encargo original constaba de tres elementos: Una invitación tradicional en papel Un plano-guía para llegar al lugar de la celebración. Un CD-ROM autoejecutable con una aplicación multimedia conteniendo una presentación y un reportaje sobre los novios, más un álbum de fotos
El producto se tuvo a punto para el mes de Junio y se realizaron copias para los invitados al evento. El proyecto inicial contemplaba la posibilidad de realizar las copias de la aplicación en formato CD-Card, lo que al final no se llevó a cabo debido a su alto coste, grabándose en CD-R convencional. Su montaje se realizó con el paquete de software Macromedia Director v8.5. El menú principal contiene un vídeo de síntesis creado con 3D Studio MAX4, cuya construcción llevó gran parte del tiempo y los recursos de desarrollo de la aplicación. Otros contenidos se crearon con variedad de herramientas, entre las que destacamos Adobe PhotoShop 6 para la creación y edición de imágenes, y Xara3Dv4 y SWiSHv2 para los botones y rótulos animados.
1.4.2 “Un paseo por la Ciudad de Léón”
Esta aplicación de carácter marcadamente visual constituye un sistema de consulta de información sobre la ciudad de León diseñado para un poste informativo con pantalla táctil situado en un casco urbano o un edificio público. Incluye una gran cantidad de fotografías y una colección de vídeos digitales sobre la Universidad de León.
Su montaje se realizó con la aplicación Macromedia Authorware v6.0. La creación de la presentación inicial se compuso con Macromedia Flash v5.0. Las fotografías incluidas fueron tomadas con una cámara digital entre septiembre de 1998 y Junio de 2001.
2.1 El Producto y el Proceso 2.2 Metodologías 2.3 Modelado de Documentación Multimedia e Hipermedia 2.4 El Análisis de Aplicaciones Multimedia 2.5 Planificación 2.6 El Diseño de Aplicaciones Multimedia 2.7 Implementación 2.8 Plan de Pruebas 2.9 Mantenimiento y Obsolescencia
p.19 p.22 p.23 p.26 p.27 p.32 p. 15 p. 10 p. 11
2.1 El Producto y el Proceso
Para el desarrollo de todo proyecto de ingeniería de software, sea éste multimedia o no, debemos seguir una metodología de trabajo que nos garantice con un determinado grado de certeza de que el producto software resultante va a contar con una serie de características que definen lo que denominamos como calidad del software. En primer lugar debemos definir la “eficacia”. La eficacia es la característica que determina si el producto cumple todos los requisitos que se establecieron inicialmente En segundo lugar definimos la “corrección” como una medida de la cantidad de errores (entendidos no solo como “bugs” de programación, sino también como divergencias en el resultado esperado, malfuncionamiento de elementos, integración inapropiada de medios, etcétera) En tercer lugar definimos la “eficiencia”, que es una medida que establece si los requisitos se cumplen de una manera equilibrada en coste de recursos informáticos y tiempo Por último definimos la “satisfacción” como el grado en que el producto se adapta con exactitud a lo que pidió el cliente o demandaban los usuarios. Para alcanzar estos objetivos y lograr así la calidad en el producto final necesitaremos seguir una serie de pasos en orden, integrándolos en un marco de trabajo adecuado a las tareas que se realizarán, que es lo que conocemos como “proceso”. Debemos, por tanto, establecer y seguir un proceso para la construcción del paquete de software, así como también tendremos que procesar la información y los medios que se integrarán en la aplicación. Para hacer esto, lo más recomendable y lo que más garantías de calidad nos ofrece es seguir una metodología de ingeniería del software. En este capítulo proporcionaremos una visión teórica de la metodología de construcción de aplicaciones multimedia, que se completará después con los capítulos dedicados a la producción y a los estudios particulares.
Una metodología de ingeniería de software es una estrategia de desarrollo que acompaña al proceso, así como un conjunto de métodos técnicos para completar las etapas a través de las cuales el proyecto va creciendo para llegar a convertirse en el producto final. Un proceso fuertemente estructurado, guiado por una metodología bien elegida nos ayudará a obtener un producto de calidad. Las etapas que definimos para el desarrollo de una aplicación multimedia serán las mismas que las definidas para el ciclo de vida de una aplicación software genérica, con la salvedad de que debemos enfatizar el apartado de proceso de la información y los medios, allí donde aparecen. Estas etapas serán las de Análisis, Diseño, Implementación, Prueba, Mantenimiento y Obsolescencia. En resumen diremos que el análisis es la etapa en la que estableceremos los requisitos del producto hasta llegar a un estadio formalizado que podamos traducir a operaciones informáticas básicas. A continuación vendrá una etapa de diseño, en la que traducimos las operaciones básicas mencionadas a procesos ejecutables con una computadora. La siguiente fase es la implementación técnica de estos procesos. Tras ello debemos someter el prototipo obtenido a una batería de pruebas, como se verá más adelante. Una vez se hayan superado esta pruebas llegamos a la etapa de mantenimiento del producto final, que continúa durante todo el tiempo en que el producto siga cumpliendo su función, para acabar con la etapa de obsolescencia, en la que se descarta el producto por haber cumplido todos los objetivos de sus existencia y es, quizás, sustituido por otro nuevo. Estas etapas no siempre se seguirán se forma secuencial. De hecho, es muy común que se desarrollen de forma cíclica. Entre los principales modelos de proceso de software que podemos aplicar al desarrollo de aplicaciones multimedia encontramos las siguientes clases de metodologías:
2.2.1 El modelo lineal secuencial
El modelo lineal secuencial, también conocido como el “modelo en cascada” consiste en el desarrollo de las etapas de análisis, diseño, implementación, prueba, mantenimiento y obsolescencia de forma secuencial. Encontramos un bucle implícito en la etapa de pruebas, pues en caso de que éstas no se superen, deberemos volver a una etapa anterior
para solucionar el problema que causa el error, tal y como se explicará más adelante. Este modelo sólo es útil en el caso de aplicaciones fuertemente estructuradas cuyos requisitos y medios estén completamente definidos al inicio del proceso de desarrollo, lo cual es poco común. Por otro lado es un método poco complejo y fácil de llevar a la práctica, pero por lo general es poco recomendable, especialmente en proyectos de cierta envergadura.
2.2.2 El modelo de construcción de prototipos
En el caso de que los requisitos no estén completamente definidos en la etapa inicial, o cuando no se puedan conocer todas las especificaciones al principio porque éstas van surgiendo a medida que el proyecto va creciendo, o bien cuando no contamos con todos los medios (“media”) en el momento de diseñar la aplicación, es aconsejable emplear el método de prototipos sucesivos. Esta metodología consiste en la introducción de un bucle de realimentación en el modelo lineal secuencial, por el que pasamos una y otra vez hasta llegar al producto final. El resultado de cada vuelta en el bucle es la obtención de un “prototipo” que se empleará como un mecanismo para identificar los requisitos del software, los medios que se deben integrar al mismo, y los posibles errores que pudiera tener. Tras cada vuelta al bucle por las etapas de análisis, diseño, implementación y prueba introduciremos una nueva etapa en la que se compara el prototipo obtenido con el producto a obtener (normalmente durante reuniones con el cliente) para detectar deficiencias, establecer nuevos requisitos y definir medios. Una vez que el prototipo obtenido coincide con el producto deseado (con un cierto margen de divergencia en función del coste y el riesgo que comporta una nueva vuelta de bucle) damos por finalizado el ciclo y llegamos a la etapa de mantenimiento y, eventualmente, a la de obsolescencia.
2.2.3 El modelo RAD
El modelo RAD (Rapid Application Development – Desarrollo Rápido de Aplicaciones) es un modelo de proceso lineal secuencial que enfatiza un ciclo de desarrollo lo más corto posible. Es una adaptación a alta velocidad del modelo en cascada que se logra mediante la división del proyecto en módulos independientes y la reutilización de componentes. Este modelo es - 12 -
extremadamente apropiado para el desarrollo de aplicaciones multimedia de poca complejidad y con bajo grado de interactividad, como es el caso de las presentaciones y proyecciones, pero sólo es aplicable en los casos en que se conocen bien los requisitos y se limita el ámbito de crecimiento del proyecto, siendo deseable además contar con una batería de aplicaciones similares desarrolladas previamente cuyos componentes podamos reutilizar.
2.2.4 Otros modelos de desarrollo
Más allá de estos modelos básicos se pueden definir metodologías más complejas como es el caso del modelo de procesos evolutivos, cuya característica más destacada es la creación de versiones incrementales del producto. La diferencia con el modelo de prototipos es que las versiones producidas, a diferencia de los prototipos, que son versiones incompletas del producto final, deben ser totalmente operativas. Es especialmente apropiado en el caso de aplicaciones en las que es elevado el cociente entre la complejidad del producto y los recursos de que se dispone para su desarrollo. Ciertamente, un proyecto de envergadura media desarrollado por un grupo de muchos desarrolladores bien provistos de equipo durante un tiempo dilatado puede no requerir este método, mientras que sí lo requeriría si el mismo proyecto fuera desarrollado por uno o dos desarrolladores con pocos medios y poco tiempo a su disposición. Sin embargo, el desarrollo de versiones sucesivas puede estar supeditado también a otros factores, como la inexistencia de medios o componentes tecnológicos en el momento del montaje. Pongamos por caso una aplicación cuyos medios son tan complejos que requieren tanto tiempo de desarrollo como la propia aplicación. O también podemos considerar el caso de una enciclopedia multimedia, que debe actualizarse periódicamente con datos recientes para no quedar obsoleta. Otro modelo complejo que se puede utilizar es el conocido como “de métodos formales”, que se centra en la formalización del proyecto con el objetivo de la completa erradicación de errores. También conocido como modelo de “sala limpia”, este método será habitualmente muy costoso en recursos y tiempo y presenta un grado de dificultad superior al de otros modelos, aunque el resultado es innegablemente un producto de calidad. Por último nos encontramos con las denominadas “T4G” (Técnicas de cuarta generación). Aunque no son propiamente una metodología, sino más bien una herramienta tecnológica o un conjunto de ellas, su aportación al campo de la ingeniería de software es indiscutible, pues permiten entre otras características la generación automática de código además de otras facilidades a la tarea del desarrollador, ahorrando tiempo y facilitando la - 13 -
modularidad del proyecto. Podemos incluir también en este apartado las técnicas de Programación Orientada a Objetos (OOP). Su aportación en forma de entornos de desarrollo integrados amplía enormemente las posibilidades de construcción de aplicaciones multimedia. Tal es el caso de las dos herramientas de montaje de contenidos y generación de aplicaciones estudiadas para este proyecto, ambas de la firma “Macromedia”: Director y Authorware.
2.3 Modelado de documentación Multimedia e Hipermedia
Como ya hemos explicado, el desarrollo de aplicaciones multimedia se debe caracterizar por un mayor énfasis en el diseño de los medios o “media” y la integración de éstos en el producto final. Para ello tenemos a nuestro alcance un grupo de herramientas de introducción relativamente reciente, que conocemos como herramientas de modelado de documentación multimedia e hipermedia. Se centran en los tres factores siguientes: el aspecto de la presentación del contenido al usuario, la sincronización entre los componentes y las posibilidades de navegación hipermedial que posibilita la aplicación. Antes de continuar detengámonos un poco en este nuevo término: “hipermedia”, tras lo cual se expondrán los métodos correspondientes.
2.3.1 Hipermedia
A raíz del auge de Internet hemos conocido una nueva forma de estructuración de recursos documentales que conocemos como “hipermedia”. En su forma más conocida toma la forma de “hiperenlaces” (“hyperlinks”) en una página web, que son un punto de acceso a un recurso o documento situado en una localización diferente a la que se está visualizando. Empleando este tipo de enlaces (“links”) pasamos de lo que antes era una lectura secuencial de un texto a una nueva lectura no secuencial controlada por el usuario y encauzada por el desarrollador. Esta técnica, que nos abre multitud de nuevas posibilidades, también comporta ciertos problemas. Uno de estos problemas es la complejidad. Lo que antes era lineal ahora toma una nueva dimensión, lo cual implica que deben evaluarse un número exponencialmente creciente de posibilidades en función del grado de”hipernavegabilidad” con que queramos dotar al producto software, lo cual se traduce en más trabajo en las fases de análisis y diseño del software. Por otro lado existe el problema de la desorientación del usuario, que debemos solventar con la introducción de guías, mapas y otras ayudas que permitan conducir la experiencia del usuario por cauces establecidos sin posibilidad de pérdida. La creación de estos mapas requiere de un equipo multidisciplinar versado, por una parte, en documentación de mapas cognitivos, y por otro en teoría de grafos y redes de Petri si el proyecto tiene cierta complejidad. Si además queremos dotar a estos enlaces de semántica - 15 -
entraremos en el campo de la estructuración del conocimiento, como veremos a continuación. Sin embargo, los hiperenlaces no son la única posibilidad que esta nueva técnica hipermedial posibilita. Muy al contrario, son su expresión más sencilla. Los “hyperlinks” nos suministran un punto de acceso a otro documento, pero este documento puede ser de cualquiera de los tipos conocidos tratables por un ordenador, desde un fotograma concreto en una secuencia de vídeo hasta una nota en una partitura musical codificada en MIDI (véase el apartado 7.2.4). La complejidad aumenta, pero no sólo por la variedad de medios a los que se puede acceder, sino por las nuevas estructuras que se pueden construir a partir de los hiperenlaces. Debemos, pues, dar a este campo la importancia que merece en la planificación de aplicaciones multimedia, pues no es trivial.
2.3.2 Mapa de Navegación Hipermedia
El “MNH” (Modelo o Mapa de Navegación Hipermedia) se basa en la forma de una grafo dirigido cuyos nodos representan objetos documentales (“media”) y cuyas aristas serán los hiperenlaces, de tal modo que se establece un tipo de índice asociativo junto con una semántica añadida que informe de la relación conceptual entre el objeto (también denominado “ancla” o “anchor”) del que parte el enlace y el destino del mismo, dándonos lugar a la siguiente sintaxis: (Ancla de origen) :(Nombre del hiperenlace): (Ancla de destino)
La semántica que añadamos puede complicarse todo lo que se desee en función de la complejidad de la aplicación, pero habitualmente toma valores verbales simples como “es un”, “depende de”, “desarrollado por”, etcétera. En los casos en que todas las relaciones representadas por las aristas tomen el mismo valor podremos omitir la especificación de la semántica en el MNH, simplificando así el mapa.
Diagramas de flujo de la aplicación “Un paseo por la Ciudad de León”
Más adelante, en los estudios particulares, veremos cómo se organizan estos hiperespacios de navegación.
2.3.3 Diagrama de Presentación de Documentos
El DPD (Diagrama de Presentación de Documento) de una “forma” o “formulario” (Form) nos permite modelar el modo en que el usuario va a percibir los contenidos. Entendemos una forma como una pantalla de la aplicación que constituye un único bloque, al modo en que se construyen en un entorno de desarrollo visual como pueda ser Borland C++ Builder. Esta técnica se basa fundamentalmente en las recomendaciones que, al respecto, han publicado autores como Rossi et al. (1996) para el diseño de GUI’s (Graphical User Interface – Interfaz Gráfica de Usuario), y en la norma ISO 8613 (ODA) de estructuración de documentos de oficina (ISO, 1988).
Con un DPD se presenta la estructura de un formulario en forma de bloques anidados, en cuyo interior se registrarán los contenidos o “media” que constituyan la aplicación. Esta estructura se modela a través de Elementos de Presentación (EP) que deben especificar su naturaleza (literal, variable, persistente, opcional, excluyente) y su multiplicidad (cantidad de instancias que aparecen), así como sus atributos (posición, tamaño, duración o hiperenlaces, entre otros). Si la aplicación multimedia que estamos proyectando está altamente formalizada debemos documentar exhaustivamente todas y cada una de las plantillas de que se componga mediante la creación de suficientes de estos DPD’s como para definir todas las “formas”.
2.3.4. Modelo de Sincronización Multimedia
Cuando se trabaja con medios dinámicos y variables, como una secuencia de video o una consulta a una base de datos, es necesario establecer la sincronización temporal entre los elementos implicados en la aplicación, la cual se especifica en el “MSM” o Modelo de Sincronización Multimedia. Éste es un diagrama que toma la forma de un guión o partitura jerárquica dependiendo de la lógica subyacente a su construcción. Existen diferentes herramientas en el mercado que permiten su creación, como es el caso de Director con su “Score” o de Flash, que se basa en un conjunto de capas (“layers”) de información que se ordenan y sincronizan sobre una escala de tiempos relativos. Básicamente, lo que hacemos en un MSM es establecer la secuencia de aparición de los elementos en las diferentes formas que componen la aplicación multimedia, estableciendo su condición de disparo (“trigger”) en respuesta a un determina evento. Además debemos indicar su duración, el tipo de su presentación (en paralelo o en secuencia) y los recursos que utiliza (de este modo contaremos con el beneficio añadido de un mayor control de la ocupación de memoria de nuestra aplicación en cada momento, lo cual es indudablemente una ventaja para el desarrollo). Esta técnica está basada en OCPN (Object Composition Petri Net – Red de Petri de Composición de Objetos) propuesta por Little y Ghafoor (1990) y consiste en un grafo dirigido cuyos nodos representan el proceso de presentación por pantalla de objetos multimedia.
2.4 El Análisis de aplicaciones multimedia
Independientemente de la metodología de ingeniería de software que escojamos, debemos pasar, en un orden u otro, por las fases establecidas para obtener un producto multimedia plenamente operativo. En todo proyecto software la primera etapa es necesariamente el análisis del problema a resolver: ¿Qué problemas resuelve una aplicación multimedia? 1) El problema de la comunicación de información: una aplicación multimedia, en última instancia, tiene como objetivo el comunicar a (y recibir de) el usuario un conjunto de datos en diversos formatos. El cómo se alcance este objetivo determinará en gran medida la calidad de la aplicación, por lo que lo primero que debemos preguntarnos es ¿Cómo lograr esta comunicación de la mejor manera posible? 2) El problema de la integración de medios: Para resolver el problema anterior emplearemos una serie de medios, ya sean textuales, gráficos o de otro tipo. Dada la diversidad de medios implicados, es necesario ordenarlos, combinarlos, secuenciarlos y sincronizarlos de modo que logremos una comunicación bidireccional sin trabas entre el usuario y la aplicación. 3) El problema del aspecto:: Una de las cualidades que mejor define a una aplicación multimedia hoy día es “visual”. Con una aplicación multimedia no sólo se busca ejecutar un conjunto de instrucciones que realicen ciertas operaciones sobre los datos, sino que también debemos conseguir que los medios de transmisión de información se integren en el conjunto de la aplicación de manera armoniosa de modo que los contenidos a transmitir se presenten en un marco o forma apropiados que los haga atractivos al usuario y concentre su atención. 4) El problema del cálculo: inherente a todo producto software. La aplicación ciertamente debe realizar una serie de operaciones sobre los datos de la manera más eficiente posible y de forma transparente al usuario. Para resolver estos problemas es fundamental un buen análisis. Dentro del análisis de aplicaciones multimedia distinguiremos cuatro fases propias que serán la especificación de requisitos, el análisis funcional, la especificación de contenidos (“media”) y la planificación del proyecto.
2.4.1 Consideraciones previas
Deberemos considerar una serie de factores que nos permitan conocer a grandes rasgos las características del proyecto y de los medios que debe contener, antes de embarcarnos de lleno en su construcción.
2.4.1.1 El cliente
En el proceso de desarrollo de aplicaciones siempre existe un cliente que nos encarga la aplicación. Este cliente puede ser el propio grupo desarrollador, pero en la mayoría de los casos será una segunda persona, entidad o empresa. El cliente es nuestra principal fuente de información y es quien definirá los requisitos iniciales del proyecto. Mediante una serie de entrevistas, más o menos formales, se definirán los objetivos a cubrir y se dará forma a la idea inicial, encuadrando la aplicación en su tipo correspondiente.
2.4.1.2 Estudio de viabilidad
Si nuestra aplicación multimedia constituye un producto comercial, debemos realizar antes de nada un estudio de viabilidad que nos permita conocer: 1) Quiénes serán los usuarios de nuestra aplicación 2) Si existe hueco en el mercado para un producto de las características del nuestro 3) Si es viable construirlo en términos de recursos económicos (rentabilidad) y tiempo. Si tras este estudio encontráramos que el producto es inviable, normalmente abandonaremos su construcción. Si, por el contrario, lo encontramos viable, emplearemos la información obtenida en esta etapa para su desarrollo.
2.4.2 Especificación de requisitos
En esta fase se deben establecer los requisitos que la aplicación debe cumplir, especificar la función y el rendimiento del software, indicar la interfaz del software con otros elementos y establecer las restricciones que se le impondrán. Deberemos volver a esta fase siempre que encontremos un error de análisis en fases posteriores, pero teniendo siempre en cuenta que esta regresión implica un coste en tiempo y recursos que debe evitarse en lo posible. Para evitar estos sobrecostes es fundamental especificar los requisitos de la aplicación de la manera más exhaustiva y detallada posible.
2.4.3 Análisis funcional
A partir de la definición de requisitos y restricciones elaborada en la fase anterior, estableceremos un guión de las funciones aritmético-lógicas que la aplicación debe realizar. No se debe entrar en detalle en esta etapa, ya que ese trabajo se llevará a cabo en la fase de diseño; simplemente deseamos conocer aproximadamente cuál será la complejidad lógica de las funciones soportadas por la aplicación, como por ejemplo cálculos matemáticos, gestión de modelos 3D o consultas a bases de datos.
2.4.4 Especificación de contenidos
En una aplicación multimedia, está claro que los “media” que emplearemos toman un papel ide suma importancia. Ocasionalmente, el cliente nos suministrará una serie de documentos (textuales, videográficos) para su inclusión en la aplicación, mientras que en el resto de los casos deben ser adquiridos o diseñados. En esta fase debemos definir cuáles serán esos medios, en qué forma se incluirán en el proyecto, y cómo se relacionarán entre sí y con el resto de la aplicación. El objetivo de esta fase es obtener una estimación lo más aproximada posible del trabajo de transformación y edición que deberemos realizar sobre los medios para su posterior imbricación en la aplicación. Dado que en el caso particular de las aplicaciones multimedia los requisitos serán muchas veces “mostrar una serie de medios por pantalla en un orden determinado”, esta fase y la de especificación de requisitos podrán fusionarse en una sola, en el caso de aplicaciones simples, de tamaño reducido, y con poco contenido. - 21 -
2.5 Planificación
Una vez que hemos pasado por la especificación de requisitos, el análisis funcional y la especificación de contenidos, debemos realizar una planificación de tareas a lo largo del tiempo como en cualquier proyecto de ingeniería de software. La planificación temporal de proyectos de software se guía por unos principios básicos: División en módulos: El proyecto debe dividirse en un número manejable de tareas y actividades, descomponiendo tanto el producto como el proceso Interdependencia: Se deben determinar las interdependencias entre actividades para su ordenación temporal en un gráfico de tiempos Asignación de costes a las actividades: en tiempo, personal, trabajo y otros recursos Distribuir tareas entre los miembros del grupo de trabajo y definir hitos y fechas de entrega para los resultados parciales. Dado que para desarrollar una aplicación multimedia se requiere el conocimiento y utilización de gran cantidad y diversidad de herramientas software (tales como programas de edición de vídeo, de retoque fotográfico o de creación de animaciones), es fundamental un buen reparto de tareas entre los especialistas que conforman el equipo de trabajo y una buena planificación de estas tareas a lo largo del tiempo. Si la aplicación proyectada integra, por ejemplo, una gran cantidad de videos digitales que deben ser editados para su inclusión en el producto final, pero sólo contamos con un especialista en edición de video, debemos tener en cuenta a la hora de planificar que este apartado se debe programar en paralelo con el resto de las actividades, pues llevará un tiempo dilatado. Si es posible, se preferirá la ampliación del equipo con otro especialista del tipo necesario para lograr así un tiempo de desarrollo menor y una planificación más eficiente. Para el caso particular de las aplicaciones desarrolladas en el ámbito de este proyecto (“Invitación multimedia” y “La ciudad de León”), todas las tareas fueron realizadas por el único miembro del equipo, lo cual fue posible gracias a que se contaba con un tiempo dilatado para la construcción de ambos proyectos.
2.6 El Diseño de aplicaciones multimedia
Inmediatamente después de la etapa de análisis, se entra en la etapa de diseño, que es aquélla en la cual se aplican distintas técnicas y principios con el propósito de definir el sistema con suficiente detalle como para permitir su realización física. Así como un buen análisis es fundamental para la producción de aplicaciones multimedia, lo mismo puede decirse de la etapa de diseño. Un buen diseño que cumpla estrictamente los requisitos especificados en la etapa de análisis nos garantizará una rápida implementación y producto final de calidad, mientras que un mal diseño nos llevará inevitablemente a un producto de baja calidad, o incluso al abandono total del proyecto. Distinguimos varios bloques en la etapa de diseño: el diseño de datos y medios, el diseño arquitectónico, el diseño de interfaz y el diseño procedimental.
2.6.1 Diseño de Datos
Esta es la etapa en que se definen los datos con que trabajará la aplicación, así como los medios que contendrá. Entendemos como tales, no sólo los objetos documentales ya definidos, sino todo tipo de datos (información, estructuras de datos y datos de control) que compongan la aplicación.
2.6.1.1 Diseño de medios
El diseño de medios es una parte fundamental en la construcción de aplicaciones multimedia. Aquí debemos establecer con el mayor grado de detalle posible la forma en que los medios (“media”) se presentarán al usuario. Se deben especificar, por tanto, características tales como formato y resolución de las imágenes, duración y codificación de medios videográficos, formato de archivos de audio, diseño de animaciones, tipos de letra y, en general, todas las características necesarias para que la fase de implementación subsiguiente sea totalmente mecánica para un técnico especializado en el montaje de contenidos.
2.6.1.2 Documentación de medios
Dado que en la construcción de toda aplicación multimedia que se precie se trabaja con un gran volumen de información, es fundamental documentar y archivar, tanto los recursos y medios empleados, como las diferentes versiones que de los mismos se van desarrollando. Esta proceso es laborioso y su complejidad en proyectos con gran cantidad de contenidos puede llegar a requerir un equipo multidisciplinar especializado en documentación, pero permitirá mejorar sensiblemente la organización de tareas y recursos. Un esfuerzo documental en proyectos de una envergadura media-alta se traducirá en las etapas finales en un gran ahorro de tiempo y trabajo, evitando repetir tareas y facilitando la localización de documentos y recursos. Es por ello una herramienta clave en todo proyecto de ingeniería de software multimedia.
2.6.2 Diseño Arquitectónico
El objetivo primario del diseño arquitectónico es desarrollar una estructura de programa modular y representar las relaciones de control entre los módulos. Además, el diseño arquitectónico combina la estructura del programa y las estructuras de datos, definiendo interfaces que permiten el flujo de datos entre los componentes programa. Lo que aquí se diseña es el marco o “esqueleto” de la aplicación en el que se inscribirán los módulos.
2.6.3 Diseño de Interfaz
El diseño arquitectónico proporciona al ingeniero de software una imagen de la estructura del programa. El diseño de interfaz se divide en tres áreas principales: 1) El diseño de interfaces entre el usuario y la computadora (problema de comunicación, problema de orientación). Véase apartados 2.3.4 y 2.4) 2) El diseño de interfaces entre los módulos software
3) El diseño de interfaces entre el software y otras entidades externas a la aplicación que actúen como clientes y servidores de información.
2.6.4 Diseño de Interactividad
La interactividad es una característica inherente a casi todas las aplicaciones multimedia, salvo que éstas sean presentaciones secuenciales en las que el usuario toma un papel pasivo y la aplicación solamente se encarga de mostrar secuencialmente una serie de contenidos. El diseño de la interactividad del sistema modela cómo interaccionará el usuario con la aplicación y viceversa. Es en este apartado donde debemos construir el mapa de navegación hipermedial definido anteriormente (apartado 2.3.2) a partir de las especificaciones concretas de la aplicación a desarrollar, así como los medios por los que el usuario podrá interaccionar con el sistema (pulsación de botones por medio del ratón, sensores, mandos, reconocimiento de escritura o, incluso, del habla, etc.).
2.6.5 Diseño procedimental
El diseño procedimental es la última etapa de este apartado del desarrollo. Aquí se diseñarán los procedimientos y funciones a emplear en pseudocódigo, sin entrar en los detalles de los lenguajes de programación correspondientes, ya sean éstos lenguajes de programación orientada a objetos, lenguajes de construcción de sistemas expertos e inteligencia artificial, lenguajes de consulta a bases de datos, u otro tipo de lenguajes. Para ello se debe seguir un sistema estructurado de programación y se aconseja la construcción de diagramas de flujo para los bloques complejos. El objetivo es que la siguiente etapa de implementación se reduzca a una mera traducción del código escrito a instrucciones inteligibles por un compilador, objetivo éste que puede llevarse a cabo de modo más o menos formal, exigiendo un rigor que garantice la ausencia de errores, o simplemente reutilizando algoritmos ya construidos obtenidos de una librería. En ningún caso se recomienda tomar a la ligera esta fase del diseño, pues es donde mayor cantidad de errores se suelen introducir en el producto.
2.7 Implementación
La implementación es la etapa de la construcción de la aplicación en la que se construye físicamente el software. Es la etapa en que se realizan todas las tareas de programación y concretización de parámetros, y, si se han seguido las fases anteriores de forma correcta y se conocen bien las herramientas con que se ensamblan los componentes y se programa la aplicación, no debe implicar gran dificultad
2.7.1 Programación
La programación es la traducción del pseudocódigo generado en fases anteriores a instrucciones de un lenguaje compilable. Las herramientas CASE (Computer-Aided-Software-Engineering – Ingeniería de Software Asistida por Computadora) y las T4G (ver apartado 2.2.4) son prácticamente indispensables para el desarrollo de aplicaciones multimedia de cierta envergadura. Habitualmente, este tipo de herramientas se encuentran a medio camino entre una herramienta de montaje de contenidos y generación de diagramas, y un entorno integrado de programación. Los lenguajes que se emplean para programar en estas herramientas pueden ser lenguajes de programación propios y completos o lenguajes de scripts y macros, y de su complejidad y posibilidades dependerá la potencia y flexibilidad de la herramienta que empleemos para la construcción y, por ende, de las aplicaciones que desarrollemos con ella. Es importante contar, no sólo con un buen lenguaje de programación, sino también con una buena librería o biblioteca de componentes predesarrollados que realicen las funciones más comunes y que podamos reutilizar en nuestra aplicación, ahorrando así tiempo y garantizando la calidad de los módulos y la ausencia de errores.
2.8 Plan de Pruebas
En cualquier metodología del software que se precie debemos contar con una batería de pruebas que nos permita comprobar que lo que hemos desarrollado se ajusta con exactitud al resultado esperado. La aparición de errores en los programas informáticos es un problema crónico de la ingeniería del software que la acompaña desde su origen. Estos errores pueden deberse a multitud de factores, desde fallos al teclear hasta complicados problemas de funcionamiento relacionados con características específicas del hardware, y no simplemente a los errores más aparentes del tipo “este botón no funciona”. Para su detección y eliminación contamos con una serie de métodos que nos permiten probar la corrección de los diferentes módulos que componen la aplicación. En caso de que el producto no supere alguna de las pruebas a las que se le somete, se debe volver a un estadio anterior de desarrollo para solucionar el problema de la manera más conveniente, lo cual implica un gasto de tiempo y recursos para nada deseable, pero completamente necesario si queremos desarrollar software de calidad.
2.8.1 Revisiones
La primera prueba que se debe realizar es la ejecución de la aplicación y la revisión exhaustiva de todos los apartados que la componen. Es deseable, si bien no siempre posible, realizar esta prueba en presencia del cliente, pues él será quien más fácilmente detecte las divergencias entre el producto que hemos desarrollado y el encargo recibido. En caso de que todo vaya (o parezca ir) bien, se anotarán las correcciones del cliente y se pasará a las siguientes pruebas. No suele ser recomendable pasar a otra prueba sin haber superado la anterior, salvo que el problema no esté aún identificado y localizado. En el caso de que no todo funcione correctamente, se volverá a etapas anteriores cuantas veces sea necesario, salvo que esto comporte un incremento inaceptable del riesgo de no completar la aplicación en el tiempo disponible. Esta evaluación no debe hacerse a la ligera, sino mediante una técnica adecuada de gestión de riesgos en los proyectos software que queda fuera del objetivo de este documento, pero que se puede consultar en la bibliografía (Pressman).
2.8.2 Depuración
La etapa de depuración o “debugging” (eliminación de errores o “bugs”) se basa en el examen de la corrección del código fuente generado. En caso de que la aplicación multimedia desarrollada tenga un gran componente programático, debemos realizar esta depuración de la manera más estricta exigida por la ingeniería de software, para asegurarnos de la ausencia de errores ocultos en el código que pudieran dar lugar a un mal funcionamiento del sistema. Esta depuración debe realizarse cada vez que se altere una porción de código de un módulo o función de los que componen la aplicación.
2.8.3 Pruebas de Medios
Todos los medios que se incluyan en la aplicación deben ser probados independientemente uno por uno antes de ser incluidos en el contexto de la aplicación. Así, por ejemplo: • • • Si son medios textuales: se comprobará la homogeneidad de tamaños, estilos y tipos de letra Si son imágenes: se comprobará que el tamaño y la resolución son los adecuados Si son archivos de audio: se comprobará que se escuchan correctamente, se normalizarán sus volúmenes de salida y se eliminarán las interferencias y ruidos no deseados Si son archivos de video: se eliminarán fotogramas superfluos y se compensarán los encuadres defectuosos y los valores de luminosidad y color mediante la aplicación de filtros. Si son animaciones: se comprobará su correcto funcionamiento y su adecuada situación en pantalla
Una vez comprobados estos parámetros, se procecederá a la siguiente batería de pruebas.
2.8.4 Versión Alfa
Las pruebas de integridad se realizan sobre lo que se denomina “versión alfa” del producto. La versión alfa es una primera versión que se supone totalmente funcional y que se prepara de modo que facilite su prueba por el grupo de constructores y programadores al que se entrega para que le hagan pasar por una batería de pruebas, especialmente diseñada para detectar deficiencias en la implementación, el diseño, o, en el peor caso, el análisis. Una vez superada esta fase se continúa con lo que se denomina como “versión beta”.
2.8.5 Versión Beta
La versión “beta” de un producto es aquella que se entrega a un grupo de usuarios tipo para que la prueben. El caso ideal es someter al producto a prueba por un grupo de usuarios reales, a los que se conocen como “betatesters”. Estos usuarios son el mejor grupo de control de que se dispone para probar que, en efecto, el producto cumple sus funciones y resuelve los problemas planteados en el apartado 2.4. Todas las opiniones de los usuarios se anotarán y discutirán entre los desarrolladores para la localización de nuevos fallos no descubiertos en etapas anteriores. Dado que los usuarios no tienen por qué conocer el funcionamiento interno de la aplicación, este tipo de pruebas se centra principalmente en comprobar la interfaz de la aplicación con el usuario y sus características de interactividad, aunque siempre es posible que se descubran otro tipo de errores no detectados. Esta prueba nos permite también navegabilidad y desorientación del usuario. detectar problemas de
2.8.6 Pruebas de Portabilidad
Si la aplicación en desarrollo se va a ejecutar en sistemas con diversas configuraciones hardware y software deben efectuarse pruebas de portabilidad. Estas pruebas tienen por objeto comprobar que la aplicación podrá ejecutarse sin problemas en soportes diferentes al empleado para su desarrollo. Entendemos como soporte al conjunto formado por:
1) El hardware: el computador o la máquina electrónica sobre la que correrá la aplicación. 2) El software de operación: sistema operativo (diferentes versiones de Windows, Linux u otros S.O.’s) o software empotrado si es un dispositivo electrónico como un móvil o un autómata programable. 3) El software vecino: todos aquellos programas y componentes software que interactúen con la aplicación, como navegadores, librerías (DirectX, OpenGL,...), plug-ins (Flash Media Player, VRML,...), etcétera.
2.8.7 Pruebas de Rendimiento y Optimización
Una vez que la aplicación ha sido probada, revisada y comprobada, se someterá a condiciones y cargas de trabajo reales para observar su comportamiento. Su objetivo es optimizar la aplicación en términos de recursos consumidos (tiempo de procesador, tiempo de ejecución, ocupación de memoria, uso del disco duro, fluidez de visualización...) y comprobar que se produce una ejecución correcta de todos los módulos. Para el caso de una aplicación multimedia, por ejemplo, no es necesario emplear imágenes a una resolución de 24 bits de color si siempre se visualizarán a 16 bits porque esto supondría un desperdicio de potencia que no tiene como resultado una mejora en la calidad. Otro ejemplo es aquel en que la aplicación desarrollada vaya a ejecutarse a través de la red. Se supone que la aplicación estará dividida en bloques o paquetes fácilmente descargables por lo que se debe comprobar
que la aplicación se ejecuta con rapidez para una serie de tasas de flujo de datos en baudios previamente establecidas. Una vez optimizado, el producto debe probarse otra vez para cerciorarse de que no se han introducido errores en el proceso de optimización, y sólo cuando esta última prueba se haya concluído podremos pasar a la siguiente etapa.
2.9 Mantenimiento y Obsolescencia
Tras superar la batería de pruebas y finalizar todos los ciclos que imponga la metodología seguida, llegamos al punto en que tenemos la aplicación acabada y operativa. El trabajo no finaliza en este punto, ya que todavía deben realizarse otras tareas como la redacción del manual de usuario si lo hubiera, el diseño del embalaje, la distribución del producto y la implantación en el entorno para el que fue diseñado, así como al diseño del servicio de mantenimiento en caso de existir éste, y el archivado de todos los elementos desarrollados para su eventual reutilización en futuros proyectos. Llega un momento en que la vida útil del producto termina, bien sea porque ha cumplido su función (como es el caso de una presentación que sólo se visualizará un vez), porque es sustituido por otro más avanzado, porque se haya descubierto un error no detectado que imposibilite su funcionamiento o porque el hardware sobre el que se ejecuta se haya vuelto obsoleto, con lo que el ciclo de vida del software llega a su fin. Este sería el momento adecuado de concebir un nuevo producto para un campo siempre en expansión: “Multimedia”.
3.1 Introducción a la Producción 3.2 El Impacto de Internet en Multimedia
p. 34 p. 38
3.1 Introducción a la Producción
Con el presente capítulo y los siguientes pretendemos dar al desarrollo de aplicaciones multimedia un enfoque orientado a la producción. El enfoque referido se compone, por una parte, del proceso de producción y edición de los medios (en adelante denominados “media”), y por otra del montaje de estos media en un producto software mediante una herramienta de construcción y programación de aplicaciones multimedia.
3.1.1 Los contenidos
Como se ha expuesto anteriormente, al inicio de un proyecto software se deben establecer, en la medida de lo posible, los contenidos o media que incluirá. La decisión, selección y adquisición de estos contenidos es una parte crucial en el desarrollo de aplicaciones multimedia y debe efectuarse siguiendo unos determinados criterios. El primero de estos criterios es encontrar un equilibrio entre la calidad de los medios y su coste en recursos. Por ejemplo, al desarrollar una aplicación multimedia en Flash diseñada para que un gran número de usuarios puedan descargarla a través de un módem telefónico convencional y verla en sus casas, sería poco conveniente incluir secuencias de video digital de alta calidad, pues esto relentizaría, tanto la reproducción del vídeo, como el conjunto de la aplicación, lo que podría llegar a hacerla inviable. Sería preferible utilizar vídeos comprimidos con calidad más reducida, utilizando técnicas de “streaming” (véase apartado 3.2.3 para más información) o, preferiblemente, animaciones vectoriales (véase apartado 6.3 y capítulo 6), que como veremos más adelante ocupan mucho menos espacio y su descarga, por tanto, es más rápida. El caso opuesto es el de una enciclopedia multimedia en DVD o un juego con gráficos en 3D. Aquí prima la calidad de los contenidos, ya que la velocidad a la que se pueden reproducir y visualizar los datos y el espacio de almacenamiento con que contamos no son recursos tan escasos como en el ejemplo anterior. Si bien es cierto que los recursos tampoco son ilimitados, el rango es mucho mayor y podremos introducir contenidos de mayor calidad y tamaño sin grandes riesgos para el conjunto de la aplicación.
3.1.2 Especificación de medios
Siguiendo el criterio de compromiso entre calidad y recursos, debemos especificar qué medios se incluirán en la aplicación y en qué formato lo harán. Durante la etapa de análisis y especificación de medios podemos encontrarnos con varias situaciones diferentes que ejemplificamos en la siguiente tabla:
Datos en formato digital El cliente determina y suministra los medios Tarea: ninguna * Debemos buscar los medios por nuestra cuenta
Datos en formato no digital
Ejemplos: logotipo de marca de Ejemplo: litografía, vídeo en la empresa formato VHS Tarea: digitalizarlos y editarlos Ejemplo: un texto literario
Ejemplo: un tema musical con copyright restringido Tarea: plantear la adquisición de los derechos de explotación
Tarea: acudir a la editora y comprar el formato digital del recurso, junto con su licencia de uso Ejemplo: La grabación de la voz de un narrador necesarias en formato digital
Los medios no existen Tarea: Localizar a un especialista y grabar las locuciones
* Nota: Aunque los medios ya se encuentren especificados, decir que no hay ninguna tarea que hacer es, quizá, excesivo, ya que, salvo que éstos hayan sido construidos específicamente para nuestra aplicación, deberemos realizar un trabajo de edición y adaptación de los mismos para darles un formato acorde con el producto en desarrollo.
Tabla - Situaciones de la especificación de medios
3.1 .3 Licencias
El problema de las licenciases un campo controvertido y polémico en el mundo de la informática. Como norma general, cualesquiera medios que empleemos en nuestra aplicación, como textos literarios o música en formato MP3, deben estar licenciados para su uso en el proyecto por el dueño del copyright correspondiente. Si esto no fuera posible, bien por cuestiones económicas, bien porque el dueño del copyright es inaccesible o no accede a concedernos su licencia, nos abstendremos de emplear estos medios y buscaremos sustitutos apropiados Esta norma debe seguirse especialmente en caso de que la nuestra sea una aplicación comercial por cuya venta vayamos a obtener beneficios económicos, y también cuando la aplicación vaya a tener una gran difusión, como es el caso de aquéllas que se reproducen en un navegador de Internet. El problema de las licencias no es exclusivo de los medios, sino también de las herramientas software que se emplean para construir aplicaciones multimedia. Siempre que sea posible y que ello no afecte a la calidad final del producto, preferiremos emplear componentes sin copyright o con licencia pública como la Licencia Pública General de GNU (o GPL, General Public License), lo cual también se aplica para todos los programas y herramientas software que empleemos para el desarrollo. La GPL fue desarrollada para el proyecto GNU por la Free Software Foundation, que podemos traducir como "Fundación por el Software Gratuito". La licencia establece una serie de previsiones sobre la distribución y modificación del "software gratis". "Gratis" (“Free”) en este sentido se refiere a libertad, y no solo al coste. Se incluye una copia completa de la Licencia en los anexos de esta memoria. Sin embargo, en muchos casos, el empleo de este tipo de software no será posible, o, quizá, deseable. Esto es así porque las compañías que desarrollan software para la construcción de programas (lo que denominaremos “metasoftware”, incluyendo, pero no limitándose a, compiladores y entornos integrados de desarrollo) suelen cobrar una cierta cantidad, en ocasiones muy alta, por su licencia. Por ejemplo este es el caso de Autodesk 3D Studio MAX, cuyo precio ronda los 3000 euros (medio millón de pesetas). ¿Qué incentivos nos ofrece el pago de un precio tan alto por la licencia de un producto “metasoftware” cuando tenemos a nuestra disposición otros productos o versiones más baratos, o, incluso, gratuitos? La respuesta es clara: la calidad y el soporte. En la compra del producto se incluye una serie de manuales impresos en papel de alta - 36 -
calidad, se ofrece un servicio técnico excelente al cliente licenciado y se ofertan rebajas de precios en la compra de versiones posteriores. Por otra parte, es innegable que se nos ofrece una garantía de calidad, avalada por una gran compañía, con la que de otra manera no contaríamos. Por tanto, en el caso de cada aplicación concreta nos decidiremos por una u otra opción para cada una de las herramientas que vayamos a emplear. Desde aquí se recomienda adquirir software comercial para las herramientas a las que se vaya a dar un mayor uso, como los entornos de desarrollo y montaje, y emplear productos con licencias más flexibles para las que vayamos a usar menos, como las de edición los medios particulares que menos se empleen en la aplicación.
3.2 El Impacto de Internet en Multimedia
La revolución que ha sufrido el mundo de la informática a raíz del desarrollo de Internet ha afectado muy profundamente al concepto de “multimedia” tal y como se conocía. La posibilidad de integrar medios más complejos, el desarrollo de nuevos formatos de archivo y la evolución de las técnicas de “streaming” merecen que nos detengamos un momento en el impacto que éstas y otras técnicas han tenido en el desarrollo de aplicaciones multimedia.
3.2.1 Nuevas posibilidades de comunicación
La rápida expansión de Internet y el alto índice de penetración que está teniendo en las PYMES (Pequeñas y Medianas Empresas) y en los hogares de particulares ofrece una serie de ventajas para el desarrollo de aplicaciones software: Por una parte, se amplía el mercado, ya que los clientes y los usuarios pueden estar en cualquier parte del mundo, saber de su existencia mediante una página web y comunicarse con el equipo de desarrollo a bajo coste con un simple módem. Por otro lado, se agiliza la comunicación con el cliente y entre los miembros implicados en el proyecto, mediante el uso de correo electrónico, grupos de noticias y conexiones peer-to-peer que permiten compartir resultados parciales e información concerniente al estado de desarrollo del proyecto. Además, se cuenta con una ingente fuente de información que puede emplearse, bien para la consulta de métodos técnicos de desarrollo, bien para la búsqueda de repositorios de medios y componentes ya desarrollados para su reutilización. Por último, se crean y mejoran continuamente nuevos formatos de archivos multimedia y surgen nuevas formas de construir aplicaciones multimedia, como las basadas en el formato SWF (que veremos en detalle en el apartado 6.3) o en hiperenlaces semánticos (ya comentados en el apartado 2.3.2).
3.2.2 Nuevos formatos multimedia
Casi diariamente se producen mejoras en los formatos de archivos multimedia que tienen como objetivo la obtención de mejores ratios de compresión (JPEG, MPEG [1, 2, 3 y 4], DivX, MP3pro), la presentación de contenidos con mejor calidad y la inclusión de nuevas funcionalidades de almacenamiento y acceso a la información contenida en archivos multimedia (RA, WMF). Destacaremos entre estas nuevas técnicas el “streaming” o flujo de datos.
3.2.3 Desarrollos basados en ‘streaming’
La palabra “streaming” es un término anglosajón que proviene de la palabra “stream”, que podemos traducir como “flujo” o “cauce”. El streaming es una técnica de distribución de información a través de una red informática que consiste en la partición de aquélla en “paquetes” o bloques de información que se transmiten sucesivamente y que permiten la reproducción en el terminal local de archivos o aplicaciones multimedia mientras son descargados en segundo plano, de forma transparente al usuario. Mediante técnicas de streaming podemos, por ejemplo, escuchar una emisora de radio por Internet o (con anchos de banda mayores) reproducir vídeos de alta calidad, efectuar conexiones de videoconferencia o navegar por entornos virtuales en tres dimensiones (gracias a la instalación de un plug-in VRML en el equipo local). Todas estas capacidades pueden integrarse en una aplicación multimedia mejorando el producto final y facilitando su distribución.
4.1 Introducción a los Medios Gráficos 4.2 Formatos de Imagen 4.3 Software de Creación, Edición y Gestión de Imágenes 4.4 Digitalización de Imágenes 4.5 Fotografía Digital
p. 45 p.47 p.48 p. 41 p. 42
4.1 Introducción a los Medios Gráficos
El primer tipo de “media” que consideramos son los elementos gráficos, pues actualmente no hay aplicación multimedia que carezca de ellos. Los elementos gráficos son las imágenes estáticas que se proyectan sobre un dispositivo de visualización tal como el monitor de un ordenador, un display LCD o una pantalla de televisión convencional. Estas imágenes se proyectan gracias al subsistema de visualización del hardware, que es el encargado de componer la imagen empleando una técnica de proyección que, mediante la yuxtaposición de diminutos puntos de color, denominados píxeles, sobre una superficie, logra engañar así al ojo humano haciéndole ver una imagen completa. Las imágenes digitales, a diferencia de las reales, tienen una calidad limitada que está basada en dos factores principales: la resolución y la profundidad de color. La resolución es el número de píxeles por unidad de longitud que componen la imagen. A mayor resolución se obtiene mayor calidad de imagen y más detalle, pero se tiene la contrapartida de un mayor tamaño en kilobytes. Este mayor tamaño puede reducirse en parte utilizando técnicas de compresión de imágenes mediante algoritmos con pérdida de información (JPG) o sin ella (LZW) La profundidad de color es el número de bits que se emplean para codificar el color. Con 8 bits se obtienen imágenes de hasta 256 colores diferentes, o 256 tonalidades de gris. En color real se emplean habitualmente 16 bits, con lo que obtenemos hasta 65536 (2 elevado a 16) colores diferentes, o 24 bits, con lo que se consigue la enorme cantidad de 16,7 millones de colores. Por último, existen ciertos formatos de imagen como PNG (Portable Networks Graphic format) que emplean 32 bits por píxel. Este formato utiliza los bits adicionales para lograr efectos de transparencia mediante una técnica conocida como “canal alfa” (alpha channel). A mayor cantidad de bits por punto, mayor ocupación de la imagen en memoria. También en la profundidad de color existen estrategias como el empleo de paletas de color y otros métodos de optimización que permiten reducir el tamaño en kilobytes del archivo manteniendo la diversidad de color.
4.2 Formatos de imagen
Existen multitud de formatos de archivos de imagen que se diferencian entre sí por el tamaño que ocupan, la compresión que realizan de los datos (con o sin pérdida de calidad), las operaciones que permiten, la forma de crear, almacenar y definir las imágenes (raster o vectorial), la profundidad de color que permiten, y otros factores. Del mismo modo, existen diversas estrategias que se han desarrollado a lo largo de los años para realizar operaciones con elementos gráficos, entre las que destacaremos, por su importancia y extendido uso, las dos siguientes: • Anti-aliasing: es una técnica que permite evitar el efecto de “dientes de sierra” en los bordes de elementos gráficos (imágenes, vídeos y tipografías) que contengan líneas diagonales y cambios bruscos de tonalidad. El método consiste en la inserción de píxeles de tonos medios en las zonas afectadas por el efecto para dar una impresión de cambio suave. Entrelazado: es una técnica de almacenamiento de imágenes que permite ir mostrándolas progresivamente mientras se van cargando. Es especialmente útil cuando se han de descargar imágenes a través de conexiones de red de baja velocidad.
A continuación veremos algunos de los formatos de imagen que aparecen más frecuentemente en el desarrollo y edición de medios gráficos.
4.2.1 Raster, Bitmap y Metafile
Raster ó bitmap es un modo de almacenar información gráfica basado en el muestreo de la imagen real a una resolución determinada. La imagen se almacena mediante la realización de una mapa de bits que especifica la posición y el color de cada uno de los píxeles que la conforman. Tiene el problema de que la resolución es limitada, y al escalar este tipo de imágenes llegamos a un punto en que se pierde el detalle y únicamente se aprecian cuadrados de colores, con la ventaja de que su tratamiento es poco complejo y permite mostrar imágenes de todo tipo, incluyendo fotografías.
La alternativa a las imágenes anteriores es el formato de metaarchivo (metafile) o archivo de imagen vectorial, que permite almacenar una imagen mediante la descripción de las figuras geométricas que la componen. Sus características son opuestas a las de los bitmaps. Este modo de almacenar imágenes permite hacer zoom indefinidamente sin perder calidad, incluso al escalar la imagen a un tamaño mucho mayor de aquél con que fue diseñado, y ocupa relativamente mucho menos espacio en kilobytes que una imagen bitmap, pero tiene la contrapartida de que no permite almacenar imágenes complejas, como fotografías, y que requiere métodos de creación y proceso más complejos y costosos. Los formatos de imagen, tanto raster como metafile, más habituales con los que nos encontramos son los siguientes:.
Tipo de archivo Adobe Illustrator Animated GIF, GIF Sequence, and GIF Image Bitmap (BMP) DXF Sequence and AutoCAD DXF Image Enhanced Metafile EPS (Version 6.0 or earlier) JPEG Sequence and JPEG Image PICT Sequence (Macintosh) PNG Sequence and PNG Image Publishing QuickTime 4 movies Tagged Image File Format (TIFF) Windows Metafile Extensión .ai .gif .bmp .dxf .emf .eps .jpg .pct .png .mov .tif .wmf
Formatos de imagen comunes
Existen muchos otras extensiones de archivo de imagen, como las que estructuran la información en capas de información independientes (un método que nos permite tener varias imágenes en una, posibilitando efectos avanzados y ofreciendo mayor potencia a la hora de crear y editar imágenes), que es el caso de las imágenes PSD de PaintShop Pro, o las
que permiten imágenes de formas no rectangulares y secuencias de imágenes animadas, como el formato GIF
4.2.2 El formato GIF
El formato GIF (Graphic Interchange Format – Formato de Intercambio de Gráficos) fue desarrollado en su día por CompuServe para que fuera un método independiente del hardware para el almacenamiento de imágenes. El formato GIF estándar permite almacenar imágenes de 8 bits de profundidad de color. El pequeño tamaño de los archivos en este formato y sus grandes posibilidades lo hacen ideal para gráficos incrustados en páginas web. Algunas de estas posibilidades son: GIF’s animados: Un GIF animado es creado utilizando un derivado del formato, denominado GIF89a, que contiene un conjunto de marcos para una secuencia de imágenes GIF que pueden desplegarse una tras otra creando ilusión de movimiento. GIF’s transparentes: Un GIF transparente es una imagen GIF en la que a algunos de sus píxeles se les asigna un valor que los hace invisibles, permitiendo ver el fondo sobre el que se superponen. Esto permite desplegar imágenes de formas no rectangulares y otros efectos visuales con un coste muy reducido.
4.2.3 El formato JPG
El formato JPG ó JPEG es un mecanismo estandarizado de compresión de imágenes. JPEG es el acrónimo de Joint Photographic Experts Group, el nombre original del comité de expertos en imagen que definió el estándar. JPEG está diseñado para comprimir imágenes fotorrealistas de mapa de bits. La compresión JPEG se puede realizar a diferentes ratios que permiten llegar a un compromiso entre grado de compresión y calidad de imagen, pues este es un formato de compresión con pérdida. Esto implica que si editamos una imagen JPEG en sucesivas ocasiones, iremos perdiendo calidad en cada guardado que hagamos de la imagen en la que se vuelva a realizar la compresión, por lo que su uso sólo es recomendable para almacenar las imágenes definitivas, y no durante el proceso de edición. JPEG también permite secuencias de imágenes como el formato GIF, y es la base del formato MPEG de compresión de vídeo (véase apartado 5.2) y audio (apartado 7.2.2). - 44 -
4.3 Software de Creación, Edición y Gestión de Imágenes
El proceso de edición de imágenes, cuando va más allá de la adición de efectos simples y las operaciones más básicas, es un proceso complejo que requiere de un especialista y una herramienta profesional de edición de imágenes y retoque fotográfico. El mercado de herramientas software de tratamiento de imágenes es muy amplio, dada su veteranía, pero podemos distinguir tres competidores preponderantes entre las aplicaciones comerciales que copan el mercado: Adobe Photoshop, PaintShop Pro y Corel Draw suite. Cada una de estas tres herramientas nos ofrece una “suite” de productos con infinidad de opciones para la edición de imágenes. No entraremos a describir el funcionamiento de estas aplicaciones, pues cada una de ellas tiene disponibles voluminosos manuales que explican minuciosamente cada una de las opciones de que disponen, pero más adelante veremos cuál es su aplicación práctica en el diseño gráfico de proyectos multimedia a través de los resultados obtenidos en las aplicaciones desarrolladas.
Dentro de las herramientas para la creación y edición de imágenes vectoriales, debemos mencionar los programas Fireworks y Flash, ambos de la firma Macromedia. Entre las herramientas para la gestión de bibliotecas de imágenes, no podemos olvidar mencionar ACDSee. Este programa, que ya va por la quinta revisión, es una pequeña suite de gestión de contenidos multimedia con una interfaz configurable muy sencilla y grandes posibilidades de edición a bajo coste. Esta herramienta permite la creación y el mantenimiento de una base de datos de archivos multimedia de todo tipo (aunque se centra principalmente en archivos gráficos) de forma sencilla y rápida, y nos permite realizar algunas operaciones de edición sobre las imágenes, por lo que es muy apropiada para la gestión y documentación de archivos en aplicaciones multimedia. Tiene la ventaja añadida de su bajo coste.
Por último, si trabajamos con Windows como sistema operativo, debemos recordar que contamos con una aplicación gratuita de potencia limitada, pero que nos puede sacar de más de un apuro, como es el Paint. Esta aplicación, que trabaja de forma nativa con el formato BMP nos permite crear imágenes sencillas y realizar operaciones simples como copiar y pegar, redimensionar y borrar.
4.4 Digitalización de imágenes
Los “scanners” o, en su acepción castellanizada “escáneres”, gozan hoy día de un gran auge en el mercado “SoHo” (Soft-Office-Home Office, refiriéndose a usuarios particulares con la oficina en casa y a empresas pequeñas o “blandas”) debido a la drástica reducción de precios que han experimentado en los últimos años. Un escáner es un dispositivo hardware de entrada que permite convertir una imagen bidimensional en su contrapartida digital mediante óptica especializada. Su manejo es muy sencillo y su potencia cada día mayor. La técnica de “escaneo” de imágenes es una forma sencilla, rápida y barata de convertir imágenes en formato no digital, a archivos digitales de imagen, que se puede emplear para la obtención de los contenidos que se integren en una aplicación multimedia. La interfaz del escáner nos permitirá especificar los valores de muestreo de la imagen y el formato de archivo en que la guardaremos, así como realizar operaciones básicas de ajuste de brillo, contraste y color. Un escáner no solo permite digitalizar imágenes impresas o “positivos”, sino que también nos permite escanear directamente clichés y diapositivas. Actualmente se está trabajando en escáneres de objetos tridimensionales, pero esta técnica aún esta lejos de ser de uso común y comporta un coste muy alto. Los resultados obtenidos con un escáner pueden verse en el apartado “Álbum” de la aplicación denominada “Invitación multimedia de Boda”, que contiene una buena colección de fotografías escaneadas a diferentes resoluciones..
4.5 Fotografía Digital
Las cámaras digitales han comenzado una bajada de precios que empieza a hacer viable su uso masivo. La principal ventaja de la técnica de fotografía digital es que nos ahorraremos el paso de escaneo de los clichés, con el consiguiente ahorro de tiempo y recursos. La principal desventaja es que la calidad de las imágenes obtenidas con una cámara digital aún está lejos de las de una cámara óptica profesional.
Si la calidad fotográfica es un factor de muy alta prioridad en la aplicación (quizás porque se permita la impresión en papel de las imágenes que se muestran por pantalla), optaremos por la fotografía óptica tradicional y su escaneo posterior, mientras que elegiremos la fotografía digital si, como es más común, no se van a emplear imágenes de resolución superior a 2 Megapíxeles.
Un megapíxel (Mpix) es una medida de la resolución de una imagen que es el número de píxeles que contiene una imagen, dividido por un millón (1.000.000). Así, por ejemplo, una imagen de resolución 1280x960, que es el máximo que mostraremos por pantalla habitualmente, tendrá 1228800 píxeles, o 1,2 Mpix.
5.1 Introducción al Vídeo Digital 5.2 Formatos y Codecs 5.3 Captura de Vídeo 5.4 Video Digital de Síntesis 5.5 Edición y Postproducción
p. 50 p. 51 p. 53 p.54 p.57
5.1 Introducción al Vídeo Digital
Entendemos como elementos videográficos aquellos que pueden incluirse en alguno o varios de los tres grupos siguientes: Una película, con o sin sonido, grabada con una cámara de video digital o una webcam. Una película con o sin sonido, grabada con una cámara de video convencional de cinta magnética u otro medio de almacenamiento no digital, que ha sido digitalizada posteriormente mediante un sistema de adquisición de vídeo. Una película, con o sin sonido, creada mediante un programa de construcción de vídeo digital, generalmente algún software de diseño 3D. Los elementos videográficos dotan a cualquier aplicación multimedia de una riqueza visual extraordinaria cuando se emplean correctamente, pero tienen la contrapartida de comportar archivos muy voluminosos (pueden llegar al orden de los Gigabytes), de compleja creación y con importantes requerimientos hardware. Entre los diferentes tipos de medios videográficos se puede hacer una distinción por el contenido que almacenan (video capturado o de síntesis), por el formato de archivo en que se almacenan y por las técnicas de compresión que utilizan.
5.2 Formatos y Codecs
El formato de vídeo determina el modo en que se almacena la información audiovisual en un archivo informático y la forma en que se accede a ésta, y debe diferenciarse del método de compresión (códec) empleado. Dos vídeos pueden estar almacenados en el mismo formato pero con diferentes métodos de compresión. Los formatos por excelencia para el almacenamiento de secuencias de vídeo son los siguientes: AVI: Formato de ficheros audiovisuales creado por Microsoft. Es uno de los más voluminosos. MPEG: Adaptación de la compresión de imágenes JPEG al vídeo digital. Permite una mayor compresión que AVI, por lo que los archivos resultantes tienen un menor tamaño en kilobytes. MOV: Formato por excelencia para MacIntosh, utilizado ampliamente en multimedia. WMV: Acrónimo de “Windows Media Video” es un nuevo formato desarrollado también por Microsoft que soporta operaciones de comprobación de derechos de autor. DIVX: Formato de reciente aparición para el almacenamiento de películas de video en archivos poco voluminosos, basado en el códec del mismo nombre. FLA, ASF, RMV: otros formatos de video con características diversas, como el empleo de técnicas de streaming, en el caso del formato RealMedia (RMV). Un códec (acrónimo de codificador/decodificador) es el sistema de compresión que se emplea para comprimir la información contenida en una secuencia audiovisual. Existen multitud de códecs, y casi cada mes tenemos disponible alguna nueva versión en Internet. Algunos de los más conocidos y empleados son Raw Video: Datos “crudos” o sin comprimir Intel Indeo: códec ampliamente extendido, fue desarrollado por el fabricante de hardware más importante del mundo en la actualidad: Intel, DivX: Formato desarrollado para comprimir películas de cine que ha tenido una gran difusión debido a la piratería informática y al desarrollo de aplicaciones punto a punto (Peer-to-peer ó P2P) como - 51 -
la polémica red GNUtella. Permite una gran compresión, lo que posibilita almacenar películas con audio de varias horas de duración a buena calidad en menos de un gigabyte de espacio de disco. Radius Cinepak: para la compresión de video a alta calidad. En una aplicación multimedia elegiremos un formato u otro en función de las operaciones que vayamos a realizar sobre los vídeos, y comprimiremos los vídeos con el códec que mejor relación calidad/tamaño nos proporcione. Sin embargo debemos tener en cuenta que es común que los sistemas de destino no sean capaces de descomprimir un determinado formato de video, por lo que si elegimos formatos o códecs que no estén ampliamente difundidos debemos realizar un estudio de portabilidad, o bien suministrar el software necesario con muestra aplicación, lo cual no siempre es posible.
5.3 Captura de Vídeo
El video capturado es aquél que se obtiene mediante la grabación con una cámara de vídeo digital, una webcam u otro sistema de captura de imágenes (como la grabación de un programa de televisión mediante un grabador de vídeo DVD o con un sistema compuesto por una tarjeta sintonizadora de televisión y capturadora de vídeo). También entendemos como video capturado cualquier otro video grabado con una cámara convencional (como Beta o VHS que almacenan la información videográfica en cinta magnética) que haya sido convertido a formato digital. Tras la captura es siempre necesario un proceso de postproducción, como veremos más adelante. En la aplicación desarrollada “Un paseo por la Ciudad de León” podemos observar una colección de vídeos digitales que fueron grabados con un cámara de vídeo VHS y digitalizados posteriormente para su edición con el software Pinnacle Studio v4.
5.4 Video Digital de Síntesis
El video digital de síntesis es aquel medio videográfico que se crea directamente en formato digital mediante software por medios diferentes a los especificados para el video capturado, como puede ser la composición de una animación en tres dimensiones mediante un programa de creación de video digital. El campo de la creación de video digital es enormemente complejo y requiere de personal especialista en las herramientas y técnicas implicadas, además de hardware potente, sofisticado y costoso. Su mayor ventaja es que podemos obtener casi cualquier secuencia de video que podamos imaginar y diseñarla a medida de nuestra aplicación. Sin pretender hacer un recorrido exhaustivo de todas las herramientas que permiten la creación de video digital de síntesis, o están de alguna manera relacionadas con ella, podemos encontrar entre los paquetes de software más conocidos y utilizados en este amplio campo algunos de los siguientes:
Autodesk 3D Studio MAX: con toda su caterva de aplicaciones “hermanas” y plugins, esta aplicación es un referente indiscutible en cuanto al modelado de escenas en tres dimensiones, su composición y su animación. Con él se han creado infinidad de anuncios de televisión y secuencias cinematográficas de gran realismo. Autodesk AutoCAD: para modelado de piezas. Ampliamente utilizado en tareas de ingeniería industrial. Cosmo: es un software de creación de espacios virtuales que trabaja con VRML (Virtual Reality Modeling Language – Lenguaje de Modelado de Realidad Virtual) Jaleo O2: es un software de edición y postproducción digital de video para estaciones Silicon Graphics - 54 -
Softimage 3D: para modelado, simulación de procesos y animación 3D POV Ray: para radiosidad y desarrollo de efectos de luz fotorrealistas Solid EDGE: sistema 3D completo para diseño y simulación de conjuntos mecánicos Corel Bryce: creación de animaciones y paisaje 3D con una interfaz sencilla y atractiva y gran potencia. Alias/Maya Rhinoceros y un amplio etcétera. Para este proyecto se creó un video digital empleando 3D Studio MAX v4. Para ver los pasos seguidos en se elaboración, que se reducen a modelado, texturizado, iluminación, animación y renderizado, se recomienda visitar el apéndice correspondiente al vídeo “Anillos VF”. Especial mención merece el trabajo en la iluminación y el uso de reflejos especulares y transparencias, junto con la edición de materiales y la aplicación de texturas para conseguir el efecto dorado.
Además del video, se crearon otros elementos en 3D, como las imágenes estáticas del Álbum de fotos.
No siempre es necesario el desarrollo de los videos de síntesis. En unas ocasiones serán suministrados por el cliente y en otras podremos adquirir sus derechos, como ya se ha comentado, o encargárselos a un especialista en diseño que los construya específicamente para nuestra aplicación.
5.5 Edición y Postproducción
Una vez que hemos obtenido los vídeos, será habitualmente necesario un proceso de edición y post-producción para construir la forma en que irán embebidos en la aplicación multimedia. Esto proceso se compone de algunas o todas las siguientes etapas: Selección de escenas: Se eliminan los cuadros vacíos y las escenas defectuosas o no deseadas. Se divide el vídeo en escenas cortas para facilitar su manejo. Retoque de escenas: Se aplican filtros y efectos a las escenas para mejorar su calidad. Se normalizan los valores de brillo, contraste y color. Montaje: Se elige un orden para las escenas y se montan mediante el uso de transiciones de vídeo Adición de efectos: como texto sobreimpreso o efectos digitales. La variedad de estos efectos es tal que se podrían llenar varios volúmenes con su descripción, por lo nos limitaremos a mencionar que existen y que se aplican en esta fase de la postproducción. Edición de la banda sonora: añadir música, comentarios y efectos sonoros, si el vídeo lo requiere. En ocasiones puede ser preferible obtener vídeos mudos si se van a integrar los medios fonográficos desde la aplicación multimedia Compresión y archivado: se comprime el archivo empleando un determinado formato y codec en función de las necesidades de la aplicación. Se elige el tamaño del vídeo en píxeles, teniendo que cuenta que este valor tiene una relación directa con el tamaño en kilobytes. A mayor tamaño de vídeo, más ocupará el archivo en disco. A la hora de incluir video digital en una aplicación multimedia, se debe tener en cuenta que la compresión debe realizarse al final del proceso de post-producción. Como con las imágenes estáticas, se debe trabajar con la mayor calidad posible durante la edición para evitar pérdidas de calidad en el archivo resultante. Se pueden observar varios ejemplo de videos editados en el apartado “Campus” de la aplicación “Un paseo por la Ciudad de León”.
6.1 Introducción a la Animación 6.2 Animación con Flash 6.3 El Formato SWF 6.4 Otros métodos de Animación
p. 59 p. 60 p. 61 p.62
6.1 Introducción a la Animación
Entendemos como elementos de animación todo medio gráfico no estático que no se ajuste a la definición de video digital, así como a todas las técnicas que permitan efectuar cambios en los medios gráficos estáticos, como movimientos, giros o transiciones, y especialmente a las técnicas de animación vectorial. Este conjunto de contenidos es muy heterogéneo, pero para dar una idea de a lo que nos estamos refiriendo, comenzaremos por hablar del software por excelencia de creación contenidos multimedia basados en Internet, que no es otro sino Macromedia Flash.
6.2 Animación con Flash
Flash es una de las herramientas de uso más extendido de creación de animación interactiva para páginas Web. Con él se pueden crear desde logotipos animados y controles de navegación de sitios Web, hasta animaciones de gran formato, sitios Web completos y aplicaciones para Internet. Flash se integra dentro del amplio elenco de productos de Macromedia, una de las compañías punteras en el desarrollo de herramientas para la creación de aplicaciones y contenidos multimedia. En la actualidad, esta compañía está siguiendo una política de integración de la mayoría sus productos en una suite denominada como “MX”, Estos productos incluyen desde aplicaciones de creación de tipografías hasta entornos de programación de páginas web. Las películas (“movies”) generadas con Flash se exportan a formato SWF y están basadas principalmente en imágenes vectoriales, pero pueden contener gráficos bitmap, texto, audio y video digital. Flash no es sólo una herramienta de creación de contenidos, sino que se puede emplear para construir una aplicación multimedia completa. Las películas desarrolladas en Flash pueden incorporar interactividad para permitir la entrada de datos por parte del usuario, y se pueden crear películas no lineales basadas en hipersaltos que interactúen con otras aplicaciones basadas en Internet. Para este proyecto se realizó un estudio en profundidad de Flash como herramienta de creación de medios y presentaciones. Además de la introducción de la aplicación “La Ciudad de León”, se desarrollaron una serie de títulos y animaciones vectoriales que pueden verse en la aplicación “Invitación multimedia de Boda”.
6.3 El Formato SWF
Las siglas SWF (se pronuncia “swiff”) son un acrónimo para “ShockWave Flash”, que es un formato de archivo empleado por la casa Macromedia para la distribución de gráficos, sonido y animación por Internet. El formato SWF se parece al formato GIF (ver apartado 4.2.2) en que se puede visualizar correctamente en la mayoría de los navegadores (“browsers”) de Internet sin necesidad de instalar un plug-in. Otra de sus ventajas es que puede incrustarse en una presentación creada en PowerPoint. Los archivos en formato SWF pueden importarse en Flash y utilizarse como parte de una animación mayor. Una película (“movie”) SWF es una secuencia de escenas, junto con una serie de propiedades como el tamaño en píxeles, el color de fondo y el “Frame Rate” (número de cuadros por segundo). La animación final contiene además todas las escenas, objetos, efectos, eventos y acciones que se hayan definido.
6.4 Otros métodos de Animación
Existen multitud de métodos que podemos emplear en la construcción de aplicaciones multimedia además de la generación de animaciones vectoriales con Flash. Entre estos métodos encontramos en primer lugar todos aquellos que nos proporcionan la posibilidad de crear y editar los formatos que almacenan animaciones, como SWF, GIF, WMF ó FLA. Por otra parte están los que trabajan internamente con animación vectorial de forma transparente al desarrollador, como es el caso de Director, que permite mover y rotar imágenes, además de otros efectos como la aplicación de tintas en el canal alfa (ver apartado 4.1 para más información sobre el canal alfa). En último lugar se encuentran los que permiten efectuar efectos de transición entre unos medios y otros al estilo de los programas de edición de vídeo, como es el caso de Authorware. Todos ellos se detallan a continuación y en capítulos posteriores.
6.4.1 Creación de GIF’s Animados
Para la inclusión de animaciones sencillas en aplicaciones multimedia basadas en Internet no hay nada mejor que emplear GIFs animados. Los archivos en este formato suelen tener pocos fotogramas y ocupar poco espacio, aunque existen excepciones.
Dada la veteranía de este formato, existen muchas herramientas, algunas de ellas de muy bajo coste o incluso gratuitas, que nos permiten - 62 -
editar los marcos del formato GIF89a (véase 2.2.1.2) para crear animaciones sencillas. Uno de los mejores ejemplos a este respecto es el software Xara3D que se estudia más adelante en el apartado 8.5 dedicado a elementos textuales y botones.
6.4.2 Creación de SWFs
Dado que el formato SWF es un formato público, encontramos un número creciente de herramientas que permiten crear archivos con esta extensión, conteniendo animaciones más o menos complejas. Entre estas herramientas destacaremos dos de ellas: • CoffeCup Firestarter v5: Es un herramienta de manejo muy sencillo y con opciones limitadas que nos permite crear gráficos vectoriales y aplicarles complejos efectos con unos cuantos clicks del ratón. La potencia de esta herramienta se basa en su simplicidad, que conlleva una curva de aprendizaje sumamente rápida.
SwiSH v2: Es una herramienta más potente que la anterior, que permite crear interesantes animaciones en formato SWF. SwiSH es algo más complejo que Firestarter, pero sigue estando muy lejos de Flash en cuanto a dificultad y permite realizar complicadas animaciones con texto, imágenes, gráficos y sonido en poco tiempo. Se mantiene en su posición de alternativa de bajo coste a Flash. Tiene más de 150 efectos predefinidos de gran - 63 -
vistosidad, como “Explosión” y “Giro 3D”. Además suministra las herramientas necesarias para la creación de líneas, rectángulos, elipses, curvas Bezier, trayectorias de movimiento, sprites y botones, todo ello en una interfaz sencilla y bien pensada. Especialmente destacables son los efectos que permite realizar con texto, como se detalla más adelante. • Otras aplicaciones: nos permiten escribir el formato SWF Flax, Screenweaver, MixFX, Kool-Moves y Jugglor, además de muchas otras. Cada una tiene sus particularidades, pero la mayoría se centran en la aplicación de efectos complejos de manera sencilla, prescindiendo de un conjunto de características avanzado en aras de la facilidad de uso y la reducción del coste (muchas de ellas tienen versiones shareware de evaluación).
6.4.3 Animación con Director y Authorware
Las herramientas de Macromedia por excelencia para la creación de contenidos son Flash, Director y Authorware. Las tres han sido las herramientas escogidas para la creación de las aplicaciones que se incluyen en los CD-ROM’s que acompañan este documento. Dado que Flash, como ya se ha comentado, es además de una herramienta de composición de aplicaciones multimedia, una herramienta de creación de animaciones vectoriales, veamos qué pueden hacer Director y Authorware. Director permite la animación de los atributos de posición, escala, giro y tinta de los medios que se incrustan, lo cual posibilita realizar animaciones simples en las que las imágenes se mueven por la pantalla y aparecen y desaparecen. Alguna de estas operaciones están soportadas por Authorware en menor medida, mediante la inserción de un icono de movimiento en el diagrama de flujo de la aplicación en desarrollo. Ambas herramientas permiten la creación de efectos de transición entre una “Forma” (como se definió en el apartado 2.3.3) y otra. Algunos de los efectos que pueden conseguirse son: efectos de persiana, disolución, empuje (push) horizontal y vertical y otros, que se emplean para separar apartados independientes dentro de la aplicación y diferenciar contenidos. La mejor manera de explicar estos efectos es verlos en funcionamiento, por lo que se recomienda ejecutar el CD-ROM de la “Invitación multimedia de Boda” y comprobar cómo se emplean estas transiciones al pasar de un apartado a otro. Como ejemplo de animación con Director, puede verse la introducción de este CD-ROM, en la que se emplean todos estos efectos combinados.
7.1 Introducción al Audio 7.2 Formatos de Archivos Fonográficos 7.3 Contenidos Sonoros 7.4 Herramientas Software
p. 66 p. 68 p. 73 p.74
7.1 Introducción al Audio
El audio es otros de los contenidos que no suele faltar en una aplicación multimedia. Entendemos como audio, o elementos fonográficos o sonoros, todo archivo informático que contenga la información necesaria para reproducir una onda sonora con cierta fidelidad. Para que un ordenador pueda captar y representar señales de audio necesita realizar conversiones analógico digitales y viceversa. La cantidad de valores que puede tomar un sonido en un intervalo, por corto que éste sea, es infinito; por lo tanto el hardware utiliza técnicas de muestreo que consisten en explorar periódicamente una señal analógica, asignar un valor (codificado en unos y ceros) a algunos puntos de la onda y hallar el resto por interpolación. De esta operación se encargan los ADC, esto es, los conversores analógico/digitales.
El diagrama polar de un micrófono nos da la información necesaria para saber de qué forma se va a comportar el micrófono con los sonidos dependiendo de donde le vengan estos.
Por ejemplo, para grabar sonido del exterior, lo primero será captarlo con un micrófono, que recoge las perturbaciones del ambiente gracias a un material piezoeléctrico que se caracteriza por producir pequeñas corrientes eléctricas cuando percibe un cambio de presión. Dichas corrientes - 66 -
corresponden a la forma del sonido. Entonces es cuando comienza el trabajo del ADC, que otorga repetidamente a cada nivel de tensión un valor numérico que se almacena en memoria o en el disco local. El ADC tiene un rango de asignación de valores que depende directamente de los bits que es capaz de gestionar. Así, si tenemos un ADC de 8 bits podremos representar 256 combinaciones. Por tanto, cuantos más bits maneje el ADC, mayor exactitud logrará a la hora de reconocer la amplitud de la señal, y cuanto mayor sea la frecuencia de exploración de la onda (denominada frecuencia de muestreo), mejor calidad de sonido obtendrá. Existen unas frecuencias de muestreo estándar para la interpretación de las ondas sonoras, y éstas son de 8, 11, 22, 44.1, 52.5 KiloHertzs y los nuevos 96 KHz. Podemos clasificar los medios sonoros atendiendo a las distinciones que se hacen entre su forma (formato y calidad) y contenido.
Representación gráfica de frecuencias de la onda sonora de la certificación de calidad THX
7.2 Formatos de Archivos Fonográficos
Al igual que para los archivos gráficos, para los archivos fonográficos existe una gran diversidad de formatos que a menudo se identifican con el códec empleado para su compresión, como en el caso de los medios videográficos (visto en el apartado 5.2). Entre los formatos más comunes, se encuentran el archivo de onda WAV, el archiconocido MP3, la interfaz con instrumentos MID y el nuevo formato de Microsoft WMA, además de otras alternativas como Ogg Vorbis, de código abierto, AIF diseñado para Apple MacIntosh y RA optimizado para “streaming” Además de la existencia de diversos códecs, hay que señalar que cada uno de ellos dispone habitualmente de una amplia gama de encoders (codificadores/conversores) y decoders (decodificadores/reproductores). Esto genera, a su vez, una gran discusión acerca del mejor de estos conversores, ya que mientras que unos se dedican a optimizar la conversión para tasas de bit altas (como MPEnc31 de Fraunhofer), otros tratan de optimizar el tiempo de compresión (como es el caso de Lame, o de FastEnc, también de Fraunhofer). En el campo de los archivos MP3, esta realidad se hace patente, tanto que la gama parece interminable. No obstante, existe una diferencia realmente importante entre lo que podríamos llamar los encoders más “oficiales”, como los que llevan el sello del instituto que desarrolló el formato, y otros como Lame. Se trata de los costes o royalties, ya que el Fraunhofer Institut cobra una comisión por cada aplicación que hace uso de su encoder de manera comercial, mientras que Lame es totalmente libre y, además, funciona de manera ejemplar.
7.2.1 El formato WAV
El formato de archivo de onda (del inglés “wave”) fue creado hace ya varios años por Microsoft y se introdujo con Windows 3.1. Soporta canales mono y estéreo y una resolución de 8 o 16 bits. Su principal problema es que ocupa una cantidad considerable de espacio en disco ya que almacena la información de la conversión analógico/digital. Ofrece una calidad excelente pero no es recomendable su uso en aplicaciones multimedia basadas en Internet si los archivos de sonido
superan el Megabyte de tamaño, pues de lo contrario se dificulta su transporte por la red. Es adecuado, por tanto para sonidos de corta duración que requieran de una buena calidad, o para aquellas aplicaciones en las que se busque la portablidad a toda costa, pues casi cualquier sistema es capaz de reproducir este formato.
7.2.2 MP3 y MP3Pro
La primera opción en que se piensa cuando se habla de sonido digital es, claramente, el formato MP3 original. La impresionante aceptación de este tipo de archivos lo hace perfecto para su difusión a través de la red. Este formato se basa en el estándar de compresión MPEG. Sus siglas significan MPEG-1 Audio Layer 3 y se fundamenta en el estudio del oído humano, que no es capaz de captar más que un cierto rango de frecuencias. Por ello, en MP3 se eliminan los datos superfluos, reduciendo enormemente el tamaño final del sonido. Aquí desempeña también un papel fundamental la cantidad de información que deseamos aplicar por muestra de señal. O lo que es lo mismo, el bitrate, que determina tanto la calidad como el tamaño final del archivo. Otros parámetros más recientes se relacionan con la utilización de bitrates variables y constantes (VBR y CBR) para beneficiarse de que en determinados momentos exista más o menos información que muestrear, aunque este concepto sea mucho más válido en la codificación de vídeo que de audio. Como sus propios creadores apuntan, MP3 sólo fue una primera solución al problema de la compresión con pérdida de información. Evidentemente, una vez convertido el archivo original a MP3, se limita el rango de frecuencias sobre el que trabaja el futuro reproductor, por lo que, si volvemos a convertir el fichero a WAV nos encontraremos con que la calidad se ha degradado.
Encoder/decoder del formato MP3Pro
Aún cuando existen varias soluciones que le pisan los talones, está claro que MP3 es y seguirá siendo durante muchos meses una solución perfectamente válida para incluir archivos de sonido en una aplicación multimedia, dada la compresión que ofrece (hasta 15 veces menor tamaño que un archivo WAV de similares características) y la buena calidad que integra, pero especialmente debido a su amplísima difusión.
MP3Pro es una evolución del estándar original elaborada por ingenieros del Fraunhofer Institut que se han unido a la empresa que da nombre al formato, Coding Technologies. Se diferencia de su antecesor en la adición de una nueva capa llamada SBR. Estas siglas responden a Spectral Band Replication, una técnica para codificar altas frecuencias y disponer de ellas en el formato comprimido.
7.2.3 El formato WMA
WMA ó Windows Media Audio es la nueva apuesta de Microsoft en el terreno del sonido y ha logrado importantes mejoras respecto a MP3. La calidad es muy buena con bitrates de 128kbps (kilobits por segundo), pero es muy discutible que su denominada “calidad CD” a 64 kbps sea real. Aun así, frente a MP3, reduce sensiblemente el tamaño final del fichero comprimido, lo que lo hace más fácil de descargar y reproducir mediante “streaming” de audio.
7.2.4 La interfaz MIDI
Midi es el protocolo estándar de comunicación entre un PC y algunos instrumentos musicales. Para crear un archivo MIDI no se necesita la tasa de muestreo, ni el número de bits, ya que no almacena la forma de onda del audio, sino los códigos de ejecución para que un sintetizador los interprete y ejecute, a la manera de una partitura. Es por esto que este tipo de archivos ocupa muy poco espacio en memoria (unos 10 segundos de un archivo MIDI pueden ocupar cerca de 1.5 kB). Los archivos MIDI o MID (Music Instrument Digital Interface) no pueden almacenar información de voz, ya que sólo almacenan códigos que un instrumento lee y ejecuta, por ejemplo notas, octava, volumen, tiempo, tono, etecétera. Para ejecutar un archivo MIDI se necesita del sintetizador apropiado, aunque existe software que puede hacer esta función (no con la misma calidad, pero sí aceptable). Al ocupar tan poco espacio, este formato es ideal para aplicaciones multimedia basadas en páginas web y, en general, para cualquiera que tenga estrictas restricciones en cuanto al tamaño de los medios.
7.2.5 Otros formatos de audio
Hay gran cantidad de otros formatos, de los cuales enumeramos algunos de los más mentados, junto con su característica más destacada, en la siguiente tabla:
Apple Interchange File Format Real Audio OGG Vorbis MPEG-2 Advanced Audio Coding
Creado por Apple para MacIntosh Destinado al streaming de audio Excelente calidad y código abierto (Open Source) Desarrollo conjunto de Fraunhofer, AT&T, Dolby Labs, Sony y Nokia
RA -AAC
Características de varios formatos de archivos de audio
7.3 Contenidos Sonoros
Podemos distinguir tres tipos de contenido que puede almacenar un medio fonográfico, (excluyendo los contenidos mixtos), para su utilización en una aplicación multimedia: Música: puede ser música de ambiente, que se emplea para mejorar la experiencia del usuario, o síntonías, que se emplean para marcar puntos de comienzo y finalización de la aplicación, y otros eventos. Voz: habitualmente serán comentarios en “off” de un narrador que lea el texto que va apareciendo por pantalla, o conversaciones entre varias personas, siempre requiriendo la atención del usuario. Efectos de sonido: todos aquellos que no pertenezcan a las dos categorías anteriores. Su función es mejorar la experiencia del usuario y enviarles señales informativas (como por ejemplo “puedes pulsar en este botón”).
7.4 Herramientas software
Las herramientas que se utilizan más comúnmente en el proceso de medios fonográficos son tres: codificadores, reproductores y editores. • Entre los codificadores podemos destacar Audiograbber y Xing AudioCatalyst, que se encargan de extraer las pistas de un CD-Audio y convertirlas a MP3 Entre los editores podemos destacar la suite CoolEdit por su calidad y la gran cantidad de métodos de tratamiento y filtrado que permite Entre los reproductores, no podemos destacar otro que WinAmp, que reproduce prácticamente todos los archivos de audio que existen, además de proporcionar una gran serie de funcionalidades añadidas, como la gestión de bases de datos de archivos fonográficos. Es un producto en continua revisión que, además, es gratuito
Reproductor de archivos de sonido WinAmp
8.1 El Texto en Multimedia 8.2 Creación y Edición de Textos 8.3 Fuentes Tipográficas 8.4 Títulos, Rótulos y Botones 8.5 Xara3D 8.6 SWiSH 8.7 Hiperenlaces
p. 76 p. 77 p. 78 p. 79 p.80 p.82 p.83
8.1 El Texto en Multimedia
Dentro de los elementos textuales incluiremos, tanto los bloques de texto, como los títulos, botones y otros elementos que estén basados en caracteres tipográficos y no se ajustan a las descripciones de medios dadas hasta ahora. El texto es el vehículo de la información más potente, a la par que simple, de construir. Casi todos los entornos de desarrollo de aplicaciones multimedia cuentan entre sus funciones con la edición de texto. Las principales características del texto son su tamaño, estilo y tipo de letra. Como norma general debemos evitar, siempre que sea posible el incluir texto con muchos tipos de letra diferentes; antes al contrario, lo ideal es definir un estilo con sólo dos o tres tipos de letra y ceñirnos a él lo más que podamos. Esto es debido a que la aparición de varios tipos de letra diferentes por pantalla es computacionalmente costoso y además contraproducente en cuanto a la claridad y el aspecto de la aplicación. Está demostrado que la aparición de varios tipos de letra diferentes en un mismo bloque de texto dificultan su lectura y desvían la atención del usuario. Asimismo evitaremos el empleo de fuentes tipografías excesivamente barrocas o retorcidas, salvo que las características de la aplicación a desarrollar así lo requieran. Los tamaños de letra deben utilizarse para diferenciar diferentes grados jerárquicos dentro de la aplicación, como apartados y subapartados, mientras que los estilos (negrita, cursiva y subrayado) deben emplearse para resaltar datos relevantes. Para añadir atractivo visual al texto disponemos de varias herramientas, como la utilización de movimiento y la inclusión de títulos y rótulos generados desde un programa de edición de gráficos. El movimiento se puede generar bien desde el entorno de desarrollo de aplicaciones multimedia, si esta lo permite, o bien desde una herramienta externa, como SWiSH. Para crear los títulos disponemos de diversas opciones, entre las cuales comentaremos el desarrollo de rótulos con la herramienta XARA3D La calidad del texto es un factor que no debe olvidarse nunca. La aparición de una errata, un frase mal construida o un dato inexacto puede dar al traste con un cuidado diseño, por lo que todos los textos deben revisarse exhaustivamente. Siempre que sea posible, se encargará la redacción del texto a un especialista en el tema a tratar, o bien se negociarán los derechos de utilización de textos literarios ya desarrollados.
8.2 Creación y Edición de Textos
Para la creación y edición de textos no necesitaremos contar con más herramienta que un procesador de textos que permita generar documentos en formato RDF (Rich Document Format). En caso de que nuestra aplicación requiera composiciones más complejas, podemos recurrir a otros formatos como PDF (Portable Document Format) de Adobe o DOC de Microsoft.
8.3 Fuentes Tipográficas
Contamos con tres opciones en cuanto al empleo de fuentes tipográficas en una aplicación multimedia: • Construir fuentes específicas: Hay diversas herramientas que nos permiten construir fuentes tipográficas a la medida de nuestra aplicación. Entre ellas encontramos Macromedia Fontographer. Este tipo de programas nos permite crear y editar nuestros propios tipos de letra TrueType (TTF), carácter a carácter.
Comprar los derechos de utilización de una fuente existente: Actualmente se comercializan gran cantidad de tipos de letra. Algunos de ellos se distribuyen conjuntamente con la compra de programas relacionados con el desarrollo multimedia. Utilizar fuentes gratuitas: Internet es una fuente casi inagotable de tipos de letra de libre distribución que podemos emplear sin ningún coste adicional.
En caso de debamos gestionar gran cantidad de fuentes, recorrerlas una por una hasta dar con la apropiada puede ser una tarea muy pesada. Existen algunos programas gratuitos fácilmente localizables en Internet, como por ejemplo FontView, que nos permiten visualizar de golpe varios tipos de letra, así como operaciones básicas como instalación, desinstalación e impresión en papel. - 78 -
8.4 Títulos, Rótulos y Botones
Los títulos y rótulos tienen como objetivo señalar los apartados y bloques en que se organiza y divide una Forma (ver 1.2.3), de modo que focalicen la atención del usuario hacia un elemento determinado, al mismo tiempo que le dan referencias inequívocas de su situación en el hiperespacio de navegación.
Los botones son un sistema de entrada de datos que permiten al usuario desencadenar una serie de acciones mediante el envío de un evento al módulo de control de la aplicación. Authorware permite la creación de botones de forma totalmente automatizada. Los botones no tienen porqué contener siempre texto en su interior, sino que pueden contener una imagen, una imagen animada o estar vacíos. Es habitual el empleo de botones multiestado, que se caracterizan por cambiar de aspecto en respuesta a determinadas situaciones, como pasar el cursor del ratón por encima o pulsar sobre ellos. Su uso es muy común y la mayoría de entornos integrados de desarrollo permiten su creación. Es el caso de Director y Flash, que cuentan con una interfaz de creación de botones con gran cantidad de opciones. Para la creación de rótulos y botones podemos acudir también a herramientas externas, entre las que comentaremos dos ejemplos: Xara3D v4 y SwiSH v2.
8.5 Xara3D
Xara3D es un pequeño programa de manejo muy sencillo y que, mediante la combinación de un pequeño conjunto de opciones permite obtener resultados de gran calidad. Esta herramienta permite generar con rapidez títulos estáticos y animados en tres dimensiones y almacenarlos en los formatos AVI o GIF.
Con un poco de imaginación, esta herramienta nos permite, mediante el empleo de fuentes tipográficas simbólicas (del tipo “Windings” y “Webdings”) y la aplicación inteligente de texturas, la creación de vistosos botones animados que utilizar en nuestras aplicaciones multimedia.
Gran parte de los títulos y botones de la aplicación “Invitación multimedia de Boda” se crearon con la cuarta versión de esta herramienta, mientras que la mayoría de los textos animados se construyeron en SWiSH v2.o.
8.6 SWiSH
Como ya hemos comentado, SWiSH nos permite generar efectos complejos de animación de textos de forma rápida, y almacenarlos en archivos SWF (como ya vimos en los apartados 6.3 y 6.4.2), lo cual le convierte en un candidato idóneo para la creación de textos animados.
Entre los efectos que permite SwiSH encontramos los siguientes: • • • • • • • • 3D Spin Blur Camera Cascade Ease Explode Fade In Fade Out • • • • • • • Motion Snake Squeeze Transform Typewriter Vortex Wave
8.7 Hiperenlaces
Los hiperenlaces se construyen a partir de un elemento interactivo, como un botón o un texto, que actúa como ancla de origen (véase 1.2.1), sobre el que el usuario puede pulsar con el ratón para alcanzar el destino. Su construcción se realiza siguiendo tres pasos: 1) Creación y definición del ancla de origen: una cadena de texto, un rótulo, un título, un botón o una zona activa de la pantalla. 2) Asignación del comportamiento: dependiendo de cuál sea la herramienta de construcción de aplicaciones multimedia que empleemos, esta operación consistirá en la definición de un hipervínculo o en la asignación de un comportamiento (“behaviour”) consistente en una pequeña función programática que especifique el cambio de contexto que debe realizarse y la manera en que se realizará el salto. 3) Definición del ancla de destino La práctica habitual es emplear el subrayado y el color azul para indicar que una determinada cadena de texto es un hipervínculo que puede ser visitado. En el caso de los botones y zonas activas, esto no se aplica.
9.1 Introducción al Montaje 9.2 Macromedia Director 9.3 Macromedia Authorware 9.4 La Postproducción
p. 85 p. 86 p. 90 p. 92
9.1 Introducción al Montaje
El montaje es la etapa en que se ensamblan todos los contenidos y realmente se construye la aplicación. La etapa de montaje puede planificarse de tres formas distintas: Al comienzo del desarrollo: Se crea la aplicación completa al inicio del proceso de desarrollo y a continuación se incrustan los medios en sus lugares correspondientes. Esto sólo es posible si conocemos de antemano y con exactitud cuáles van a ser estos componentes y en qué forma y con qué características se van a insertar. Es el caso del desarrollo de una serie de aplicaciones multimedia que se basa en un diseño predefinido; éste se reutiliza incrustando contenidos diferentes cada vez, pero siempre en el mismo formato. En paralelo: La aplicación va creciendo a medida que se van desarrollando los medios. Es un modelo típico de creación de aplicaciones multimedia y es el que se ha seguido para la construcción de las dos aplicaciones multimedia de este proyecto. Al final: Primero se desarrollan los medios necesarios y después se construye la aplicación en función de estos medios. Es típico de aplicaciones comerciales o publicitarias muy orientadas al contenido en las que lo que más importa es lo que se quiere mostrar, como un catálogo multimedia. En el montaje se realiza en diseño de interactividad y se construyen los diagramas de presentación de documentos y el mapa de navegación de la aplicación. A continuación se establece la sincronización de medios y por último se programan las funciones adicionales. Para montar las aplicaciones “Invitación multimedia de Boda” y “Un paseo por la Ciudad de León” se emplearon las herramientas Director v 8.5 y Authorware v6.0.
9.2 Macromedia Director
Director 8.5 es una herramienta veterana en el diseño multimedia. Su octava versión. Permite, entre otras características, la inclusión de animaciones en formato SWF, archivos de audio MP3, medios videográficos de varios tipos y programación 3D. Consiste en un entorno integrado de desarrollo de aplicaciones y presentaciones multimedia que cuenta con todas las características necesarias para la construcción de casi cualquier diseño multimedia que podamos imaginar.
No se pretende aquí dar una guía de uso de Director, pues para ello hay muchos y buenos manuales. En su lugar, veamos como sus elementos se corresponden con los que hemos descrito teóricamente:
9.2.1 El Stage
El “stage” (escenario) es la ventana de Director donde se componen los contenidos. Esta es ventana es WYSIWYG (“What you see is what you get” – “Lo que ves es lo que obtienes”), lo que quiere decir que las modificaciones que se hagan en la aplicación se mostrarán exactamente como las verá el usuario final.
Este es lugar donde se diseñan los diagramas de presentación de documentos (DPD’s) vistos en el apartado teórico.
9.2.2 El Score
El score o guión es una barra de tiempos donde se sitúan los medios y se establece su orden y sincronización con el resto de elementos en un diagrama de filas que definen los canales (“channels”) y columnas que especifican los cuadros (“frames”). El score contiene información sobre los medios gráficos y sobre los medios sonoros, así como sobre otros elementos, como las paletas de color, las transiciones y las funciones programáticas.
Aquí se especifica también el “tempo”, es decir, el número de cuadros por segundo (FPS – frames per second) que se visualizarán en cada momento en la aplicación terminada.
9.2.3 El Cast
El cast (“reparto”) es una biblioteca o almacén de componentes donde se van importando todos los medios que se incluyan en la aplicación, tanto textuales como visuales, sonoros o de otro tipo.
El Cast puede referenciar a los medios internamente, incluyéndolos dentro de la aplicación, o externamente, con lo que sólo se crea una referencia al archivo en que están contenidos
De estos elementos se realizan copias o instancias que son se sitúan sobre el stage y el score para establecer sus atributos particulares de posición y sincronización
9.2.4 Lingo
Lingo es el lenguaje de programación de Director, basado en Java y C++. Mediante un sistema basado en comportamientos (“behaviours”) y eventos se diseña la interacción entre los elementos y se realizan otras funciones como el acceso a elementos externos a la aplicación. Director emplea un sistema de generación automática de código en Lingo que ahorra trabajo al evitar tener que implementar las funciones más comunes, y cuenta con un editor de código integrado.
Asimismo, Director cuenta con una librería de componentes y funciones que pueden reutilizarse en las aplicaciones que se construyan con este entorno. En las últimas versiones, Director ha incorporado un subsistema 3D a sus características, que puede programarse en Lingo para obtener efectos nuevos y desarrollar aplicaciones totalmente tridimensionales.
9.3 Macromedia Authorware
Authorware v6.0 es una herramienta de desarrollo de aplicaciones multimedia basada en diagramas de flujo, orientada hacia la construcción de aplicaciones educativas, cursos y sistemas de información en general. Está centrado en elementos textuales, aunque también permite medios audiovisuales, y desde su versión 6.0 soporta el empleo de archivos en formato MP3.
Proporciona una librería de componentes y permite dividir las aplicaciones desarrolladas en varios bloques para su ejecución a través de una red. Al igual que Director, también muestra una ventana WYSIWYG, pero el método de construcción de aplicaciones es bastante diferente. Se podría decir que Director es la aplicación que incorpora novedades más rápidamente, y que Authorware es una herramienta más veterana que avanza más lentamente porque se basa en conceptos probados y comprobados. La aplicación desarrollada con esta herramienta (“Un paseo por la Ciudad de León”), permite la navegación secuencial por los contenidos, - 90 -
además de la funcionalidad adicional de búsqueda de medios por palabras clave.
9.3.1 Iconos y Flujo
La construcción de aplicaciones en Authorware se realiza de forma similar a Director, con la salvedad de que se emplean técnicas de construcción de diagramas de flujo mediante la inserción de iconos en la “flowline” o línea de flujo. Los iconos contienen objetos tales como formas y sonidos, y bloques de instrucciones. Los iconos básicos que incluye son los siguientes: • • • • • • • • • • • • • • Display Motion Erase Wait Navigate Framework Decision Interaction Calculation Map Digital movie Sound Video Start flag Stop flag
9.4 La Postproducción
Tras el montaje se realizarán todas las tareas de postproducción requeridas por la aplicación y el cliente. Entre ellas podemos nombrar las siguientes: • Diseño del manual de usuario: Es necesario redactarlo en aplicaciones complejas que realicen funciones adicionales distintas a la presentación de medios Diseño del servicio de soporte. Si existe, se compondrá habitualmente de un sistema de consulta y actualización basado en páginas web. Distribución: Se diseñarán los elementos necesarios para su distribución, tales como CD-ROM’s, DVD’s, integración hardware o soportes web, así como el embalaje (carátulas, cajas y demás elementos). Implantación: Si el producto lo requiere deben diseñarse los métodos necesarios para lograr su correcta implantación en el entorno (como por ejemplo una empresa o una academia) para el que fue diseñada
10.1 El Presupuestado de Multimedia 10.2 Medición 10.3 Cuadro de Precios 10.4 Presupuesto
p. 94 p. 95 p. 100 p. 103
10.1 El Presupuestado de Multimedia
El presupuestado de aplicaciones multimedia dependerá de los medios con que se cuente para la construcción del producto, así como del esfuerzo necesario por parte de los desarrolladores y de la inversión tecnológica que se deba realizar en HardWare y SoftWare. Presentamos a continuación el presupuesto Informático de un proyecto hipotético de producción de aplicaciones multimedia que engloba las necesidades Hardware (equipos informáticos) y Software (programas y componentes lógicos) derivados de equipar un local con los elementos estimados necesarios para transformarlo en un centro de desarrollo de presentaciones multimedia en serie, así como el coste de desarrollo de una plantilla multimedia genérica que será la base para las aplicaciones en la futura operación del centro. El presupuesto se divide en tres partes: EQUIPAMIENTO: Equipamiento de un local previamente amueblado con el hardware necesario para llevar a cabo la actividad empresarial. CONEXIÓN: Instalación del software necesario e interconexión de los equipos entre sí y con redes externas, especialmente Internet. CONFIGURACIÓN: configuración del software y creación de una plantilla software genérica para utilizar como base para las presentaciones.
NO SE INCLUYEN EN EL PRESUPUESTO los costes derivados de la renta del local, del mobiliario ni del transporte de mercancías. La estimación del coste de la mano de obra se obtuvo de artículo periodístico documentado aparecido en el “Diario de León”, ejemplar del 14 de Mayo de 2002, suplemento “Diario de la Universidad”, página 3. Los precios del material informático son reales para el mes de Junio de 2002 y se consultaron en diversas revistas especializadas en el sector informático. -
10.2.- Medición
10.2.1.- Equipamiento
10.2.1.1.- Hardware
Dell Dimension 4400 Procesador Intel Pentium 4 a 1,8 GHz Chipset Intel 845D 128MB de memoria PC266 DDR RAM Disco Duro 40 Gb Tarjeta gráfica ATI RAGE ULTRA AGP 4x 16MB SDRAM Pantalla plana Dell 15’’ Unidad CD-RW 20x/48x Tarjeta de red 10/100 Sonido integrado 64V Microsoft Office XP Small Business Dell Inspiron 2600 Procesador Celeron a 1,06GHz Chipset Intel 830 MG 128 MB SDRAM Disco duro 20 GB Controladora gráfica integrada 32MB Pantalla color 14,1’’ XGA TFT Unidad CD-ROM 24x integrada Disquetera integrada Sonido compatible SoundBlaster Pro Módem 56K integrado Microsoft Works 6.0 Microsoft Windows XP Home Edition
PC Dell con pantalla LCD para director ejecutivo
Portátil Dell para presentaciones móviles
Placa base WinFast P4V266A INTEL Pentium4 2.0 GB Disquetera 3½ de 1.44MB 256MB DDR 266 MHz Disco duro 60 GB ATA100 7200rpm GeForce4 MX440 64MB DDR+TV AGP 4x PC EXPERT II para Monitor 17’’ MITSUBISHI PLUS 73 (Pantalla Plana) puesto de trabajo Tarjeta de sonido AC’97 Full Duplex DVD-ROM PIONEER 16x40 Altavoces 480W Stereo autoamplificados Teclado LABTEC Keyboard Patón LABTEC 3 botones PS/2 Micrófono sobremesa MODEM/FAX HSF 56Kb OVISLINK HP Color LaserJet 4600n 600x600dpi Impresora Láser 96MB de memoria Color HP (HQ) para Capacidad 600 hojas conectar en red 2 bandejas Tarjeta de red interna
10.2.1.2.- Software comercial
Antivirus Panda Soluciones CAD Gestión Empresarial Mediciones y presupuestos 3D Studio MAX 4 Macromedia Director 8.5
Antivirus Panda Titanium Soporte y actualización on-line Soluciones CAD 3Dstudio VIZ 3i MasterWin 8.0 Tecnimatica Software Arquímedes BD FIEBDC Varias monedas 100 listados 3D Studio MAX 4 licensed Manuales Soporte On-line Macromedia Director 8.5 licensed Soporte On-line
10.2.1.3.- Comunicaciones
1 - 96 -
Punto de acceso para PC portátil Punto de acceso para PC de sobremesa Línea ADSL
Punto de acceso Bluetooth 2.0 PCMCIA Punto de acceso Bluetooth 2.0 USB Línea ADSL 128/1024 para RDSI Router
10.2.2.- Conexión
10.2.2.1.- Hardware
Instalación y montaje de equipos informáticos por Técnico Instalación y configuración Red interna en 5 equipos + 1 impresora por Técnico Instalación y configuración ADSL en 5 equipos por Técnico
6 (horas) 11 (horas)
10.2.2.2.- Software comercial
Instalación 13 paquetes de Software por Técnico
13 (horas)
10.2.3.- Configuración
10.2.3.1.- Software comercial
Configuración Antivirus Configuración Soluciones CAD Configuración SW Gestión empresarial Configuración SW Presupuestos Configuración 3D Studio MAX 4 Configuración Macromedia Director 8.5
Configuración SW por Técnico Configuración SW por Experto Configuración SW por Experto Configuración SW por Experto Configuración SW por Experto Configuración SW por Experto
10.2.3.2.- Software a medida
Creación elementos plantilla SW 1 Creación elementos plantilla SW 2 Creación elementos plantilla SW 3 Duplicación CD
Creación elementos plantilla Software empleando Soluciones CAD por Experto (10 días) Creación elementos plantilla Software empleando 3D Studio MAX 4 por Experto (10 días) Creación elementos plantilla Software empleando Macromedia Director 8.5 por Experto (15 días) Duplicación industrial CD Subcontrata 500 copias
80 (horas) 80 (horas)
120 (horas) 1
10.3.- Cuadro de Precios
10.3.1.- Equipamiento
10.3.1.1.- Hardware
PC Dell con pantalla plana para director ejecutivo Portátil Dell para presentaciones móviles PC EXPERT II para puesto de trabajo Impresora Láser Color HP (HQ) para conectar en red
1399 1199
1009 2910
1399 1199 3027 2910
10.3.1.2.- Software comercial
Coste por unidad Nº licencias
1200 600 138 1900 490
147,20 1200 600 138 1900 980
10.3.1.3.- Comunicaciones
Firewall Zyxel Punto de acceso para PC portátil Punto de acceso para PC de sobremesa Línea ADSL
Coste por unidad Nº unidades Subtotal
410 200 145 306
410 200 580 306
10.3.2.- Conexión
Se estima 1 unidad laboral (hora de trabajo) por: - La instalación de un elemento Hardware - La instalación de un paquete de Software comercial - La configuración de un paquete se Software comercial Se estiman 8 unidades laborales por día de trabajo en el desarrollo de Software a medida.
10.3.2.1.- Hardware
Instalación Hardware Instalación Red
37,50 68,75
10.3.2.2.- Software comercial
10.3.3.- Configuración
10.3.3.1.- Software comercial
6,25 9,26 9,26 9,26 9,26 9,26
31,25 9,26 9,26 9,26 9,26 18,52
10.3.3.2.- Software a medida
9,26 9,26 9,26 785
80 (horas) 80 (horas) 120 (horas) 1
740,8 740,8 1111,2 785
Metodología de Desarrollo de Aplicaciones Multimedia Autor: Alfonso de la Fuente Ruiz
10.4.- Presupuesto
10.4.1.- Presupuesto de Ejecución Material
Presupuestos parciales Equipamiento - Hardware Equipamiento - Software comercial Equipamiento - Comunicaciones Conexión - Hardware Conexión - Software comercial Configuración - Software comercial Configuración - Software a medida Cantidad 8535,00 4475,20 1496,00 106,25 81,25 86,81 3377,8
18158,31
10.4.2.- Presupuesto de Ejecución por Contrata
Presupuesto de Ejecución Material Gastos Generales (17%) Beneficio Industrial (6%) TOTAL PARCIAL I.V.A. (16%) TOTAL PRESUPUESTO 18158.31 3086,91 1089.50 22334,72 3573,56
25908,27
Veinticinco mil novecientos ocho euros con veintisiete céntimos -
- 103 –
- 104 –
Durante el desarrollo de este proyecto se han estudiado una larga serie de métodos y técnicas para la construcción de aplicaciones multimedia y la producción de los medios que contienen, lo que nos lleva a afirmar, como conclusiones del presente proyecto las siguientes: 1.- Este tipo de desarrollos requieren el despliegue de conocimientos en áreas muy diversas, y el aprendizaje y manejo de una gran cantidad de herramientas, por lo que se hace cada vez más necesario medios a desarrollar superan un cierto límite. 2.- Se requieren equipos informáticos de última generación para la creación de medios complejos como el vídeo y la animación . 3.- El software a utilizar debe actualizarse continuamente para poder hacer uso de toda la potencia de un campo en continua innovación. 4.- El empleo de una metodología de trabajo estructurada es una gran ayuda para el desarrollo de aplicaciones multimedia Como perspectivas de futuro, queremos destacar que la inminente llegada al mercado de dispositivos celulares de próxima generación y altas prestaciones y la ampliación de los actuales anchos de banda de acceso a Internet darán lugar, muy probablemente, a una gran demanda de profesionales preparados en la creación de herramientas multimedia y la edición y tratamiento de contenidos. contar con un equipo multidisciplinar cuando la complejidad de las aplicaciones o de los
- 105 –
12.1 La Licencia Pública General (GNU) 12.2 Bocetos y Resultados Parciales
12.2.1 Vídeo Digital de Síntesis: “Anillos VF” 12.2.2 “Invitación Multimedia de Boda” 12.2.3 Animación con Flash: “IntroLeón” 12.2.4 “Un paseo por la Ciudad de León”
p. 107 p. 115 p. 115 p. 118 p. 123 p. 125
- 106 –
12.1 La Licencia Pública General (GNU)
La Licencia Pública General de GNU o GPL, General Public License fue desarrollada para el proyecto GNU por la Free Software Foundation, que podemos traducir como "Fundación por el Software Gratuito". La licencia establece una serie de previsiones sobre la distribución y modificación del "software gratis". "Gratis" (“Free”) en este sentido se refiere a libertad, y no solo al coste. Se incluye una copia completa de la Licencia en los anexos. El caso más conocido es el de la primera versión del sistema operativo Linux. Originalmente, Linus Torvalds lanzó Linux bajo una licencia más restrictiva que la GPL, que permitía que el software fuera libremente distribuido y modificado, pero prohibía su uso para ganar dinero. Sin embargo, la GPL autoriza que la gente venda su software, aunque no le permite restringir el derecho que su comprador tiene a copiarlo y venderlo a su vez. En primer lugar, hay que aclarar que el "software gratis" de la GPL no es software de dominio público. El software de dominio público carece de copyright y pertenece literalmente al público. El software regido por la GPL sí tiene el copyright de su autor o autores. Esto significa que está protegido por las leyes internacionales del copyright y que el autor del software está declarado legalmente. No solo porque un programa sea de libre distribución puede considerársele del dominio público. El software regido por la GPL tampoco es "shareware". Por lo general, el "shareware" es propiedad del autor, y exige a los usuarios que le paguen cierta cantidad por utilizarlo después de la distribución. Sin embargo, el software que se rige por la GPL puede ser distribuido y usado sin pagar a nadie. La GPL permite a los usuarios modificar el software y redistribuirlo. Sin embargo, cualquier trabajo derivado de un programa GPL se regirá también por la GPL. En otras palabras, una compañía nunca puede tomar Linux, modificarlo y venderlo bajo una licencia restringida. Si un software se deriva de Linux, éste deberá regirse por la GPL también. La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo, también permite que una persona u organización gane dinero distribuyendo el software. Cuando se venden programas GPL, el distribuidor no puede poner ninguna restricción a la redistribución. Esto es, si usted compra un programa GPL, puede a su vez redistribuirlo gratis o cobrando una cantidad. Esto puede parecer contradictorio. ¿Por qué vender software cuando la GPL especifica que puede obtenerse gratis? Por ejemplo, supongamos que una empresa decide reunir una gran cantidad de programas GPL en un CD-ROM y venderlo. La empresa necesitará cobrar por el hecho de haber producido el CD, y asimismo querrá ganar dinero. Esto está permitido por la GPL. Las organizaciones que vendan el software regido por la GPL deben tener en cuenta algunas restricciones. En primer lugar, no pueden restringir ningún derecho al comprador del programa. Esto significa que si usted compra un CD-ROM con programas GPL, podrá copiar ese CD y revenderlo sin ninguna restricción. En segundo lugar, los distribuidores deben hacer saber que el software se rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin coste adicional, el código fuente - 107 –
Metodología de Desarrollo de Aplicaciones Multimedia Autor: Alfonso de la Fuente Ruiz del software a distribuir. Esto permite a cualquiera comprar el software y modificarlo a placer. Permitir a una empresa distribuir y vender programas que son gratis es bueno. No todo el mundo tiene acceso a Internet para bajarse los programas, como Linux, gratis. La GPL permite a las empresas vender y distribuir programas a esas personas que no pueden acceder al software con un coste bajo. Por ejemplo, muchas empresas venden Linux en disquetes o CD-ROM por correo, y hacen negocio de esas ventas, pero los desarrolladores de Linux pueden no tener constancia de estos negocios. En el mundo de los programas gratis, lo importante no es el dinero. El objetivo es permitir desarrollar y distribuir buen software accesible por cualquiera
A continuación se incluye la Licencia Publica General GNU (La GPL1 o copyleft 2), a la cual está sometido el sistema operativo Linux y gran cantidad de software.
Copyright Oc1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 1: Preámbulo The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free softwareto make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
1N. del T.: Del inglés General Public License 2N. del T.: Juego de palabras en inglés que quiere decir que es algo como un Copyright... pero al revés 3N. del T.: No tenemos conocimiento de la existencia de una versión oficial de la GPL en español, por lo que hemos dejado la licencia original, intacta y en inglés.
- 108 –
These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether free or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow.
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
- 109 –
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c. If the modified program normally reads commands interactively when run, you must cause t, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy f this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for non commercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as
a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear believed to be a consequence of the rest of this License. what is
8. If the distribution and/or use of the Program is restricted in certain countries either by patents r by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
3: Cómo aplicar estos términos a sus nuevos programas If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright Oc19yy <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w’ and `show c' should show the appropriate parts of the GeneralPublic License. Of course, the commands you use may be called something other than `show wánd `show c'; they could even be mouse-clicks or menu items-whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'(which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
12.2 Bocetos y Resultados Parciales
12.2.1 Vídeo Digital de Síntesis: “Anillos VF”
A continuación se incluyen las imágenes provisionales desarrolladas durante el diseño del vídeo digital “Anillos VF.AVI” contenido en la aplicación “Invitación multimedia de Boda”, con el objetivo de mostrar el proceso seguido en su elaboración.
- 114 –
- 115 –
- 116 –
12.2.2 Invitación Multimedia de Boda
A continuación se incluyen algunos de los bocetos desarrollados durante las fases de análisis, diseño e implementación de la aplicación multimedia que lleva por título “Invitación multimedia de Boda”.
- 117 –
- 118 –
- 119 –
- 120 –
- 121 –
12.2.3 Animación con Flash: “IntroLeón”
A continuación se incluyen los bocetos y los resultados parciales creados durante el diseño de la presentación “IntroLeon” contenida en la aplicación “Un paseo por la Ciudad de León”.
- 122 –
- 123 –
12.2.4 “Un paseo por la Ciudad de León”
A continuación se incluyen los bocetos y diagramas de flujo , así como algunas imágenes que muestran los resultados intermedios, desarrollados durante las fases de análisis, diseño e implementación de la aplicación multimedia que lleva por título “Un paseo por la Ciudad de León”.
- 125 –
- 126 –
13.1 Libros 13.2 Publicaciones periódicas 13.2 Otras referencias
p. 129 p. 130 p. 130
"PROYECTOS INFORMATICOS”, Juan Puig Torné. Ed. Paraninfo. ISBN: 84-283-2131-0. Madrid, 1994.
“DIRECTOR 8 Y LINGO”, PHIL GROSS. Ed. Anaya Multimedia
“APRENDA MACROMEDIA FLASH 5”. DENISE TAYLOR, GARY REBHOLZ. Ediciones B, Barcelona 2001
“APRENDA ADOBE PHOTOSHOP”, DAN GIORDAN, Ediciones B, Barcelona 2000
“FUNDAMENTOS DE ALGORITMIA”. G. BRASSARD, P. BRATLEY. ED PRENTICE HALL
“INGENIERÍA DEL SOFTWARE, UN ENFOQUE PRÁCTICO”, ROGER PRESSMAN. 4ª edición.
"ESTUDIOS Y CONTROLES PARA GRABACIÓN SONORA" MANUEL RECUERO LÓPEZ Editorial IPN 1991, México ISBN 968-29-3709-4
"REPRODUCCIÓN DEL SONIDO Y DE LA IMAGEN" A. DIDER Editores Técnicos Asociados S.A. 1966, Barcelona, B444-1966, 8-666
“DIRECTOR 6”. JOSE MARÍA DELGADO CABRERA. ED. ANAYA MULTIMEDIA
- 128 –
Metodología de Desarrollo de Aplicaciones Multimedia Autor: Alfonso de la Fuente Ruiz “MUSIC THROUGH MIDI : USING MIDI TO CREATE YOUR OWN ELECTRONIC MUSIC SYSTEM” / Michael Boom. Publicado por: Redmond, Wash. : Microsoft Press, c1987. ISBN: 1-55615-026-1
13.2 Publicaciones periódicas
Revista “PC-ACTUAL” VNU business publications, Nº 139 Revista “PC- ACTUAL” VNU business publications, Nº 141 Revista “PC- ACTUAL” VNU business publications, Nº 144 Revista “PC-WORLD” IDG Comunications, S.A. Nº 189 Revista “AUTODESK NOTICIAS”, Autodesk Iberia. Nº 27 Revista “AUTOCAD MAGAZINE”. EDImicros S.L. Nº 75 “Diario de León”, 14 de Mayo de 2002
13.3 Otras referencias
Norma ISO 8613 (ODA) de estructuración de documentos de oficina (ISO, 1988) Cuadernos de Documentación Multimedia. http://www.ucm.es/info/multidoc/multidoc/revista/cuad67/artmulti.htm Bancos de imágenes y sonido y motores de indización en la WWW. Lluis Codina y María del Valle Palma. Universidad Pompeu Fabra (2001) http://www.macromedia.com http://www.adobe.com http://www.infovis.net
- 129 –
Metodología de Desarrollo de Aplicaciones Multimedia Autor: Alfonso de la Fuente Ruiz Dos añadidos al original digital el 09/Agosto/2007:
Reproducción de la portadilla interna a color en el original.
- 130 –
Reproducción de la portada encuadernada en el original. --Esta obra se publica bajo una licencia Creative Commons:
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/2.5/es/88x31.png" /> </a> <br /> <span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dc:title" rel="dc:type">Metodología de Desarrollo de Aplicaciones Multimedia</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://alfonsoycia.blogspot.com" property="cc:attributionName" rel="cc:attributionURL">Alfonso de la Fuente Ruiz</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/">Creative Commons Reconocimiento-No comercialCompartir bajo la misma licencia 2.5 España License</a>
- 131 –
More From This UserSkip carouselAcreditación de Interés - Premios Doctor t-cue 2015El error de KantResumen y conclusiones de la tesis doctoral de Alfonso de la Fuente RuizAtentados Del 11-MSummarized Curriculum Vitae in English 2015MULTIOBJECTIVE OPTIMIZATION OF ALTERNATIVE ROUTESProgramación Matemática con SAS®, FORTRAN-NAG y MPLTécnicas de Análisis Multivariante en SASResumen ponencia I Jornada Doctorandos UBUEntrevista Alfonso de La Fuente Transcripción-Audio Artículos selectos de D. Ernesto Ruiz y González de LinaresRecurso de reposiciónIntroducción al Chino Mandarín - Eibur CefyntAhorro energético en alumbrado públicoQuantum annealing algorithm descriptionQuantum annealing, descripción del método algorítmicoSesión demostrativa con Mathematica 8Temple paralelo - Estado del arteSituación laboral de ingeniería en informática vF2VotarCongreso RSME 2011 - Sesion informática matematicasSiempre Se Van Los MejoresFuga de cerebros ¿Siempre se van los mejores?Entrevista a Ángel Gil Cuevas en InnovatiaPanorama de la industria del ocio digital - INNOVATIA
Sign up to vote on this titleUsefulNot usefulPFC-AFR-MEMORIA-070809 con portadas y licencia by Alfonso5.0 (9)EmbedDownloadDescriptionMemoria original completa del Proyecto Fin de Carrera "Metodología para el Desarrollo de Aplicaciones Multimedia" por Alfonso de la Fuente Ruiz (Universidad de León - Ingeniería Informática 2002). ...Memoria original completa del Proyecto Fin de Carrera "Metodología para el Desarrollo de Aplicaciones Multimedia" por Alfonso de la Fuente Ruiz (Universidad de León - Ingeniería Informática 2002). Incluye portada, portadilla y licencia Creative Commons.BLOG DEL AUTOR: http://alfonsoycia.blogspot.comRead on Scribd mobile: iPhone, iPad and Android.Copyright: Attribution Non-Commercial ShareAlike (BY-NC-SA)Download as PDF, TXT or read online from ScribdFlag for inappropriate contentShow moreShow less
RelatedAcreditación de Interés - Premios Doctor t-cue 2015by AlfonsoEl error de Kantby AlfonsoResumen y conclusiones de la tesis doctoral de Alfonso de la Fuente Ruizby AlfonsoAtentados Del 11-Mby AlfonsoSummarized Curriculum Vitae in English 2015by AlfonsoMULTIOBJECTIVE OPTIMIZATION OF ALTERNATIVE ROUTES: A PAN-HEURISTIC PRIMER WITH HAZMAT APPLICATIONSby AlfonsoProgramación Matemática con SAS®, FORTRAN-NAG y MPLby AlfonsoTécnicas de Análisis Multivariante en SASby AlfonsoResumen ponencia I Jornada Doctorandos UBUby AlfonsoEntrevista Alfonso de La Fuente Transcripción-Audio by AlfonsoArtículos selectos de D. Ernesto Ruiz y González de Linaresby AlfonsoRecurso de reposiciónby AlfonsoIntroducción al Chino Mandarín - Eibur Cefyntby AlfonsoAhorro energético en alumbrado públicoby AlfonsoQuantum annealing algorithm descriptionby AlfonsoQuantum annealing, descripción del método algorítmicoby AlfonsoSesión demostrativa con Mathematica 8by AlfonsoTemple paralelo - Estado del arteby AlfonsoSituación laboral de ingeniería en informática vF2by AlfonsoVotar: no tan fácil como parece ¡pero podríamos hacerlo mejor!by AlfonsoCongreso RSME 2011 - Sesion informática matematicasby AlfonsoSiempre Se Van Los Mejoresby AlfonsoFuga de cerebros ¿Siempre se van los mejores?by AlfonsoEntrevista a Ángel Gil Cuevas en Innovatiaby AlfonsoPanorama de la industria del ocio digital - INNOVATIAby AlfonsoSimulación de ondas con diferencias finitas (Matlab)Trby AlfonsoÁrboles de clasificación estadísticaby AlfonsoVisualizar09-AlfonsoFRby AlfonsoMore from AlfonsoSkip carouselAcreditación de Interés - Premios Doctor t-cue 2015El error de KantResumen y conclusiones de la tesis doctoral de Alfonso de la Fuente RuizAtentados Del 11-MSummarized Curriculum Vitae in English 2015MULTIOBJECTIVE OPTIMIZATION OF ALTERNATIVE ROUTESProgramación Matemática con SAS®, FORTRAN-NAG y MPLTécnicas de Análisis Multivariante en SASResumen ponencia I Jornada Doctorandos UBUEntrevista Alfonso de La Fuente Transcripción-Audio Artículos selectos de D. Ernesto Ruiz y González de LinaresRecurso de reposiciónIntroducción al Chino Mandarín - Eibur CefyntAhorro energético en alumbrado públicoQuantum annealing algorithm descriptionQuantum annealing, descripción del método algorítmicoSesión demostrativa con Mathematica 8Temple paralelo - Estado del arteSituación laboral de ingeniería en informática vF2VotarCongreso RSME 2011 - Sesion informática matematicasSiempre Se Van Los MejoresFuga de cerebros ¿Siempre se van los mejores?Entrevista a Ángel Gil Cuevas en InnovatiaPanorama de la industria del ocio digital - INNOVATIASimulación de ondas con diferencias finitas (Matlab)TrÁrboles de clasificación estadísticaVisualizar09-AlfonsoFRTrabajo sobre Sistemas ExpertosDirectivas para ordenadores portátiles en aulas de primaria y secundaria

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución