Location on the Web
Making Web Applications Location-aware
Ryan

• Director of Consumer Products at Skyhook
  Wireless
• Founded Locationaware.org which
  eventually became W3C Geol...
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 i...
IP Geolocation
Vendors

 • MaxMind - http://www.maxmind.com
  • Has a free database - GeoLite City
 • Quova - http://www.q...
Wi-Fi Positioning (WPS)
Pros
 • Accurate
 • Works indoors and in Urban Areas
 • Quick Time to First Fix
 • Software-only, ...
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



• S...
• Cross-platform, cross-browser plugin for
  adding geolocation to any website
• Locate a user down to their exact street
...
Tips for browser-
  based Geolocation
• Plan for asynchronous call - show status
  to user
• Request location on page load...
... 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 at...
PositionError Object
interface PositionError {
     const unsigned short UNKNOWN_ERROR = 0;
     const unsigned short PERM...
brokered (passive)
     location
• Location broker
• Ecosystem
• APIs for updating and querying (REST and
  XMPP)
• http://fireeagle.yahoo.net/developer
• <...
Tips for broker-based
     Geolocation
• Location is barely current--find ways to
  reduce latency
• Share--back to Fire Ea...
... 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?
Where 2.0 2009 - Location on the Web
Upcoming SlideShare
Loading in...5
×

Where 2.0 2009 - Location on the Web

11,930

Published on

Slides from Where 2.0 2009 Workshop - Location on the Web

Location aware websites, applications and devices can provide users with rich social connectivity, useful content, efficient movement around their environment, highly targeted advertising, and more. We will discuss the new W3C Geolocation API, location-aware browsers and other available tools that can add location to websites and applications.

While most devices now have functionality which make location determination possible, understanding these technologies and how they can be deployed into mobile devices and websites can be complicated.

In this session, we will discuss the technical details of the APIs available to help location-enable your websites, and how to deploy them. These tools include the W3C Geolocation API, Mozilla’s Geode, the Loki Plugin, Fire Eagle and Google’s My Location.

Published in: Technology
2 Comments
30 Likes
Statistics
Notes
No Downloads
Views
Total Views
11,930
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
2
Likes
30
Embeds 0
No embeds

No notes for slide
  • - who here runs a website?
    - who here uses location of some kind on their website?
    - mobile?



  • - 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
  • - the more context you have the more relevant the experience you can delivery

  • - deliver the most highly relevant experience to your users
    - use most accurate location available

  • (seth)
    There&#x2019;s no single right answer.
  • (seth)
    Are Ryan and I in the same place? Yes and no.

    The definition of a place is highly relative. Place names as well.
  • (seth)
    Where on Earth ids are one solution.
  • (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.

  • (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).
  • 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)




  • - 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
  • - 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
  • - seth
    1. privacy
    2. precision
  • (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.
  • (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.

  • - June 2008
    - standardize the way geolocation is exposed through the browser

  • - all major vendors are involved
    - already getting to draft
    - KISS
  • &#x201C;its all coming together&#x201D;

  • - instead of waiting for all the browsers, add it now
    - cross platform, cross browser
    - on MapQuest.com/findme
  • (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








  • 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).





  • - if you are looking to get more involved in geo, there are some great events to attend
  • Transcript of "Where 2.0 2009 - Location on the Web"

    1. 1. Location on the Web Making Web Applications Location-aware
    2. 2. Ryan • Director of Consumer Products at Skyhook Wireless • Founded Locationaware.org which eventually became W3C Geolocation API Working Group
    3. 3. Seth • Engineering lead for Fire Eagle at Yahoo! • Developer evangelist
    4. 4. practical tools and code to allow you to add location to your web application today
    5. 5. location = context
    6. 6. higher context = relevancy
    7. 7. higher location = relevancy
    8. 8. location is relative
    9. 9. the world isn’t only points ... what constitutes a place?
    10. 10. WOEIDs
    11. 11. GeoPlanet http://developer.yahoo.com/geo
    12. 12. Location Technologies
    13. 13. sensed vs. declared active vs. passive
    14. 14. sensed location
    15. 15. Three primary methods 1. IP Geolocation 2. Triangulation • GPS • Wi-Fi • Cell Tower 3. Declarative - just ask
    16. 16. 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
    17. 17. 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
    18. 18. 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
    19. 19. so, why should I use it?
    20. 20. considerations
    21. 21. privacy
    22. 22. precision
    23. 23. browser-based (active) location
    24. 24. W3C Geolocation API
    25. 25. coalition of the willing
    26. 26. state of the union http://www.flickr.com/photos/xrrr/2478140383/
    27. 27. • 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
    28. 28. • 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>
    29. 29. 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
    30. 30. ... shut up and get to the code
    31. 31. Simple Example
    32. 32. Plotting location on a map
    33. 33. Store Finder w/ Local Business Search
    34. 34. 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; };
    35. 35. 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; };
    36. 36. brokered (passive) location
    37. 37. • Location broker • Ecosystem • APIs for updating and querying (REST and XMPP) • http://fireeagle.yahoo.net/developer • </plug>
    38. 38. 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
    39. 39. ... shut up and get to the code
    40. 40. Querying a user’s location
    41. 41. Updating a user’s location
    42. 42. Receiving a user’s location (real-time)
    43. 43. WhereCamp SocialText Office Palo Alto Friday and Saturday wherecamp.org
    44. 44. Questions?

    ×