Presentation material on using Yahoo Blueprint GEO headers to detect user's location and benefit it for social networking.
Sample uses http://www.bola.mobi website, a niche soccer website for Indonesia Soccer League fans.
2. Introducing BOLA.MOBILE
A mobile apps, create
using Yahoo Blueprint
technology
Targeting a very specific
and niche market, the
Indonesian Soccer League
7. BP Headers
[HTTP_GEO_COUNTRY] => ID
[HTTP_GEO_POSITION] => -6.18287, 106.829109
[HTTP_X_CARRIER] => UNKNOWN; country=ID
[HTTP_X_GEO_LOCATION] => name=; street=;
city=Jakarta; state=; country=ID; zip=
Geolocation data for Indonesia is sucky
but Yahoo will make it better through
FireEagle and Koprol.
Trust me.
8. getDistance Between Two
Coordinates – MySQL Function
CREATE FUNCTION `getDistance`(
lat1 DECIMAL(23,20),
lon1 DECIMAL(23,20),
lat2 DECIMAL(23,20),
lon2 DECIMAL(23,20)
) RETURNS decimal(15,5)
BEGIN
SET @R = 6371;
SET @dLat = RADIANS(lat2 - lat1);
SET @dLon = RADIANS(lon2 - lon1);
SET @a = POW( SIN(@dLat/2), 2 ) + ( COS( RADIANS(lat1) ) * COS( RADIANS(lat2) ) *
POW( SIN(@dLon/2), 2 ));
SET @c = 2 * ATAN2( SQRT(@a), SQRT(1 - @a) );
SET @d = @R * @c;
RETURN @d;
END
9. Everytime the user logged in
We update the user’s location and coordinates
[HTTP_GEO_POSITION] => -6.18287, 106.829109
[HTTP_X_GEO_LOCATION] => name=; street=;
city=Jakarta; state=; country=ID; zip=
10. Results!
Look for my buddies really
close to me, and then look
for the ones who logged in
recently
Ordered by Distance
from where I am.
REALLY COOL!