• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Adding the "Where" to the "When"
 

Adding the "Where" to the "When"

on

  • 4,986 views

Social applications have been venues for people to converse, emote, and share -- and in those applications, "when" has always been inherent and well captured, but the other contextual signal, "where", ...

Social applications have been venues for people to converse, emote, and share -- and in those applications, "when" has always been inherent and well captured, but the other contextual signal, "where", has been (usually) conspicuously missing. Location, when taken into account, can provide rich signals to help understand social connectivity whilst helping to discover and surface content. Numerous devices and infrastructure services have the ability to expose location, but comprehending how to best make use of these technologies can be complex. Additionally, after the infrastructure is put in place, the next hurdle to overcome is understanding how to create a useable location-based feature that users can comprehend and love while also feeling safe and secure.

This session is targeted to those who want to learn about these technologies, and to those who want to understand how to think about their users' needs, their security, and their privacy. We'll also review web and mobile services that have been designed with location at their core, or location as a feature. And, finally, we'll talk about how Twitter thinks about adding "where" to our "when".

Statistics

Views

Total Views
4,986
Views on SlideShare
3,491
Embed Views
1,495

Actions

Likes
10
Downloads
43
Comments
0

11 Embeds 1,495

http://blog.programmableweb.com 1461
http://mehack.com 14
http://www.programmableweb.com 6
http://www.slideshare.net 3
http://translate.googleusercontent.com 3
http://static.slidesharecdn.com 2
http://www.linkedin.com 2
http://www.google.com 1
http://socialmediava.posterous.com 1
http://www.hanrss.com 1
https://www.linkedin.com 1
More...

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Adding the "Where" to the "When" Adding the "Where" to the "When" Presentation Transcript

  • Adding the “where” Microsoft MIX:10 TM March 16, 2010
  • What am I going to talk about? ‣ What is a “place”? ‣ How do users expect to use “where” information? ‣ Where do you actually get “location” from? ‣ What is doing?
  • Location = Context + Relevancy
  • Location = Relevancy + Context ‣ Transforming the “What’s happening?” to “What’s happening here?” ‣ 140 characters is our limit ‣ We wanted metadata ‣ People want to talk about places
  • Sometimes the location doesn’t matter
  • What is a “place”?
  • A place is: coordinates ‣ 36o5’19.176”N, 115o10’36.084” ‣
  • A place is: coordinates ‣ 36o5’19.176”N, 115o10’36.084” ‣ A pair of decimals ‣ Gets a bit complicated when trying to account for “precision”) ‣ Doesn’t mean much to people
  • A place is: coordinates ‣ 36o5’19.176”N, 115o10’36.084” ‣ A pair of decimals ‣ Gets a bit complicated when trying to account for “precision”) ‣ Doesn’t mean much to people ‣ Needs a map to make sense
  • A place is: a polygon
  • A place is: a name
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA ‣ West Hacienda Avenue and Las Vegas Boulevard South
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA ‣ West Hacienda Avenue and Las Vegas Boulevard South ‣ “The Strip” / Las Vegas / Nevada
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA ‣ West Hacienda Avenue and Las Vegas Boulevard South ‣ “The Strip” / Las Vegas / Nevada ‣ Mandalay Bay Resort and Casino
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA ‣ West Hacienda Avenue and Las Vegas Boulevard South ‣ “The Strip” / Las Vegas / Nevada ‣ Mandalay Bay Resort and Casino ‣ WOEID 2436704 / Twitter ID 5c2b5e46ab891f07
  • A place is: a name ‣ 3950 Las Vegas Boulevard South, Las Vegas, Nevada, USA ‣ West Hacienda Avenue and Las Vegas Boulevard South ‣ “The Strip” / Las Vegas / Nevada ‣ Mandalay Bay Resort and Casino ‣ WOEID 2436704 / Twitter ID 5c2b5e46ab891f07 ‣ Names are, of course, tricky when it comes to internationalization
  • How do users expect to use “where”?
  • Sharing coordinates ‣ More aptly named “geotagging” ‣ Good for sharing photos ‣ Possibly good for talking about a specific place (e.g. store, restaurant) ‣ People don’t understand numbers and without a map, there is a lack of context ‣ Huge privacy implications
  • Sharing polygons ‣ Privacy implications are potentially better ‣ If you thought sharing one pair of numbers was bad... ‣ Questions around polygon definition ‣ Still unable to visualize unless on a map
  • Sharing names ‣ Has the potential to make a connection with users ‣ Distinguishes a “named place” from simply a “place” ‣ Inverse relationship between granularity and connection ‣ Rather large internationalization / context implications
  • Where do you actually “get” location from?
  • Triangulation
  • Triangulation: cellular ‣ 200m to 1km accuracy ‣ Measuring signal strength to cell towers with known locations ‣ If can only see one cellular tower, then fallback to cellular tower identification - better than nothing, but really inaccurate ‣ Requires cellular modem, software, and lookups
  • Triangulation: WiFi ‣ Sub 20m accuracy ‣ Works indoors and in urban areas ‣ Doesn’t need dedicated hardware just a 802.11 radio ‣ Relatively quick time to get a position
  • Triangulation: GPS ‣ Sub 1m accuracy ‣ Need dedicated GPS hardware ‣ Prone to multi-path confusion especially in cities ‣ Needs line of sight to the sky ‣ Doesn’t work well indoors ‣ Potentially takes a few minutes to get a lock
  • Association ‣ IP address to geographical mapping ‣ All done on the server side ‣ Maybe “good” for city level ‣ Maxmind has 83% at 40km ‣ Very error prone ‣ Gets wonky when dealing with cellular connections or rather large ISPs ‣ Database needs to be refreshed fairly frequently
  • Extraction ‣ Read the text and understand intent ‣ Hard to understand whether talking from a place, or about a place ‣ Running text through a geocoder (Google, Yahoo, Geocoder.us) ‣ Parsing structured URLs and then crawling “place pages”
  • Location in browser ‣ Geolocation API Specification for JavaScript navigator.geolocation.getCurrentPosition ‣ Does a callback with a position object ‣ position.coords has ‣ latitude and longitude ‣ accuracy ‣ other stuff ‣ Support in Firefox 3.5, Chrome, Opera, and others with Google Gears
  • Brokered location
  • Brokered location
  • Working with users
  • Implicit vs Explicit ‣ Do you automatically add location content, or does the user have to explicitly do something? ‣ Because this is a privacy sensitive issue - users want to “be in control”
  • Workflow ‣ Plan for asynchronicity ‣ May need server to do something ‣ May need client to do something ‣ Client may get “streamed” updated information stream to act on ‣ Almost certainly need human intervention ‣ If you have the infrastructure, learn from your users actions
  • Lying is a feature ‣ Not just falsification ‣ Understand if you’re building a “verifiied” location service ‣ Sometimes just want to annotate a comment with a place ‣ “Context” means different things ‣ Making a comment after the fact ‣ Pointing somebody else to a location
  • Privacy ‣ Give the user control ‣ For Twitter, you had to explicitly opt into the feature ‣ We also provide the ability to purge location information ‣ Communicate to the user what’s happening both in the client and the server ‣ Can somebody else tag your house?
  • “What’s happening here?”
  • Original attempts Adding it to the tweet ‣ Use myloc.me, et. al. to add text to the tweet ‣ Localizes mobile phone and puts location “in band” ‣ Takes from 140 characters Setting profile level locations ‣ Set the user/location of a Twitter user ‣ There is an API for that! ‣ Not on a per-tweet basis and not designed for high frequency updates
  • curl -u USERNAME:PASSWORD -d location="San Francisco, California" http://twitter.com/account/update_location.xml <user> <id>8285392</id> <name>raffi</name> <screen_name>raffi</screen_name> <location>San Francisco, California</location> ... </user>
  • Geotagging API
  • Geotagging API Adding it to the tweet ‣ Per-tweet basis ‣ Out of band / pure meta-data ‣ Does not take from the 140 characters Native Twitter support ‣ Simple way to update status with location data ‣ Ability to remove geotags from your tweets en masse ‣ Using GeoRSS and GeoJSON as the encoding format ‣ Across all Twitter APIs (REST, Search, and Streaming)
  • Streaming / Geo-hose location filtering curl "http://stream.twitter.com/1/statuses/filter.xml? locations=-74.5129,40.2759,-73.5019,41.2759" locations is a bounding box specified by “long1,lat1,long2,lat2” and can track up to 10 locations that are most 1 degree square (~60 miles square and enough to cover most metropolitan areas)
  • Trends API
  • Trends API Global trends ‣ Currently on front page of Twitter.com and on search.twitter.com ‣ Analysis of “hot conversations” ‣ Does not take from the 140 characters Location specific trends ‣ Tweets being localized through a variety of means into trends ‣ Locations exposed over the API as WOEIDs ‣ Can ask for available trends sorted by distance from your location ‣ Querying for a parent of a location will return all locations under it
  • Geo-place API ‣ Reverse geocoder to get a list of places that a Tweet can be attached to ‣ Place can then be permanently attached to the Tweet and appears in all APIs ‣ Allows for “location obfuscation”
  • We’re a platform
  • Questions? Follow me at twitter.com/raffi TM