/pfc-real-a

Automatically exported from code.google.com/p/pfc-real-a

Primary LanguageJavaScript

https://youtu.be/VdbTeURFqMo https://youtu.be/zKzmfiXbGfo

Proyecto Fin de Carrera: Real-A: una aproximación RIA a la realidad aumentada en móviles usando MDD

Real-A: an RIA approach to mobile augmented reality using MDD.

Real-A aims to be a Web application that allows to exploit the possibilities of mobile augmented reality using MDD, in particular WebRatio, by checking the current limitations, due to the fragmentation of mobile platforms, and the difficulty of access to the features of the phones, essential in this type of applications the camera, GPS, etc. given the need to access the context surrounding the user at any time, and provide augmented information from the world around him.

Real-A is a complete application that allows you to manage two kinds of different users, normal users, and administrators, with access to two different application zones, one for each type of user, as well as a public zone:

Public area: this area allows the user access to the application using a login screen, manages the new users creation, and password recovery. Every user should access to the application through a user name and password.

User area: this area contains the augmented reality form, allows the user to obtain a photograph, and have relevant information about this. The user have also available a photo album.

Manager area: this contains mainly the management of the repository objects and images that serve as a basis for the comparison and image recognition.

Real-A exploits the possibilities of multilingual offered by WebRatio. The application uses PostgreSQL as database manager. The implementation of the search and recognition of images has been implemented using C and PL/PGSQL directly on the database. The camera access is implemented using Flash Lite and Nokia ApiBrige, the augmented reality page is only available in Symbian mobiles, but the rest of the application is available for mobile devices and desktop devices, the only requirement is a browser with Javascript and Ajax support.

Real-A: una aproximación RIA a la realidad aumentada en móviles usando MDD.

Real-A pretende ser una aplicación Web que permita explotar las posibilidades de la realidad aumentada en móviles utilizando MDD, en concreto WebRatio, comprobando las limitaciones existentes actuales, debidas sobre todo a la fragmentación de plataformas móviles, y la dificultad de acceso a las funcionalidades de los propios móviles, como puede ser la cámara de fotos, el GPS, etc. fundamentales en este tipo de aplicaciones, dada la necesidad de acceder al contexto que rodea al usuario en cada momento, y poder así proporcionarle información añadida del mundo que le rodea.

Real-A es una aplicación completa, que permite gestionar dos tipos de usuarios distintos, usuarios y administradores, con accesos a dos partes bien diferenciadas de la aplicación, una para cada tipo de usuario, además de una parte de acceso público: * Zona de acceso Público: La zona de acceso público gestiona la entrada a la aplicación, mediante una pantalla de login, gestiona la creación de nuevos usuarios, y la recuperación de contraseñas para usuarios que la hayan olvidado, ya que cada usuario deberá acceder a la aplicación mediante un nombre de usuario, y una contraseña. Para crear un usuario nuevo, se deberá introducir el nombre de usuario y una cuenta de correo, donde la aplicación envía una contraseña generada, que permitirá al menos el primer acceso a la aplicación, sirviendo además como manera de controlar que la cuenta de correo introducida es válida, ya que si se proporciona una cuenta de correo errónea o falsa, el usuario no podrá tener acceso a la aplicación, al no tener disponible la contraseña. Si el usuario olvida la contraseña, podrá obtener una nueva proporcionando su correo electrónico.

Zona de acceso de Usuarios: La zona de usuarios normales de la aplicación es la que contiene la parte de realidad aumentada, de forma que desde la página principal, permite al usuario obtener una fotografía, y a partir de ella obtener información relevante sobre dicha fotografía. Además permite ir almacenando las fotografías, junto con la información obtenida en un álbum accesible por el usuario. Junto con la información y la fotografía, se le permite al usuario añadir notas escritas y grabaciones de sonido accediendo desde la aplicación a la grabadora del dispositivo móvil. El usuario también tiene acceso al mantenimiento de su cuenta de usuario, pudiendo modificar cualquiera de sus datos e incluso eliminar su cuenta de usuario. Finalmente el usuario tiene también disponible el álbum de fotos, que le permite mantener las fotografías, informaciones, notas y grabaciones que ha ido obteniendo, así como su eliminación.

Zona de acceso de Administradores: La zona de administración contiene principalmente la gestión del repositorio de objetos e imágenes que servirán de base para la comparación y reconocimiento de imágenes. En general, esto se lleva a cabo mediante el mantenimiento y gestión de una estructura llamada genéricamente “Objetos” cada objeto, contendrá asociada varias imágenes y una descripción, de forma que cada imagen contiene la información necesaria para su comparación con las imágenes obtenidas por el usuario, y la descripción permite añadir la información relevante sobre el objeto, información que se mostrará al usuario cada vez que se detecte el objeto en alguna de las imágenes obtenidas por él. El mantenimiento de estas descripciones contiene un editor HTML, de forma que se pueden crear informaciones relativamente elaboradas.

La zona de administración contiene una gestión completa de los usuarios de la aplicación, que permite crear, consultar y modificar los usuarios de la aplicación. También existe un mantenimiento de idiomas, que permite dar de alta nuevos idiomas para explotar las posibilidades de multilenguaje por parte de la aplicación. Finalmente la zona de administración contiene una pantalla de búsquedas que permite realizar búsquedas de imágenes sobre el repositorio de imágenes para la comprobación del reconocimiento.

