Title: Pedro J' Gmez Nuno Simaria
1Programando la tele Media Center
- Pedro J. Gómez Nuno Simaria
- pjgomez_at_hoplite.es nsimaria_at_hoplite.es
- Hoplite Software
2Buenas 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
3Malas 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?!
4Aproximació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
5Opciones 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
6Atacando 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
7Cuartel 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!
8Divide y vencerás
? Sistema de ficheros
Diseño ?
? Add-in en background
Servidor ?
? TPV
TripleTap ?
? Instalador
Interfaz gráfica ? y navegación
9Divide 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
10Divide 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
11Divide 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, ...)
12Divide 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
13Nos reagrupamos
? Sistema de ficheros
Diseño ?
? Add-in en background
Servidor ?
? TPV
TripleTap ?
? Instalador
Interfaz gráfica ? y navegación
14La criatura
Permisos (.NET) Add-in background Reinicia el
MC
Servidor Web
kkza
instalador
Pedido XML
?
NO
SÍ
Add-in Watching
API SOAP
Mensaje
15La criatura WMCEInstaller
Generado con Visual Studio 2005 Editado con
Orca Firmado digitalmente
createOrderButton.onclick function () if
(!isApplicationInstalled ()) navigateToPage
(WMCEInstaller.msi) // function
16La criatura WMCEFileSystem
ltobject clsidXXX codebaseFileSystem.dll
...gt lt/objectgt
kkza
Pedido XML
class FileSystem public Open (path) ...
public IsDirectory (path) ... public IsFile
(path) ... public List (path) ... ...
// class
Add-in Watching
17La criatura WMCEUploader
namespace Revelaonline
class Uploader IAddInModule
class Revelaonline ServiceBase
class Order Container
Order.Upload ()
Order.End ()
// namespace
18La criatura WMCENavigate
ltdiv id"registedUser" onclick"doFocus ()"
navigationUp"startOrderButton"
navigationDown"Help" /gt
// navigate.js function doFocus ()
... function onFocus () ... function onBlur
() ... function doNavigation (direction)
... function doTap (key) ...
19.mcl
.js
La criatura mapa tecnológico
.html
.apache
.msi
.xml
Servidor Web
instalador
kkza
Pedido XML
.ot1s .php .mysql .linux
.dll
Add-in Watching
.cs
API SOAP
.wsdl
Mensaje
20XBOX 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
21Windows 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
22Hemos estado mal...
- Al hacer el presupuesto
- Usando un add-in en lugar de un servicio
- Obligando a descargar un instalador
23Hemos 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
24Más información...
- http//msdn2.microsoft.com/en-us/library/aa286546.
aspx - Windows Media Center SDK - http//www.microsoft.com/windowsxp/mediacenter/def
ault.mspx - Windows Media Center Home Page - http//www.microsoft.com/windows/products/windowsv
ista/features/details/mediacenter.mspx - Windows
Media Center for Vista - www.hoplite.es Hoplite Software
- www.revelaonline.com RevelaOnline
25(No Transcript)