SlideShare a Scribd company logo
W3C Geolocation API
      Making Websites Location-aware




Wednesday, April 1, 2009
me
                    • Director of Consumer Products at Skyhook
                      Wireless
                    • Founded Locationaware.org which
                      eventually became W3C Geolocation API
                      Working Group
                    • Follow @rsarver to get the SlideShare link
                      for slides after I post them


Wednesday, April 1, 2009
practical tools to allow you to
                   add location capabilities to
                       your website today



Wednesday, April 1, 2009
What is Geolocation?

                           History of Geolocation on the web

                           Current State of the Union

                           Location Technologies

                           Code Examples

                           Questions


Wednesday, April 1, 2009
location = context



Wednesday, April 1, 2009
higher
                           context =
                                     relevancy


Wednesday, April 1, 2009
higher
                       location =
                                  relevancy


Wednesday, April 1, 2009
location comes in
                             many flavors


Wednesday, April 1, 2009
37.78467, -122.40162



Wednesday, April 1, 2009
Wednesday, April 1, 2009
747 Howard St, San
                          Francisco, CA


Wednesday, April 1, 2009
4th St & Howard St



Wednesday, April 1, 2009
Soma



Wednesday, April 1, 2009
Pete’s Coffee



Wednesday, April 1, 2009
Business Search APIs
                    • Yahoo Local Search API
                    • Yelp API
                    • Localeze - sells business listing
                      information
                    • small businesses are tough, no db is
                      totally complete


Wednesday, April 1, 2009
how you display it
                 can be used as a way
                  of blurring location


Wednesday, April 1, 2009
Ryan checked into The
                        Mission


Wednesday, April 1, 2009
map markers can be
   misleading when dealing
      with user’s location




                           ... maybe use text instead
Wednesday, April 1, 2009
Wednesday, April 1, 2009
Wednesday, April 1, 2009
so, why should I use it?



Wednesday, April 1, 2009
Wednesday, April 1, 2009
HISTORY
                           a lot has changed in a year




Wednesday, April 1, 2009
Wednesday, April 1, 2009
locationaware.org


Wednesday, April 1, 2009
Google Gears


Wednesday, April 1, 2009
W3C Geolocation API

Wednesday, April 1, 2009
coalition of the willing




Wednesday, April 1, 2009
state of the union



http://www.flickr.com/photos/xrrr/2478140383/
Wednesday, April 1, 2009
2009 is the year of
                             location in the
                                Browser


Wednesday, April 1, 2009
• Geode Extension in Mozilla Labs.
                             Powered by Skyhook
                           • W3C Geolocation API support
                             natively in 3.1 (now called 3.5)

                           • Opera Labs release with W3C
                             Geolocation API support. Powered
                             by Skyhook


                           • Support in Chrome for Windows
                             and Android

Wednesday, April 1, 2009
http://bit.ly/mozilla-geode




     http://bit.ly/opera-geolocation




    http://google.com/chrome
Wednesday, April 1, 2009
Location Technologies



Wednesday, April 1, 2009
Two primary methods
                1. IP Geolocation
                2. Triangulation
                           • GPS
                           • Wi-Fi
                           • Cell Tower


Wednesday, April 1, 2009
IP Geolocation
          Pros
              • Widely available
              • Detection happens server-side
          Cons
              • Only accurate to the city-level
              • Only in the right state 85% of the time
              • Costly
              • Produces false positives
Wednesday, April 1, 2009
IP Geolocation
          Vendors

              • MaxMind - http://www.maxmind.com
                    • Has a free database - GeoLite City
              • Quova - http://www.quova.com
              • IPligence - http://www.ipilgence.com
              • IP2Location - http://www.ip2location.com


Wednesday, April 1, 2009
Triangulation
       GPS                                 10 m
       Wi-Fi                               20 m

       Cell Tower                     1000 m
Wednesday, April 1, 2009
GPS
          Pros
              • Accurate after it gets a fix
              • Highly accurate in rural area

          Cons
              • Doesn’t work indoors
              • Difficulty with Urban Canyons
              • Long Time to First Fix


