Plataforma para aplicaciones contextuales multiusuario en entornos nómadas Herón Arzáquel Anzures Reyes Directores: Dra. Sonia G. Mendoza and Dr. Adriano de Luca 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/502 Introducción y Motivación 3 Despliegues públicos ● Despliegues situados en el ambiente ● Información relevante al lugar ● Contextual 4/50 http://www.magic.ubc.ca/wiki/uploads/Projects/display.png 4 Limitaciones ● Misma información para todos ● No toman en cuenta intereses individuales ● Interactividad limitada 5/505 Dispositivos móviles ● Han incrementado exitosamente: ● ● En número En poder de procesamiento, comunicación, almacentamiento e interactividad http://www.diymarketers.com/wp-content/uploads/2011/01/mobiledevices.jpg 6/506 Dispositivos móviles usados como herramientas Rodrigo Jurado http://www.getclosure.co.za/blog/wpcontent/uploads/2010/11/Google-wallet-image.jpg http://www.mobilechoices.co.uk/images/General/Bar code_scan_QR_GUIDE_01.jpg Alberto Beltran Giron José Rafael Guzmán Cynthia Palma Hermes Casiano 7 7/50 Planteamiento del problema 8 Interacción con despliegues públicos Pantalla compartida (despliegue público) Múltiples usuarios con dispositivos móviles 8/509 Aplicaciones contextuales Aeropuerto ● Datos de vuelos ● Clima ● Reservación Cine Sinopsis de películas ● Calificar y recomendar ● Participar en concursos ● 10 9/50 Aplicaciones contextuales Restaurante ● Información nutricional ● Menú de la semana ● Buzón de sugerencias Convención de juegos Pistas de audio y avances ● Concursos y promociones ● Juegos multijugador 11 ● 10/50 Trabajo relacionado 12 Maynes-Aminzade et al (2002) ● ● Gran audiencia Detección de movimiento 13 12/50 Toye et al. (2004) ● Tomar fotos ● Analizar marcas ● Recibir información 14 13/50 Paek et al. (2004) ● Plataforma genérica ● Reactiva ● Basada en mensajes de texto 15 14/50 Scheible, Ojala (2005) Sistema MobiLenin ● Dispositivos móviles ● Colaborativa ● Contenido multimedia 16 15/50 Ghiani et al (2009) Sistema UbiCicero ● Lectores RFID ● Detección de proximidad 17 16/50 Diseño de la plataforma PACMEN Plataforma para Aplicaciones Contextuales Multiusuario en Entornos Nómadas 18 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 19 18/50 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 20 19/50 Características importantes Generica http://www.crunchgear.com/wp-content/photos/gc.jpg Responsiva http://blog-imgs-24.fc2.com/m/a/k/maketshirt/now_loading_s.png 21 20/50 Características importantes Multimedia http://postvorta.com/wp-content/uploads/2011/03/multimedia.jpg Multi-usuario http://farm3.static.flickr.com/2626/3749354312_1f5929ff7f_o.jpg 22 21/50 Características importantes Independiente http://cdn.zath.co.uk/wp-content/uploads/2009/10/wikireaderwikipedia-standalone-device.jpg http://usa.esaleschina.com/categories/mobile-phone-accessories-m.jpg 23 22/50 Implementación de la plataforma PACMEN 24 PACMEN – Arquitectura básica ● Tanto los clientes como el despliegue público se conectan al servidor para enviar y recibir información 25 24/50 PACMEN – Arquitectura de red Red privada inalámbrica 26 25/50 PACMEN – Decisiones tecnológicas Java Robusto AIR Servidor de comunicaciones Documentado Familiar Compatible Ruby/Python 27 26/50 PACMEN – Decisiones tecnológicas Canvas Flash Cliente SVG Compatible Eficiente Poderoso HTML5 Familiar 28 27/50 Flash Player & Smartphones http://www.themaninblue.com/writing/perspective/2010/03/22/ 29 28/50 PACMEN – Decisiones tecnológicas HTTP Método de comunicación UDP Sockets Velocidad TCP Sockets Persistencia Confiabilidad 30 29/50 PACMEN – Decisiones tecnológicas Mensajes directos Patrón de comunicación Publish/ Subscribe Desacoplamiento Petición/ respuesta Escalabilidad Topología dinámica 31 30/50 Publish / Subscribe ● ● ● Topicos Subscripciones chat cliente 1, cliente 2, cliente 3,.. conexiones Despliegue público 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 32 31/50 Publish / Subscribe ● Tres tipos de sockets 33 32/50 Cliente SWFLoader SWFLoader es el programa del cliente Único programa instalado en el dispositivo móvil Intérprete 34 33/50 Número del servidor Existen tres tipos de redes privadas Desde Hasta Total Clase A 10.0.0.0 10.255.255.255 16,777,216 Clase B 172.16.0.0 172.31.255.255 1,048,576 Clase C 192.168.0.0 192.168.255.255 65,536 Elegimos las redes de clase C 35 34/50 Redes privadas clase C Todas las direcciones IP comienzan con 192.168. Ú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 50.137 > 32.89x > 3289x > 12937 36 35/50 Servidor 37 36/50 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 38 37/50 Servicio de comunicaciones ● Utiliza sockets binarios persistentes ● Mayor eficacia ● Mejor control ● Publish / Subscribe ● Multihilo 39 38/50 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 40 39/50 Interacción 12937 Subscribe Cliente Router Application.swf crossdomain.xml Publish 41 40/50 Interacción Despliegue público 42 41/50 Resultados 43 Una aplicación es en realidad dos aplicaciones La aplicación del despliegue público La aplicación descargada al dispositivo móvil 44 43/50 Aplicacion móvil - GenericPad Descargada en el dispositivo móvil Multi-propósito Es como conectar un GamePad a un despliegue público 45 44/50 Pacmen: The Game 46 45/50 Pacmen: The Game ● Estable ● Responsiva (baja latencia) ● Presenta un manejo consistente de conexiones y desconexiones en todo momento ● Contenido enriquecido, animación fluida ● Intuitiva 47 46/50 Conclusiones y trabajo futuro 48 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 49 48/50 Trabajo futuro Más aplicaciones Mejoras a la plataforma Diferentes tecnologías Bluetooth HTML5 Adobe AIR Esquemas de seguridad 50 49/50 Gracias 51 Referencias 52 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, 2004. D. Maynes-Aminzade, R. Pausch, and S. M. Seitz, “Techniques for interactive audience participation,” in ICMI. IEEE Computer Society, 2002, pp. 15–20. 53 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, 2007. 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, 2004. 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. 54 Imágenes http://www.magic.ubc.ca/wiki/uploads/Projects/display.png ● http://www.mydigitallife.info/wp-content/uploads/2007/12/multi-touch.jpg ● http://mediawatch.afp.com/public/public_screen_amsterdam.jpg ● http://blog.thespacefarm.com/wp-content/uploads/2009/07/cartelera-space-farm-500x394.jpg ● http://www.simonfilm.com/fotos/cartelera.jpg ● http://www.diymarketers.com/wp-content/uploads/2011/01/mobiledevices.jpg ● http://www.getclosure.co.za/blog/wp-content/uploads/2010/11/Google-wallet-image.jpg ● http://www.mobilechoices.co.uk/images/General/Barcode_scan_QR_GUIDE_01.jpg ● http://www.crunchgear.com/wp-content/photos/gc.jpg ● http://blog-imgs-24.fc2.com/m/a/k/maketshirt/now_loading_s.png ● http://postvorta.com/wp-content/uploads/2011/03/multimedia.jpg ● http://farm3.static.flickr.com/2626/3749354312_1f5929ff7f_o.jpg ● http://cdn.zath.co.uk/wp-content/uploads/2009/10/wikireader-wikipedia-standalone-device.jpg ● http://usa.esaleschina.com/categories/mobile-phone-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™ 55 Flash Player & Smartphones 56 http://www.adobe.com/products/player_census/flashplayer/mobile_penetration.html ExecutorService ● Java multithread manager 57