Herón Arzáquel Anzures Reyes Directores: Dra. Sonia G. Mendoza and Dr. Adriano de Luca Plataforma para aplicaciones contextuales multiusuario en entornos nómadas
2 Contenido ● Introducción y motivación ● Planteamiento del problema ● Trabajo relacionado ● Propuesta: La plataforma PACMEN ● Diseño ● Implementación ● Resultados ● Conclusiones y trabajo futuro 2/50
3 Introducción y Motivación
4 Despliegues públicos ● Despliegues situados en el ambiente ● Información relevante al lugar ● Contextual 4/50
5 ● Misma información para todos ● No toman en cuenta intereses individuales ● Interactividad limitada Limitaciones 5/50
6 Dispositivos móviles ● Han incrementado exitosamente: ● En número ● En poder de procesamiento, comunicación, almacentamiento e interactividad 6/50
7 Dispositivos móviles usados como herramientas content/uploads/2010/11/Google-wallet-image.jpg scan_QR_GUIDE_01.jpg Rodrigo Jurado Alberto Beltran Giron José Hermes Casiano Rafael Guzmán Cynthia Palma 7/50
8 Planteamiento del problema
9 Interacción con despliegues públicos Pantalla compartida (despliegue público) Múltiples usuarios con dispositivos móviles 8/50
10 Cine Aplicaciones contextuales Aeropuerto ● Datos de vuelos ● Clima ● Reservación ● Sinopsis de películas ● Calificar y recomendar ● Participar en concursos 9/50
11 Aplicaciones contextuales Restaurante Convención de juegos ● Información nutricional ● Menú de la semana ● Buzón de sugerencias ● Pistas de audio y avances ● Concursos y promociones ● Juegos multijugador 10/50
12 Trabajo relacionado
13 Maynes-Aminzade et al (2002) ● Gran audiencia ● Detección de movimiento 12/50
14 Toye et al. (2004) ● Tomar fotos ● Analizar marcas ● Recibir información 13/50
15 Paek et al. (2004) ● Plataforma genérica ● Reactiva ● Basada en mensajes de texto 14/50
16 Scheible, Ojala (2005) Sistema MobiLenin ● Dispositivos móviles ● Colaborativa ● Contenido multimedia 15/50
17 Ghiani et al (2009) Sistema UbiCicero ● Lectores RFID ● Detección de proximidad 16/50
18 Diseño de la plataforma PACMEN Plataforma para Aplicaciones Contextuales Multiusuario en Entornos Nómadas
19 Objetivos ● Diseñar una plataforma ● Permita la interacción entre dispositivos móviles y despliegues públicos ● Ayude en el desarrollo de aplicaciones contextuales ● Permita a los usuarios interactuar con las aplicaciones contextuales usando una única aplicación instalada en sus dispositivos – Los usuarios no tienen que preocuparse por la compatibilidad – Las nuevas aplicaciones no necesitan instalarse – Los usuarios evitan los riesgos de instalación 18/50
20 Diseño de una plataforma ● Existen muchos aspectos ● ¿A qué tipo de dispositivos móviles dar soporte? ● ¿Qué tecnología de comunicación usar? ● ¿Cómo le hacen los dispositivos para encontrar despliegues a los cuales conectarse? ● ¿Cuántos usuarios deberían poder conectarse de manera simultánea? ● Pues... depende 19/50
21 Características importantes Generica Responsiva /50
22 Características importantes Multimedia Multi-usuario /50
23 Características importantes Independiente wikipedia-standalone-device.jpg 22/50
24 Implementación de la plataforma PACMEN
25 PACMEN – Arquitectura básica ● Tanto los clientes como el despliegue público se conectan al servidor para enviar y recibir información 24/50
26 PACMEN – Arquitectura de red Red privada inalámbrica 25/50
27 PACMEN – Decisiones tecnológicas JavaAIR Ruby/Python Servidor de comunicaciones Robusto Documentad o Familiar Compatible 26/50
28 PACMEN – Decisiones tecnológicas CanvasFlash HTML5 Cliente Compatible Eficiente Poderoso Familiar SVG 27/50
29 Flash Player & Smartphones 28/50
30 PACMEN – Decisiones tecnológicas HTTP TCP Sockets Método de comunicación UDP Sockets Velocidad Persistencia Confiabilidad 29/50
31 PACMEN – Decisiones tecnológicas Mensajes directos Petición/ respuesta Patrón de comunicación Desacoplamiento Escalabilidad Topología dinámica Publish/ Subscribe 30/50
32 Publish / Subscribe ● Mantiene una lista de tópicos y subscriptores ● Los mensajes publicados en un tópico son enviados a todos los subscriptores del mismo ● Provee de anonimato y desacoplamiento 31/50
33 Publish / Subscribe ● Tres tipos de sockets 32/50
34 Cliente SWFLoader SWFLoader es el programa del cliente Único programa instalado en el dispositivo móvil Intérprete 33/50
35 Número del servidor Existen tres tipos de redes privadas Elegimos las redes de clase C 34/50
36 Redes privadas clase C Todas las direcciones IP comienzan con Únicamente los dos últimos bytes de la dirección IP son requeridos para identificar a un dispositivo Combinamos esos dos últimos bytes para crear el número del servidor > 32.89x > 3289x > /50
37 Servidor 36/50
38 Servicio de la aplicación contextual ● La aplicación contextual es descargada y ejecutada por SWFLoader ● Contiene toda la funcionalidad ● Utiliza sockets para comunicarse con el servidor 37/50
39 Servicio de comunicaciones ● Utiliza sockets binarios persistentes ● Mayor eficacia ● Mejor control ● Publish / Subscribe ● Multihilo 38/50
40 Servicio de permisos ● Desde la versión 9 de Flash player se requieren permisos para abrir conexiones basadas en sockets hacia el servidor de contenido 39/50
41 Interacción ClienteRouter Application.swf crossdomain.xml Subscribe Publish 40/50
42 Despliegue público Interacción 41/50
43 Resultados
44 Una aplicación es en realidad dos aplicaciones La aplicación del despliegue público La aplicación descargada al dispositivo móvil 43/50
45 Aplicacion móvil - GenericPad Descargada en el dispositivo móvil Multi-propósito Es como conectar un GamePad a un despliegue público 44/50
46 Pacmen: The Game 45/50
47 Pacmen: The Game ● Estable ● Responsiva (baja latencia) ● Presenta un manejo consistente de conexiones y desconexiones en todo momento ● Contenido enriquecido, animación fluida ● Intuitiva 46/50
48 Conclusiones y trabajo futuro
49 Conclusiones Interacción de dispositivos móviles y despliegues públicos Aplicaciones contextuales Aeropuerto Restaurante Cine Plataforma genérica, características importantes Ideas y posibilidades 48/50
50 Trabajo futuro Más aplicaciones Mejoras a la plataforma Diferentes tecnologías Bluetooth HTML5 Adobe AIR Esquemas de seguridad 49/50
51 Gracias
52 Referencias
53 Referencias Giuseppe Ghiani, Fabio Paternò, Carmen Santoro, Lucio Davide Spano, “UbiCicero: A location-aware, multi-device museum guide”, In Interacting with Computers, Elsevier, 21(4):288–303, August 2009 Himanshu Raj, Rich Gossweiler, and Dejan S. Milojicic. Contentcascade incremental content exchange between public displays and personal devices. In MobiQuitous, pages 374–381. IEEE Computer Society, D. Maynes-Aminzade, R. Pausch, and S. M. Seitz, “Techniques for interactive audience participation,” in ICMI. IEEE Computer Society, 2002, pp. 15–20.
54 Referencias Eleanor F. Toye, Richard Sharp, Anil Madhavapeddy, David Scott, Eben Upton, and Alan F. Blackwell. Interacting with mobile services: an evaluation of camera-phones and visual tags. Personal and Ubiquitous Computing, 11(2):97–106, Tim Paek, Maneesh Agrawala, Sumit Basu, Steven M. Drucker, Trausti T. Kristjansson, Ron Logan, Kentaro Toyama, and Andy Wilson. Toward universal mobile interaction for shared displays. In James D. Herbsleb and Gary M. Olson, editors, CSCW, pages 266–269. ACM, J. Scheible and T. Ojala, “Mobilenin combining a multi-track music video, personal mobile phones and a public display into multi-user interactive entertainment,” in ACM Multimedia, H. Zhang, T.-S. Chua, R. Steinmetz, M. S. Kankanhalli, and L. Wilcox, Eds. ACM, 2005, pp. 199–208.
55 Imágenes ● content/uploads/2007/12/multi-touch.jpg ● erdam.jpg ● content/uploads/2009/07/cartelera-space-farm- 500x394.jpg ● ● content/uploads/2011/01/mobiledevices.jpg ● content/uploads/2010/11/Google-wallet-image.jpg ● de_scan_QR_GUIDE_01.jpg ● ● 24.fc2.com/m/a/k/maketshirt/now_loading_s.png ● content/uploads/2011/03/multimedia.jpg ● ff7f_o.jpg ● content/uploads/2009/10/wikireader-wikipedia- standalone-device.jpg ● accessories-m.jpg Backgrounds Monster Hunter ™, Diablo III™, Gran Turismo 5™, Zelda: Four Swords Adventures™, Assassins Creed™, Little Big Planet™, Castle Crashers™, Super Smash Bros. Brawl™, Final Fantasy XI™
56 Flash Player & Smartphones ml
57 ExecutorService ● Java multithread manager