Wednesday, April 1, 2009
Wi-Fi Triangulation




Wednesday, April 1, 2009
Wi-Fi Positioning (WPS)
          Pros
              • Accurate
              • Works indoors and in Urban Areas
              • Quick Time to First Fix
              • Software-only, leverages existing Wi-Fi

          Cons
              • Doesn’t work well in rural areas


Wednesday, April 1, 2009
• Cross-platform, cross-browser plugin for
                      adding geolocation to any website
                    • Locate a user down to their exact street
                      address with a few lines of javascript
                    • http://loki.com/how
                    • </plug>


Wednesday, April 1, 2009
Cell Triangulation
          Pros
              • Works where there is cell coverage (most
                areas)
              • Quick Time to First Fix
              • Software-only, leverages existing cellular
                radio

          Cons
              • Very inaccurate


Wednesday, April 1, 2009
short answer
                             hyrbid is the way




Wednesday, April 1, 2009
W3C Geolocation API

                           ... shut up and get to the code



Wednesday, April 1, 2009
Single shot lookup


   navigator.geolocation.getCurrentPosition(function(pos){
        //show map at (pos.coords.latitude, pos.coords.longitude)
   });




Wednesday, April 1, 2009
Position &
                       Coordinates Objects
   interface Position {
         readonly attribute Coordinates coords;
         readonly attribute DOMTimeStamp timestamp;
   };
   interface Coordinates {
         readonly attribute double latitude;
         readonly attribute double longitude;
         readonly attribute double altitude;
         readonly attribute double accuracy;
         readonly attribute double altitudeAccuracy;
         readonly attribute double heading;
         readonly attribute double speed;
   };
Wednesday, April 1, 2009
Single shot lookup w/
                        callbacks
   function showMap(pos) {
        //show map at pos.coords.latitude, pos.coords.longitude
   }
   function showError(err) {
        alert(err.message + ‘, ’ + err.code);
   }
   navigator.geolocation.getCurrentPosition(showMap, showError);




Wednesday, April 1, 2009
PositionError Object
   interface PositionError {
          const unsigned short UNKNOWN_ERROR = 0;
          const unsigned short PERMISSION_DENIED = 1;
          const unsigned short POSITION_UNAVAILABLE = 2;
          const unsigned short TIMEOUT = 3;
          readonly unsigned short code;
          readonly DOMString message;
   };




Wednesday, April 1, 2009
Single shot lookup w/
                   callbacks & options
   function showMap(pos) {
        //show map at pos.coords.latitude, pos.coords.longitude
   }
   function showError(err) {
        alert(err.message + ‘, ’ + err.code);
   }
   navigator.geolocation.getCurrentPosition(showMap, showError,
   {enableHighAccuracy:true});




Wednesday, April 1, 2009
PositionOptions

    interface PositionOptions {
            attribute boolean enableHighAccuracy;
            attribute long timeout;
            attribute long maximumAge;
    };




Wednesday, April 1, 2009
Single shot lookup w/
                     cached position
   function showMap(pos) {
        //show map at pos.coords.latitude, pos.coords.longitude
   }
   function showError(err) {
        alert(err.message + ‘, ’ + err.code);
   }
   navigator.geolocation.getCurrentPosition(showMap, showError,
   {maximumAge:300000, timeout:0});




Wednesday, April 1, 2009
Periodic lookup w/
                                callbacks
   function moveMap(pos) {
        //update map to pos.coords.latitude, pos.coords.longitude
   }
   function showError(err) {
        alert(err.message + ‘, ’ + err.code);
   }


   // Track location with periodic updates
   watchId = navigator.geolocation.watchPosition(moveMap, showError);


   function stopTracking() {
        navigator.geolocation.clearWatch(watchId);
   }




Wednesday, April 1, 2009
Upcoming Geo Events
                                • Where 2.0
                                 San Jose, CA
                                 May 19th - 21st
                                • WhereCamp
                                 San Francisco, CA
                                 May 23rd - 24th



