La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aplicación Android Find Your Facebook Friends

Presentaciones similares


Presentación del tema: "Aplicación Android Find Your Facebook Friends"— Transcripción de la presentación:

1 Aplicación Android Find Your Facebook Friends
Presentación Redes Aplicación Android Find Your Facebook Friends Autor: Darío Ortuño Esplugues

2 Contenido Introducción Sistema Operativo Móvil Tecnologías existentes
Desarrollo de la aplicación Resultados Conclusiones Trabajo futuro

3 Introducción (I) Cada vez las redes sociales son más usadas por todo tipo de personas y el uso de Smartphones hace posible acceder a estas desde cualquier lugar Los servicios GPS añadidos al potencial de los servicios basados en localización, nos proporcionan un gran abanico de posibilidades

4 Introducción (II) Caracteristicas de la aplicación:
Localiza tus amigos de Facebook en un mapa de Google Maps Muestra si los usuarios de Facebook están online Actualiza las localizaciones periodicamente Informacion publicada en la localización

5 Sistema Operativo Móvil(I)
Symbian OS, BlackBerry, iOS, Android y Windows Phone Android es el segundo SO móvil más usado en el tercer trimestre de 2010

6 Sistema Operativo Móvil (II)
Android tuvo el mayor crecimiento en el número de usuarios en Q4 2010

7 Tecnologías Servicios basados en localización(LBS) Android Facebook
Google Maps

8 Servicios basados en localización (I)
Proveen un servicio personalizado para usuarios basado en información de ubicaciones geográficas Estos servicios usan: Sistemas de Información Geográfica Tecnología de posicionamiento del cliente, GPS O del servidor, proporcionado por el operador de red Tecnología de redes de comunicación Las típicas aplicaciones LBS applications proporcionan servicios geográficos en tiempo real

9 Servicios basados en localización (II)
Componentes LBS Dispositivos Móviles Red de comunicación Componente de posicionamiento Service and Application Provider Data and Content Provider

10 Android (I) Completo set de software que contiene un SO, middleware y aplicaciones basdas en Linux kernel, diseñado originalmente para dispostivos móviles Nos permite desarrollar aplicaciones en Java y lanzarlas en la máquina virtual Dalvik compilando en tiempo de ejecución

11 Android (II) Arquitectura Android (I)

12 Android (III) Componentes Android
Actividades: Proporcionan una pantalla para interactuar con la aplicación, normalmente una aplicación tiene varias actividades siendo una la principal Servicios: No suministra una interfaz sino que realiza operaciones de larga duración en segundo plano. Cualquier componente de la aplicación puede empezar un servicio que seguirá funcionando incluso si los usuarios cambian de aplicación Proveedores de contenido: Gestionan un conjunto compartido de datos de la aplicación, se puede almacenar y recuperar datos y hacerlos accesibles a todas las aplicaciones. Cuando queremos hacer nuestros datos públicos, tenemos dos opciones. Podemos crear nuestro propio contenido o agregar los datos a un proveedor. Receptores Broadcast: Responden a los avisos broadcast del sistema, este tipo de componentes no proporcionan una interfaz de usuario, aunque un receptor puede crear una barra de estado para alertar al usuario cuando un evento broadcast se produce.

13 Facebook (I) Facebook Platform proporciona un SDKs para iOS y Android, y funciones web para acceder desde un navegador Facebook Graph API Es el nucleo de Facebook Platform llamado social graph. Consiste en una vista de objetos (people, pages, events…) y las relaciones entre ellos(friend relationships, photo tags…)

14 Facebook (II) Checkins
Manera de compartir la localización de un usuario Compuesto por: Coordenadas Fecha de publicación Mensaje Página en la que se hace el checkin

15 Google Maps (I) Google APIs Add-On (I)
Es una extensión del entorno de desarrollo Android SDK que permite implementar aplicaciones para dispositivos que incluye: Set de aplicaciones Google Librerias Servicios

16 Google Maps(II) Google APIs Add-On (II) Incluye:
Librería externa de Mapas, las clases de esta librería permiten descarga, rendering, and cacheode Mapas, asi como una variedad de controles y opciones de visualización. La clase principal es MapView, la cual muestra un mapa con datos obtenidos desde el servicio de Google Maps. USB Open Accessory Library, permite a los usuarios conectar USB host especificamente diseñados para dispositivos Android.

17 Aplicación (I) Aplicación Android capaz de localizar los amigos de un usuario de Facebook en un mapa de Google La aplicación usará los checkins de los amigos del usuario para “dibujarlos” en el mapa

18 Aplicación (II) Los checkins están asociados con localizaciones representadas por Facebook Pages, el software obtiene la información necesaria para “pintar” a los usuarios en su última localización conocida: Coordenadas Timestamp Nombre del lugar Mensaje escrito

