martes, junio 24, 2008

Proyecto i-LAB

Hoy he tenido la oportunidad de asistir a la presentación del proyecto i-LAB. Se trata de una iniciativa subvencionada por Ministerio de Industria en el que se busca (y consigue) la creación de un laboratorio TDT-MHP virtual en el que simular las aplicaciones desarrolladas en esta tecnología.

Uno de los mayores problemas que tienen (o tenemos) las empresas que desarrollamos iTV es el altísimo coste del laboratorio, y que la dispersión de middelwares, versiones y fabricantes dentro de los diferentes STB hace que se requiera una importante inversión en decodificadores, que además no siempre son fáciles de encontrar. Para que el lector poco familiarizado se haga a la idea, es algo parecido a lo que pasa con JavaME. El estándar existe, pero luego cada uno lo implementa como quiere, lo que hace que se vea, ejecute, cargue, comporte (y un largo etc) de manera diferente dependiendo del STB en el que estemos probando o trabajando.

Otro de los mayores problemas es la ausencia de emuladores reales y de decodificadores de desarrollo (que permitan por ejemplo la posibilidad de debuggear, controlar el uso de memoria o dejar un log físico).

Todas estas cosas son "detalles" que los desarrolladores hemos ido solventando en nuestros equipos de trabajo (imagino que cada uno a su manera) porque sino es imposible llevar a buen puerto un proyecto MHP. Hoy parece que con la plataforma de test "i-LAB" podremos eliminar algunas de esas trabas. Aunque no creo que todas como pasaré a comentar después.

Antes de seguir, he de decir que me he sentido... digamos... comprendido. Es como si alguien hubiese oído los "ayyyyy por favooooor" que salen de la boca de algún desarrollador MHP en una factoría cualquiera. Por ello antes de nada dejar bien claro que me parece una de las mejores noticias para el mundo del desarrollo de aplicaciones interactivas, y traslado a todos (desde gobiernos a desarrolladores) mis agradecimientos y felicitaciones. No solo por haber creado el proyecto sino por haberle dotado de tanta complejidad.

Creo por tanto y sin duda que es una buena iniciativa que cubre una de las fases más importantes de un proyecto MHP: las pruebas.

El proyecto en si realmente consiste en tres laboratorios (ITA, La Salle y UPM) que se ocupan, cada uno, de probar ciertas cosas, pero hay algunas cosas en común.

  1. El modo de funcionamiento va por reservas. Esto es, que se reserva un laboratorio a una hora y luego (o antes eso no queda claro) se paga por ello. El precio es aprox. 20€/hora.
  2. Todos te permiten cargar tu aplicación y configurar los parámetros más básicos: autoarrancable, ancho de banda, carrusel DSM-CC y quizás algo más que no recuerde.
  3. Todos tienen una serie de STB en el que probar cada aplicación de manera independiente (o conjunta como veremos).
  4. Todos tienen un sistema de logs / reportes que permiten recoger los datos que genera tu aplicación. Como si de un profiler se tratase. Y no hace falta cambiar nada en la aplicación.
  5. Todos tienen una serie de test predefinidos para pasar o monitorizar tu aplicación.
  6. Todos simulan un mando a distancia para interactuar con la aplicación. En Web y sin applets ni cosas raras.
  7. Todos tienen una pantalla en la que puedes ver qué está haciendo tu aplicación, como si del televisor se tratase. Pero además proporcionan un sistema de multiplexación de audio/video/datos, con lo que tu aplicación se puede probar en un entorno, más real. De hecho me da en la nariz (pura suposición) que en realidad el laboratorio es una interfaz web, un infrarrojo, un conmutador y varios STB enchufados a una capturadora enganchada a un servicio de Streaming.
  8. Todos te permiten ir, previa cita, a probar las aplicaciones IN SITU.
  9. Todos, dan soporte técnico y ayudan con dudas. Eso es ... la leche.
  10. Hay más cosas, pero no tengo las notas por aquí.

Luego cada laboratorio se especializa en alguna cosa más concreta:
  1. ITA: canal de retorno y su configuración (Ethernet vs Modem + centralita). Había unos test que incluso manejaban la asignación de recursos (modem, decodificador, etc) dentro del STB. MHP tiene un sistema bastante chulo de petición, reserva, asignación, liberación de recursos.
  2. La Salle: lo que más me impactó de este laboratorio es que habían implantado un simulador de eventos de Stream. Parece que estaban más centrados en el protocolo DVB y lo que utiliza MHP de él.
  3. UPM: posibilidad de probar la aplicación en muchos STB simultaneamente.
Seguro que luego cada una hace más cosas, pero en la presentación es lo que pareció.

Después de lo expuesto, parece que el laboratorio es maravilloso. Y lo es!!!! salvo por algunas cosas que, dándole un rato al coco, he visto que, en mi opinión, no se pueden probar:
  1. Televisor: parece una tontería, pero el hecho de probar en una TV de tubo, a probar en una de plasma, incluso de pasar de 50 a 100Hz cambia mucho tu aplicación. Eso no se puede probar en este laboratorio. Los aspectos gráficos puros como la elección de colores, transparencias, degradados, grosor de las líneas, seguirán exigiendo el uso de un televisor (o varios), y con ello toda la plataforma de emisión en la empresa.
  2. Decodificador: he leído en la Web que los logs los dejarán los dispositivos que estén preparados para ello. Eso probablemente se reduzca a los dos o tres decodificadores de desarrollo del mercado.
  3. Solo vale para la fase de pruebas: en realidad no sustituye ninguna herramienta de un laboratorio básico. Simplemente complementa la fase de pruebas garantizándote que tu aplicación correrá en la practica totalidad de los decodificadores MHP del mercado. Y eso ya es mucho.
Ah! antes de cortar: la Web es esta donde podréis encontrar uno de los pasos a producción más chapus que he visto:
  1. Noticias de prueba
  2. Supuestos manuales que no son.
Jejeje, menos mal que lo que importa, que es la plataforma, tiene muy buena pinta. Estoy deseando hincarle el diente!