Wednesday, April 1, 2009
Questions?
                     tweet @rsarver with questions as well




Wednesday, April 1, 2009

More Related Content

What's hot

Introduce Google Kubernetes
Introduce Google KubernetesIntroduce Google Kubernetes
Introduce Google Kubernetes
Yongbok Kim
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
Pricilla Bilavendran
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
dev2ops
 
Restful api
Restful apiRestful api
Restful api
Anurag Srivastava
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Edureka!
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
Lucky Gods
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
Ashok Pundit
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
Ankita Mahajan
 
API 101 event.pdf
API 101 event.pdfAPI 101 event.pdf
API 101 event.pdf
AkankshaPathak42
 
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
Francesco Corti
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Edureka!
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
Sauce Labs
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And Platforming
Amazon Web Services
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
die.agilen GmbH
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
Dalibor Blazevic
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Applitools
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
JEMLI Fathi
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
SlideTeam
 
Postman: An Introduction for Testers
Postman: An Introduction for TestersPostman: An Introduction for Testers
Postman: An Introduction for Testers
Postman
 

What's hot (20)

Introduce Google Kubernetes
Introduce Google KubernetesIntroduce Google Kubernetes
Introduce Google Kubernetes
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
 
Restful api
Restful apiRestful api
Restful api
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
Ultimate Web Automation Testing with Cypress : Master End-to-End Web Applicat...
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
API 101 event.pdf
API 101 event.pdfAPI 101 event.pdf
API 101 event.pdf
 
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And Platforming
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
 
Postman: An Introduction for Testers
Postman: An Introduction for TestersPostman: An Introduction for Testers
Postman: An Introduction for Testers
 

Viewers also liked

Location, location, geolocation
Location, location, geolocationLocation, location, geolocation
Location, location, geolocation
Max Wheeler
 
HTML5 Geolocation API
HTML5 Geolocation APIHTML5 Geolocation API
HTML5 Geolocation APIFilip Mares
 
Wireless Geolocation
Wireless GeolocationWireless Geolocation
Wireless GeolocationFatema Zohora
 
Conversion Matters présente : Les 4 bénéfices de la géolocalisation
Conversion Matters présente : Les 4 bénéfices de la géolocalisationConversion Matters présente : Les 4 bénéfices de la géolocalisation
Conversion Matters présente : Les 4 bénéfices de la géolocalisation
Kameleoon
 
Wat betekent-presentatie
Wat betekent-presentatieWat betekent-presentatie
Wat betekent-presentatie
Raymond Deef Vink
 
Chek mate geolocation analyzer
Chek mate geolocation analyzerChek mate geolocation analyzer
Chek mate geolocation analyzer
priyal mistry
 
Social commerce
Social commerceSocial commerce
Social commerce
Jose A. del Moral
 
Seminar
SeminarSeminar
Seminar
cnnithin
 
Lunch2.0 - Geolocation - July 2010
Lunch2.0 - Geolocation - July 2010Lunch2.0 - Geolocation - July 2010
Lunch2.0 - Geolocation - July 2010
Jeff Schneidewind
 
Wireless fidelity (a.k.a Wi-Fi)
Wireless fidelity (a.k.a Wi-Fi)Wireless fidelity (a.k.a Wi-Fi)
Wireless fidelity (a.k.a Wi-Fi)
Vineet Sansare
 
Wi-Fi Tecnology
Wi-Fi TecnologyWi-Fi Tecnology
Wi-Fi Tecnology
kataria Arvind
 
OpenSource for Entreprise
OpenSource for EntrepriseOpenSource for Entreprise
OpenSource for EntrepriseEric Fesler
 
Vehicular sensor netwks ppt
Vehicular sensor netwks pptVehicular sensor netwks ppt
Vehicular sensor netwks ppt
Venkatesh Kaduru
 
Wi Fi
Wi FiWi Fi
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User Interface
Adityo Pratomo
 
