~GSoC2010: Cristian Regep Geo Location Awareness and Visualizations Proposal

anildash edited this page Mar 26, 2011 · 1 revision
Clone this wiki locally


Technical details

In this project I will capture, or try to capture, Geo-Location from Twitter, Buzz and Facebook.

For Twitter and Facebook plugins already exist, but do not yet collect geo-location data. I will modify them in order to capture location.
Twitter is planning on launching a system through which each message will be coupled with its geo-location, but untill then I will have to deal with the users profile to see if he mentions his location.
With Facebook the plugin will have to look in the users’s profile in order to capture he’s current location.

For Buzz I will have to create a plugin myself, but it will be very similar to the Facebook one.

Some users, while social networking, might ask a question regarding location, so the other users will answer with their location in the message. I will leave the possibility for the user to select that the location is found in the message, so I will tweak the plugin to look through the message to get the location.

In some cases there will be no possible way of determining the location so I will give the user the possibility to set the location. I will show all the markers on the Google Map and he will be able of moving them around map. This also goes for the maps in which the location was found, I will let the markers moveable so the user can easily move them around.(The markers have a movable attribute in the Google Map script)

The Google Map will get the information it has to show through an XML generated by a PHP Script. The PHP script will use the plugins to retrieve the messages and what geolocation it can, and then will present them in the form of an XML so the Google Map can read it.

In order to compute the location I will use the free MaxMind database which can transform ip and locations in longitude and latitude coordinates. http://www.maxmind.com/

Until the 15th of April I will post here screenshots and mock-ups of what I have done

Attempted example
I have installed ThinkTank on my server and I started creating a Google map which shows users from Twitter. I believe this a suitable mock-up for this project

You can acces what I have done at http://thinktank.regep.org/webapp/

In order to achieve this I modified the Twitter plugin. I took the location given in the user’s info and I tried to search it in the MaxMind database I wrote about earlier. If a result wasn’t found I accesed the following link http://maps.google.com/?q={Twitter_location} . The Google maps search engine returns a location and I can save it in the database. This can also be done in realtime, so that I will not be necessary to save information in the database.

Afterwards I have made a PHP script which generates the Javascript and HTML code to generate the Google Map with Overlays from users location. Inside the Overlay you can find the user with he’s link and description.

As I have had direct experience with ThinkTank I can point out that a Location module or script is necessary. A script which gives Longitude and Latitude from a location string and also which can fish out the Longitude and Latitude from a location found in a message.

Given that I now have direct experience with ThinkTank I can point out an accurate Timeline

26 April – 24 May Bonding period. I will try to solve at least 5 known ( or unknwon until then) bugs so that I get a very good grasp of the project

24 May – 1 June I will create the location Module which will give the coordinates for location strings and messages which contain locations. It will also pay attention to not show two locations very close to each other. In order to do this it will split the whole planet into squares, and if a location is found within a square it will be shown in the middle of that square. The size of the square will be decided during development.

1 June – 10 June I will create a particular api for showying data on the Google Map. Afterwards it will be easy for the plugins to use the API to show on Google maps what is necessary (Overlays, Weighted Graphs according to the number of messages, number of users, possibility to group overlays into one singer overlay)

10 June – 17 June Finishing the Location functionality for the Twitter plugin which I have already started. Making it to communicate with the Location Module.

17 June – 30 June I will modify the Facebook plugin so that it gets location data. I will also make it communicate with the location module.

1 July – 22 July I will create the Buzz plugin and I will make it communicate with the location module.

22 July – 10 August I will chose another Social network to make a plugin for and will also make it show messages on the Google Map(Flickr is interesting. I can show a picture in its location and afterwards I can show the people who commented on it from different parts of the world)

10 August – 16 August This period will be used as a buffer in case things do not go according to plan. If I finish everything before the deadline and will not stop coding. I will focus on solving Bugs or whatever is demanded of me from the Mentor.