presentación redes aplicación android find your facebook friends autor: darío ortuño esplugues

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

Upload: adoncia-marques

Post on 22-Jan-2016

243 views

Category:

Documents


0 download

TRANSCRIPT

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

Presentación Redes

Aplicación Android

Find Your Facebook Friends

Autor: Darío Ortuño Esplugues

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

Contenido

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

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

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

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

Introducción (II)

Caracteristicas de la aplicación:Localiza tus amigos de Facebook en un mapa

de Google MapsMuestra si los usuarios de Facebook están

onlineActualiza las localizaciones periodicamente Informacion publicada en la localización

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

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

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

Sistema Operativo Móvil (II)

Android tuvo el mayor

crecimiento en el

número de usuarios

en Q4 2010

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

Tecnologías

Servicios basados en localización(LBS) Android Facebook Google Maps

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

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

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

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

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

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

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

Android (II)

Arquitectura Android (I)

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

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.

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

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…)

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

Facebook (II)

CheckinsManera de compartir la localización de un

usuarioCompuesto por:

Coordenadas Fecha de publicación Mensaje Página en la que se hace el checkin

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

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

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

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.

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

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

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

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

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

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 amigosEstado online presence de sus amigosPublicar checkins en Facebook.

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

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

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

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

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

Resultados (I)

Diálogo de Facebook para que el usuario pueda loguearse con su cuenta de Facebook

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

Resultados (II)

El principal problema de la aplicación es el tiempo gastado en peticionesEl 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

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

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

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

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

Time spent in checking User Friends information

13847,8

76478,8

157741

315590

0

50000100000

150000

200000

250000300000

350000

10 50 100 200

Number of User Friends

Tim

e (

mil

iseco

nd

s)

Time (miliseconds)

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

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

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

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

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

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

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

Trabajo futuro

Mejorar el rendimiento Publicación de checkins Dibujando el recorrido

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

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 paraleloActualizar las localizaciones de los usuarios

con checkins guardadosComprobar el resto de usuarios (cada más

tiempo)

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

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

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

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

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

Bibliography Google Inc. Android Developer Guide. Available in Web:

<http://developer.android.com/guide/index.html>

Google Inc. Android Reference. Available in Web: <http://developer.android.com/reference/packages.html>

Google Inc. Android SDK. Available in Web: <http://developer.android.com/sdk/index.html>

Facebook. Facebook Developers Documentation. Available in Web: <http://developers.facebook.com/docs/>

Facebook. Facebook SDK. Available in Web: <https://github.com/facebook/facebook-android-sdk>

Google Inc. Google Maps Reference for Android. Available in Web: <http://code.google.com/intl/es-ES/android/add-ons/google-apis/reference/index.html>

Google Inc. Google Maps Dev Guide for Android. Available in Web:<http://code.google.com/android/add-ons/google-apis/maps-overview.html>

Steiniger, Stefan, Neun, Moritz, and Edwardes, Alistair. "Foundations of Location Based Services", University of Zurich. Available in Web:<http://mesh.dl.sourceforge.net/project/jump-pilot/w_other_freegis_documents/articles/lbs_lecturenotes_steinigeretal2006.pdf>

Schiller, J. H., and Voisard, A., 2004. “Location-based services”. Morgan Kaufmann Publishers.