Wlan 802.11n - MAC Sublayer
Wlan 802.11n - MAC SublayerWlan 802.11n - MAC Sublayer
Wlan 802.11n - MAC Sublayer
Md Syed Ahamad
 
Lecture 6 geolocation
Lecture 6 geolocationLecture 6 geolocation
Lecture 6 geolocation
moduledesign
 
Vehicular ad hoc network
Vehicular ad hoc networkVehicular ad hoc network
Vehicular ad hoc network
Talesun Solar USA Ltd.
 

Viewers also liked (20)

Location, location, geolocation
Location, location, geolocationLocation, location, geolocation
Location, location, geolocation
 
HTML5 Geolocation API
HTML5 Geolocation APIHTML5 Geolocation API
HTML5 Geolocation API
 
Wireless Geolocation
Wireless GeolocationWireless Geolocation
Wireless Geolocation
 
Conversion Matters présente : Les 4 bénéfices de la géolocalisation
Conversion Matters présente : Les 4 bénéfices de la géolocalisationConversion Matters présente : Les 4 bénéfices de la géolocalisation
Conversion Matters présente : Les 4 bénéfices de la géolocalisation
 
Wat betekent-presentatie
Wat betekent-presentatieWat betekent-presentatie
Wat betekent-presentatie
 
Chek mate geolocation analyzer
Chek mate geolocation analyzerChek mate geolocation analyzer
Chek mate geolocation analyzer
 
Social commerce
Social commerceSocial commerce
Social commerce
 
Seminar
SeminarSeminar
Seminar
 
Lunch2.0 - Geolocation - July 2010
Lunch2.0 - Geolocation - July 2010Lunch2.0 - Geolocation - July 2010
Lunch2.0 - Geolocation - July 2010
 
Wireless fidelity (a.k.a Wi-Fi)
Wireless fidelity (a.k.a Wi-Fi)Wireless fidelity (a.k.a Wi-Fi)
Wireless fidelity (a.k.a Wi-Fi)
 
Wi-Fi Tecnology
Wi-Fi TecnologyWi-Fi Tecnology
Wi-Fi Tecnology
 
OpenSource for Entreprise
OpenSource for EntrepriseOpenSource for Entreprise
OpenSource for Entreprise
 
Vehicular sensor netwks ppt
Vehicular sensor netwks pptVehicular sensor netwks ppt
Vehicular sensor netwks ppt
 
Wi Fi
Wi FiWi Fi
Wi Fi
 
Vehicular Networks
Vehicular NetworksVehicular Networks
Vehicular Networks
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User Interface
 
Wlan 802.11n - MAC Sublayer
Wlan 802.11n - MAC SublayerWlan 802.11n - MAC Sublayer
Wlan 802.11n - MAC Sublayer
 
Lecture 6 geolocation
Lecture 6 geolocationLecture 6 geolocation
Lecture 6 geolocation
 
Microwave oven
Microwave ovenMicrowave oven
Microwave oven
 
Vehicular ad hoc network
Vehicular ad hoc networkVehicular ad hoc network
Vehicular ad hoc network
 

Similar to W3C Geolocation API - Making Websites Location-aware

Building Apis That Rock
Building Apis That RockBuilding Apis That Rock
Building Apis That RockJeff Eaton
 
Firefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsFirefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsDietrich Ayala
 
Depot Best Practices
Depot Best PracticesDepot Best Practices
Depot Best Practices
Stratepedia Presentations
 
ERECOMPI
ERECOMPIERECOMPI
ERECOMPI
Fabio Akita
 
Escape The Lab Tri Upa Slides
Escape The Lab Tri Upa SlidesEscape The Lab Tri Upa Slides
Escape The Lab Tri Upa Slides
bolt peters
 
Designing the experience of locative media
Designing the experience of locative mediaDesigning the experience of locative media
Designing the experience of locative media
Lauri Laineste
 