19 Aplicación (III) En primer lugar, el usuario debe loguearse en Facebook y aceptar los permisos usados por la aplicación tales como: Información de su checkin Información del checkin de sus amigos Estado online presence de sus amigos Publicar checkins en Facebook.

20 Aplicación (IV) Muestra el mapa y un mensaje de que el programa está cargando la localización de sus amigos Dibuja dichas localizaciones en el mapa con diferentes estrellas coloreadas Online, estrella roja Offline, estrella gris Idle, estrella azul Localización actual del usuario, círculo azul parpadeante

21 Aplicación (V) Las localizaciones se actualizan cada cierto tiempo dependiendo del número de amigos o la calidad de la red Para publicar la localización debe haber una pagina de Facebook creada en las coordenas actuales o cerca, porque Facebook no permite crearlas desde el API, solo es posible crearlas desde la web de Facebook

22 Resultados (I) Diálogo de Facebook para que el usuario pueda loguearse con su cuenta de Facebook

23 Resultados (II) El principal problema de la aplicación es el tiempo gastado en peticiones El software debe comprobar todos los amigos del usuario y este tiempo puede ser muy diferente dependiendo del número de amigos del usuario Cada vez que el usuario lanza la aplicación debe esperar “demasiado” tiempo hasta que todas las localizaciones son obtenidas

24 Resultados (III) El tiempo medio con diferente número de amigos del usuario, es medido con el método del sistema System.currentTimeMillis() Nosotros medimos el tiempo desde que la aplicación empieza a solicitar la información para comprobar que amigos del usuario tienen información de checkin y finalizará cuando los haya comprobado todos Esta medida la realizaremos cinco veces para 10, 50, 100 y 200 amigos del usuario y obtendremos la media

25 Results (IV) Además, el tiempo usado en las peticiones puede cambiar dependiendo del rendimiento del canal La aplicación mide el tiempo de cada carga o actualización Usa este tiempo para esperar a la siguiente actualización asi asegurandose de que la ultima actualización ha finalizado

26 Results (V) Una vez los requests para obtener las localizaciones de los amigos han terminado se dibujan en el mapa, asi como la posición actual del usuario

27 Results (VI) Problema publicando la localización actual del usuario
En Facebook para publicar una localización es necesario publicar un checkin que esté asociado a una página de Facebook Sino existe una pagina con coordenadas cerca de la localización del usuario, la aplicación no será capaz de publicar el checkin ya que Facebook Platform no permite crear páginas desde el API La aplicación busca una página cerca de las coordenadas del usuario y pública el checin en esa página Sino encuentra una página cerca busca en un radio mayor Si sigue sin encontra una cercana muestra un mensaje indicando que la operación no ha sido posible

28 Conclusiones La aplicación ha sido desarrollada implementando completamente los requisitos deseados Aplicación para un dispositivo móvil capaz de obtener la localización de los amigos de Facebook del usuario Usa estas localizaciones para dibujarlos en un mapa de Google Nos hemos encontrado con varios problemas a lo largo del desarrollo Bajo rendimiento causado por la cantidad de peticiones necesarias para comprobar que usuarios tienen información de su localización (checkin) Imposibilidad de crear páginas de Facebook haciendo imposible publicar checkins si no existe una cerca de la localización del dispositivo móvil

29 Trabajo futuro Mejorar el rendimiento Publicación de checkins
Dibujando el recorrido

30 Mejorar el rendimiento (I)
Guardar los usuarios con checkins in una archivo fisico para las siguientes ejecuciones de la aplicación. Realizar dos actualizaciones en paralelo Actualizar las localizaciones de los usuarios con checkins guardados Comprobar el resto de usuarios (cada más tiempo)

31 Publicación de checkins
Crear un algoritmo eficiente para obtener las páginas más cercanas Que el usuario pueda elegir donde hacer el checkin, la aplicación elige la más cercana

32 Dibujar el recorrido Dibujar la ruta que un usuario sigue mientras la aplicación está funcionando La ruta desde la localización actual del usuario hasta cualquiera de sus amigos “pintados” en el mapa

33 Bibliography Google Inc. Android Developer Guide. Available in Web: < Google Inc. Android Reference. Available in Web: < Google Inc. Android SDK. Available in Web: < Facebook. Facebook Developers Documentation. Available in Web: < Facebook. Facebook SDK. Available in Web: < Google Inc. Google Maps Reference for Android. Available in Web: < Google Inc. Google Maps Dev Guide for Android. Available in Web: < Steiniger, Stefan, Neun, Moritz, and Edwardes, Alistair. "Foundations of Location Based Services", University of Zurich. Available in Web: < Schiller, J. H., and Voisard, A., “Location-based services”. Morgan Kaufmann Publishers.


Descargar ppt "Aplicación Android Find Your Facebook Friends"

Presentaciones similares


Anuncios Google