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

  • Published on
    22-Jan-2016

  • View
    213

  • Download
    0

Transcript

  • Presentacin RedesAplicacin Android Find Your Facebook Friends

    Autor: Daro Ortuo Esplugues

  • ContenidoIntroduccinSistema Operativo MvilTecnologas existentesDesarrollo de la aplicacinResultadosConclusionesTrabajo futuro

  • Introduccin (I)Cada vez las redes sociales son ms usadas por todo tipo de personas y el uso de Smartphones hace posible acceder a estas desde cualquier lugarLos servicios GPS aadidos al potencial de los servicios basados en localizacin, nos proporcionan un gran abanico de posibilidades

  • Introduccin (II)Caracteristicas de la aplicacin:Localiza tus amigos de Facebook en un mapa de Google MapsMuestra si los usuarios de Facebook estn onlineActualiza las localizaciones periodicamenteInformacion publicada en la localizacin

  • Sistema Operativo Mvil(I)Symbian OS, BlackBerry, iOS, Android y Windows PhoneAndroid es el segundo SO mvil ms usado en el tercer trimestre de 2010

  • Sistema Operativo Mvil (II)Android tuvo el mayor crecimiento en el nmero de usuariosen Q4 2010

  • TecnologasServicios basados en localizacin(LBS)AndroidFacebookGoogle Maps

  • Servicios basados en localizacin (I)Proveen un servicio personalizado para usuarios basado en informacin de ubicaciones geogrficasEstos servicios usan: Sistemas de Informacin GeogrficaTecnologa de posicionamiento del cliente, GPSO del servidor, proporcionado por el operador de redTecnologa de redes de comunicacinLas tpicas aplicaciones LBS applications proporcionan servicios geogrficos en tiempo real

  • Servicios basados en localizacin (II)Componentes LBSDispositivos MvilesRed de comunicacinComponentede posicionamientoService and Application ProviderData and Content Provider

  • Android (I)Completo set de software que contiene un SO, middleware y aplicaciones basdas en Linux kernel, diseado originalmente para dispostivos mvilesNos permite desarrollar aplicaciones en Java y lanzarlas en la mquina virtual Dalvik compilando en tiempo de ejecucin

  • Android (II)Arquitectura Android (I)

  • Android (III)Componentes AndroidActividades: Proporcionan una pantalla para interactuar con la aplicacin, normalmente una aplicacin tiene varias actividades siendo una la principal

    Servicios: No suministra una interfaz sino que realiza operaciones de larga duracin en segundo plano. Cualquier componente de la aplicacin puede empezar un servicio que seguir funcionando incluso si los usuarios cambian de aplicacin

    Proveedores de contenido: Gestionan un conjunto compartido de datos de la aplicacin, se puede almacenar y recuperar datos y hacerlos accesibles a todas las aplicaciones. Cuando queremos hacer nuestros datos pblicos, 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.

  • Facebook (I)Facebook Platform proporciona un SDKs para iOS y Android, y funciones web para acceder desde un navegadorFacebook Graph APIEs 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)

  • Facebook (II)CheckinsManera de compartir la localizacin de un usuarioCompuesto por:CoordenadasFecha de publicacinMensajePgina en la que se hace el checkin

  • Google Maps (I)Google APIs Add-On (I) Es una extensin del entorno de desarrollo Android SDK que permite implementar aplicaciones para dispositivos que incluye:Set de aplicaciones GoogleLibreriasServicios

  • Google Maps(II)Google APIs Add-On (II)Incluye:Librera externa de Mapas, las clases de esta librera permiten descarga, rendering, and cacheode Mapas, asi como una variedad de controles y opciones de visualizacin. 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 diseados para dispositivos Android.

  • Aplicacin (I)Aplicacin Android capaz de localizar los amigos de un usuario de Facebook en un mapa de GoogleLa aplicacin usar los checkins de los amigos del usuario para dibujarlos en el mapa

  • Aplicacin (II)Los checkins estn asociados con localizaciones representadas por Facebook Pages, el software obtiene la informacin necesaria para pintar a los usuarios en su ltima localizacin conocida: Coordenadas Timestamp Nombre del lugar Mensaje escrito

  • Aplicacin (III)En primer lugar, el usuario debe loguearse en Facebook y aceptar los permisos usados por la aplicacin tales como:Informacin de su checkinInformacin del checkin de sus amigosEstado online presence de sus amigosPublicar checkins en Facebook.

  • Aplicacin (IV)Muestra el mapa y un mensaje de que el programa est cargando la localizacin de sus amigosDibuja dichas localizaciones en el mapa con diferentes estrellas coloreadasOnline, estrella rojaOffline, estrella gris Idle, estrella azulLocalizacin actual del usuario, crculo azul parpadeante

  • Aplicacin (V)Las localizaciones se actualizan cada cierto tiempo dependiendo del nmero de amigos o la calidad de la redPara publicar la localizacin 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

  • Resultados (I)Dilogo de Facebook para que el usuario pueda loguearse con su cuenta de Facebook

  • Resultados (II)El principal problema de la aplicacin es el tiempo gastado en peticionesEl software debe comprobar todos los amigos del usuario y este tiempo puede ser muy diferente dependiendo del nmero de amigos del usuarioCada vez que el usuario lanza la aplicacin debe esperar demasiado tiempo hasta que todas las localizaciones son obtenidas

  • Resultados (III)El tiempo medio con diferente nmero de amigos del usuario, es medido con el mtodo del sistema System.currentTimeMillis()Nosotros medimos el tiempo desde que la aplicacin empieza a solicitar la informacin para comprobar que amigos del usuario tienen informacin de checkin y finalizar cuando los haya comprobado todosEsta medida la realizaremos cinco veces para 10, 50, 100 y 200 amigos del usuario y obtendremos la media

  • Results (IV)Adems, el tiempo usado en las peticiones puede cambiar dependiendo del rendimiento del canalLa aplicacin mide el tiempo de cada carga o actualizacinUsa este tiempo para esperar a la siguiente actualizacin asi asegurandose de que la ultima actualizacin ha finalizado

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

  • Results (VI)Problema publicando la localizacin actual del usuarioEn Facebook para publicar una localizacin es necesario publicar un checkin que est asociado a una pgina de FacebookSino existe una pagina con coordenadas cerca de la localizacin del usuario, la aplicacin no ser capaz de publicar el checkin ya que Facebook Platform no permite crear pginas desde el APILa aplicacin busca una pgina cerca de las coordenadas del usuario y pblica el checin en esa pginaSino encuentra una pgina cerca busca en un radio mayorSi sigue sin encontra una cercana muestra un mensaje indicando que la operacin no ha sido posible

  • ConclusionesLa aplicacin ha sido desarrollada implementando completamente los requisitos deseadosAplicacin para un dispositivo mvil capaz de obtener la localizacin de los amigos de Facebook del usuarioUsa estas localizaciones para dibujarlos en un mapa de GoogleNos hemos encontrado con varios problemas a lo largo del desarrolloBajo rendimiento causado por la cantidad de peticiones necesarias para comprobar que usuarios tienen informacin de su localizacin (checkin)Imposibilidad de crear pginas de Facebook haciendo imposible publicar checkins si no existe una cerca de la localizacin del dispositivo mvil

  • Trabajo futuroMejorar el rendimientoPublicacin de checkinsDibujando el recorrido

  • Mejorar el rendimiento (I)Guardar los usuarios con checkins in una archivo fisico para las siguientes ejecuciones de la aplicacin.Realizar dos actualizaciones en paraleloActualizar las localizaciones de los usuarios con checkins guardadosComprobar el resto de usuarios (cada ms tiempo)

  • Publicacin de checkinsCrear un algoritmo eficiente para obtener las pginas ms cercanasQue el usuario pueda elegir donde hacer el checkin, la aplicacin elige la ms cercana

  • Dibujar el recorrido Dibujar la ruta que un usuario sigue mientras la aplicacin est funcionandoLa ruta desde la localizacin actual del usuario hasta cualquiera de sus amigos pintados en el mapa

  • BibliographyGoogle 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., 2004. Location-based services. Morgan Kaufmann Publishers.