Web Motion: Motion Detection on the Web
Web Motion: Motion Detection on the WebWeb Motion: Motion Detection on the Web
Web Motion: Motion Detection on the Web
fisherwebdev
 
Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709leastfixedpoint
 
Making things Move on the iPhone
Making things Move on the iPhoneMaking things Move on the iPhone
Making things Move on the iPhone
John Wilker
 
Getting Off the Island
Getting Off the IslandGetting Off the Island
Getting Off the Island
ESUG
 
Introtoduction to cocos2d
Introtoduction to  cocos2dIntrotoduction to  cocos2d
Introtoduction to cocos2d
John Wilker
 

Similar to W3C Geolocation API - Making Websites Location-aware (12)

Building Apis That Rock
Building Apis That RockBuilding Apis That Rock
Building Apis That Rock
 
Firefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsFirefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web Innovators
 
Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Lik...
Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Lik...Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Lik...
Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Lik...
 
Depot Best Practices
Depot Best PracticesDepot Best Practices
Depot Best Practices
 
ERECOMPI
ERECOMPIERECOMPI
ERECOMPI
 
Escape The Lab Tri Upa Slides
Escape The Lab Tri Upa SlidesEscape The Lab Tri Upa Slides
Escape The Lab Tri Upa Slides
 
Designing the experience of locative media
Designing the experience of locative mediaDesigning the experience of locative media
Designing the experience of locative media
 
Web Motion: Motion Detection on the Web
Web Motion: Motion Detection on the WebWeb Motion: Motion Detection on the Web
Web Motion: Motion Detection on the Web
 
Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709
 
Making things Move on the iPhone
Making things Move on the iPhoneMaking things Move on the iPhone
Making things Move on the iPhone
 
Getting Off the Island
Getting Off the IslandGetting Off the Island
Getting Off the Island
 
Introtoduction to cocos2d
Introtoduction to  cocos2dIntrotoduction to  cocos2d
Introtoduction to cocos2d
 

Recently uploaded

Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

