SlideShare une entreprise Scribd logo
1  sur  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?

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Where 2.0 2009 - Location on the Web

Notes de l'éditeur

  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