SlideShare a Scribd company logo
1 of 45
Location on the Web
Making Web Applications Location-aware
Ryan

• Director of Consumer Products at Skyhook
  Wireless
• Founded Locationaware.org which
  eventually became W3C Geolocation API
  Working Group
Seth


• Engineering lead for Fire Eagle at Yahoo!
• Developer evangelist
practical tools and code to
allow you to add location to
your web application today
location = context
higher
context =
          relevancy
higher
location =
           relevancy
location is relative
the world isn’t only points




        ... what constitutes a place?
WOEIDs
GeoPlanet
http://developer.yahoo.com/geo
Location Technologies
sensed vs. declared
 active vs. passive
sensed location
Three primary methods
1. IP Geolocation
2. Triangulation
  • GPS
  • Wi-Fi
  • Cell Tower

3. Declarative - just ask
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
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
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
so, why should I use it?
considerations
privacy
precision
browser-based
(active) location
W3C Geolocation API
coalition of the willing
state of the union



http://www.flickr.com/photos/xrrr/2478140383/
• W3C Geolocation API support
  natively in Firefox 3.5




• Opera Labs release with W3C
  Geolocation API support



• Support in Chrome for Windows
  and Gears - desktop / Android
• 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>
Tips for browser-
  based Geolocation
• Plan for asynchronous call - show status
  to user
• Request location on page load if its
  available
• Fallback to IP if necessary, but message
  it to user
... shut up and get to the code
Simple Example
Plotting location on a
         map
Store Finder w/ Local
  Business Search
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;
};
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;
};
brokered (passive)
     location
• Location broker
• Ecosystem
• APIs for updating and querying (REST and
  XMPP)
• http://fireeagle.yahoo.net/developer
• </plug>
Tips for broker-based
     Geolocation
• Location is barely current--find ways to
  reduce latency
• Share--back to Fire Eagle and with other
  users
• Don’t violate users’ trust--say what you
  use their location for
... shut up and get to the code
Querying a user’s
    location
Updating a user’s
   location
Receiving a user’s
location (real-time)
WhereCamp
     SocialText Office
     Palo Alto
     Friday and Saturday
     wherecamp.org
Questions?

More Related Content

Similar to Where 2.0 2009 - Location on the Web

Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deckAlexey Bokov
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发Zhang Xiaoxue
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentEngin Hatay
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrationslukepilon
 
Offline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo OfflineOffline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo Offlineguestcb5c22
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conferencedianacheng
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...adunne
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWebDave Bouwman
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLars Trieloff
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developerslisab517
 
Smartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetSmartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetGail Frederick
 
Øredev 2014
Øredev 2014Øredev 2014
Øredev 2014olataube
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile ContextAndy Davies
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Offline maps for mobile developers (Android/iOS)
Offline maps for mobile developers (Android/iOS)Offline maps for mobile developers (Android/iOS)
Offline maps for mobile developers (Android/iOS)Vadim Nikolaev
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
 

Similar to Where 2.0 2009 - Location on the Web (20)

Where 2.0
Where 2.0Where 2.0
Where 2.0
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
 
Ajax World West
Ajax World WestAjax World West
Ajax World West
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrations
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Offline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo OfflineOffline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo Offline
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conference
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developers
 
Smartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetSmartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone Budget
 
Øredev 2014
Øredev 2014Øredev 2014
Øredev 2014
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile Context
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Offline maps for mobile developers (Android/iOS)
Offline maps for mobile developers (Android/iOS)Offline maps for mobile developers (Android/iOS)
Offline maps for mobile developers (Android/iOS)
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Where 2.0 2009 - Location on the Web

Editor's Notes

  1. - who here runs a website? - who here uses location of some kind on their website? - mobile?
  2. - 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
  3. - the more context you have the more relevant the experience you can delivery
  4. - deliver the most highly relevant experience to your users - use most accurate location available
  5. (seth) There&#x2019;s no single right answer.
  6. (seth) Are Ryan and I in the same place? Yes and no. The definition of a place is highly relative. Place names as well.
  7. (seth) Where on Earth ids are one solution.
  8. (seth) GeoPlanet is Yahoo!&#x2019;s answer to the &#x201C;what constitutes a place&#x201D; problem. Places are referred to with unique identifiers and related to one another. It&#x2019;s just one approach, but it helps.
  9. (seth) Complementary approaches, complementary tools. Sensed location is device-centric, declared location requires the user&#x2019;s input. Active location is a means for determining where a user is when s/he is in front of a computer. Passive location is a means for determining where a user is when s/he is away from a computer, but has a device that can sense location with them (e.g. SPOT, cell phone).
  10. Sensed location is the more obvious approach, and potentially most useful, as it involves less user intervention. However, it is not without problems: sensed locations may be wrong, and, as location is a socially relative construct, may disrupt or offend the user. (e.g. neighborhood boundaries)
  11. - 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
  12. - 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
  13. - seth 1. privacy 2. precision
  14. (seth) A user&#x2019;s location is a facet of their identity; they are sharing it with you (or allowing you to sense it) in exchange for something of value. They trust you. It&#x2019;s your responsibility to respect your users by not sharing it out, or being explicit about what you intend to do with it once it passes into our hands.
  15. (seth) Precision is one way to protect a user&#x2019;s location; just request the level of granularity that your application requires rather than always asking for a user&#x2019;s exact location. You probably don&#x2019;t need it, and it will give your users a greater sense of safety when using your application.
  16. - June 2008 - standardize the way geolocation is exposed through the browser
  17. - all major vendors are involved - already getting to draft - KISS
  18. &#x201C;its all coming together&#x201D;
  19. - instead of waiting for all the browsers, add it now - cross platform, cross browser - on MapQuest.com/findme
  20. (ryan) - Here is a video of BrightKite using auto-location - gives you a feel for how other sites are doing it (seth) - imagine brightkite updating while you&#x2019;re out in the world and sharing it with friends who are online; a single application can take advantage of both active and passive location
  21. Fire Eagle is a location broker; alone it does nothing. It is part of a rich ecosystem where applications with access to users&#x2019; location can allow them to share it with applications that would like access to location data. Privacy is core: users have control over what applications can do what with their location (and what level they&#x2019;re allowed to see).
  22. - if you are looking to get more involved in geo, there are some great events to attend