Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 18 (more)

Adding "Where" to Mobile and Web Applications

From rsarver, 3 months ago

Web 2.0 Expo 2008 Session Slides "Adding 'Where' to Mobile and Web more

3182 views  |  1 comment  |  16 favorites  |  210 downloads  |  5 embeds (Stats)
 

Tags

gps location mobile lbs loki skyhook skyhookwireless web2expo geo web

more

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 3182
on Slideshare: 3133
from embeds: 49* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Adding “Where” to Mobile and Web Applications Wednesday, April 23, 2008 1

Slide 2: me Ryan Sarver Director of Consumer Products Skyhook Wireless / Loki http://loki.com http://skyhookwireless.com http://sarver.org http://linkedin/in/rsarver Wednesday, April 23, 2008 2

Slide 3: practical tools to allow you to add location capabilities to your website or app today Wednesday, April 23, 2008 3

Slide 4: sarver.org for links after session Wednesday, April 23, 2008 4

Slide 5: location = context Wednesday, April 23, 2008 5

Slide 6: higher context = relevancy Wednesday, April 23, 2008 6

Slide 7: higher location = relevancy Wednesday, April 23, 2008 7

Slide 8: location comes in many flavors Wednesday, April 23, 2008 8

Slide 9: 42.2817, -71.18279 Wednesday, April 23, 2008 9

Slide 10: Polygons Wednesday, April 23, 2008 10

Slide 11: 747 Howard St San Francisco, CA Wednesday, April 23, 2008 11

Slide 12: Howard St & 3rd St Wednesday, April 23, 2008 12

Slide 13: South of Market Wednesday, April 23, 2008 13

Slide 14: how you display it can be used as a way of blurring location Wednesday, April 23, 2008 14

Slide 15: markers in maps can be difficult when dealing with exposed location Wednesday, April 23, 2008 15

Slide 16: Ryan checked into Soma, San Francisco, CA Wednesday, April 23, 2008 16

Slide 17: Sharing Location with Friends http://my.loki.com Wednesday, April 23, 2008 17

Slide 18: Geotargeting Rules of Thumb 1. Offer everything you can 2. Degrade gracefully 3. Allow the user to change it Know your users, know your use cases! Wednesday, April 23, 2008 18

Slide 19: Tip! yoursite.com ?lat=&lng= Wednesday, April 23, 2008 19

Slide 20: where does location happen? client & network Wednesday, April 23, 2008 20

Slide 21: Mobile many locations in, Mobile one location out Web Web Apps asynchronous Apps Laptop Laptop Location Broker (FireEagle) Wednesday, April 23, 2008 21

Slide 22: Wednesday, April 23, 2008 22

Slide 23: FireEagle Pseudo <?php $fe = new FireEagle( $fe_key, $fe_secret, $_SESSION['access_token'], $_SESSION['access_secret']); $r = $fe->update(array(‘q’ => ‘san francisco, ca’)); $loc = $fe->user(); foreach ($loc->user->location_hierarchy as $location) { echo $location->latitude.", ".$location->longitude; } ?> Wednesday, April 23, 2008 23

Slide 24: Desktop Web Profile • Stationary sessions single location lookups • Indoors GPS and Cell Tower don’t work • Easier data entry • More complex data can be displayed Wednesday, April 23, 2008 24

Slide 25: Mobile Profile • Transient sessions single location and continuous • Indoors and Outdoos IP doesn’t work • Difficult data entry minimize the amount typed • Small screen size, low computing power, be “power-aware” Wednesday, April 23, 2008 25

Slide 26: Geolocation Methods 1.Triangulate 2.Associate 3.Geo Term Extraction 4.Data Entry / Geocoding Wednesday, April 23, 2008 26

Slide 27: Triangulation Determine position of an unknown object relative to known objects • Wi-Fi • GPS • Cell Tower Wednesday, April 23, 2008 27

Slide 28: GPS 1 meter Wi-Fi 20 meter Cell Tower 2,000 meter Wednesday, April 23, 2008 28

Slide 29: San Francisco Wi-Fi Wednesday, April 23, 2008 29

