LOCATION.AWARE
How To Build Apps That Are Smarter
Sourav Chakraborty
WHERE
www.flickr.com/photos/mukumbura/4092900623/
WHAT'S AROUND
HOW TO GO THERE?
http://www.flickr.com/photos/anonymouscollective/1899303123/
MAPS
http://en.wikipedia.org/wiki/World_map
BEYOND MAPS
TYPICAL QUESTIONS
Where?
What's Happening Here?
What's Around?
When?
Who?
Meta?
CURRENT LOCATION
Ask
Sniff
Infer
ASK THE USER
ASK THE BROWSER
ASK THE BROWSER
http://blog.ganeshzone.net/index.php/
2011/05/geolocation-api-with-html5/
ASK THE BROWSER
W3C GEOLOCATION APInavigator.geolocation.getCurrentPosition(function(position)
{
console.log(
'Your Coordinates are ’
+
po...
SNIFF
IP SNIFFING
http://isithackday.com/hacks/geo/js-location.html
IP SNIFFING<script type="text/javascript"
src="http://j.maxmind.com/app/geoip.js">
</script>
geoip_latitude
geoip_longitud...
INFER
QUERY
TOO MUCH TROUBLE?
TOO MANY MOVING PARTS?
TOO MANY APIS?
YQL
GEOCODING
select * from geo.placefinder where text = "iit hyderabad"
<latitude>17.34725</latitude>
<longitude>78.428177</l...
REVERSE GEOCODING
select * from geo.placefinder where text="37.416275,-122.025092"
and gflags="R"
<line1>718 1st Ave</line...
WOEID
WHERE ON EARTH ID
WOEIDhttp://where.yahooapis.com/v1/places.q('hitech city')?appid=xyz
<place yahoo:uri="http://where.yahooapis.com/v1/place...
WOEIDhttp://where.yahooapis.com/v1/place/55924382?appid=xyz&format=json
{
"place": {
"woeid": 55924382,
"placeTypeName": "...
Yahoo! GeoPlanet
http://developer.yahoo.com/geo/geoplanet/
Yahoo! GeoPlanet
geo.places.ancestors
geo.places.belongtos
geo.places.children
geo.places.common
geo.places.descendants
ge...
GeoPlanet Explorer
http://isithackday.com/geoplanet-explorer/
GEO.PLACEMAKER
SELECT * FROM geo.placemaker WHERE documentContent =
"While Deepika is from Bangalore, Bipasha is from Kolk...
GEO.PLACEMAKER
SELECT * FROM geo.placemaker WHERE documentURL =
"www.telegraphindia.com/1120323/jsp/calcutta/index.jsp"
AN...
PUTTING IT TOGETHER
Demo: http://icant.co.uk/geomaker/index.php
Code: https://github.com/codepo8/GeoMaker
INTERESTING HACKS
http://trendsmap.com/local/india
AWESOME APPS
AUGMENTED REALITY
http://www.businessinsider.com/best-augmented-reality-apps-for-iphone-and-ios-2011-3?op=1
USEFUL RESOURCES
http://developer.yahoo.com/geo/
http://isithackday.com/hacks/geo/
http://isithackday.com/geoplanet-explor...
QUESTIONS?
Location.Aware
Location.Aware
Upcoming SlideShare
Loading in...5
×

Location.Aware

153

Published on

How to build smart apps that uses user's location

Published in: Technology, Sports
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
153
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Location.Aware

  1. 1. LOCATION.AWARE How To Build Apps That Are Smarter Sourav Chakraborty
  2. 2. WHERE www.flickr.com/photos/mukumbura/4092900623/
  3. 3. WHAT'S AROUND
  4. 4. HOW TO GO THERE? http://www.flickr.com/photos/anonymouscollective/1899303123/
  5. 5. MAPS http://en.wikipedia.org/wiki/World_map
  6. 6. BEYOND MAPS
  7. 7. TYPICAL QUESTIONS Where? What's Happening Here? What's Around? When? Who? Meta?
  8. 8. CURRENT LOCATION Ask Sniff Infer
  9. 9. ASK THE USER
  10. 10. ASK THE BROWSER
  11. 11. ASK THE BROWSER http://blog.ganeshzone.net/index.php/ 2011/05/geolocation-api-with-html5/
  12. 12. ASK THE BROWSER
  13. 13. W3C GEOLOCATION APInavigator.geolocation.getCurrentPosition(function(position) { console.log( 'Your Coordinates are ’ + position.coords.latitude + ' & ’ + position.coords.longitude ); }); http://dev.w3.org/geo/api/spec-source.html
  14. 14. SNIFF
  15. 15. IP SNIFFING http://isithackday.com/hacks/geo/js-location.html
  16. 16. IP SNIFFING<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"> </script> geoip_latitude geoip_longitude geoip_city geoip_region geoip_region_name geoip_postal_code geoip_country_code geoip_country_name
  17. 17. INFER
  18. 18. QUERY
  19. 19. TOO MUCH TROUBLE? TOO MANY MOVING PARTS? TOO MANY APIS?
  20. 20. YQL
  21. 21. GEOCODING select * from geo.placefinder where text = "iit hyderabad" <latitude>17.34725</latitude> <longitude>78.428177</longitude> <city>Hyderabad</city> <county>Hyderabad</county> <state>Andhra Pradesh</state> <country>India</country> <countrycode>IN</countrycode> <statecode>AP</statecode> <countycode/> <uzip>500064</uzip> <woeid>2295414</woeid>
  22. 22. REVERSE GEOCODING select * from geo.placefinder where text="37.416275,-122.025092" and gflags="R" <line1>718 1st Ave</line1> <line2>Sunnyvale, CA 94089</line2> <line3/> <line4>United States</line4> <house>718</house> <street>1st Ave</street> <postal>94089</postal> <city>Sunnyvale</city> <county>Santa Clara</county> <state>California</state> <country>United States</country> <countrycode>US</countrycode> <statecode>CA</statecode> <uzip>94089</uzip> <hash>23370B9241162954</hash> <woeid>12797150</woeid> <woetype>11</woetype>
  23. 23. WOEID WHERE ON EARTH ID
  24. 24. WOEIDhttp://where.yahooapis.com/v1/places.q('hitech city')?appid=xyz <place yahoo:uri="http://where.yahooapis.com/v1/place/55924382" xml:lang="en- <woeid>55924382</woeid> <placeTypeName code="22">Suburb</placeTypeName> <name>Hitech City</name> <country type="Country" code="IN" woeid="23424848">India</country> <admin1 type="State" code="IN-AP" woeid="2345740">Andhra Pradesh</admin1> <admin2 type="District" code="" woeid="12586344">Rangareddi</admin2> <admin3/> <locality1 type="Town" woeid="2295414">Hyderabad</locality1> <locality2 type="Suburb" woeid="55924382">Hitech City</locality2>
  25. 25. WOEIDhttp://where.yahooapis.com/v1/place/55924382?appid=xyz&format=json { "place": { "woeid": 55924382, "placeTypeName": "Suburb", "placeTypeName attrs": { "code": 22 }, "name": "Hitech City", "country": "India", "country attrs": { "type": "Country", "code": "IN", "woeid": 23424848 }, "locality2": "Hitech City", "locality2 attrs": { "type": "Suburb", "woeid": 55924382 }, "postal": "", "centroid": {
  26. 26. Yahoo! GeoPlanet http://developer.yahoo.com/geo/geoplanet/
  27. 27. Yahoo! GeoPlanet geo.places.ancestors geo.places.belongtos geo.places.children geo.places.common geo.places.descendants geo.places.neighbors geo.places.parent geo.places.siblings
  28. 28. GeoPlanet Explorer http://isithackday.com/geoplanet-explorer/
  29. 29. GEO.PLACEMAKER SELECT * FROM geo.placemaker WHERE documentContent = "While Deepika is from Bangalore, Bipasha is from Kolkata they predominantly act in movies made in Mumbai" AND documentType="text/plain" <matches> <match> <place xmlns="http://wherein.yahooapis.com/v1/schema"> <woeId>2295420</woeId> <type>Town</type> <name><![CDATA[Bangalore, Karnataka, IN]]></name> <centroid> <latitude>12.9558</latitude> <longitude>77.621</longitude> </centroid> </place> </match> <match> <place xmlns="http://wherein.yahooapis.com/v1/schema"> <woeId>2295386</woeId> <type>Town</type> <name><![CDATA[Kolkata, West Bengal, IN]]></name> <centroid>
  30. 30. GEO.PLACEMAKER SELECT * FROM geo.placemaker WHERE documentURL = "www.telegraphindia.com/1120323/jsp/calcutta/index.jsp" AND documentType="text/html" <matches> <match> <place xmlns="http://wherein.yahooapis.com/v1/schema"> <woeId>29274615</woeId> <type>POI</type> <name><![CDATA[Hatibagan Market, Kolkata, West Bengal, IN]]></name> <centroid> <latitude>22.5944</latitude> <longitude>88.3705</longitude> </centroid> </place> </match> <match> <place xmlns="http://wherein.yahooapis.com/v1/schema"> <woeId>2295386</woeId> <type>Town</type> <name><![CDATA[Kolkata, West Bengal, IN]]></name> <centroid> <latitude>22.5499</latitude>
  31. 31. PUTTING IT TOGETHER Demo: http://icant.co.uk/geomaker/index.php Code: https://github.com/codepo8/GeoMaker
  32. 32. INTERESTING HACKS http://trendsmap.com/local/india
  33. 33. AWESOME APPS
  34. 34. AUGMENTED REALITY http://www.businessinsider.com/best-augmented-reality-apps-for-iphone-and-ios-2011-3?op=1
  35. 35. USEFUL RESOURCES http://developer.yahoo.com/geo/ http://isithackday.com/hacks/geo/ http://isithackday.com/geoplanet-explorer/ http://developer.yahoo.com/geo/geoplanet/data/
  36. 36. QUESTIONS?

×