La aplicación explota las posibilidades de multilenguaje que ofrece WebRatio, configurado inicialmente para soportar español e inglés, es fácilmente configurable para añadir nuevos idiomas, simplemente traduciendo el fichero AplicationResources_es.properties en español, o el AplicationResources_en_US.properties en ingles, al idioma deseado, generando un nuevo AplicationResources_idioma_pais.properties incluyéndolo en los ejecutables de la aplicación, o directamente creándolo y traduciendo en la opción de localización que proporciona WebRatio y generando de nuevo la aplicación, y añadiendo una nueva entrada en la gestión de idiomas en la zona de administración de en la aplicación.

En cuanto al soporte para los datos de la aplicación se utiliza PostgreSQL como SGDB (Sistema de Gestión de Base de Datos) relacional. Principalmente, se ha optado por este SGDB por ser de libre distribución, publicado bajo la licencia BSD, pero también por permitir la utilización de procedimientos almacenados utilizando PL/PGSQL, C y C++, que permiten el desarrollo del reconocimiento de imágenes y la búsqueda de imágenes directamente sobre la base de datos. Esto último mejora considerablemente el rendimiento del proceso de reconocimiento de imágenes, ya que es un proceso costoso y su implementación directa sobre la base de datos con la potencia del lenguaje compilado C, mejora considerablemente cualquier implementación Java sobre la aplicación.

Otro punto a tener en cuenta en la aplicación es su apariencia, debido a las reducidas dimensiones de las pantallas de los móviles, en comparación con cualquier monitor de sobremesa, obliga a la utilización de dos estilos de presentación distintos para sobremesa y para móviles, la detección del tipo de cliente que accede a la aplicación se detecta en el servidor mediante la utilización de WURLF (Wireless Universal Resource FiLe), repositorio de descripción de dispositivos, basado en un fichero XML con la configuración de cientos de dispositivos y sus características junto a APIs en varios lenguajes de programación para el acceso a dichos datos, en concreto en la aplicación, se utiliza su API Java, así, mediante un servlet que gestiona la entrada a la aplicación se detecta si el dispositivo que intenta acceder es un móvil o no y redirige a las páginas con la apariencia apropiada. En la actualidad son muchas las aplicaciones y sitios web que tienen distintas apariencias que se adaptan a los dispositivos más comerciales, de forma que un único sitio web puede tener decenas de maquetaciones distintas adaptadas a las marcas y dispositivos más comunes, consiguiéndose interfaces que se adaptan perfectamente a cada dispositivo y pantalla. En Real-A se considera únicamente dos estilos distintos líquidos que se ajustan a distintos tamaños de pantalla, además el estilo para móviles evita en la medida de lo posible la utilización de iconos e imágenes intentando utilizar al máximo las posibilidades que ofrece CSS, mejorando así el tráfico de datos para la parte de presentación y la rapidez en el refresco de las pantallas, críticos sobre todo para dispositivos móviles.

El punto más crítico de la aplicación es el referente a la realidad aumentada, debido a la dificultad de acceso a las funcionalidades de los dispositivos móviles. La pretensión de realizar una aplicación multiplataforma es sumamente complicada actualmente, dada la fragmentación de plataformas, junto a la fragmentación de navegadores móviles, y la falta de un estándar que soporte el acceso a funcionalidades como GPS, cámara, acelerómetro, brújula y demás elementos. Para la aplicación se ha conseguido el acceso a la cámara únicamente para dispositivos Symbian, utilizando APIBridge de Nokia con Flash Lite, sin embargo no se ha conseguido un resultado positivo usando el mismo procedimiento para acceder al GPS, cosa que reduciría el coste de tiempo del reconocimiento de imágenes al limitar la búsqueda a las imágenes localizadas cerca de la posición del dispositivo móvil. De esta forma, al menos se llega a una solución funcional con la obtención de imágenes a través de la cámara y el reconocimiento de imágenes. Se han probado otras alternativas como la utilización de la API javascript de PhoneGap desde navegadores en distintas plataformas como Android sin obtener resultados, navegadores como Opera Mobile soporta la geolocalización con W3C, pero no soporta el acceso a la cámara de los dispositivos que compatibles con dicho navegador.

Por tanto se puede concluir que la tecnología actual imposibilita la creación de una aplicación web multiplataforma de realidad aumentada que permita acceder a las funcionalidades de los móviles para obtener el contexto externo al móvil, además, para este tipo de aplicaciones las aplicaciones nativas con un acceso total a las funcionalidades mencionadas siguen siendo la opción más factible, ya que además del acceso en tiempo real a la cámara permite obtener la información a partir de los datos del GPS y la brújula, opción más fácil de implementar y con mejor rendimiento que la utilización de técnicas de reconocimiento de imágenes.

A pesar de lo mencionado con anterioridad, la aplicación conseguida es totalmente multiplataforma, salvo la página que gestiona la realidad aumentada, necesitándose únicamente un navegador con soporte javascript y Ajax. Por tanto, aunque las aplicaciones web no son el medio más indicado para soportar aplicaciones de realidad aumentada en la actualidad, si son un tipo de aplicación muy a tener en cuenta en otros ámbitos de negocio y las herramientas MDD son un gran apoyo a la hora de afrontar el desarrollo con eficacia y rapidez.

pfc-real-a

Automatically exported from code.google.com/p/pfc-real-a