Cluster Grid

Font Size

SCREEN

Layout

Menu Style

Cpanel
Error
  • Error loading feed data

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 communication module;
  • Facebook API communication module;
  • API for mobile clients;
  • Module for processing or initiating requests (the controller).

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

  • Authentication works only with a Facebook id.
  • Choosing your best friends to whom you want to share your location, from your Facebook friends list.
  • Ability to set georeminders (location based reminders). When you pass nearby a georeminder, an alarm is triggered.
  • Ability to see relevant nearby venues (based on your friends ratings).
  • Ability to see a Live Feed, which is constantly populated with your friends updates.
  • Ability to see location based events.
  • Friends nearby notifications.

Mobile Application Screenshots


FriLoc Diploma Presentation

The slides of my Diploma Presentation can be found on my Slideshare account:

FriLoc Diploma Paper

The thesis of my Diploma Project can be found on my Slideshare account:

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.