Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 41
1o. de enero de 2014





MIDDLEWARE PARA LA CREACIÓN DE INTERFACES GRÁFICAS SENSIBLES AL CONTEXTO CON REALIDAD AUMENTADA EN DISPOSITIVOS MÓVILES


Iván José Emmanuelle Rivas Jiménez1, María Antonieta Abud Figueroa2, Celia Romero Torres3
1,2y3Instituto Tecnológico de Orizaba, México
1 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. , 2 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. , 3 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

 

Abstract

La realidad aumentada es una tecnología con gran popularidad en dispositivos móviles debido a que logra un alto grado de satisfacción en los usuarios al proporcionar una sensación de interacción real al mostrar objetos virtuales que simulan estar en mundo real, pero en ocasiones su funcionamiento se limita debido a ciertos cambios que se presentan en el dispositivo móvil o en las preferencias del usuario. Las aplicaciones sensibles buscan detectar los cambios que se producen en el contexto con el objetivo de mantener o mejorar el rendimiento. En este artículo se propone un middleware que permita obtener los datos de la aplicación sensible al contexto, para posteriormente seleccionar y desplegar las interfaces gráficas de realidad aumentada que mejor se ajusten al contexto presentado.

Palabras Clave: Realidad Aumentada, Middleware, Sensibilidad al contexto, Móviles.

Introducción

     Actualmente los dispositivos móviles permiten a los usuarios la utilización de aplicaciones complejas en cualquier momento y en cualquier lugar, pero a pesar del incremento en las capacidades de hardware y software de estos dispositivos aún se presentan problemáticas en aplicaciones como las que utilizan realidad aumentada. Uno de los principales retos y problemas que presentan las aplicaciones desarrolladas para móviles es el cambio constante en el contexto como la disponibilidad de recursos, la vida de la batería, la ubicación del usuario, detección de una nueva red o servicio, la inclusión de nuevos dispositivos físicos, además de la necesidad de adaptarse a diferentes sistemas operativos y plataformas de hardware. La problemática que se busca resolver con la presente propuesta es lograr que una aplicación de realidad aumentada no se vea afectada por los cambios en el contexto, es decir, cambios en las preferencias del usuario como el idioma o su ubicación, o cambios en el dispositivo como la vida restante de la batería.
Para entender la propuesta de este artículo es necesario conocer los siguientes conceptos:

Realidad Aumentada

     En los años noventa el investigador Tom Caudell concibió el término de realidad aumentada para describir el funcionamiento de una pantalla en la cual se desplegaría información complementaria para realizar un trabajo de cableado en la empresa Boeing. Formalmente el término de realidad aumentada [5] se define como la combinación de objetos del mundo real con objetos virtuales para la creación de una realidad mixta en tiempo real.

     La realidad aumentada se diferencia de la realidad virtual en que solo se encarga de desplegar objetos virtuales y no de crear todo un entorno virtual en el cual el usuario se sienta inmerso; esta diferencia entre tecnologías provoca que la realidad aumentada sea mucho más barata y fácil de desarrollar porque solo se encarga de generar un parte del entorno (el objeto virtual), debido a esta razón la realidad aumentada se utiliza en una gran variedad de aplicaciones para dispositivos móviles como comerciales mediante objetos virtuales, animaciones para el área de videojuegos o para facilitar el aprendizaje junto con el e-learning.

Aplicación sensible al contexto

      En [4] se expone que una aplicación sensible al contexto es aquella que utiliza el contexto para presentar servicios relevantes que se adapten a la tarea del usuario o de la aplicación de software. El contexto [1] se refiere a cualquier información capaz de utilizarse para caracterizar la situación de una entidad. Una entidad es una persona, un lugar o un objeto y es considerado relevante para la interacción entre un usuario y una aplicación. La sensibilidad y adaptabilidad son las capacidades de una aplicación de detectar el contexto que lo rodea y percibir los cambios que en él se presenten, para finalmente ajustarse a dichos cambios con el objetivo de optimizar o mantener la calidad de la aplicación.

     La sensibilidad al contexto surge como parte de la computación ubicua definida a finales de los 80 por Mark Weiser, que proponía trasladar la capacidad de cómputo centralizada en una computadora hacia múltiples dispositivos diseminados en el ambiente; mediante la sensibilidad al contexto se busca una pro-actividad de los dispositivos para liberar la atención del usuario y lograr tomar dediciones adecuadas dependiendo de las situaciones que se presenten.

Middleware

     Un middleware es un software de asistencia para aplicaciones que necesitan interactuar con otras aplicaciones, software, hardware, redes y/o sistemas operativos [7]. En este documento se propone el uso de un middleware para lograr una retroalimentación del contexto y utilizar dicha información contextual para que al realizar el despliegue de la interfaz virtual, se encuentre ya adaptada al contexto actual.

     El middleware es una vía de comunicación o puente que conecta diferentes aplicaciones independientes, permitiendo un flujo de datos entre ellas y  facilitando el llevar información para que sea manipulada en el back-end (procesamiento de datos) hacia el front-end (parte que interactúa con él o los usuarios).

