FriLoc - Your Friends Locations

Overview

I am a geek. An avid smartphone user that cannot even imagine how life was before mobile internet was invented. And I always wanted to be in permanent contact with my best friends. I always wanted to know their physical location and shared mine with them. Plus, I usually always find myself in a need to discover relevant cool venues nearby. So ...

State Of The Art

... I started searching for the perfect mobile app that would completly satisfy my needs.
I soon discovered Foursquare, Gowalla and Facebook Places. I gave them a try, but unfortunately I soon discovered some gaps. The main problem with these 3 social networks is that they are too focused on where the user was at a given time.
Later, a friend of mine suggested to giving Google Latitude a try. In the beginning, I liked it. But soon I discovered that Google Latitude had some annoying gaps too. First of all, it is was too little focused on venues, and it didn't offered integration with other social networks (e.g. Facebook). I mean, since everyone is Facebook addicted these days, I had no friends on Google Latitude.

Project Goal

And so, I came up with an idea that would fit perfectly for my Diploma Project, as well as solving my need: FriLoc!
FriLoc is a mobile social network, based on user's real-time geolocation, that offers integration with Facebook (which is the third country in the world!), and it is strongly focused on the close relationships between users.
 

Architecture Diagram

 

Architecture Components

Web Service

It is based on the REST (Representational State Transfer) paradigm, written in PHP 5.
It consists of 4 modules:

Database

It is based on MySQL. The PHP code uses the extension MySQLi (MySQL Improved) in order to effectively communicate with the database.

Facebook Application

The Facebook Application facilitates the access to the Facebook API. Data confidentiality is ensured by the HTTPS protocol, and the authentication mechanism is ensured by the OAuth2 protocol.
In order to properly make use of the API, the following specific Facebook permissions are needed by the app:
Read Permission Write Permission
email offline_access
read_friendlists publish_stream
  publish_checkins
  create_event
  rsvp_event
 

Android Application

It is written for Android 2.1+, carefully optimized for battery consumption and mobile data usage.
In order to get and push location updates, there is a background service running, that constantly sends and receives location updates to the web service, using the FriLoc API.
The user's location is obtained using GSM Triangulation. This mechanism is battery optimized, and provides the users's location with an acceptable error of 100 meters in cities.

Application Features

Mobile Application Screenshots

























http://friloc.com

FriLoc Diploma Presentation

The slides of my Diploma Presentation can be found on my Slideshare account:
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare [ro]

FriLoc Diploma Paper

The thesis of my Diploma Project can be found on my Slideshare account:
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare [ro]

Contact

Vlad Petre
vlad[at]vladpetre[dot]com
http://twitter.com/vladpetre88
http://linkedin.com/in/vladpetre88
http://slideshare.com/vladpetre88

I would like to thank Professor Nicolae Tapus and teaching assistant Alexandru Olteanu for carefully guiding me while working on my Diploma Project.