Slide 30: Wi-Fi Loki Javascript API http://loki.com/developers http://loki.com/developers/documentation Wednesday, April 23, 2008 30

Slide 31: GPS (sideload) Garmin Communicator Plugin http://www.garmin.com/ products/communicator/ http://developer.garmin.com/ web-device/garmin- communicator-plugin/ Wednesday, April 23, 2008 31

Slide 32: Association Wednesday, April 23, 2008 32

Slide 33: Association • Match an IP Address to a physical location • Not an exact science • Best for city-level geotargeting • False positives and in the correct state only ~85% Wednesday, April 23, 2008 33

Slide 34: IP Geolocation Quova http://www.quova.com ip2location http://www.ip2location.com MaxMind http://www.maxmind.com Wednesday, April 23, 2008 34

Slide 35: Geo Term Extraction Resolve an arbitrary string into a geographical point or area: “food in cambridge” = “food” in “Cambridge, Massachusetts, USA” MetaCarta Query Parser API http://ondemand.metacarta.com/?method=QueryParser Urban Mapping GeoMods http://urbanmapping.com/geomods/index.html Wednesday, April 23, 2008 35

Slide 36: Geocoding Resolve a geographically-based string into a geographical point or area Wednesday, April 23, 2008 36

Slide 37: Geocoding • Geonames Webservices http://www.geonames.org/export/ • Google Geocoder Class http://code.google.com/apis/maps/documentation/services.html#Geocoding • Yahoo Geocoding API http://developer.yahoo.com/maps/rest/V1/geocode.html • Geocoder.us http://geocoder.us/ Wednesday, April 23, 2008 37

Slide 38: Location in the Browser navigator.getGeolocation() • LocationAware.org Session at Where 2.0 http://www.locationaware.org • W3C Web API http://www.w3.org/2006/webapi/ Wednesday, April 23, 2008 38

Slide 39: Mobile Location Wednesday, April 23, 2008 39

Slide 40: Mobile Location APIs • iPhone Core Location API Wi-Fi, Cell Tower • Symbian S60 Location API GPS, A-GPS • J2ME JSR-179 GPS, device-specific Wednesday, April 23, 2008 40

Slide 41: @implementation MyLocationGetter - (void)startUpdates { if (nil == locationManager) locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; locationManager.distanceFilter = 1000; // 1 kilometer locationManager.desiredAccuracy = kCLLocationAccuracyKilometer; [locationManager startUpdatingLocation]; } Wednesday, April 23, 2008 41

Slide 42: - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { // Disable future updates to save power. [manager stopUpdatingLocation]; printf("latitude %+.6f, longitude %+.6fn", newLocation.coordinate.latitude, newLocation.coordinate.longitude); } http://forums.macrumors.com/showthread.php?t=455767 Wednesday, April 23, 2008 42

Slide 43: Other APIs / Platforms • Skyhook SDK WinMo, S60, Linux, XP,Vista, OSX http://www.skyhookwireless.com/ developers • WHERE Widgets AT&T, Sprint, Alltel, MetroPCS http://developer.where.com/ Wednesday, April 23, 2008 43

Slide 44: Skyhook Example int main(int argc, char *argv[]) { WPS_SimpleAuthentication authentication; authentication.username = argv[1]; authentication.realm = argv[2]; WPS_Location* location; int rc = WPS_location(&authentication, WPS_NO_STREET_ADDRESS_LOOKUP, &location); if (rc == WPS_OK) printf("%f, %fn", location->latitude, location->longitude); WPS_free_location(location); return 0; } Wednesday, April 23, 2008 44

Slide 45: Cell Tower • Zone Tag (yahoo) http://developer.yahoo.com/yrb/zonetag/ • OpenCellID http://www.opencellid.org • CellDB http://celldb.org/ Wednesday, April 23, 2008 45

Slide 46: Upcoming Events • Where 2.0 Burlingame, CA May 12th - 14th • WhereCamp Mountain View, CA May 17th - 18th Wednesday, April 23, 2008 46

Slide 47: Questions? Wednesday, April 23, 2008 47