App development system for mobile phones in Java. The system is designed to work in a PC using a graphic editor. Hotspots are added to a Google Maps interface to indicate where the resulting app will provide information to the end user. The designer can generate the app automatically without programming.
Este documento serviu de suporte à apresentação de requisitos de projecto com o tema provisório: "Arquitectura de um sistema de informação para medir a performance financeira do Web Marketing". Autora: Maria João Viegas
Escola Superior de Tecnologia, 2010
Este documento serviu de suporte à apresentação de requisitos de projecto com o tema provisório: "Arquitectura de um sistema de informação para medir a performance financeira do Web Marketing". Autora: Maria João Viegas
Escola Superior de Tecnologia, 2010
Ivan Pretel´s and Eduardo Castillejo´s Final Career Project. it´s called SMIT.
Design and development of monitoring system of traffic infractions based in Neural Networks and Expert System
Ivan Pretel´s and Eduardo Castillejo´s Final Career Project. it´s called SMIT.
Design and development of monitoring system of traffic infractions based in Neural Networks and Expert System
¿Perteneces al sector consultoría? recíclate! FCEN
¿Perteneces al sector consultoría? Aprovecha la oportunidad y recíclate! No lo dejes pasar, formación gratuita!
Podrán participar en los cursos todos los trabajadores de EMPRESAS PERTENECIENTES AL SECTOR CONSULTORÍA.
Inscripción hasta el 21 de marzo
informacion@fundacionconfemetal.es
Desarrollo de una interfaz interactiva para museos (Silvia Moral)Cristina Urdiales
Desarrollo de una aplicación para interactuar con una proyección en un museo con gestos de las manos utilizando un dispositivo Kinect.
La aplicación se probó en el MUPAM (Málaga) para recorrer el trazado de la ciudad de Málaga desde sus inicios hasta la actualidad, con posibilidad de manejar información 2D y 3D.
Video de la instalación en las Noches en Blanco 2015 y 2016 aquí:
https://youtu.be/70vxJ9OehdQ
PFC del alumno Gustavo Gómez para la obtención del título de Ingeniero Técnico en Sistemas Electrónicos. El sistema permite ejecutar una arquitectura híbrida distribuida entre un microcontrolador de bajo coste (en un microbot) y un ordenador externo, de forma que la capa reactiva reside en el microcontrolador y la deliberada en el ordenador, comunicándose ambos por RF.
Simulador RFID para localización de objetos móvilesCristina Urdiales
PFC del alumno Gilberto Rodríguez para la obtención del título de Ingeniero de Telecomunicación. Sistema para actualización dinámica de una base de datos con la ubicación de objetos portables etiquetados mediante RFID usando un lector portátil. Orientado a personas con problemas de visión o transtornos cognitivos.
Origam-i: Juego basado en Realidad Aumentada para iPhone (Santiago García Gui...Cristina Urdiales
Aplicación para guiar al usuario en el desarrollo de modelos de origami usando procesado de imagen y Realidad Aumentada.
Video demo: https://youtu.be/l9iLr0pp29Y
Caracterización del tráfico en ciudad mediante un smartphone (Pablo Fuentes)Cristina Urdiales
Sistema basado en smartphone (Android) que emplea el acelerómetro y el GPS del dispositivo para obtener la velocidad y aceleración en el plano paralelo al suelo. A partir de esta información se hace una estimación de riesgo en función de los perfiles de las curvas y se representa en Google Maps
Modelado automático 3d de entornos mediante realidad aumentada orientado a ex...Cristina Urdiales
Sistema de Virtualidad Aumentada para reemplazar el fondo de una escena por un entorno virtual sin utilizar croma y empleando cámaras en movimiento. El sistema se basa en ubicar marcas artificiales en puntos del entorno para tener siempre ubicada la cámara dentro del espacio, que se modela automáticamente mediante planos de fondo para proceder a una substracción automática de fondo con respecto al fotograma que se procesa en cada instante. El fotograma modificado incluye en entorno virtual renderizado desde el punto de vista de la cámara, más todos los elementos móviles o que no forman parte del fondo en el entorno.
Visualización aumentada de modelos 3D para diseño arquitectónico (A. Ruiz Agu...Cristina Urdiales
Sistema de Realidad Aumentada basado en la librería ARToolkit para la construcción de maquetas interactivas en RA. Permite la carga de modelos 3DStudio y reconoce un conjunto de gestos con la mano para alterar las proporciones de la maqueta a través de sus vértices.
Videos en Youtube:
https://youtu.be/Qb0QoY1uDqQ?list=PLYQ-1TQv7voPgu613VwMdKgK5qhD-Ka1L
https://youtu.be/fVE2yny7j44?list=PLYQ-1TQv7voPgu613VwMdKgK5qhD-Ka1L
Pizarra Digital Interactica mediante el uso del Wiimote (F. Morabet)Cristina Urdiales
Desarrollo de una pizarra digital/pantalla interactiva empleando una Wiimote y un puntero equipado con dos LEDs infrarrojos. A partir de la posición y el parpadeo de los LEDs la Wiimote reconoce la ubicación del puntero y un conjunto de acciones, como click, doble click, drag & drop ...
Aparte de su uso natural como ratón, se ha implementado para testearlo un programa de dibujo sobre una proyección en la pared.
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Cristina Urdiales
Desarrollo de un módulo de comunicación inalámbrica entre un microbot controlado por un microcontrolador y un PC, de cara a la distribución de su sistema de control. Se intercambian paquetes con información sensorial del robot al PC y de comandos a la inversa
Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Lu...Cristina Urdiales
Creación de un entorno virtual OpenGL para la simulación de robots móviles con comportamientos programados en C. Permite la visualización externa y desde el punto de vista del robot y corre de forma concurrente al sistema
Interfaz de usuario para el desarrollo de contenidos en guías turísticas orie...Cristina Urdiales
Interfaz de usuario para desarrollar aplicaciones tipo videoaventura sobre Nintendo DS mediante la generación de un fichero descriptor XML que lista escenas, elementos e interacción entre ellos. Se encarga de dejar en el formato adecuado todos los elementos multimedia necesarios para la videoconsola. La idea básica de este proyecto es aislar la labor del programador de la del diseñador de contenidos.
Implementación de aplicaciones en Nintendo DS a partir de un fichero XML con ...Cristina Urdiales
Sistema para creación automática de aplicaciones tipo video-aventura para Nintendo DS basado en un archivo XML como descriptor de escenas, elementos e interacción entre estos
Sistema de localización visual por color (M. Dominguez Duran)Cristina Urdiales
Sistema para localizarse visualmente en un entorno a partir de una imagen. El sistema construye una topología basada en la situación física y descriptores del color de los distintos elementos que constituyen la escena y los compara con las topologías correspondientes de los panoramas de que dispone en su base de datos. Se admiten distorsiones, cambios de iluminación, perspectiva, elementos dinámicos, etc trabajando con invariantes y con estadística.
Coordinación por visión de equipos de robots móviles (J. Cebolla)Cristina Urdiales
Sistema de coordinación de tareas basado en localización visual por triangulación de robots. Las posiciones de cada uno se actualizan a partir de las distancias relativas al resto. A partir de dichas posiciones, cada robot aprende la tarea correspondiente al grupo.
Plataforma inalámbrica para la monitorización y teleasistencia domiciliaria u...Cristina Urdiales
Desarrollo de una plataforma de teleasistencia con soporte para dispositivos biométricos Bluetooth y Zigbee e interfaz web basada en un PC con conexión WiFi
Interfaz gráfico de usuario con control táctil para juegos musicales multijug...Cristina Urdiales
Videojuego GPL en la línea del Freats on Fire que permite analizar cualquier canción en formato audio digital, extraer el ritmo y transformarlo en una secuencia de notas de complejidad variable para una interfaz tipo Guitar Hero.
Bóveda celeste usando Realidad Aumentada (D. Berrocal)Cristina Urdiales
Este proyecto se centra en el desarrollo de un planisferio celeste mediante Realidad Aumentada (usando proyector o gafas). Para ello se estima la posición del usuario mediante marcas en la superficie de proyección y se añaden las estrellas que estarían visibles con respecto a esta. Usando una marca tipo puntero se pueden seleccionar estrellas para resaltar a qué constelación pertenecen, su nombre y otros datos.
Algoritmo de resolucion automatica de puzzles (J.O. Merry)Cristina Urdiales
Sistema para construcción automática de puzzles basado en visión artificial. A partir de una imagen de las piezas desmontadas, el sistema compara los contornos de acuerdo a su función de curvatura y, más adelante, el perfil de color de los posibles candidatos para dar con la opción final de encaje. Así se indica al usuario dónde debería ir cada pieza.
Video demostración: https://youtu.be/syG4qPUfah0
Sistema de comunicacion via radio entre PC y Microbot (M. Gonzalez Martin)Cristina Urdiales
Diseño de un sistema de comunicación radio basado en microcontrolador para el microbot TRITT, de forma que se puedan implementar comportamientos complejos en un PC y descomponerlos en órdenes sencillas para el robot a nivel reactivo, que sólo envía la lectura de sus sensores de a bordo.
Criterios de la primera y segunda derivadaYoverOlivares
Criterios de la primera derivada.
Criterios de la segunda derivada.
Función creciente y decreciente.
Puntos máximos y mínimos.
Puntos de inflexión.
3 Ejemplos para graficar funciones utilizando los criterios de la primera y segunda derivada.
Una señal analógica es una señal generada por algún tipo de fenómeno electromagnético; que es representable por una función matemática continua en la que es variable su amplitud y periodo en función del tiempo.
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
Sistema de información móvil basado en GPS (B. Prieto)
1. ETSI de Telecomunicación Universidad de Málaga
Autora: Beatriz Prieto Ramos
Tutora: Cristina Urdiales García
Sistema de información móvil
basado en GPS
2. 1. Objetivos
2. Arquitectura del sistema
3. Sistema web
4. kXML
5. Sistema móvil
6. Pruebas y Resultados
7. Conclusiones y trabajo futuro
Índice
3. Índice
1. Objetivos
2. Arquitectura del sistema
3. Sistema web
4. kXML
5. Sistema móvil
6. Pruebas y Resultados
7. Conclusiones y trabajo futuro
5. Usuarios sin conocimientos de programación puedan
diseñar una aplicación con información
geoposicionada.
Previsualizar el aspecto final en un ordenador tipo PC
Información personalizada: imagen, texto y sonido
Generación de un ejecutable para teléfonos móviles
con tecnología JAVA J2ME
Comprobar el funcionamiento global de la aplicación
utilizando el sistema para introducir información
turística
Objetivos
9. Usabilidad
‘La usabilidad se refiere a la capacidad de un software
de ser comprendido, aprendido, usado y ser atractivo
para el usuario, en condiciones específicas de uso.’
(ISO 9126)
Interfaces conocidas
Minimizar entrada de datos: Google Maps
Etiquetas claras y concisas
Diseño: Páginas webs y Pantallas aplicación móvil
10. Menú secundarioMenú secundario
Menú principalMenú principal
Título permanenteTítulo permanente
Situación en la navegaciónSituación en la navegación
Combinación colores:
Azul y blanco
Combinación colores:
Azul y blanco
Minimizar uso de imágenesMinimizar uso de imágenes
Usabilidad web
Pie de páginaPie de página
11. Pantalla reducida
Conexiones lentas
Usabilidad móvil
Interfaz gráfica no uniforme
Botones/teclas pequeños
Acciones asociadas a teclasAcciones asociadas a teclas
Mensaje escrito al usuarioMensaje escrito al usuario
Minimizar uso de la redMinimizar uso de la red
Aviso sonoroAviso sonoro
Información
esquematizada
Información
esquematizada
12. Índice
1. Objetivos
2. Arquitectura del sistema
3. Sistema web
4. kXML
5. Sistema móvil
6. Pruebas y Resultados
7. Conclusiones y trabajo futuro
14. Sistema web: Diseño contenidos
Archivos audio e imagenArchivos audio e imagen
Situación imagen:
-topim
-leftim
Situación imagen:
-topim
-leftim
Contenido textual y
situación:
-toptx
-lefttx
-widthtx
Contenido textual y
situación:
-toptx
-lefttx
-widthtx
21. Índice
1. Objetivos
2. Arquitectura del sistema
3. Sistema web
4. kXML
5. Sistema móvil
6. Pruebas y Resultados
7. Conclusiones y trabajo futuro
22. Sistema operativo
Velocidad de proceso, tiempo de respuesta
Capacidad de memoria
Batería
Pantalla
Tamaño
Color
Táctil
Sistema móvil: Limitaciones
23. Construir aplicaciones pequeñas Ofuscador
Simplificar la aplicación
Liberar memoria
Tener en cuenta el funcionamiento del sistema:
Variables locales en lugar de atributos de objetos
Hilos de ejecución
Separación entre presentación y lógica de negocio:
Patrón MVC
Sistema móvil:
Estrategias de programación
26. GPS: Sistema Posicionamiento Global
Precisión: Error 10 metros
Receptor GPS en el teléfono
Conexión en espacios abiertos
API Localización: JSR-179
Sistema móvil: GIS
34. Índice
1. Objetivos
2. Arquitectura del sistema
3. Sistema web
4. kXML
5. Programación móvil
6. Pruebas y Resultados
7. Conclusiones y trabajo futuro
35. Facilidad de uso : usable
Distintos navegadores:
Internet Explorer, Firefox, Opera, Google Chrome
Amplia gama de teléfonos móviles
Sin coste de conexión
Tiempos interacción usuario
Respuesta del sistema web
× Conexión GPS en entornos urbanos
Respuesta de aplicación móvil
Conclusiones
36. Descargar mapa Google Maps
Nuevos formatos: vídeos
Pantalla táctil
Acceso a Internet (coste adicional)
Ampliaciones
37. ETSI de Telecomunicación Universidad de Málaga
Autora: Beatriz Prieto Ramos
Tutora: Cristina Urdiales García
Sistema de información móvil
basado en GPS
Notas del editor
Buenos días, el objetivo del presente proyecto es la implementación de un sistema que permita, a un usuario sin conocimientos técnicos de programación, desarrollar guías multimedia que se puedan ejecutar en un teléfono móvil de prestaciones medias ofreciendo al usuario final información geoposicionada.
Vamos a comenzar enumerando los contenidos de la presentación:
En primer lugar se presentará brevemente la necesidad del proyecto y los objetivos que se marcaron.
Posteriormente, veremos la arquitectura global del sistema y algunas nociones básicas relacionadas con la usabilidad, parte impotante del proyecto.
Después nos adentraremos algo más en cada una de las partes en que se puede dividir el proyecto: la parte web y la parte móvil, dedicando una sección entre ambas a XML que se ha utilizado como intercambiador de información entre ambas.
Se mostrarán antes de terminar dos videos ilustrativos del funcionamiento del sistema particularizados para un ejemplo concreto.
Y se finalizará la presentación con las conclusiones obtenidas y señalando algunas posibles mejoras.
Comencemos, por tanto, con la introducción y objetivos.
La idea de este proyecto surge en el ámbito cultural, de la necesidad de acceder a información en cualquier momento y en cualquier lugar, proporcionar servicios accesibles y con un coste asumible para la gran mayoría de la población, así como de la personalización de los contenidos ofrecidos.
Con todo esto, la solución propuesta consiste en un sistema web que permita el diseño de guías multimedia en el que se pueda hacer una selección de contenidos adecuándolos al usuario final.
Una vez generada, esta guía se podrá descargar en un teléfono móvil, de modo que permita su funcionamiento sin coste adicional. De entre los soportes móviles existentes, se ha optado por un teléfono móvil de prestaciones medias, pues su uso forma parte del día a día de prácticamente la totalidad de la población.
Resumiendo entonces los objetivos del proyecto:
Que usuarios sin conocimientos técnicos de programación puedan diseñar una aplicación con información geoposicionada.
Que puedan visualizar el aspecto final de los contenidos en un ordenador tipo PC. Estos contenidos podrán tener formato texto, imagen o audio.
La generación de un ejecutable para teléfonos móviles con tecnología JAVA, más concretamente J2ME, pues es la particularización de Java para dispositivos móviles.
Comprobar el funcionamiento global de la aplicación utilizando el sistema para introducir información turística. Aunque hay que destacar que, al poder introducir contenidos de lo más variados, esta guía podría tener distintos usos. Así podría ser interesante para un grupo de comercios mostrar publicidad asociada a la posición del usuario del teléfono móvil.
Antes de adentrarnos más en el tema del proyecto, vamos a hacer una aclaración de los actores del sistema.
En el proyecto se ha desarrollado un sistema Web y una aplicación móvil cuyos contenidos van a ser personalizables.
A partir de ahora, al usuario que entra en el sistema Web para seleccionar e introducir esos contenidos y diseñar su aspecto final en el móvil, lo llamaremos Diseñador. Como hemos dicho anteriormente, esta persona no necesita conocimientos técnicos de programación para generar la aplicación para el móvil.
Esta aplicación podrá descargarse en un teléfono móvil, al individuo que usa este teléfono lo llamaremos Usuario.
Pasamos a ver a continuación la arquitectura del sistema.
Como podemos observar, el sistema consta de dos partes claramente diferenciadas: Una parte Web y otra móvil.
La arquitectura que se ha considerado adecuada para el sistema se basa en la utilización de terminales ligeros, donde el proceso de la información sea mínimo y se delegue la mayor parte del procesamiento en la parte Web del sistema.
Así como hemos apuntado, un diseñador familiarizado con Internet, pero que no posea conocimientos técnicos de programación podrá registrarse e identificarse en el sistema, y a partir de ahí, ir seleccionando distintos puntos geográficos donde desee que se muestre el contenido multimedia.
Los datos del diseñador, así como la información introducida se almacena en una base de datos para posteriores accesos al sistema.
Bajo demanda, se generará un archivo con extensión .jar que consistirá en la aplicación para el móvil que podrá descargarse en el ordenador.
El traspaso de la aplicación del ordenador al móvil pude realizarse mediante diferentes medios sin coste como por cable, Infrarrojos o Bluetooth, dependiendo en cada caso de las características tecnológicas tanto del PC como del móvil.
El programa en el móvil consiste básicamente en ir recibiendo coordenadas gracias a la tecnología GPS, y si el usuario se encuentra situado en las proximidades de un punto geográfico al que previamente se le ha asociado algún tipo de información, se le ofrece la posibilidad de mostrársela.
Como hemos comentado, la usabilidad es un aspecto importante del proyecto, pues uno de los requisitos es que el sistema sea accesible a la mayor parte de la población, y como leemos en la definición, la usabilidad se refiere a esto mismo: Capacidad de un software de ser comprendido, aprendido, usado y atractivo para el usuario en condiciones específicas de uso.
¿Cómo se consigue esto?
Pues utilizando interfaces conocidas, por ejemplo utilizando para realizar una selección de ficheros el típico botón examinar que una persona familiarizada con la tecnología reconoce, en lugar de usar otro tipo de enlace.
También se consigue minimizando la entrada de datos. Hay que evitar la memorización de info por parte del usuario. Por eso, se ha utilizado Google maps para la selección de puntos en el sistema web y evitar lo engorroso que sería para el diseñador ir introduciendo coordenadas de latitud y longitud.
Se utilizarán también etiquetas claras y concisas
Y se tendrá en cuenta la usabilidad, en el diseño del aspecto de las páginas web y pantallas de móvil como vemos a continuación.
Vemos cómo se han tenido en cuenta estas premisas sobre usabilidad tomando como ejemplo la página pral del sistema web.
Aparece una cabecera permanente que contiene el título del proyecto
Además de un pie de página. Esto da uniformidad a la navegación por las distintas páginas.
Se ha dividido también la página en dos áreas de navegación.
El menú principal, en vertical, donde se muestran las acciones básicas del sistema, relacionadas con la inserción, edición y eliminación de contenidos asociados a una determinada localización.
Y un menú secundario, en horizontal, donde aparecen acciones de carga y descarga de ficheros. Este menú se mantiene durante la navegación, pero las acciones que se ofrecen al diseñador cambiarán de acuerdo a la funcionalidad de la página. Apareciendo siempre la opción de INICIO para poder volver a esta página principal.
El título de la página sitúa al usuario en la navegación.
También se ha minimizado el uso de imágenes y de contenido dinámico para no distraer la atención del desarrollador.
Y finalmente, se ha preferido la combinación de colores azul y blanco para la correcta lectura de los textos.
En el caso de la usabilidad en la aplicación móvil, hay que tener en cuenta las características limitadas de este tipo de dispositivos de prestaciones medias:
Pantalla reducida
Conexiones lentas
Interfaz gráfica no uniforme
Y tienen unos botones y teclas pequeños.
Si en lugar de restringir el uso de la aplicación a dispositivos de gama media se hubieran podido usar Smartphones, algunos de estas características no hubieran supuesto un problema o un handicap para el desarrollo de la aplicación móvil.
Vemos dos capturas de la aplicación ejecutándose en el teléfono:
La información aparece esquematizada: como hemos dicho las etiquetas son breves e indican claramente la acción.
Las acciones se asocian a las teclas comunes de colgar y descolgar, en lugar de usar por ejemplo los números que se usan en juegos.
Cuando existe información disponible al usuario le aparece tanto un aviso sonoro
Como un mensaje escrito.
También se ha minimizado el uso de la red. Salvo la conexión GPS en la que se basa el sistema, el teléfono no necesita ninguna otra conexión una vez descargado en el móvil.
Nos centramos a continuación en el sistema web
Acceso inicial desde cualquier página te redirige a identificación.
Recordar contraseña, te manda un mail con la nueva.
Registro y personalización. Posibilidad de una aplicación customizada para móviles sin gps.
Menú principal
Menú secundario
Una de las partes más interesantes del sistema web es el diseño de contenidos en la pantalla del teléfono móvil, pues uno de los objetivos marcados era la posibilidad de previsualizar los contenidos que se mostrarán en el móvil, en el pc.
Así, primero se incluyen los archivos de audio e imagen.
En la pantalla real aparecerá un botón que permitirá escuchar el audio si la localización contiene información en este formato. Por tanto no es necesario diseñar nada.
Para situar la imagen sí es necesario conocer tanto su posición respecto a la parte superior, como respecto del lateral izquierdo. Se toma como referencia en el móvil la esquina superior izquierda para situar los elementos.
También se permite al usuario introducir el texto. En este caso se vuelven a necesitar su posición respecto a la parte superior y respecto a la izquierda. También se incluye el parámetro ancho del texto, pues con éste controlamos el salto de línea.
Toda esta información, junto con los datos del diseñador se almacena en una base de datos llamada información. Ésta consta de dos tablas:
La tabla User, que contiene el nombre, contraseña y email del diseñador, así como el tamaño de la pantalla, y si el móvil tiene o no gps.
En la tabla Coordenada se guardan todas las localizaciones introducidas. Los campos de nombre del diseñador, latitud, longitud y nombre de la localización son las claves primarias, no pueden quedar vacíos ni pueden repetirse. A parte de estos campos, se almacenan el nombre del fichero de audio, el del fichero de imagen, la posición de ésta en la pantalla del móvil, el texto en sí y su posición.
Por último vamos a señalar los lenguajes de programación utilizados en el sistema web.
Para la creación de una página sería suficiente con el lenguaje HTML, sin embargo, estas páginas son estáticas y necesitábamos cierto dinamismo para ofrecer la posibilidad de mover y redimensionar texto e imagen por la pantalla. Así que se decidió utilizar una biblioteca JavaScript. También el control de eventos de Google Maps necesitaba este lenguaje.
Los estilos se han controlado con CSS.
Sin embargo a parte de estos lenguajes del lado del cliente, que se interpretan en el navegador, necesitábamos alguno para el lado del servidor,
pues hemos utilizado una base de datos para almacenar los datos de usuario y los contenidos,
También se ha hecho un control de sesión porque sería inviable un sistema en el que el usuario se identificase en cada página. Así se puede ofrecer además una cierta personalización.
Se ha interactuado con el sistema de ficheros subidos por el diseñador.
Y se ejecutan programas como la generación del .jar que se descargará en el móvil.
Todo esto ha sido fácil gracias a la herramienta XAMPP, que incluye una versión de Apache, PHP, MySQL, y Mercury, utiliza Mercury para mandar mails.
Como sistema de localización en la parte web se ha optado por el uso de Google Maps.
Pues su inclusión en la página es sencilla, existe un API que permite integrarlo fácilmente en la web.
Y actualmente aparece en infinidad de sitios, por lo que los usuarios de internet están acostumbrados a manejarse con él.
Siguiendo las directrices de usabilidad de no cargar las páginas, simplemente se han incluido las opciones de zoom y movimiento y las opciones de visualizar distintos tipos de mapa.
Antes de pasar al sistema móvil, vamos a hacer un inciso en XML, que soluciona el traspaso de información que el diseñador introduce en el sistema Web y el usuario ve en la aplicación móvil.
En la Web, al pulsar sobre el botón “generar xml” se genera un archivo con extensión .xml, llamado información.xml y del que posteriormente veremos su estructura.
En el móvil necesitaremos interpretar este archivo. Para ello, se ha incluido un procesador que facililta esta tarea.
Existen varios tipos de procesadores:
Los de tipo model: que leen el documento en dos ciclos al menos, primero se crea una estructura jerárquica y luego se va extrayendo la información
Los de tipo push: que leen el documento en un ciclo, pero con cada etiqueta el procesador lanza un evento que hay que manejar. Este tipo consume bastante memoria y necesita gran capacidad de proceso.
Y los de tipo pull: Que cada vez se lee una porción del documento bajo demanda de la aplicación que use el procesador. Éste es el que hemos utilizado, en su versión 2, que ocupa menos espacio en memoria.
Presentamos en esta transparencia la estructura jerárquica del documento información xml.
Tiene una raíz a la que se añaden los hijos.
Debido a las limitaciones de procesamiento de los teléfonos es importante la organización eficiente del documento. Así sólo aparece la información imprescindible para no cargar el sistema de datos innecesarios.
Para cada punto geográfico se introducen: latitud, longitud, nombre de la localización, nombre de los ficheros de audio e imagen, situación de la imagen en la pantalla, el texto en sí, y su situación en la pantalla del móvil.
Seguimos con el siguiente punto, dedicado a la otra parte del sistema: la aplicación en el móvil.
El desarrollo de una aplicación ejecutable en un teléfono móvil presenta ciertas limitaciones:
Existen diferentes sistemas operativos que ofrecen un soporte distinto en cada caso.
Hay que tener en cuenta la baja velocidad de proceso y el elevado tiempo de respuesta.
La capacidad de memoria es limitada. Aunque es posible ampliarla con una tarjeta de memoria si el móvil lo permite
También hay que resaltar la vida de la batería, que se ve limitada con el uso intensivo de gráficos, sonido, vibración…
Y por último las características de la pantalla: Existen pantallas de diferentes tamaños, con características distintas de color, táctiles..
Para superar estas limitaciones se proponen una serie de estrategias:
Construir aplicaciones pequeñas, se puede usar una herramienta llamada ofuscador que reduce el tamaño del programa.
Simplificar la operación, es decir, centrarse en la funcionalidad que se requiere y no incluir funciones prescindibles, éstas se podrían trasladar a otra aplicación secundaria.
Liberar memoria, usando tipos escalares en lugar de objetos, referenciándolos a null siempre que sea posible..
Tener en cuenta el funcionamiento del sistema: es más rápido usar variables locales que a atributos de objetos, usar diferentes hilos de ejecución
Y separar la presentación de la lógica de negocio: Se ha propuesto el patrón Modelo-Vista-Controlador
En este patrón:
El modelo contiene la información que necesita la aplicación, y los métodos para acceder a los datos y modificarlos.
La vista es la representación del modelo y es lo que el usuario ve.
El controlador recibe los eventos externos.
En la bibliografía se encontraron dos versiones de este modelo:
Una en la que vista y modelo estaba totalmente separados. En este caso el controlador actualiza el modelo, y traspasa lo necesario a la vista.
Y otra en que se permite el acceso de la vista al modelo sólo para actualizarse. Es ésta la arquitectura que se ha preferido para la aplicación móvil, pues se evita la sobrecarga del sistema.
En el caso del proyecto:
La clase Modelo.java es la encargada de acceder al fichero .xml y construir un registro con los distintos puntos geográficos.
El Controlador en este caso esta separado en dos hilos:
Midlet, el encargado de recibir las acciones del usuario, por ejemplo, cuando pulsa una tecla.
Y control, que recibe las coordenadas gps y va comprobando si están en un radio de 20 m de las que hay almacenadas en el modelo.
La localización en la aplicación móvil se realiza gracias a la tecnología GPS. Uno de los requisitos era que el teléfono tuviese un receptor GPS integrado. Esta tecnología tiene buena precisión, un error de unos 10 metros, suficiente para los objetivos del proyecto y simplemente restringe su uso a espacios abiertos. El tratamiento de la información recibida vía GPS se ha realizado en el programa en Java gracias al API de localización JSR179.
Vemos finalmente la navegación por la aplicación en el móvil:
Nada más arrancar la aplicación, se sitúa al usuario en la pantalla inicial que muestra un mensaje de que está recibiendo información GPS.
Desde esta página se pueden realizar varias acciones:
Ver un mapa, simplemente pulsando sobre esa opción,
Ver una brújula, en la que habría que pasar primero por un menú y seleccionar el destino. Aparece en verde una línea que indica la posición del destino respecto al norte, y en negro, si el móvil tiene una brújula hw integrada, la orientación del móvil respecto al norte. En el caso más habitual, en que este hw no está disponible, sería cosa del usuario situarse mirando al norte y orientarse.
También se permite acceder al menú con las localizaciones y verlas.
Y por último, cuando el usuario se encuentra en las proximidades de un punto con contenido asociado, se le avisa con sonido y con un mensaje escrito de que existe información disponible. El usuario podrá decidir sí acceder a ella o no.
Vemos ahora dos videos demostrativos del uso de la aplicación. Como hemos dicho se puede introducir contenido de lo más variado. Como ejemplo para esta demostración se obtuvo el permiso del Ayuntamiento de Málaga para usar contenidos de una ruta que ofrecen en las oficinas de turismo: la ruta Málaga Monumental.
Finalmente las conclusiones obtenidas han sido:
Se ha conseguido un sistema usable. Francisca Torres, que ha seleccionado los contenidos del ejemplo y ha utilizado la aplicación móvil por la ciudad de Málaga, ha dado su aprobación al obtener unos resultados muy satisfactorios.
Se ha probado el sistema web en distintos navegadores, y la funcionalidad no se ve afectada, aunque sí el aspecto de la situación de la imagen y texto en la pantalla del móvil, pues se han utilizado posiciones absolutas, y podría solucionarse fácilmente si éstas fuesen relativas.
Al utilizar la tecnología Java se ha conseguido que la aplicación pueda instalarse una amplia variedad de teléfonos móviles. Si se hubiese desarrollado una aplicación, quizá más llamativa para Smartphones, ésta estaría restringida para un grupo menor de usuarios.
La utilización del sistema no supone un coste adicional al usuario.
Y los tiempos de respuesta tanto de la aplicación web como de la móvil han sido buenos. Sin embargo el tiempo de conexión GPS en entornos urbanos, con edificios y vegetación, ha sido algo elevado, pero va intrínseco a la tecnología en sí.
Como posibles mejoras podrían señalarse:
La posibilidad de descargar el mapa de Google Maps.
La introducción de contenidos en otros formatos como video.
La adaptación de la aplicación en el móvil a la pantalla táctil
Y si se relajase la condición de los coste, el posible acceso a Internet para la ampliación de información
Y con esto termina la exposición del proyecto Sistema de información móvil basado en GPS.
Me pongo a su disposición para posibles preguntas.