Universidad Austral de Chile Facultad de Ciencias de la Ingeniería Escuela de Ingeniería Civil en Informática DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA LA GESTIÓN DE CONTENIDO MULTIMEDIA Y SU DIFUSIÓN A TRAVÉS DE PANTALLAS Tesis para optar al título de: Ingeniero Civil en Informática PROFESOR PATROCINANTE: CHRISTIAN LAZO R. INGENIERO GESTIÓN INFORMÁTICA DOCTOR EN INGENIERÍA TELEMÁTICA PROFESOR CO-PATROCINANTE MARÍA ELIANA DE LA MAZA W. INGENIERO CIVIL EN INFORMÁTICA MAGISTER EN INFORMÁTICA EDUCATIVA PROFESOR INFORMANTE: LUIS H. VIDAL VIDAL INGENIERO CIVIL EN INFORMÁTICA LICENCIADO EN CIENCAS DE LA INGENIERÍA MIGUEL ÁNGEL ARAYA SOTO VALDIVIA - CHILE 2012 ÍNDICE ÍNDICE ............................................................................................................................... i ÍNDICE DE TABLAS ..................................................................................................... iii ÍNDICE DE FIGURAS ..................................................................................................... iv RESUMEN......................................................................................................................... v ABSTRACT ......................................................................................................................vi 1. INTRODUCCIÓN .................................................................................................. 1 1.1 Antecedentes Generales....................................................................................... 1 1.2 Definición de la problemática ............................................................................. 1 1.3 Descripción del Proyecto ..................................................................................... 2 1.4 Motivación........................................................................................................... 2 1.5 Impactos .............................................................................................................. 2 1.6 Objetivos ............................................................................................................. 3 1.6.1 Objetivo General .......................................................................................... 3 1.6.2 Objetivos Específicos ................................................................................... 4 2. FUNDAMENTO TEÓRICO .................................................................................. 5 2.1 Digital Signage .................................................................................................... 5 2.1.1 Características .............................................................................................. 5 2.2 Tipos de Soluciones según la Tecnología Utilizada ............................................ 8 2.2.1 Individual ..................................................................................................... 8 2.2.2 Basada en Web ............................................................................................. 9 2.2.3 Basada en IPTV ......................................................................................... 10 2.3 Comparación entre los Tipos de Soluciones ..................................................... 11 2.4 Aplicaciones ...................................................................................................... 12 2.4.1 Retail .......................................................................................................... 12 2.4.2 Turismo ...................................................................................................... 13 2.4.3 Transporte .................................................................................................. 13 2.4.4 Instituciones ............................................................................................... 14 2.5 Digital Signage en la UACh .............................................................................. 14 2.5.1 Ventajas ...................................................................................................... 14 2.5.2 Desventajas ................................................................................................ 15 2.6 Casos de Estudio ............................................................................................... 15 2.6.1 XIBO .......................................................................................................... 16 2.6.2 Media Signage............................................................................................ 17 2.6.3 Resumen de Casos de Estudio ................................................................... 18 3. SOLUCIÓN PROPUESTA................................................................................... 20 3.1 Especificación de Requerimientos .................................................................... 20 3.2 Esquema de la Solución..................................................................................... 21 3.3 Selección de Herramientas para el Desarrollo................................................... 22 3.3.1 DSAdmin y DSPlayer ................................................................................ 22 3.3.2 DSDB ......................................................................................................... 26 3.3.3 DSWS......................................................................................................... 26 4. DESARROLLO DEL PROYECTO ..................................................................... 27 4.1 Metodología de Trabajo .................................................................................... 27 4.1.1 Etapa de Investigación ............................................................................... 27 4.1.2 Etapa de Definición .................................................................................... 27 i 4.2 Análisis de los Requerimientos ......................................................................... 28 4.2.1 Requerimientos Funcionales ...................................................................... 28 4.2.2 Requerimientos no Funcionales ................................................................. 29 4.3 Análisis y Diseño............................................................................................... 29 4.3.1 Diagrama de Casos de Uso ........................................................................ 29 4.3.2 Diseño de la Interfaz de Usuario ................................................................ 30 4.3.3 Arquitectura de la Solución........................................................................ 31 4.3.4 Modelo de Datos ........................................................................................ 33 4.4 Construcción del Prototipo ................................................................................ 34 4.4.1 Primera Iteración ........................................................................................ 35 4.4.2 Segunda Iteración ....................................................................................... 35 4.4.3 Tercera Iteración ........................................................................................ 36 4.4.4 Presentación del Prototipo ......................................................................... 36 4.5 Validación e implementación del Prototipo ...................................................... 38 5. 5.1 5.2 6. CONCLUSIONES Y TRABAJOS FUTUROS .................................................... 44 Conclusiones ..................................................................................................... 44 Trabajos Futuros ................................................................................................ 45 REFERENCIAS BIBLIOGRÁFICAS .................................................................. 47 ANEXOS ......................................................................................................................... 48 ANEXO 1: Configuración computador Reproductor de Contenidos ........................... 48 ANEXO 2: Configuración del Browser. ..................................................................... 49 ANEXO 3: Benchmarking ............................................................................................ 50 ANEXO 4: Encuesta Audiencia ................................................................................... 52 ANEXO 5: Encuesta Administrador del Sistema ......................................................... 53 ANEXO 6: Lista de Acrónimos .................................................................................... 53 ii ÍNDICE DE TABLAS Tabla 1 2 3 4 5 6 7 8 Página Ventajas y desventajas de una solución Digital Signage de tipo Stand-Alone. ......... 8 Ventajas y desventajas de una solución Digital Signage de tipo Web-Based............ 9 Ventajas y desventajas de una solución Digital Signage de tipo IPTV-Based. ....... 10 Comparación entre tres tipos de soluciones de Digital Signage. ............................. 11 Resumen de las funcionalidades de las soluciones estudiadas................................. 18 Resumen de las tecnologías utilizadas en la plataforma de administración de las soluciones estudiadas. .............................................................................................. 19 Comparación de aspectos funcionales de tecnologías para el desarrollo de aplicaciones con arquitectura RIA. .......................................................................... 25 Comparación de aspectos técnicos de tecnologías para el desarrollo de aplicaciones con arquitectura RIA. ............................................................................................... 25 iii ÍNDICE DE FIGURAS Figura Página 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Pantalla dividida en Regiones. ................................................................................... 6 Fases en el proceso de difusión de contenido en sistemas de Digital Signage. ......... 7 Esquema de una solución Digital Signage de tipo Stand-Alone. ............................... 8 Esquema de una solución Digital Signage de tipo Web-Based. ................................ 9 Esquema de una solución Digital Signage de tipo IPTV-Based. ............................. 10 Digital Signage aplicado en un Supermercado. ....................................................... 12 Digital Signage aplicado en un Hotel....................................................................... 13 Digital Signage aplicado en un Aeropuerto. ............................................................ 13 Digital Signage aplicado en los pasillos de una Universidad. ................................. 14 Ventana de configuración de cliente de la solución XIBO. ..................................... 16 Interfaz de Usuario del panel de administración de la solución XIBO. ................... 17 Interfaz de Usuario del panel de administración de la solución Media Signage. .... 18 Esquema propuesto para una solución de Digital Signage. ..................................... 21 Esquema Desarrollo Evolutivo. ............................................................................... 28 Diagrama de Casos de Uso. ..................................................................................... 30 Diseño preliminar interfaz de usuario DSAdmin. .................................................... 31 Arquitectura FLEX - PHP. ....................................................................................... 32 Flujo de datos mediante AMF. ................................................................................. 33 Modelo de Datos. ..................................................................................................... 34 Interfaz de usuario DSAdmin................................................................................... 36 Configuración lista de reproducción ........................................................................ 37 Ejemplo de contenido difundido en una pantalla. .................................................... 38 Implementación del Sistema de Señalética Digital en dependencias del IPS Valdivia. ................................................................................................................... 39 24 Resultado Pregunta 1 de Encuesta de Audiencia ..................................................... 40 25 Resultado Pregunta 2 de Encuesta de Audiencia ..................................................... 40 26 Resultado Pregunta 3 de Encuesta de Audiencia ..................................................... 41 27 Resultado Pregunta 4 de Encuesta de Audiencia ..................................................... 41 28 Resultado Pregunta 5 de Encuesta de Audiencia ..................................................... 42 29 Timeline de llamadas al servidor desde DSPlayer ................................................... 51 30 Encuesta de satisfacción de audiencia...................................................................... 52 31 Encuesta de usabilidad al administrador del sistema ............................................... 53 iv RESUMEN En la actualidad, es cada vez es más frecuente ver pantallas difundiendo algún tipo de contenido informativo en espacios públicos, esto se debe principalmente a dos factores, la disminución constante en el costo del hardware necesario para su funcionamiento y a la gran cantidad de tecnologías existentes que permiten la creación de sistemas para la difusión de contenido. A la fecha, la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, no cuenta con canales digitales para la difusión de contenido en lugares públicos y se limita a utilizar medios tradicionales para la difusión de información, esto es, afiches, letreros, lienzos, etc., es por esto que nace la oportunidad de crear un nuevo medio que permita la difusión de contenido multimedia en lugares públicos de la Facultad. Es así como el objetivo de este proyecto de título es el diseño e implementación de una solución para la gestión de contenido multimedia y su difusión a través de pantallas informativas. Esto se logró utilizando preferentemente herramientas Open Source para su desarrollo. Para llevar a cabo este objetivo, se realizó un estudio de las soluciones existentes en el mercado, se analizaron las funcionalidades ofrecidas y las tecnologías utilizadas para este fin por cada una de ellas. Posteriormente se realizó el análisis y diseño de una solución para su posterior implementación en dependencias de la Facultad de Ciencias de la Ingeniería de la UACh. Finalmente, se presentan las conclusiones asociadas a este proyecto y se discuten posibles trabajos futuros que harían del sistema implementado uno más robusto y atractivo. v ABSTRACT Nowadays, it is increasingly common to see screens in public spaces broadcasting some kind of informative content, this is mainly due to two factors, the constant decline in the cost of the necessary hardware for its operation and the large number of existing technologies that allow the creation of systems for broadcasting content. To date, the Faculty of Engineering Sciences of the Universidad Austral de Chile does not have digital channels for broadcasting content in public spaces and is limited to use traditional ways to broadcasting information, i.e., posters, signs, canvas, etc., here exists an opportunity to create a new medium that allows broadcasting multimedia content in public places. This is how the objective of this project is the design and implementation of a solution for managing multimedia content and its diffusion through informative screens, this will be achieved preferably using Open Source tools for its development. To achieve this goal it was performed a study of existing solutions on the market, it was analyzed the functionality offered and the technologies used for this purpose by each of them. Then it was performed the analysis and design of a solution for its implementation in units of the Faculty of Engineering Sciences of the UACh. Finally, it present the conclusions associated to this project and it discuss the possible future work that would make of the implemented system a more robust and attractive. vi 1. INTRODUCCIÓN 1.1 Antecedentes Generales Actualmente la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile utiliza comúnmente dos canales de comunicación para la difusión de contenido hacia la comunidad universitaria, el primer canal es digital, es decir, el contenido se difunde principalmente a través de canales Internet, como el Sitio Web de la Universidad, InfoAlumnos1, SIVEDUC2, correo electrónico masivo hacia la comunidad universitaria y las redes sociales, principalmente, a través de sus cuentas en Twitter3 y Facebook4. El segundo canal es no digital, es decir, se difunde el contenido utilizando medios tradicionales como afiches, posters y/o diarios murales situados dentro de la Universidad. Ambos canales están dirigidos a distintas audiencias, diferenciadas por el lugar donde se encuentran situadas y cómo se accede a ellas. El primer canal apunta a usuarios conectados a Internet, fuera y dentro de la Universidad, éstos pueden recibir todo tipo de contenido, como texto, imágenes, videos, audio y animaciones. La audiencia para el segundo canal es aquella que se encuentra en lugares públicos dentro de la Universidad no conectado a internet. Este canal de comunicación, está limitado a difundir sólo texto e imágenes, impidiendo que se difunda por éste el mismo contenido que se transmite por el canal digital, imposibilitando a esta audiencia el acceso a todo el contenido que se desea difundir. 1.2 Definición de la problemática Ambos canales de comunicación, digital y no digital, poseen desventajas. La desventaja del primer canal es no estar presente en lugares públicos y la desventaja del segundo es no poder difundir contenido multimedia. Dado lo anterior, existe la oportunidad de aprovechar las actuales tecnologías de información y comunicación, para crear un nuevo canal que aúne las ventajas de los canales antes descritos y elimine las limitaciones de los mismos, permitiendo la difusión de contenido multimedia en lugares públicos dentro de la Universidad. 1 http://infoalumnos.uach.cl http://www.siveduc.cl 3 http://twitter.com/noticiasuach 4 http://www.facebook.com/universidadaustraldechile 2 1 1.3 Descripción del Proyecto El propósito del presente proyecto de título es solucionar la problemática descrita anteriormente con el diseño e implementación de un prototipo de sistema que permita la gestión de contenido y su difusión través de una red de pantallas interconectadas situadas en dependencias de la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, posibilitando así la difusión del mismo contenido a toda la comunidad universitaria, por los canales digital y no digital. 1.4 Motivación La principal motivación para el desarrollo de este proyecto es permitir la difusión de contenido multimedia hacia audiencias situadas en espacios públicos dentro de la Universidad, tales como, pasillos, espacios comunes y lugares de gran afluencia de público en general, logrando así crear un complemento a los actuales métodos tradicionales de difusión que utiliza la Universidad. Además, una motivación importante es la de promover el uso de herramientas Open Source5, esto se logrará privilegiando su uso en los diseños y desarrollos involucrados en este proyecto de titulación. Otros de los motivos es la satisfacción de poder realizar un proyecto para la Facultad de Ciencias de la Ingeniería a modo de retribución por los conocimientos y experiencia adquirida en esta institución, contribuyendo con una mejora en los canales de comunicación existentes. 1.5 Impactos Existe un impacto social al implementar una solución para la gestión de contenido y su difusión en la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, éste es la creación de un nuevo medio para la comunicación hacia docentes, estudiantes y funcionarios. Esto permitirá difundir diferentes tipos de contenidos, que van desde contenidos multimedia hasta actualizaciones provenientes de las redes sociales. 5 Open Source: http://www.opensource.org/osd.html 2 Las fases involucradas en el proceso de difusión de la información, son principalmente: la creación, elaboración, distribución y finalmente la difusión del contenido. El impacto en la implementación de este proyecto es la disminución en el tiempo de distribución y difusión de las noticias, ya que se realizarían de forma centralizada, sin la necesidad de llegar físicamente al lugar en donde se quiere difundir la información, haciendo posible el mejor uso del tiempo de funcionarios dedicados a esta tarea, liberándolos de tareas repetitivas y muchas veces tediosas al tener que recorrer todas las dependencias de la Universidad distribuyendo el contenido a difundir. La disminución de este tiempo será más notoria a medida que aumente la cantidad de pantallas instaladas dentro de la Universidad. La implementación de este tipo de sistemas trae consigo además, un impacto ambiental positivo, ya que a medida que el número de pantallas aumente se prescindirá cada vez más, de la utilización de materiales para la elaboración de anuncios, los cuales caducan y son desechados en un corto lapso de tiempo, y donde muchas veces no existe la preocupación de quitarlos una vez obsoletos, dejando una imagen descuidada en los lugares públicos donde se encuentran. Aunque el costo de los componentes de hardware necesarios para la implementación de un sistema que permita la difusión de información a través de una red de pantallas es alto comparado con la implementación de métodos tradicionales de difusión, se espera que el costo de estos componentes disminuya con el pasar del tiempo [ANU08]. Además, a largo plazo, utilizar un sistema con los objetivos planteados anteriormente será más conveniente que continuar utilizando dinero en medios tradicionales no digitales de difusión de información, ya que estos, una vez obsoletos (generalmente en un corto lapso de tiempo), son desechados y muchas veces no existe la posibilidad de ser reutilizados, en cambio, la inversión para difundir contenido de manera digital se realizaría solo una vez, es por esto que existe un impacto económico positivo a largo plazo al implementar un sistema como el antes descrito. 1.6 Objetivos 1.6.1 Objetivo General Diseñar e implementar un prototipo de sistema para la gestión de contenido y su difusión a través de pantallas, utilizando preferentemente herramientas Open Source, para la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile. 3 1.6.2 Objetivos Específicos o Identificar las principales soluciones para la gestión de contenido y su difusión a través de pantallas, tanto a nivel nacional como internacional, para analizar el posible hardware y herramientas Open Source para el desarrollo e implementación del sistema. o Definir una arquitectura y componentes que posibiliten el desarrollo del sistema, incluyendo un modelo de datos que permita la gestión de los componentes y el contenido a difundir. o Implementar un prototipo de sistema de gestión de contenido y su difusión en dependencias de la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile. o Definir y evaluar cuantitativamente las medidas de desempeño importantes para el sistema, para así estimar su potencial crecimiento. 4 2. FUNDAMENTO TEÓRICO Antes de comenzar el desarrollo del presente proyecto de título es necesario definir el contexto teórico en que se trabajará. Para esto, se realizó una revisión bibliográfica en busca de conceptos y tecnologías relacionadas con la gestión de contenido y su difusión a través de pantallas de información ubicadas en lugares públicos. A continuación, se presentan los conceptos más relevantes que permitirán una comprensión acabada del presente proyecto. 2.1 Digital Signage El concepto Digital Signage o Señalética Digital se refiere a un conjunto de tecnologías que, unidas y utilizadas de forma apropiada, permiten la creación de sistemas para difusión, en tiempo real y no real, de información y contenido multimedia a través de dispositivos de visualización como pantallas y proyectores [Lun08]. Generalmente, este tipo de sistemas, se administran de forma centralizada y se basan en la creación de listas de reproducción de contenido y la planificación de éstas para su posterior difusión [Que]. 2.1.1 Características Las soluciones de Digital Signage en su forma más básica se componen de un dispositivo de visualización (pantalla, proyector, etc.) y un dispositivo de reproducción de contenido (reproductor de DVD6, computador, STB7, etc.). Formas más avanzadas de este tipo de solución están compuestas, además, por una arquitectura de red que permita la distribución de este contenido a una serie de pantallas y un sistema que permita la gestión de contenido de forma remota y centralizada [HAR03]. Dentro de las características de los sistemas de Señalética Digital se destacan principalmente los siguientes elementos: o Permiten la difusión de contenido multimedia (texto, imágenes, video, animaciones, audio). 6 7 DVD: Digital Versatile Disc STB: Set Top Box 5 o La planificación de la difusión del contenido puede ser contextualizada, es decir, dependiendo de distintos factores como la hora y el lugar, el contenido se adecúa a una audiencia determinada. o La planificación de la difusión del contenido puede ser gestionada remota y centralizadamente a través de algún sistema de administración y una arquitectura de red que lo posibilite. o El contenido o información a difundir puede provenir desde distintas fuentes de datos de manera simultánea, es decir, es posible dividir la pantalla en regiones y cada región puede mostrar contenido proveniente desde cada una de estas fuentes. En la figura 1 se puede observar que las regiones 1 y 2 muestran contenido proveniente de un servidor central (lista de reproducción de imágenes y componente que muestra la fecha y hora), en cambio, región 3 proviene de un servidor RSS8. Figura 1. Pantalla dividida en Regiones. 8 RSS: Really Simple Syndication. 6 Dentro de las soluciones de Digital Signage se pueden distinguir al menos cuatro importantes fases desde que un contenido es creado hasta que éste llegue a una audiencia, estos son: elaboración, gestión, distribución y difusión de la información (ver figura 2), cada una de estas etapas se detallan a continuación. Elaboración: Ésta es la etapa donde el contenido es creado, editado y optimizado para su futura difusión. Gestión: El contenido generado es ingresado al sistema y pasa a ser parte de una lista de reproducción que es planificada para ser difundida a ciertas horas y en ciertas pantallas. Distribución: El contenido es distribuido desde el servidor central hasta el reproductor de contenido asociado a la pantalla donde se planificó su difusión. Difusión: El contenido se muestra a través de algún dispositivo de visualización. Figura 2. Fases en el proceso de difusión de contenido en sistemas de Digital Signage. En este proyecto de título sólo se abarcará las tareas de gestión y de difusión de contenido, es decir, contempla el diseño e implementación de dos plataformas, una de administración que permita la gestión y planificación de contenido, y otra que permita la difusión de contenido a través de pantallas. En este proyecto de título no se considerará la elaboración de contenido ni algoritmos para su distribución. 7 2.2 Tipos de Soluciones según la Tecnología Utilizada Las soluciones de Digital Signage se pueden clasificar en tres distintos tipos según la tecnología utilizada para lograr la estructura necesaria para difundir contenido, estas son de tipo individual, basada en Web y basada en IPTV9. 2.2.1 Individual Este tipo de solución, también llamada Stand-Alone, es la más simple de todas, consiste en un dispositivo de visualización unido a un dispositivo de reproducción de contenido (ver figura 3). El dispositivo de reproducción no está conectado a una red de datos y la actualización del contenido se realiza manualmente a través de dispositivos de almacenamiento como CD10, DVD o tarjetas de memoria. [Rau09] Figura 3. Esquema de una solución Digital Signage de tipo Stand-Alone. A continuación, en la tabla 1, se listan las ventajas y desventajas de este tipo de solución: Tabla 1. Ventajas y desventajas de una solución Digital Signage de tipo Stand-Alone. Ventajas 9 Desventajas Bajo Costo. Al no estar conectado a una red, la actualización del contenido se realiza de forma manual y no de forma remota y centralizada. Rápida puesta en marcha. No está orientado a difundir información que cambie constantemente ya que la actualización del contenido es lenta y no centralizada. Soporta gran cantidad de formatos multimedia. Dependiendo del dispositivo de reproducción de contenido, no siempre es posible mostrar más de un tipo de contenido multimedia a la vez. Operador sólo necesita conocimientos computacionales a nivel de usuario. En el caso de que se quiera añadir más de una pantalla al dispositivo reproductor de contenido, todas las pantallas mostrarán la misma información. IPTV: Internet Protocol Television CD: Compact Disc 10 8 2.2.2 Basada en Web Este tipo de solución, también llamada Web-Based, consiste en un sistema principalmente compuesto por dispositivos de visualización, un computador y una arquitectura de red, donde la administración y reproducción del contenido a difundir se realiza a través de un sistema basado en tecnologías Web (ver figura 4). En este tipo de solución el computador es el encargado de mostrar el contenido a través de un software o aplicación Web [Rau09]. Figura 4. Esquema de una solución Digital Signage de tipo Web-Based. A continuación, en la tabla 2, se describen las ventajas y desventajas de este tipo de solución: Tabla 2. Ventajas y desventajas de una solución Digital Signage de tipo Web-Based. Ventajas Desventajas La administración del contenido a distribuir se realiza remotamente. Cada pantalla puede mostrar distinta información. Dependiendo del software o aplicación Web encargada de difundir el contenido, es posible dividir la pantalla en regiones, permitiendo mostrar más de un tipo de contenido a la vez. Es una solución escalable. Si la red está conectada a internet es posible difundir contenido RSS y proveniente de las redes sociales. 9 Gran consumo de ancho de banda si no se planifica la distribución de contenido hacia los computadores reproductores de contenido. 2.2.3 Basada en IPTV Este tipo de solución, también llamada IPTV-Based, consiste en un sistema compuesto por dispositivos de visualización, un servidor, un reproductor multimedia (Media Player) o STB, y una arquitectura de red (ver figura 5). El servidor distribuye el contenido mediante streaming11 a los reproductores multimedia y la planificación se realiza mediante un software de administración [Rau09]. Figura 5. Esquema de una solución Digital Signage de tipo IPTV-Based. A continuación, en la tabla 3, se describen las ventajas y desventajas de este tipo de solución: Tabla 3. Ventajas y desventajas de una solución Digital Signage de tipo IPTV-Based. Ventajas Desventajas La administración del contenido a distribuir se realiza remotamente. Necesita una compleja infraestructura de red. Los servicios basados en IPTV, dado su uso comercial, tienen alta estabilidad y disponibilidad. Alto costo en la implementación de la infraestructura de red y servidor necesarios para su funcionamiento. SRTP12 u otras técnicas pueden ser utilizadas para asegurar el contenido y la integridad de la información. Alto consumo de ancho de banda. Si el servidor central falla, todo el sistema queda no disponible. 11 12 Streaming: http://es.wikipedia.org/wiki/Streaming SRTP: http://es.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol 10 2.3 Comparación entre los Tipos de Soluciones En la tabla 4 se presenta una comparación entre los tres tipos de soluciones antes descritas, en términos de costos, complejidad de implementación, escalabilidad, consumo de ancho de banda, accesibilidad Web y experticia para su administración. Entiéndase escalabilidad como la capacidad de un sistema de aumentar su carga y/o crecimiento sin perder su rendimiento. Tabla 4. Comparación entre tres tipos de soluciones de Digital Signage. Stand-Alone Web-Based IPTV-Based Costo total del sistema Bajo Medio Alto Complejidad Baja Media Alta Escalabilidad Baja Alta Alta Ancho de banda requerido No aplica Alto Alto Acceso vía Web Browser No Si No Bajo Bajo Alto Experticia para su administración Después de la comparación de estos tres tipos de soluciones se puede concluir que la implementación de cada uno de ellos depende de los requerimientos de la institución que lo necesite. Para el caso de la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, una institución de educación, la solución más adecuada según el tipo de tecnología utilizada sería una basada en Web. Las principales razones son: o Existencia de una arquitectura de red que permite la rápida implementación del sistema. o Administración centralizada del contenido mediante cualquier navegador Web. o Una solución basada en Web es multiplataforma, es decir, puede ser accedida desde cualquier computador independientemente del sistema operativo. 11 o Aunque el ancho de banda requerido para este tipo de solución es alto, éste puede ser disminuido con algoritmos para la planificación de distribución de contenido. o La experticia para el uso de la plataforma de administración del sistema puede ser baja permitiendo que personas sin nivel computacional alto puedan administrarlo. o La escalabilidad de este tipo de solución es alta, logrando que el rendimiento del sistema no disminuya en la medida de que aumente la cantidad de pantallas dentro de la Universidad. 2.4 Aplicaciones Actualmente, existe una gran variedad de aplicaciones para soluciones de Digital Signage, a continuación se describen las que se consideran más importantes. 2.4.1 Retail La implementación de una solución de Digital Signage en este rubro permite ofrecer información de algún producto, servicio o promoción en el punto de venta, brindando información adicional al cliente que podría influir en la decisión de su compra. En la figura 6 se puede ver una solución aplicada a un supermercado que promociona un producto en algún pasillo, brindando una información completa y llamativa acerca del mismo, destacándolo entre productos similares. Figura 6. Digital Signage aplicado en un Supermercado. 12 2.4.2 Turismo Centros turísticos, hoteles y restaurantes se ven beneficiados al implementar una solución de Digital Signage, el sistema se podría utilizar para difundir información hacia empleados y clientes, manteniéndolos al tanto de los servicios brindados, sus instalaciones, ofertas especiales, menús y hasta videos de entretenimiento. En la figura 7 se puede ver una solución aplicada en la recepción de un hotel que muestra un canal de televisión, la hora y el estado del tiempo a la vez. Figura 7. Digital Signage aplicado en un Hotel. 2.4.3 Transporte Otra interesante aplicación de este tipo de sistemas es el transporte, pantallas situadas en terminales aéreos, terminales de buses y estaciones de trenes podrían brindar información útil acerca de horarios, retrasos, promociones y cambios en los recorridos. En la figura 8 se aprecia una solución aplicada a un aeropuerto que difunde información sobre sus vuelos. Figura 8. Digital Signage aplicado en un Aeropuerto. 13 2.4.4 Instituciones Las soluciones de Digital Signage tienen un gran potencial dentro de instituciones de cualquier índole, financieras, de gobierno, educacionales, de salud, entre otras. Las aplicaciones van desde dar una visión de futuro para la institución al usar este tipo de sistema para la difusión de la información, hasta la creación de un nuevo canal de comunicación, el cual mantendría informado a todo el cuerpo institucional de sus noticias, proyectos, campañas e información de último minuto. En la figura 9 se puede ver una solución aplicada a una universidad, una pantalla ubicada en algún pasillo difunde información importante para sus alumnos. Figura 9. Digital Signage aplicado en los pasillos de una Universidad. 2.5 Digital Signage en la UACh A continuación se presentan potenciales ventajas y desventajas de la implementación de una solución de Señalética Digital en la Universidad discutidas con el área de Prensa de la Facultad de Ciencias de la Ingeniería, uno de los posibles encargados de la administración del sistema. 2.5.1 Ventajas o Incrementar la productividad del personal administrativo, que se verá gradualmente liberado de las gestiones repetitivas y podrá concentrarse en cuestiones de mayor valor para el trabajo desempeñado. o Aumentar la satisfacción de los estudiantes y profesores, quienes comprobarán cómo el sistema genera un creciente vínculo de relación universitario. o Establecer un canal de contacto directo, actualizado y dinámico para mantenerse informado. 14 o Reducir los costes de impresión de folletos, al disponer de un formato multimedia, más atractivo, actualizable en tiempo real y con capacidad de plantear propuestas personalizadas. o Proporcionar una imagen de avanzada y de futuro sobre el resto de las universidades y la comunidad en general. 2.5.2 Desventajas o Difícil desarraigo del canal no digital de difusión de contenido (poster, afiches, notas internas, etc.). En este sentido esta solución se ve como un apoyo a un sistema que ha funcionado por años al interior de la Universidad Austral de Chile y que está muy incorporado en el quehacer de su personal. o Falla humana al alimentar el sistema, provocando entrega de información errónea. Generación de ambiente de incertidumbre. 2.6 Casos de Estudio En Chile, cada vez más existen instituciones que utilizan soluciones de Digital Signage para la difusión de contenido, sin embargo al indagar qué tecnologías y qué tipo de soluciones se utilizan, se encontró que la mayoría de éstas emplean productos desarrollados fuera del país. Dado lo anterior y a que aún no existen estándares para el desarrollo de soluciones de Señalética Digital, es posible encontrar en el mercado una gran variedad de soluciones, diferenciadas principalmente por las funcionalidades que entregan, las herramientas utilizadas para su desarrollo y el tipo de contenido que es posible difundir. Además, debido a que la mayoría de las soluciones existentes presentan en su desarrollo herramientas privativas, se inició una búsqueda de soluciones que presenten dos características esenciales: o Utilización de herramientas Open Source para su desarrollo. o Basadas en Web. Luego de la búsqueda, las principales soluciones encontradas que cumplen con las características anteriormente descritas se detallan a continuación: 15 2.6.1 XIBO Solución Open Source, multi-pantalla, multi-región, que permite la planificación de contenido centralizadamente a través de una interfaz Web. Está liberada bajo Affero GNU Public License v313 o cualquier versión posterior [Xib]. Esta solución soporta los siguientes contenidos: o Imágenes en formato PNG, JPG y GIF. o Texto. o Video en cualquier formato que soporte Windows Media Player. o Animaciones en formato SWF. o Sitios Web embebidos. o Presentaciones en Microsoft Power Point. o Entradas RSS La arquitectura de esta solución es de tipo cliente – servidor tradicional. El cliente es una aplicación que corre bajo el sistema operativo Windows, en cada computador asociado a una o más pantallas donde se quiera difundir contenido es necesario instalar el cliente, el cuál se encarga de la configuración de los parámetros necesarios para el correcto funcionamiento del sistema. En la figura 10 se puede ver la ventana de configuración para cada cliente. Figura 10. Ventana de configuración de cliente de la solución XIBO. 13 http://www.gnu.org/licenses/agpl.html 16 En la figura 11 se muestra la Interfaz de Usuario (GUI14) de administración de esta solución, se puede notar que existen varias opciones, como configurar la distribución de regiones en la pantalla (layout) y el manejo de los archivos multimedia (librería) que hacen de ésta una solución flexible. Figura 11. Interfaz de Usuario del panel de administración de la solución XIBO. 2.6.2 Media Signage Esta solución no posee licencias Open Source, sin embargo, fue escogida como caso de estudio debido a que algunas de las herramientas utilizadas en su desarrollo lo son, éstas serán detalladas posteriormente. Los tipos de contenidos soportados por esta solución son los siguientes: o Videos en formato FLV, MPEG4, 3GP, M4V, MOV (H.264) o Imágenes en formato JPG, GIF, JPEG, PNG o Animaciones en formato SWF. o Sitios Web embebidos. o Entradas RSS 14 GUI: Graphical User Interface 17 Media Signage, al igual que XIBO, tiene una arquitectura cliente – servidor tradicional, donde un cliente debe ser instalado en cada computador asociado a la o las pantallas donde se quiera difundir contenido. Esta solución cuenta con un panel de administración que puede ser accedido por Web o mediante la instalación de una aplicación de escritorio, dependiendo de los requerimientos del usuario. En la figura 12 podemos ver la GUI de administración de esta solución. Figura 12. Interfaz de Usuario del panel de administración de la solución Media Signage. 2.6.3 Resumen de Casos de Estudio Para esta etapa del trabajo, se procedió a implementar las dos soluciones revisadas, para XIBO, el cliente y servidor se instalaron en un computador de pruebas, y para Media Signage se utilizó el cliente Web y el servidor de prueba que se ofrecen para este propósito. En ambos casos se realizó una revisión de funcionalidades, además de las características en el proceso de planificación de contenido. Finalmente se indagó en las herramientas que se utilizaron para el desarrollo de estas soluciones. La tabla 5 indica si las funcionalidades y/o características descritas son soportadas en cada una de las soluciones. Tabla 5. Resumen de las funcionalidades de las soluciones estudiadas. XIBO Media Signage Basado en Web Si Si Integración con redes sociales No No Lectura de RSS Si Si Soporte Formatos Multimedia Si Si Creación de regiones Si Si Gestión remota y centralizada Si Si Cliente Multiplataforma No Si Funcionalidad / Característica 18 Como se puede apreciar en la tabla 5, no existen diferencias significativas en las funcionalidades que brindan estas soluciones, sólo se diferencian en que el cliente para Media Signage está desarrollado con una tecnología multiplataforma, en cambio el cliente de XIBO sólo corre bajo ambiente Windows. Además cabe destacar que ambas soluciones no poseen alguna funcionalidad que obtenga información de las redes sociales. La tabla 6 resume las tecnologías utilizadas para el desarrollo de la plataforma de administración de las soluciones estudiadas, separando las capas Front-End15, Web Service16 y Motor de Base de Datos. Tabla 6. Resumen de las tecnologías utilizadas en la plataforma de administración de las soluciones estudiadas. Solución Front – End Web Service Motor de Base de Datos XIBO XHTML - CSS PHP - C# - Python MySQL Media Signage Adobe Flex / Flash PHP MySQL Se puede concluir, luego de ver la información presentada en las tablas 5 y 6, que dentro de las funcionalidades a considerar en el prototipo a desarrollar, para que exista una diferenciación con estas, se debería incluir aquellas que no están presentes en las soluciones estudiadas, esto es, integración con las redes sociales y el desarrollo de un cliente multiplataforma. Además, se logra visualizar las tecnologías que eventualmente se podrían utilizar para el desarrollo del prototipo. 15 16 Front-End: http://es.wikipedia.org/wiki/Front-end_y_back-end Web Service: http://es.wikipedia.org/wiki/Web_service 19 3. SOLUCIÓN PROPUESTA En los capítulos anteriores se realizó una descripción de las ventajas y desventajas de los canales que actualmente utiliza a Universidad Austral de Chile para la difusión de información y contenido hacia la comunidad universitaria. Además, se presentaron tres tipos de soluciones según la tecnología utilizada, se listaron las ventajas y desventajas de la posible implementación de una solución de Digital Signage dentro de la Universidad y se concluyeron algunas características y funcionalidades que en el sistema a desarrollar se debieran considerar. En este capítulo se propondrá una solución para la implementación de un prototipo de sistema de Señalética Digital en la Facultad de Ciencias de la Ingeniería, se definirán una arquitectura y componentes que satisfagan los requerimientos del sistema, incluyendo también un modelo de datos que permita la gestión de los componentes, considerando la selección de las herramientas para su desarrollo. 3.1 Especificación de Requerimientos Antes de saber qué componentes son necesarios para el desarrollo del sistema, es necesario saber qué se espera de él. A continuación se listarán los requerimientos de usuario de sistema definidos en conjunto con el Profesor Patrocinante. Así el sistema deberá: o Administrar el contenido a difundir través de una plataforma Web. o Permitir la creación de listas de reproducción de contenido y planificar su difusión. o Soportar diferentes formatos multimedia, entradas RSS y actualizaciones de estado provenientes de alguna cuenta de Twitter. o Permitir la división de una pantalla en regiones y asignar distinto contenido a cada una de esas regiones. o Difundir el contenido mediante una aplicación multi-plataforma. 20 3.2 Esquema de la Solución Para lograr satisfacer los requerimientos de usuario antes listados se propone una solución con los componentes dispuestos en la figura 13. En el esquema se puede apreciar que el sistema se podría implementar sobre una red de área local o sobre Internet, dependiendo de los requerimientos del usuario final, en el caso de este proyecto el sistema se implementará sobre la red de área local perteneciente a la Facultad de Ciencias de Ingeniería de la UACh. Figura 13. Esquema propuesto para una solución de Digital Signage. A continuación se detallan los componentes de la solución propuesta: o DSAdmin: Aplicación Web de administración de contenido, que permite la división de una pantalla en regiones, creación de listas de reproducción de contenido y su planificación, y asignar el contenido a las regiones antes creadas. o DSPlayer: Aplicación Web de reproducción de contenido, que difunde el contenido planificado. Esta aplicación es llamada desde un computador configurado para este fin. 21 o DSDB: Base de datos que almacena la planificación del contenido y las configuraciones de las pantallas. o DSWS: Servicio Web que permite el intercambio de datos entre la base de datos y las aplicaciones de administración y reproducción de contenido. Para cada uno de los componentes del sistema detallados anteriormente se describirán posibles herramientas para su posterior selección. 3.3 Selección de Herramientas para el Desarrollo En el capítulo 2 se realizó una descripción de las herramientas utilizadas en los casos de estudio. En el presente capítulo se analizarán éstas y otras herramientas para posteriormente hacer una selección de las más adecuadas para el uso en los distintos componentes del sistema. 3.3.1 DSAdmin y DSPlayer Una aplicación Web es un sitio Web donde la navegación a través del sitio, y la entrada de datos por parte de un usuario, afectan el estado de la lógica del negocio. En esencia, una aplicación Web usa un sitio Web como entrada (Front-End) a una aplicación típica. Si no existe lógica del negocio en el servidor, el sistema no puede ser llamado aplicación Web [CON99]. Para el desarrollo de los componentes DSAdmin y DSPlayer se crearán dos aplicaciones Web distintas, la primera encargada de la gestión y planificación de contenido y la segunda para su difusión. Existen diversas arquitecturas para el desarrollo de aplicaciones Web, sin embargo existe una emergente arquitectura Web llamada RIA17 (Rich Internet Applications) que surge como una combinación de las ventajas que ofrecen las aplicaciones Web y las aplicaciones tradicionales. Esta arquitectura tiene una serie de ventajas sobre otras arquitecturas, dentro de las que se encuentras las siguientes [Ria]: o Sin recargas: en los entornos RIA, no se producen recargas de página, ya que desde el principio se carga toda la aplicación, y sólo se produce comunicación con el servidor cuando se necesitan datos externos como datos de una Base de Datos o de otros ficheros externos, es decir, una comunicación asíncrona. 17 RIA: http://www.adobe.com/resources/business/rich_internet_apps/ 22 o Contenido multimedia: Las capacidades multimedia son totales gracias a que estos entornos tienen reproductores internos y no hace falta ningún reproductor de contenido del Sistema Operativo del usuario. o Independencia de sistemas y navegador: Las aplicaciones RIA son multiplataforma, se pueden utilizar desde cualquier ordenador con una conexión a Internet sin depender del sistema operativo que éste utilice o Experiencia de usuario: ofrecen una experiencia de usuario sofisticada y atractiva que mejora la satisfacción del cliente y aumenta su productividad. Para un sistema de Señalética Digital las ventajas descritas anteriormente son muy importantes, especialmente el hecho de que no se deba recargar completamente la aplicación ante la petición de un cambio en ésta, esta ventaja posibilita disminuir el ancho de banda requerido al enviar peticiones al servidor, sólo recibe el contenido que se necesita cambiar. Es por esto que se considera que optar por una arquitectura RIA para una solución de Digital Signage sería una elección adecuada. Existen muchas tecnologías que permiten crear aplicaciones RIA, Microsoft con su producto Silverlight18, Adobe con sus productos Flash y Flex19, y Oracle con JavaFX20, Todas ellas pelean un puesto en el mercado el cual está muy disputado. Por un lado, Microsoft con Silverlight permite a los desarrolladores, familiarizados con la plataforma .NET, realizar aplicaciones Web. Adobe por su lado, permite el desarrollo de aplicaciones Web y para el escritorio. Por otro lado, Sun con JavaFX permite la creación de RIAs para aplicaciones Java [Com]. A continuación se describen estas tres opciones de tecnología para arquitecturas RIA, para posteriormente realizar una comparación y finalmente una elección de la que se utilizará para el desarrollo del presente proyecto. 3.3.1.1 Adobe FLEX: Adobe Flex es un marco de trabajo (framework) Open Source y altamente productivo para crear aplicaciones Web, para computadores de escritorio y para dispositivos móviles. 18 http://www.microsoft.com/silverlight http://www.adobe.com/products/flex 20 http://javafx.com 19 23 Esta tecnología pone en relieve el desarrollo de Interfaces gráficas de usuario (GUI) usando un lenguaje XML21 llamado MXML22. Flex tiene varios componentes y características que aportan funcionalidades tales como Web Services, objetos remotos, arrastrar y soltar, columnas ordenables, gráficas, efectos de animación y otras interacciones simples. El cliente sólo carga la aplicación una vez, mejorando así el flujo de datos frente a aplicaciones basadas en HTML23 (PHP24, ASP25, JSP26), las cuales requieren de ejecutar plantillas en el servidor para cada acción. El lenguaje y la estructura de archivos de Flex buscan el desacoplamiento de la lógica y el diseño. 3.3.1.2 Microsoft Silverlight: Microsoft Silverlight es una estructura para aplicaciones Web que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones e interactividad, en forma similar a lo que hace Adobe Flash / Flex. Con Silverlight es posible cargar dinámicamente un contenido XML que puede ser manipulado a través de una interfaz DOM27, una técnica que es compatible con aquellas convencionales del lenguaje AJAX28. Silverlight tiene un Downloader para tomar scripts u otros medios y guardarlos en el equipo, cuando es requerido por la aplicación. También soporta lenguajes dinámicos de programación como Ruby y Python. 3.3.1.3 Oracle JavaFX: JavaFX es una familia de productos y tecnologías de Sun Microsystems, adquirida por Oracle Corporation, para la creación de RIAs. Las tecnologías incluidas bajo la denominación JavaFX son, hasta el momento, JavaFX Script y JavaFX Mobile. 3.3.1.4 Comparación de Herramientas RIA Una vez descritas las posibles tecnologías para el desarrollo de aplicaciones con arquitectura RIA se procede a la presentación de una tabla de comparación (tabla 7) 21 XML: Extensible Markup Language MXML: Macromedia eXtensible Markup Language 23 HTML: Hyper Text Markup Language 24 PHP: PHP Hypertext Pre-processor 25 ASP: Active Server Pages 26 JSP: Java Server Pages 27 DOM: Document Object Model 28 AJAX: Asynchronous JavaScript And XML 22 24 realizada por Coding the Arquitecture [Bro09] con algunos de los aspectos más importantes para resolver la elección de la tecnología para el desarrollo de un sistema de Digital Signage. Tabla 7. Comparación de aspectos funcionales de tecnologías para el desarrollo de aplicaciones con arquitectura RIA. Característica Adobe Flex Microsoft Silverlight Oracle JavaFX Riqueza de la Interfaz de Usuario Alta Alta Baja Look and Feel Alta Media Baja Soporte Alta Media Baja Media Media Alta Baja Alta Alta Media Alta Baja Costos de desarrollo Dificultad de desarrollo Curva de aprendizaje Además de una comparación de características intrínsecas de cada tecnología, se presenta a continuación la tabla 8, que compara características técnicas que servirán como ayuda para determinar la tecnología a utilizar. Tabla 8. Comparación de aspectos técnicos de tecnologías para el desarrollo de aplicaciones con arquitectura RIA. RIA browser Open Source Plataforma Tamaño IDE Adobe Flex Si Win Mac Linux 1,4MB Eclipse / Flex Builder Microsoft Silverlight No Win Mac 1,4MB Visual Studio Oracle JavaFX No Win Mac - NetBeans De la tabla 7 se puede concluir que Adobe Flex se destaca sobre las otras tecnologías en casi todos los aspectos descritos, sólo la curva de aprendizaje es menor en Oracle JavaFX. Esto sumado a que Adobe Flex es Open Source, y al hecho de que es multiplataforma, hacen que esta tecnología sea la seleccionada para el desarrollo de este proyecto. Para ello, se utilizará la versión 3 de Adobe Flex y como IDE29 se utilizará la herramienta de desarrollo Flex Builder 330. 29 30 IDE: Integrated Development Environment http://www.adobe.com/es/products/flex/features/flex_builder/ 25 3.3.2 DSDB La base de datos que compone el sistema a desarrollar almacenará información acerca de las pantallas, plantillas, regiones, componentes, listas de reproducción, es decir, todo lo que concierne a la planificación de contenido y su difusión. Existen dos motores de bases de datos que se podrían utilizar para el desarrollo de este proyecto dado su condición de Open Source, estas son PostgreSQL31 y MySQL32. La elección del motor de base de datos no es una tarea crítica para este proyecto ya que se espera que el modelo de datos sea simple, es por esto que la elección es sólo por la experticia que actualmente se tiene con una de ellas, MySQL. Este motor de base de datos posee todas las características que se necesitan para el desarrollo de este proyecto como son procedimientos almacenados, triggers, cursores y selects anidados. Se utilizará la versión 5 de MySQL y la herramienta Sequel PRO33 para su manejo. 3.3.3 DSWS Un Web Service es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones, generalmente entre un cliente y un servidor. Para el presente proyecto se montará un servidor Web HTTP Apache34, este servidor es Open Source y es multiplataforma. Como lenguaje para el servidor se utilizará PHP, logrando así crear una plataforma LAMP (Linux, Apache, MySQL y PHP), ampliamente utilizada en aplicaciones Web. Para la comunicación entre el servidor Apache y el cliente Flex se utilizará AMFPHP35. AMFPHP (acrónimo de la unión de AMF36 y PHP) es una herramienta Open Source para la fácil comunicación entre dos aplicaciones, generalmente cliente y servidor para operaciones de paso de información entre estas. 31 http://www.postgresql.org/ http://www.mysql.com/ 33 http://www.sequelpro.com/ 34 http://httpd.apache.org/ 35 http://amfphp.sourceforge.net 36 AMF: Action Message Format 32 26 4. DESARROLLO DEL PROYECTO 4.1 Metodología de Trabajo La metodología para el desarrollo de este trabajo de título se compone principalmente de dos etapas, la primera es la de investigación, donde se revisan soluciones de Digital Signage existentes para posteriormente hacer una selección de las herramientas a utilizar en el desarrollo del sistema. La segunda etapa es la de definición, luego de la identificación de las herramientas para el desarrollo del proyecto se selecciona la metodología de desarrollo de software que más se acomode a este tipo de sistemas. 4.1.1 Etapa de Investigación En esta etapa se revisa el estado del arte de la industria de Digital Signage, así como las tecnologías habilitantes para el desarrollo de los distintos tipos de soluciones para este tipo de sistemas. Para lograr obtener bases teóricas que posibiliten la correcta comprensión de los conceptos que rodean a las soluciones de Digital Signage se realizó una búsqueda de información en sitios Web, papers y libros especializados. Para comprender su funcionamiento se procedió a la instalación y prueba de algunas soluciones disponibles. 4.1.2 Etapa de Definición En esta etapa se definen las tecnologías habilitantes y herramientas para el desarrollo del prototipo, además se elige la metodología para el desarrollo del sistema. La metodología utilizada para el desarrollo del sistema será de Desarrollo Evolutivo (también llamado Prototipado Evolutivo), esta metodología se basa en la idea de desarrollar una implementación inicial, exponiéndola a los comentarios del usuario y refinándola a través de diferentes versiones hasta que se desarrolla un sistema adecuado (figura 14). La ventaja de un proceso de desarrollo de software que se basa en un enfoque evolutivo es que la especificación se puede desarrollar en forma creciente [Som05]. 27 Figura 14. Esquema Desarrollo Evolutivo. 4.2 Análisis de los Requerimientos Una vez estudiado los diferentes canales de difusión de información en la Facultad de Ciencias de la Ingeniería de la Universidad Austral y las ventajas y desventajas que estos presentan, se hace un análisis de los requerimientos necesarios para una solución que permita mejorar los servicios de los mismos. En esta etapa se determinaron las necesidades o las condiciones a satisfacer por parte de la aplicación, se establece el “qué” realizará el prototipo. 4.2.1 Requerimientos Funcionales Un requerimiento funcional define el comportamiento del sistema: cálculos, detalles técnicos, manipulación de los datos y otras funcionalidades específicas que muestran cómo los casos de uso serán llevados a la práctica. El sistema debe: o Permitir la creación de listas de reproducción de contenido y planificar su difusión. o Soportar diferentes formatos multimedia, entradas RSS y actualizaciones de estado provenientes de alguna cuenta de Twitter. o Permitir la división de una pantalla en regiones y asignar distinto contenido a cada una de esas regiones. 28 4.2.2 Requerimientos no Funcionales Un requerimiento no funcional, especifica criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus comportamientos específicos. Dentro de los requerimientos no funcionales del sistema se pueden encontrar los siguientes: o El sistema debe administrarse desde una Aplicación Web asegurando que se pueda acceder desde diferentes browsers. o El computador Reproductor de contenido debe ser configurado para su encendido y apagado automático. o El computador Reproductor de Contenido deberá tener instalado un sistema operativo robusto y seguro. o El sistema operativo deberá contener un browser que se inicie con el sistema y éste levantará DSPlayer. 4.3 Análisis y Diseño En esta etapa se realiza un análisis de los componentes del sistema y diseña la interfaz de usuario del sistema, además de la topología de red que permita la correcta transmisión de información entre los diferentes componentes del sistema. 4.3.1 Diagrama de Casos de Uso Dentro de los artefactos UML37 el que más hace sentido para este tipo de sistema es el Diagrama de Casos de Uso. Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario. Por lo tanto los casos de uso determinan los requisitos funcionales del sistema, es decir, representan las funciones que un sistema puede ejecutar. Su ventaja principal es la facilidad para interpretarlos, lo que hace que sean especialmente útiles en la comunicación con el cliente [Dia]. 37 UML: Unified Modeling Language 29 En la figura 15 se pueden observar las diferentes acciones que puede realizar un usuario en la plataforma de administración DSAdmin. Figura 15. Diagrama de Casos de Uso. 4.3.2 Diseño de la Interfaz de Usuario Para el diseño de la interfaz de usuario se revisó una serie de soluciones para encontrar un patrón que permita ser base del diseño que se realizará. La idea principal del diseño de la interfaz de usuario de DSAdmin es minimizar los pasos para crear regiones, asignarles componentes y configurar propiedades, para esto se privilegió el uso de “drag and drop” que hace más fácil e intuitivo el manejo de la interfaz de usuario de DSAdmin. Para ello, se realizó un diseño preliminar de la interfaz (ver figura 16) utilizando la herramienta Balsamiq Mockup38 que permite fácilmente tener una idea de cómo será finalmente la interfaz de usuario de la plataforma de administración del sistema. 38 Balsamiq Mockup: http://balsamiq.com/ 30 Figura 16. Diseño preliminar interfaz de usuario DSAdmin. En la figura 16 se pueden ver en la misma pantalla las herramientas necesarias para crear regiones y asignarles componentes. 4.3.3 Arquitectura de la Solución A diferencia de la arquitectura tradicional cliente - servidor, la arquitectura RIA utilizando FLEX y PHP, funciona como lo podemos observar en la figura 17, y se puede resumir con los pasos que siguen a continuación: 1. Desde el browser el cliente, solicita al servidor Web, la aplicación FLEX. 2. El servidor retorna al navegador la respuesta, que puede ser HTML, JS39, o relacionada con la aplicación FLEX. 3. Una vez cargada la aplicación FLEX en el navegador, el cliente hace solicitud de servicios PHP, que se encuentran del lado del servidor, esto sin necesidad de recargar la página. 4. PHP retorna los datos directamente a cliente FLEX. 5. Se repite la iteración entre FLEX y PHP, sin necesidad de recargar la página en el navegador N veces. 39 JS: JavaScript 31 Figura 17. Arquitectura FLEX - PHP. En una aplicación FLEX, se maneja un concepto de capas, donde la capa de lógica del negocio, y acceso a base de datos se encuentra del lado del servidor y es manejada por la aplicación PHP. FLEX ofrece el mecanismo para llamar a las diferentes páginas del servidor, y obtener la respuesta, y para realizar esta función, existen dos formas: la primera de ellas es sobre HTTP y la otra es utilizando mecanismos de sockets. Sobre HTTP, hay cuatro formas distintas de conectarse al servidor: REST Services, Web Services, Remoting y XML-RPC. Se puede utilizar el HTTPService class, para utilizar REST Services, mandando las variables POST en la solicitud del cliente y recibiendo la respuesta en formato XML. WebService class, la podemos utilizar en el caso que tengamos un Web Services en el servidor (SOAP40/WSDL41). Y la forma más interesante y la que se utilizará para el desarrollo de este sistema, es al acceso Remoting. Para esta forma, utilizamos la clase RemoteObject. Se pueden citar tres razones de porque es más útil este método: 1. Podemos tener acceso a cualquier clase PHP que tengamos en el servidor, por medio de sus métodos públicos. 40 41 SOAP: Simple Object Access Protocol WSDL: Web Services Description Language 32 2. Se puede mapear el modelo de datos de PHP, al modelo de datos en Action Script, que es muy importante porque tenemos el beneficio de chequeo de error en tiempo de compilación y ayuda para completar código, en el lado de FLEX. 3. El formato de mensajes para este método es AMF3 (Action Message Format), que es binario, lo que lo hace más rápido y pequeño comparado con SOAP/XML/JSON42. La figura 18 muestra el flujo de datos entre FLEX y PHP por medio de AMF#. Figura 18. Flujo de datos mediante AMF. 4.3.4 Modelo de Datos A continuación se presenta el modelo de datos a utilizar en el presente proyecto (tal como se ilustra en la figura 19), en él se consideran los componentes involucrados en la gestión de contenido y su planificación. Este modelo de datos se presenta normalizado, es decir, se pasó de un modelo entidad – relación a un modelo relacional aplicando la primera, segunda y tercera formas normales de Edgar Frank Codd43. Así, con el proceso de normalización, evita la redundancia y se protege la integridad de los datos [Dat01]. 42 43 JSON: JavaScript Object Notation Edgar Frank Codd: http://es.wikipedia.org/wiki/Edgar_F._Codd 33 component_type PK id_component_type type component ds_twitter PK id_twitter FK1 id_component entries refresh_time PK id_component FK2 FK1 id_region id_component_type description region PK id_region FK1 id_layout x y width height description ds_rss PK id_rss FK1 url entries refresh_time id_component playlist id_playlist FK1 id_component resource duration order description display player PK PK id_player PK id_display brand model mac wake_up_time power_off_time location installation_date FK1 id_player url brand model width height description layout PK id_layout FK1 id_display width height description background start_date end_date start_time end_time Figura 19. Modelo de Datos. 4.4 Construcción del Prototipo La construcción del prototipo desarrollado fue realizada en diferentes iteraciones. A continuación se describen los distintos incrementos realizados en cada iteración y se explica cómo éstos se fueron integrando. 34 4.4.1 Primera Iteración En esta primera iteración se montó un servidor, se instaló la base de datos diseñada para el sistema y se implementó, en un computador, un ambiente desarrollo acorde con las herramientas a utilizar. Además, se procedió a implementar los siguientes módulos del componente DSPlayer: o Player: Módulo que reproduce una lista de videos e imágenes. o Ticker: Módulo que a través de una cinta que recorre de lado a lado la pantalla muestra entradas RSS o actualizaciones de una cuenta de Twitter. 4.4.2 Segunda Iteración En la segunda iteración comienza el desarrollo del componente DSAdmin y se desarrollan los siguientes módulos: o Player: Al igual que el módulo del mismo nombre en DSPlayer, este módulo reproduce imágenes y videos, pero para otro fin, el de previsualizar el contenido a asignar a una lista de reproducción. o RegionList: Módulo que recoge la lista de regiones existentes, y los componentes relacionados a esta. o LayoutList: Módulo que recoge la lista de layouts o plantillas existentes, cada plantilla se divide en regiones. o RegionProperties: Módulo que maneja las distintas propiedades de cada región. o ScreenProperties: Módulo que maneja las diferentes propiedades de cada plantilla. o MainMenu: Módulo que permite acceder desde la pantalla principal a distintas opciones relacionadas con la aplicación en sí. 35 4.4.3 Tercera Iteración o Playlist: Módulo que se encarga de crear listas de reproducción de imágenes y videos. o LayoutPreview: Módulo que permite ver en tiempo real el resultado de las configuraciones de las regiones y componentes. o TickerProperties: Módulo que maneja las propiedades de las entradas RSS y las cuentas de Twitter. o Scheduling: Módulo encargado de la planificación de las listas de reproducción creadas, con fecha de inicio, término y periodicidad. 4.4.4 Presentación del Prototipo A continuación se presentan una serie de screenshots o capturas de pantalla de la plataforma de administración DSAdmin. La figura 20 muestra una configuración para una pantalla (displays), que contiene dos plantillas (layouts), una de las cuales presenta dos regiones (regions). Se puede ver que la región seleccionada es una lista de reproducción (playlist), así, se muestra un formulario para rellenar con los datos necesarios. Al final del formulario se puede ver un ícono con forma de calendario, al presionarlo se abrirá una ventana donde se podrá planificar la lista de reproducción. Figura 20. Interfaz de usuario DSAdmin. 36 En la figura 21 se muestra una ventana que se compone de tres paneles. En el primer panel, Resources, se pueden ver y filtrar los archivos multimedia que pueden ser añadidos a la lista de reproducción. Abajo se ve el panel de previsualización, Preview, donde se puede reproducir el archivo multimedia para tener certeza de cual archivo se agregará a la lista de reproducción. Finalmente el panel principal muestra la lista de reproducción. Para eliminar un archivo de la lista sólo basta arrastrar el archivo al ícono de “tarro de basura” en la esquina inferior derecha. Para reordenar la lista basta con arrastrar un archivo y situarlo donde se quiere, luego de eso se puede guardar la configuración presionando el ícono con forma de “diskette”. Figura 21. Configuración lista de reproducción Finalmente se presenta en la figura 22 un ejemplo de contenido difundido en una pantalla, compuesto de una lista de reproducción de imágenes y videos, una animación flash (hora) y una cinta (ticker) que muestra entradas provenientes de un servidor RSS. 37 Figura 22. Ejemplo de contenido difundido en una pantalla. 4.5 Validación e implementación del Prototipo Antes de la validación del funcionamiento del sistema fue necesario configurar el computador Reproductor de Contenidos (ver Anexo 1) e instalar y configurar el browser (ver Anexo 2) que se encargará de iniciar la aplicación Web para la difusión de contenido. Luego se realizó una serie de pruebas unitarias en los componentes DSAdmin y DSPlayer para validar su correcto funcionamiento. En la plataforma de administración se crearon plantillas contenedoras de regiones asociadas a listas de reproducción de imágenes y videos, así como entradas RSS o alguna cuenta de Twitter para después ser difundido en la aplicación Web de difusión de contenido. Para validar el rendimiento del sistema se procedió a realizar un benchmarking44 con la herramienta Charles Web Debugging Proxy45 de las variables críticas del sistema, estas son el ancho de banda necesario para una correcta difusión de contenido y el tiempo de respuesta del sistema. Los resultados de estas pruebas se pueden ver en el Anexo 3. 44 45 Benchmark: http://es.wikipedia.org/wiki/Benchmark http://www.charlesproxy.com/ 38 Las validaciones anteriores fueron realizadas con éxito, sin embargo, la implementación del sistema en dependencias de la Facultad de Ciencias de la Ingeniería no fue posible dado al largo período de manifestaciones estudiantiles que se tradujeron en largas paralizaciones de actividades que duraron más de ocho meses. Dado lo anterior, se determinó implementar el sistema en otras instituciones. Es así como el sistema fue implementado en distintas instituciones de gobierno y de salud como el IPS46 (Instituto de Previsión Social), Registro Civil47 y Hospital Base de Valdivia48, además en los siguientes consultorios: Angachilla, Externo, Jorge Sabat, Las Ánimas y Corral pertenecientes al Servicio de Salud de Valdivia49. En la figura 23 se observa la implementación de una pantalla en el IPS Valdivia, el computador Reproductor de contenido se encuentra detrás de la pantalla, ocultándose a la audiencia. Figura 23: Implementación del Sistema de Señalética Digital en dependencias del IPS Valdivia. 46 IPS: http://www.ips.gob.cl/ Registro Civil: http://www.registrocivil.cl/ 48 Hospital Base de Valdivia: http://www.hbvaldivia.cl/ 49 Servicio de Salud de Valdivia: http://www.ssvaldivia.cl/ 47 39 Luego de la implementación del sistema, se realizó una encuesta de satisfacción de audiencia en el Consultorio Externo de Valdivia. Esta encuesta valida cualitativamente la efectividad del sistema. Se procedió a encuestar a 18 personas y los resultados fueron los siguientes: o Al 100% de los encuestados le llamó la atención la pantalla, ver figura 24. Figura 24. Resultado Pregunta 1 de Encuesta de Audiencia o El 67% de los encuestados siempre lee la información en forma de texto que difundía la pantalla, el 33% restante lo hace a veces, ver figura 25. Figura 25. Resultado Pregunta 2 de Encuesta de Audiencia 40 o El 78% de los encuestados cree que la información difundida es útil, ver figura 26. Figura 26. Resultado Pregunta 3 de Encuesta de Audiencia o El 89% de los encuestados prefiere ver información a través de una pantalla, el 11% restante le es indiferente, ver figura 27. Figura 27. Resultado Pregunta 4 de Encuesta de Audiencia 41 o Al 67% de los encuestados le entretiene la información difundida durante una espera, al 33% restante sólo a veces. Figura 28. Resultado Pregunta 5 de Encuesta de Audiencia Se puede rescatar de estos resultados que la utilización de pantallas para la difusión de información es más llamativa que los medios tradicionales, pero esto no solo depende del medio, sino de la calidad del contenido a difundir. Los encuestados coincidieron en que el contenido a difundir es tan importante como el medio de difusión y que la pantalla cumple con los objetivos de difundir contenido multimedia y contenido proveniente de redes sociales, en este caso, noticias de la Región de Los Ríos. La encuesta aplicada se puede observar en el anexo 4. Para concluir la validación del sistema se procedió a realizar una encuesta al administrador del sistema. Esta encuesta tiene como objetivo validar la usabilidad de la plataforma de administración del sistema. Cabe destacar que el administrador del sistema no posee conocimientos avanzados en informática. Los resultados de la encuesta de administrador de sistema fueron positivos, para el encuestado la cantidad de pasos necesarios para configurar una plantilla es óptima, la interfaz es intuitiva, además, describe como sencilla la dificultad de agregar un nuevo contenido y lo creado en la interfaz es completamente igual a lo difundido. Respecto a las mejoras, el encuestado señaló que sería importante poder insertar videos de Youtube solo con su URL e insertar galerías de imágenes creadas en Flikr. 42 Dados los resultados de la encuesta se puede decir que la percepción de usabilidad del administrador del sistema respecto a la plataforma de administración cumple con los objetivos propuestos. La encuesta aplicada se puede observar en el anexo 5. 43 5. CONCLUSIONES Y TRABAJOS FUTUROS 5.1 Conclusiones Las conclusiones obtenidas al finalizar este proyecto de título fueron las siguientes: La etapa de investigación de este proyecto fue muy extensa dada la gran cantidad de posibles tecnologías para el desarrollo de soluciones de Digital Signage. Se realizó una gran cantidad de pruebas antes de elegir las tecnologías más adecuadas, consistentes en pruebas de herramientas de desarrollo y pruebas configuraciones de arquitecturas. Luego del estudio de tecnologías se identificaron tres principales tipos de arquitecturas de soluciones, Stand-Alone, Web-Based e IPTV-Based Digital Signage, se realizó una descripción de cada una de ellas para posteriormente hacer una comparación que concluyó con la elección de la arquitectura más acorde con los requerimientos planteados. Se optó por una solución de tipo Web-Based por tener ventajas significativas sobre las otras arquitecturas, además de que en la Facultad de Ciencias de la Ingeniería existe una red de área local que permite la rápida implementación de la solución. En este proyecto de tesis se planteó como objetivo privilegiar el uso de herramientas Open Source, es por esto que se identificaron las principales soluciones de Digital Signage que cumplen con esta condición y con la de ser basados en Web, dando como resultado el estudio y descripción de dos soluciones XIBO y Media Signage. Del estudio y análisis de estas soluciones se realizó la selección de herramientas para el desarrollo de este proyecto. El hecho de que la solución implementada sea de tipo Web-Based y no una aplicación de escritorio tiene algunas restricciones, por razones de seguridad no se puede acceder a los recursos del computador Reproductor de Contenido mediante una aplicación Web, es decir no se puede controlar el encendido y apagado ni se puede realizar un monitoreo del consumo de los recursos del computador. Es por esto que la configuración de encendido y apagado del computador Reproductor de Contenido se realice manualmente. En relación a la implementación del prototipo, el sistema no pudo ser implementado en dependencias de la Facultad de Ciencias de la Ingeniería de la UACh, 44 esto se debió a las manifestaciones a nivel nacional de los estudiantes que trajeron como consecuencia una paralización de actividades en la Universidad por más de ocho meses. A pesar de lo anterior, existió la oportunidad de implementar el sistema en instituciones de gobierno y consultorios. Es así como se logró validar exitosamente la implementación del sistema en el IPS, Registro Civil y Hospital Base de Valdivia, además en los siguientes consultorios: Angachilla, Externo, Jorge Sabat, Las Ánimas y Corral pertenecientes al Servicio de Salud de Valdivia. La implementación del sistema en estas instituciones permitió la difusión de contenido de campañas de gobierno y salud, además de noticias provenientes de diarios electrónicos regionales. Finalmente, luego de la validación de la implementación del sistema, se procedió a realizar dos encuestas, la primera se realizó a una audiencia para evaluar cualitativamente el sistema, es decir, validar su efectividad como nuevo canal de comunicación. La segunda encuesta fue realizada al administrador del sistema para así evaluar cualitativamente la interfaz de administración, principalmente en términos de usabilidad. 5.2 Trabajos Futuros El prototipo de sistema desarrollado fue diseñado de tal forma que a futuro se puedan realizar mejoras y actualizaciones en sus componentes, además de la posibilidad de añadir otros. A continuación se listan una serie de trabajos futuros que la harían una solución más robusta y más competitiva en el mercado. o Medición de Audiencia: Una forma de medir la efectividad de este tipo de soluciones es la medición de la audiencia, esto se puede lograr utilizando cámaras añadidas a las pantallas por donde se difunde el contenido. Estas cámaras debieran estar asociadas a un software que pudiese discriminar la audiencia que tiene en frente (por género, edad) para poder adecuar la información que se está difundiendo, además de crear estadísticas de la cantidad de público real al que le llegó el contenido para luego hacer un análisis de efectividad del sistema implementado. o Si bien es cierto que la solución implementada está integrada con una red social, es posible que se amplíe esta integración con otras redes sociales 45 como Facebook, Youtube o Flickr. Con esto se logra una mayor interacción con contenidos en tiempo real, ya que la actualización con estas herramientas es constante. o Este trabajo de tesis no contempla el desarrollo de algoritmos para la distribución de contenido, es por esto que un trabajo futuro importante sería implementar algoritmos que puedan distribuir de forma óptima el contenido planificado. 46 6. REFERENCIAS BIBLIOGRÁFICAS [ANU08] An Updated Budget for Digital Signage Hardware and Software (2008) Disponible en http://www.wirespring.com/dynamic_digital_signage_and_interactive_kiosks_journal/ar ticles/An_Updated_Budget_for_Digital_Signage_Hardware_and_Software-671.html. Consultado en julio de 2009. [BRO09] Brown, S (2009). “Flex, Silverlight or JavaFX – which should you choose”. Disponible en http://static.codingthearchitecture.com/presentations/dw2009-flexsilverlight-javafx.pdf [Com] Comparación de Tecnologías para la Creación de Contenido Dinámico. Disponible en http://www.sicuma.uma.es/sicuma/independientes/argentina08/GagliardiMorales/index.htm. Consultado en enero de 2011. [CON99] Conallen, J (1999), “Building Web Applications with UML”. Pearson Education, Inc. [DAT01] Date, C.J (2001), “Introducción a los Sistemas de Bases de Datos, Séptima Edición”. Pearson Educación S.A. [Dia] Cáceres, J, “Diagramas de Casos de Uso”, Disponible en http://www2.uah.es/jcaceres/capsulas/DiagramaCasosDeUso.pdf. Consultado en noviembre de 2011. [HAR03] J.V. Harrison & A. Andrusiewicz (2003), "Enhancing digital advertising using dynamically configurable multimedia," icme, vol. 1, pp.717-720, 2003 International Conference on Multimedia and Expo - Volume 1 (ICME '03). Disponible en: http://realeyesdisplays.com/whitepapers/Enhancing%20Advg%20with%20Dynamic%20 Media.pdf. Consultado en diciembre de 2010. [LUN08] Lundström L (2008), “Digital Signage Broadcasting Content Management and Distribution Techniques”. Focal Press. [Que] ¿Qué es el Digital Signage? Disponible en http://www.marketintelligence.eurorscg.es/23063AB1/uploads/2010/09/PaperDigitalSignage.pdf. Consultado en Septiembre de 2010. [RAUF09] Rauf K, Abdur (2009), “Digital Signage System”, Master’s Thesis. School of Information and Communication Technology, Royal Institute of Technology, Estocolmo, Suecia. [Ria] Servicios RIAction. Disponible en http://www.riaction.es/servicios.html. Consultado en Octubre de 2010. [SOM05] Sommerville, I (2005).”Ingeniería del Software, Séptima Edición”. Pearson Educación S.A. [Xib] Xibo Open Source Digital Signage. Disponible en http://xibo.org.uk/about. Consultado en septiembre de 2009. 47 ANEXOS ANEXO 1: Configuración computador Reproductor de Contenidos El computador Reproductor de Contenidos debe estar configurado de tal manera que su funcionamiento permita que se lleve a cabo la difusión de contenidos sin problemas. A continuación se detallan las configuraciones que se realizaron al Sistema Operativo Ubuntu en su versión 9.04. o Actualizaciones: El primer paso fue actualizar el sistema operativo a su versión más actual. Luego se procedió a actualizar los controladores de hardware para que haya una correcta comunicación entre el sistema operativo y los componentes físicos del computador. o Resolución de Pantalla: Luego de haber configurado los controladores de hardware se procedió a configurar la resolución de pantalla, esta debe ser acorde a la resolución soportada por la pantalla con la cual se asociará el computador. o Actualizaciones automáticas: Posteriormente se procedió a configurar el sistema operativo para desactivar todas las alertas relacionadas con las actualizaciones, para así evitar que aparezcan notificaciones cuando se esté difundiendo contenido. o Instalación de Software: Para el correcto funcionamiento del prototipo de sistema fue necesario instalara Adobe Flash Player. o Gestión de Energía: Se configuró el sistema operativo de tal manera que permanezca encendido todo el día, sin pasar a modo de suspensión o hibernación, además de desactivar su protector de pantalla. o Inicio del Browser: Además se configuró el sistema operativo para que una vez encendido, inicie automáticamente el browser con la URL que gatilla la difusión de contenido. o Encendido y Apagado: Finalmente, para el encendido automático se configuró la BIOS y para el apagado automático la configuración se realizó dentro del sistema operativo con el comando “shutdown”. 48 ANEXO 2: Configuración del Browser. El prototipo de sistema desarrollado funciona a través de un browser, este llama a una URL que lo identifica y se procede con la difusión del contenido. Se eligió Mozilla Firefox por su robustez y por ser altamente configurable. Las configuraciones del browser son las siguientes: o Página de Inicio: Para cada computador se configura una URL para que el browser al iniciarse se identifique y muestre el contenido correcto. o Inicio en Pantalla completa: Se instaló un componente50 hecho para Mozilla Firefox que permite el inicio en pantalla completa y sin bordes. o Manejo de errores: Se procedió a configurar Mozilla Firefox para que ante un apagado inadecuado (corte de energía), vuelva a iniciarse sin problemas, impidiendo que se muestren mensajes de errores51. 50 51 https://addons.mozilla.org/en-US/firefox/addon/1568/ http://kb.mozillazine.org/Session_Restore 49 ANEXO 3: Benchmarking Antes de realizar un benchmarking de las variables importantes del sistema, se procedió a configurar una plantilla de prueba consistente en tres regiones, un ticker que muestra información de un servidor RSS, una animación Flash que muestra la hora y una lista de reproducción de videos. Para realizar el benchmarking se utilizó la herramienta Charles Web Debugging Proxy. Esta herramienta permite hacer un seguimiento a todas las llamadas al servidor indicando el tiempo de respuesta, la velocidad de descarga y el tamaño del archivo. Considerando seis videos difundidos, el fondo de pantalla, la animación flash que muestra la hora y el ticker que muestra noticias de un servidor RSS externo, los resultados fueron los siguientes: o Número de llamados al servidor: 15 o Duración de la prueba: 134,1 s o Latencia mínima: 192 ms o Latencia máxima: 531 ms o Latencia total: 4.42 s o Latencia promedio. 295 ms o Velocidad de descarga promedio: 275.66 KB/s o Velocidad de descarga mínima: 1,92 KB/s o Velocidad de descarga máxima: 391,27 KB/s o Velocidad de llamada promedio: 3,53 KB/s o Velocidad de respuesta promedio: 318,44 KB/s o Tamaño de llamada promedio: 484 bytes o Tamaño de llamada total: 7,09 KB o Tamaño de respuesta promedio: 876,19 KB o Tamaño de respuesta total: 12,83 MB 50 En la figura 29 se puede observar la línea de tiempo, timeline, de llamadas al servidor. Además, se puede observar que para cada llamada es posible ver el tiempo que dura la llamada, la latencia y el tiempo de respuesta. Estos resultados fueron obtenidos utilizando un servidor ubicado en Estados Unidos. Figura 29. Timeline de llamadas al servidor desde DSPlayer 51 ANEXO 4: Encuesta Audiencia Figura 30. Encuesta de satisfacción de audiencia 52 ANEXO 5: Encuesta Administrador del Sistema Figura 31. Encuesta de usabilidad al administrador del sistema 53 $1(;2/LVWDGH$FUyQLPRV Se listan a continuación, por orden de aparición, una serie de acrónimos utilizados en este documento: o DVD: Digital Versatile Disc. o STB: Set Top Box. o RSS: Really Simple Syndication. o IPTV: Internet Protocol Television. o CD: Compact Disc. o SRTP: Secure Real-time Transport Protocol o GUI: Graphical User Interface. o XML: Extensible Markup Language. o MXML: Macromedia eXtensible Markup Language. o HTML: Hyper Text Markup Language. o PHP: PHP Hypertext Pre-processor. o ASP: Active Server Pages. o JSP: Java Server Pages. o DOM: Document Object Model. o AJAX: Asynchronous JavaScript And XML. o IDE: Integrated Development Environment. o AMF: Action Message Format. o SOAP: Simple Object Access Protocol. o WSDL: Web Services Description Language. o JSON: JavaScript Object Notation. 54