250 likes | 361 Views
Programando la tele Media Center. Pedro J. Gómez | Nuno Simaria pjgomez@hoplite.es | nsimaria@hoplite.es Hoplite Software. Buenas noticias. Tenemos que desarrollar una versión del servicio revelaonline.com para Media Center Microsoft incluirá la aplicación en el Online Spotlight
E N D
Programando la tele Media Center Pedro J. Gómez | Nuno Simaria pjgomez@hoplite.es | nsimaria@hoplite.es Hoplite Software
Buenas noticias • Tenemos que desarrollar una versión del servicio revelaonline.com para Media Center • Microsoft incluirá la aplicación en el Online Spotlight • Microsoft nos dará apoyo técnico en el desarrollo • La presentará en el lanzamiento público del Media Center
Malas noticias • Se trata de una tecnología nueva con una comunidad de desarrolladores todavía reducida • No somos expertos en tecnología Microsoft :-( • Plazo de entrega: 5 semanas wtf?!
Aproximación al proyecto • Hay que conseguir: • Acceso al sistema de ficheros del cliente • Transmitir muchos ficheros hacia el servidor • Cumplir las normas de presentación y accesibilidad específicas del Media Center ...y hay que conseguirlo rápido
Opciones tecnológicas • Add-ins • No pueden tener interfaz gráfica • Hosted HTML Applications • Aplicaciones estáticas copiadas en el cliente • Browser ...Ninguna por sí sola nos vale
Atacando el problema • Interfaz • Dispositivo de input: control remoto • Implementación de un cursor (foco + eventos) de navegación • Aplicación • Generación de una selección a partir del sistema de ficheros • Transmisión del pedido • Servidor • Adaptación a este nuevo ‘source’
Cuartel: + malas noticias: • Nos crecen los enanos: • Trabajamos con una Release Candidate 1 (buggy) • Tenemos que evitar que la transmisión de fotos bloquee el uso del Media Center • El kit de desarrollo está orientado a la visualización de contenidos y a la TV • El TripleTap es un “concepto”, no un componente • ¡La pantalla de la TV no parecía tan pequeña!
Divide y vencerás Sistema de ficheros Diseño Add-in en background Servidor TPV TripleTap Instalador Interfaz gráfica y navegación
Divide y vencerás • Transmisión en background (WMCEUploader) • Debe vigilar la creación de pedidos pendientes de transmitir • Mientras transmite tiene que actualizar el modelo de pedido • Debe reanudar las transmisiones interrumpidas • Al finalizar la transmisión tiene que avisar al usuario
Divide y vencerás • Instalador (WMCEInstaller) • Debe configurar los permisos (.NET) para ejecutar la aplicación • Tiene que instalar el add-in de background • Tiene que reiniciar el Media Center y redirigir de nuevo a revelaOnline
Divide y vencerás • Sistema de ficheros (WMCEFileSystem) • Debe funcionar como un ‘wrapper’ del sistema de ficheros del cliente • Debe ser incrustable dentro de una página del navegador del Media Center descargada desde el servidor • Debe proporcionar una interfaz al JavaScript • Tiene que informar sobre unidades y carpetas especiales (Mis Documentos, Mis Imágenes, ...)
Divide y vencerás • Interfaz y navegación (WMCENavigate) • Debe permitir la interacción mediante el control remoto, prescindiendo del teclado y ratón • Tiene que detectar si está instalada la aplicación • Debe implementar componentes básicos de interacción (botones, checkbox, elección multiple, ...) • Tiene que adaptarse a la Ten Foot Experience
Nos reagrupamos Sistema de ficheros Diseño Add-in en background Servidor TPV TripleTap Instalador Interfaz gráfica y navegación
La criatura Crear Pedido Online Spotlight Finalizar Pedido Trans- misión TPV Selección Fotos Home ·Permisos (.NET) ·Add-in background ·Reinicia el MC Servidor Web kkza instalador Pedido XML ? NO SÍ Add-in Watching API SOAP Mensaje
La criatura: WMCEInstaller Online Spotlight Home ·Generado con Visual Studio 2005 ·Editado con Orca ·Firmado digitalmente Servidor Web instalador SÍ ? NO createOrderButton.onclick = function () { if (!isApplicationInstalled ()) navigateToPage (“WMCEInstaller.msi”); } // function
La criatura: WMCEFileSystem Online Spotlight Selección Fotos Home <object clsid=“XXX” codebase=“FileSystem.dll” ...> </object> kkza Pedido XML class FileSystem { public Open (path) {...} public IsDirectory (path) {...} public IsFile (path) {...} public List (path) {...} ... } // class Add-in Watching
Trans- misión Finalizar Pedido La criatura: WMCEUploader namespace Revelaonline { class Order : Container class Uploader : IAddInModule class Revelaonline : ServiceBase kkza Pedido XML Order.Upload () Add-in Watching API SOAP Order.End () Mensaje } // namespace
La criatura: WMCENavigate <div id="registedUser" onclick="doFocus ()" navigationUp="startOrderButton" navigationDown="Help" /> // navigate.js function doFocus () {...} function onFocus () {...} function onBlur () {...} function doNavigation (direction) {...} function doTap (key) {...}
.mcl .js La criatura: mapa tecnológico Crear Pedido Online Spotlight Finalizar Pedido Trans- misión TPV .html Selección Fotos Home .apache .msi .xml Servidor Web instalador kkza Pedido XML .ot1s .php .mysql .linux .dll Add-in Watching .cs API SOAP .wsdl Mensaje
XBOX 360 • Se puede hacer uso de los servicios de revelaOnline desde la XBOX 360 usando el Media Center Extender • Solamente hay que asegurarse de que la instalación se hace en el host, y no en la XBOX 360
Windows Vista • Para Vista, aunque se abrían nuevas posibilidades, hemos decidido hacer pequeños cambios adaptándolo a .NET 2.0 • Rehacer la aplicación era una opción demasiado costosa que el cliente de momento no quería sufragar
Hemos estado mal... • Al hacer el presupuesto • Usando un add-in en lugar de un servicio • Obligando a descargar un instalador
Hemos estado bien... • En el diseño de la interfaz • Transmisión en background • Conseguir que sin salir del Media Center el cliente pueda recibir fotos en su casa... que era de lo que se trataba
Más información... • http://msdn2.microsoft.com/en-us/library/aa286546.aspx - Windows Media Center SDK • http://www.microsoft.com/windowsxp/mediacenter/default.mspx - Windows Media Center Home Page • http://www.microsoft.com/windows/products/windowsvista/features/details/mediacenter.mspx - Windows Media Center for Vista • www.hoplite.es – Hoplite Software • www.revelaonline.com – RevelaOnline