W3C Geolocation API - Making Websites Location-aware

  • 1. W3C Geolocation API Making Websites Location-aware Wednesday, April 1, 2009
  • 2. me • Director of Consumer Products at Skyhook Wireless • Founded Locationaware.org which eventually became W3C Geolocation API Working Group • Follow @rsarver to get the SlideShare link for slides after I post them Wednesday, April 1, 2009
  • 3. practical tools to allow you to add location capabilities to your website today Wednesday, April 1, 2009
  • 4. What is Geolocation? History of Geolocation on the web Current State of the Union Location Technologies Code Examples Questions Wednesday, April 1, 2009
  • 6. higher context = relevancy Wednesday, April 1, 2009
  • 7. higher location = relevancy Wednesday, April 1, 2009
  • 8. location comes in many flavors Wednesday, April 1, 2009
  • 11. 747 Howard St, San Francisco, CA Wednesday, April 1, 2009
  • 12. 4th St & Howard St Wednesday, April 1, 2009
  • 15. Business Search APIs • Yahoo Local Search API • Yelp API • Localeze - sells business listing information • small businesses are tough, no db is totally complete Wednesday, April 1, 2009
  • 16. how you display it can be used as a way of blurring location Wednesday, April 1, 2009
  • 17. Ryan checked into The Mission Wednesday, April 1, 2009
  • 18. map markers can be misleading when dealing with user’s location ... maybe use text instead Wednesday, April 1, 2009
  • 21. so, why should I use it? Wednesday, April 1, 2009
  • 23. HISTORY a lot has changed in a year Wednesday, April 1, 2009
  • 28. coalition of the willing Wednesday, April 1, 2009
  • 29. state of the union http://www.flickr.com/photos/xrrr/2478140383/ Wednesday, April 1, 2009
  • 30. 2009 is the year of location in the Browser Wednesday, April 1, 2009
  • 31. • Geode Extension in Mozilla Labs. Powered by Skyhook • W3C Geolocation API support natively in 3.1 (now called 3.5) • Opera Labs release with W3C Geolocation API support. Powered by Skyhook • Support in Chrome for Windows and Android Wednesday, April 1, 2009
  • 32. http://bit.ly/mozilla-geode http://bit.ly/opera-geolocation http://google.com/chrome Wednesday, April 1, 2009
  • 34. Two primary methods 1. IP Geolocation 2. Triangulation • GPS • Wi-Fi • Cell Tower Wednesday, April 1, 2009
  • 35. IP Geolocation Pros • Widely available • Detection happens server-side Cons • Only accurate to the city-level • Only in the right state 85% of the time • Costly • Produces false positives Wednesday, April 1, 2009
  • 36. IP Geolocation Vendors • MaxMind - http://www.maxmind.com • Has a free database - GeoLite City • Quova - http://www.quova.com • IPligence - http://www.ipilgence.com • IP2Location - http://www.ip2location.com Wednesday, April 1, 2009
  • 37. Triangulation GPS 10 m Wi-Fi 20 m Cell Tower 1000 m Wednesday, April 1, 2009
  • 38. GPS Pros • Accurate after it gets a fix • Highly accurate in rural area Cons • Doesn’t work indoors • Difficulty with Urban Canyons • Long Time to First Fix Wednesday, April 1, 2009
  • 40. Wi-Fi Positioning (WPS) Pros • Accurate • Works indoors and in Urban Areas • Quick Time to First Fix • Software-only, leverages existing Wi-Fi Cons • Doesn’t work well in rural areas Wednesday, April 1, 2009
  • 41. • Cross-platform, cross-browser plugin for adding geolocation to any website • Locate a user down to their exact street address with a few lines of javascript • http://loki.com/how • </plug> Wednesday, April 1, 2009
  • 42. Cell Triangulation Pros • Works where there is cell coverage (most areas) • Quick Time to First Fix • Software-only, leverages existing cellular radio Cons • Very inaccurate Wednesday, April 1, 2009
  • 43. short answer hyrbid is the way Wednesday, April 1, 2009
  • 44. W3C Geolocation API ... shut up and get to the code Wednesday, April 1, 2009
  • 45. Single shot lookup navigator.geolocation.getCurrentPosition(function(pos){ //show map at (pos.coords.latitude, pos.coords.longitude) }); Wednesday, April 1, 2009
  • 46. Position & Coordinates Objects interface Position { readonly attribute Coordinates coords; readonly attribute DOMTimeStamp timestamp; }; interface Coordinates { readonly attribute double latitude; readonly attribute double longitude; readonly attribute double altitude; readonly attribute double accuracy; readonly attribute double altitudeAccuracy; readonly attribute double heading; readonly attribute double speed; }; Wednesday, April 1, 2009
  • 47. Single shot lookup w/ callbacks function showMap(pos) { //show map at pos.coords.latitude, pos.coords.longitude } function showError(err) { alert(err.message + ‘, ’ + err.code); } navigator.geolocation.getCurrentPosition(showMap, showError); Wednesday, April 1, 2009
  • 48. PositionError Object interface PositionError { const unsigned short UNKNOWN_ERROR = 0; const unsigned short PERMISSION_DENIED = 1; const unsigned short POSITION_UNAVAILABLE = 2; const unsigned short TIMEOUT = 3; readonly unsigned short code; readonly DOMString message; }; Wednesday, April 1, 2009
  • 49. Single shot lookup w/ callbacks & options function showMap(pos) { //show map at pos.coords.latitude, pos.coords.longitude } function showError(err) { alert(err.message + ‘, ’ + err.code); } navigator.geolocation.getCurrentPosition(showMap, showError, {enableHighAccuracy:true}); Wednesday, April 1, 2009
  • 50. PositionOptions interface PositionOptions { attribute boolean enableHighAccuracy; attribute long timeout; attribute long maximumAge; }; Wednesday, April 1, 2009
  • 51. Single shot lookup w/ cached position function showMap(pos) { //show map at pos.coords.latitude, pos.coords.longitude } function showError(err) { alert(err.message + ‘, ’ + err.code); } navigator.geolocation.getCurrentPosition(showMap, showError, {maximumAge:300000, timeout:0}); Wednesday, April 1, 2009
  • 52. Periodic lookup w/ callbacks function moveMap(pos) { //update map to pos.coords.latitude, pos.coords.longitude } function showError(err) { alert(err.message + ‘, ’ + err.code); } // Track location with periodic updates watchId = navigator.geolocation.watchPosition(moveMap, showError); function stopTracking() { navigator.geolocation.clearWatch(watchId); } Wednesday, April 1, 2009
  • 53. Upcoming Geo Events • Where 2.0 San Jose, CA May 19th - 21st • WhereCamp San Francisco, CA May 23rd - 24th Wednesday, April 1, 2009
  • 54. Questions? tweet @rsarver with questions as well Wednesday, April 1, 2009

Editor's Notes

  1. - who here runs a website? - who here uses location of some kind on their website? - mobile?
  2. - who here already knows Skyhook?
  3. - its important that you can leave here
  4. - leave lots of time for questions at the end
  5. - location is a proxy to lots of metadata - rich demographic data - context about the physical surroundings of the user - events they might be at - nearby POIs - time of day, weather
  6. - the more context you have the more relevant the experience you can delivery
  7. - deliver the most highly relevant experience to your users - use most accurate location available
  8. - so lets define &#x201C;location&#x201D; - what does that mean?
  9. - going to become important that sites can work with lat/lon - w3c api will always deliver you a lat/lon - start to architect your apps to store lat/lon as well
  10. - anyone here use brightkite or foursquare? - disambiguate lat/lon into something meaningful. business names are great - also consider using custom place names
  11. - some location information is only relevant to nearby users - placenames, neighborhoods - add higher-level context for other users
  12. - maps can be a misnomer bc users dont always want to share exact location - EXAMPLE: user is in San Francisco -- where do you put the marker? - consider text display
  13. - Here is a video of BrightKite using auto-location - gives you a feel for how other sites are doing it
  14. - relevancy. too much noise, not enough signal - location is a piece of metadata that can make the entire web more relevant - better user experience - geotag photos, share location on social networks, local search, local news
  15. - Lets take a store finder as an example - each dot represents a Dunkin Donuts in Boston - if you ask a user to tell you where they are, they will say &#x201C;boston&#x201D; or &#x201C;02218&#x201D; - using precise location allows you to instantly show them the correct location and start to route them there
  16. - A lot has changed in one year, since i was here last - last year i was talking about the how it was coming together and some tools - now, W3C working group and 3 major browser vendors you can download today
  17. - Loki was launched at Where 2.0 in 2006 - toolbar to get skyhook&#x2019;s technology into the browser - eventually made a javascript API to the toolbar
  18. - May 2006 - i realized the only way for this to grow was to get consensus among browser vendors - needed to evangelize the idea of location on the web - no one knew you could make a laptop a gps-like device - pre iPhone
  19. - google picked it up, added it to Gears - started with cell positioning for mobile devices - created their own Javascript API
  20. - June 2008 - standardize the way geolocation is exposed through the browser
  21. - all major vendors are involved - already getting to draft - KISS
  22. &#x201C;its all coming together&#x201D;
  23. - bold proclamation - location was always the technology of next year, well its finally next year - desktops, laptops and netbooks will all be location enabled
  24. - accuracy is directly proportional to cell size - gps, wps = street address accuracy - cell = neighborhood / city accuracy
  25. - instead of waiting for all the browsers, add it now - cross platform, cross browser - on MapQuest.com/findme
  26. - Wi-Fi positioning is primary, IP as a fallback
  27. - REALLY this simple to add location to your website
  28. enableHighAccuracy will probably change
  29. do this to save a new location request. power friendly position <= 5 minutes timeout:0 = return cached position
  30. do this to save a new location request. power friendly position <= 5 minutes timeout:0 = return cached position
  31. - if you are looking to get more involved in geo, there are some great events to attend