Estado de la práctica

     En la actualidad la gama de desarrollo y diversidad de aplicaciones que utilizan la sensibilidad al contexto y la tecnología de realidad aumentada es muy diversa, ambas tecnologías se abordan tanto en fines industriales, comerciales como investigativos,  sin embargo es necesario seguir investigando dado a que aún no existe un funcionamiento óptimo.

     Dentro de los principales trabajos exponentes de esta área se encuentra el desarrollo del sistema Dynamix [2] que busca una sensibilidad al contexto y una adaptabilidad para aplicaciones de alto consumo de recursos mediante el uso de plug-ins instalables vía web. El artículo [8] menciona el desarrollo de un marco de trabajo que permita crear aplicaciones de realidad aumentada reconfigurables dependiendo de los recursos disponibles en un contexto dado. En [4] se expone como realizar un tratamiento de la información contextual para crear una capa base de contexto que retroalimente de manera adecuada a aplicaciones enfocadas a entornos inteligentes o aplicaciones sensibles al contexto. En el trabajo [6] se muestra el desarrollo de un gestor de visualización de imágenes para navegadores de realidad aumentada que optimiza la presentación de la información virtual a partir de un análisis por computadora y un estudio del contexto sobre el cual se realizara el despliegue de los objetos virtuales. De igual forma existen proyectos como el propuesto en [3] que buscan sentar las bases para un correcto modelado del contexto en aplicaciones con uso de realidad aumentada o el propuesto en [1] que a través del análisis de las preferencias de usuario logra una adaptabilidad de la aplicación para el despliegue de interfaces personalizadas.

Propuesta de solución

     Este trabajo busca desarrollar interfaces gráficas de usuario mediante la tecnología de realidad aumentada, pero con la capacidad de adaptarse al contexto en el que se encuentran (resolución de pantalla o el tiempo de vida restante del dispositivo, ubicación y preferencias de usuario, disponibilidad de recursos a través de la detección de una nueva red o servicio, entre otras) para realizar dicha adaptabilidad se implementa un middleware el cual permite la comunicación entre la parte de la creación de las interfaces gráficas y la sensibilidad al contexto. A continuación se muestra la arquitectura de la aplicación representada por la figura 1.

Figura 1. Arquitectura de la aplicación.

     El proyecto implementará Vuforia para la creación de las interfaces gráficas en realidad aumentada, para el desarrollo del middleware se utilizará Java debido a su especialización para dispositivos móviles conocida como J2ME o JME (Java Plataform Micro Edition, Plataforma Java Micro Edición) y finalmente para la parte del modelado del contexto se utilizará XML debido a que facilita la creación de la pizarra que es el mecanismo centralizado en que las aplicaciones de sensibilidad al contexto almacenan y recuperan la información contextual. El funcionamiento lógico de la aplicación se muestra a continuación en la figura 2.

Figura 2. Flujo lógico de la aplicación.

Conclusiones

     Al implementar la sensibilidad al contexto es factible solucionar problemas relacionados con cambios en el entorno como la ubicación del usuario, cambios en las preferencias como el idioma o cambios técnicos en el dispositivo como la resolución de la pantalla o la capacidad restante de energía en la batería.
     Con la aplicación de un middleware se optimiza el manejo de información para realizar de manera más rápida la adaptación al contexto y al combinar la tecnología de sensibilidad al contexto con un middleware es factible no únicamente mantener la calidad de las interfaces gráficas de realidad aumentada cuando las condiciones son demasiado exigentes, incluso es posible aumentar la calidad cuando los cambios en el contexto provoquen un aumento en los recursos disponibles como los que surgen cuando el dispositivo detecta una nueva red o servicio, o se conecta otro dispositivo.

Referencias

  1. Anil Shankar, Sushil J. Louis, Sergiu Dascalu, Linda J. Hayes, and Ramona Houmanfar. (2007). User-context for adaptive user interfaces. (pp. 321-324). 12th international conference on Intelligent user interfaces (IUI '07). ACM, New York, NY, USA.
  2. Darren Carlson and Andreas Schrader. (2011). A wide-area context-awareness approach for Android. (pp. 383-386). 13th International Conference on Information Integration and Web-based Applications and Services (iiWAS '11). ACM, New York, NY, USA.
  3. Estefanía Martín, Margarita Martínez. (2005) Un Modelo para el Diseño de Juegos Adaptativos y Colaborativos. (3ª edición, pp. 7). X Jornadas de ingeniería del software y bases de datos, VI Congreso español de interacción persona-ordenador. Congreso español de informática, Granada, España.
  4. P. A. Coll. (2006). Tratamiento de información contextual en entornos inteligentes. Tesis doctoral, Universidad Autónoma de Madrid, Departamento de Ingeniería Informática, Madrid.
  5. Ramón Fabregat Gesa. (2012). Combinando la realidad aumentada con las plataformas de e-elearning adaptativas. (Vol. 9, no 2, pp. 69-78). Enl@ce: revista Venezolana de Información, Tecnología y Conocimiento.
  6. Ramón Grasset, Tobias Langlotz, Denis Kalkofen, Markus Tatzgern, and Dieter Schmalstieg. (2012). Image-Driven View Management for Augmented Reality Browsers. (pp. 177-186). ISMAR '12 Proceedings of the 2012 IEEE International Symposium on Mixed and Augmented Reality (ISMAR), IEEE Computer Society Washington, DC, USA.
  7. Salem Hadim, Nader Mohamend. (2006) Middleware: Middleware challenges and approaches for wireless sensor networks. (Vol. 7, no 3, pp. 1-1). Distributed Systems Online, IEEE.
  8. Tim Verbelen, Tim Stevens, Pieter Simoens, Filip De Turck, and Bart Dhoedt. (2011) Dynamic deployment and quality adaptation for mobile augmented reality applications. (Vol. 84, no 11, pp. 1871-1882). Journal of Systems and Software.