Location: the fun, useful, and sometimes creepy things your app can do


Published on

This is a high-level talk on making use of location in your applications. It covers the basics of creating location-based software, fun and interesting ways to make use of geographic data, and how to deal with common privacy concerns. You'll gain an understanding of how location can enhance and support everything from finding your way in the world, to games, to productivity tools.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • I think location is one of the most exciting things about writing software for portable devices (phones, laptops).
  • The first step for most location-based applications is to get the user’s coordinates. So, the application requests location access from the user. Location services are available for both native and web apps, and code samples for either are easy to find online.
  • Assuming we have a GPS signal, or are connected to a wifi or cell node that's in the geographic database: tada!
  • The response we get back from location services includes the user’s latitude and longitude, a set of point coordinates. The coordinates imply a specific location can be determined, but the actual accuracy will vary depending on whether the location was obtained using GPS, or through cell or wifi node locations. GPS works best outside with a clear view of the sky.
  • A point is a single pair of lat/long coordinates, often represented with a map pin like the one above.
  • There are three basic types of geographic vector data.
  • Lines often represent roads, routes, or various kinds of boundaries. A line doesn’t have a width. Lines are made up of a collection of connected points.
  • Polygons are also made up of a series of points, but these points define the boundaries of an area.
  • If I ask you, “where are we right now?” you’re probably not going to give me a bunch of coordinates. We think of place in terms of various other definitions, including how we make use of the space.
  • Let’s look at some questions we can answer with location data.
  • What’s this place called? What’s nearby? Wikipedia articles that include geographic information can be placed on a map, and similar things could be done with other data sources on buildings, historical landmarks, public works of art, or other local features.
  • How do I get from my current location to somewhere else? How much will it cost? What’s the most efficient route if I’m walking, biking, or riding mass transit? This requires data on streets, transit routes, bike paths, and other ways of getting around. OpenTripPlanner has the goal of helping users plan trips across many different kinds of transport.
  • What’s the best Italian restaurant I can walk to from here? Where are my friends hanging out? A number of existing apps attempt to help users find restaurants, stores, and locate their friends. These kinds of services are built on top of business listing databases, which can be obtained from various sources or built up by users. Some apps have started to share location data with each other, for example Foursquare’s venue data is used by Instagram.
  • Restaurants and your friends aren’t the only things we might want to locate geographically. Location-based tools can help map anything you can think of, from hardware stores to feral cats to emergency shelters. This is the mobile app for Ushahidi, a disaster-mapping service. It connects to a piece of web-based software, to allow people to map resources out in the field, and filter and verify those reports as they’re received. I’m using it in a somewhat off-label way, in order to map food carts in Portland.
  • Not all location-based apps need to wait for the user to check in somewhere or ask a question. A system like GeoLoqi’s geonotes can be used to leave reminders for yourself: todos, shopping lists, access codes. Geonotes pop up only when you arrive within a certain radius of the point where the note is left.
  • Location can act as a filter or context for other information, such as local news, weather, and sports events. This is Everyblock, a local news service. They aggregate a variety of location-tagged data, so a user can select their current location or a neighborhood and see all items for that area.
  • Weather Underground uses location to automatically pull up a weather report. Using location services here makes the mobile website more convenient and faster to use, especially when you’re on the road.
  • This is ESPN Passport, an app that provides info about nearby live sports events. Checking in at the game provides access to stats and other details.
  • This is a new one called “Please Stay Calm” that involves hunting zombies. It’s only available through the Canadian app store, but zombie hunting seems to be a popular locative gaming / augmented reality theme. One thing I like about how this game is set up is that businesses get an infection status, changing the gameplay in that location. If you’re working on location-based games, think about not just how the game works when at a specific location, but at all locations of a certain type. Does your game act differently when inside or outdoors? When at the grocery store versus the coffee shop?
  • This game is called Seek & Spell. It’s like Boggle but you get the letter tiles by collecting them off a map outside. This can be played alone or with a group.
  • This is Map Attack, which is another project built on top of Geoloqi. Players are assigned to one of two teams, and they go out and collect points from the areas marked on the map. It was inspired by Pac Manhattan, which is a game where you play live action Pacman on a city grid. We played this particular round of it at WhereCamp in the Bay Area last spring. The red team is winning because they used a bike to get around faster.
  • Task Ave. is a todo list app that lets you organize your items by where the task needs to be done, and get reminders when you’re nearby. This works like a more specialized version of the geonotes we saw before.
  • This is a location-based alarm clock. There are a few versions of this type of app out there, but the basic functionality is that it lets commuters nap on the bus or train and be woken before they miss their stop.
  • Runkeeper is a popular fitness app that uses the phone’s GPS to track your route, letting users see how far and fast they ran. This is a fairly basic use of the GPS, but it’s much easier than keeping track of the same data manually.
  • GPS Serendipitor from the Sentient City Survival Kit. This is a concept sketch: the idea is to take the direct route between two places and make it more complicated, more likely to take the user off the familiar path. http://survival.sentientcity.net/blog/?page_id=16
  • Location and mapping aren’t outdoor-only activities. This is Meridian, an app that provides maps and navigational information inside stadiums and stores. Automatic location finding is not generally available inside buildings, but even without that, there’s still lots of functionality to explore. Meridian’s service for getting directions inside Powell’s Books has you select what room you’re starting from, then provides directions to the section where you’ll find the book you’re looking for.
  • The sense of magic comes from having the software do just the right thing, before you know you need it. If place can add context, how does that change what you can anticipate the user needs?
  • Where do you get the rest of the data to make these things happen? Both free and commercial services exist. There’s been a big push in many parts of the country over the last few years to make government-created data more accessible to developers. A large portion of this is geographic data, but it’s often straight out of GIS systems like ESRI ArcView, so some enthusiasts are working on making public geo-data more accessible to other developers.
  • There’s a reason the location services tools require the user to authorize your app to find out where they are: you’re collecting personal information, sometimes in the background while the user does other things.
  • Users make assumptions about what their data is going to be used for based on what they can see. Most people don’t think about possible side-effects or alternate uses. If you’re going to collect data to sell to third parties, even in the aggregate, make that explicit up front. Allow the user to decide who else can see where they’ve been.
  • You aren’t going to need it. For many applications, data retention may not be necessary to complete the task.
  • Regulations on location data collection can vary from place to place. In general, regulations may affect what data you can collect, what kind of permission is needed from the user, and what other parties the data can be shared with.
  • The news is full of stories about activists and dissidents around the world being targeted through their online activity. Revealing personal location data can harm any number of vulnerable users, from journalists to women escaping domestic violence. As the developer, you have the most potential insight into what data you’re collecting on people, and what can be done with it. Use this knowledge responsibly.
  • Technical problems to watch out for: what happens when you have a data connection but no GPS? Or GPS but no data connection? Often one works better in places where the other doesn’t. Think about strategies to handle this, like storing an action that needs the data connection until the user is back online, or letting the person manually select where they are.
  • Self-explanatory, I hope. Go forth and build awesome things.
  • Location: the fun, useful, and sometimes creepy things your app can do

    1. 1. Location <ul><li>the fun, useful, and sometimes creepy things your apps can do </li></ul>Audrey Eschright SecondConf 2011, Chicago Il
    2. 2. Hi, I’m Audrey I’m from Portland, OR and I’m a geography geek
    3. 3. Step one: where am I?
    4. 4. Right here!
    5. 5. Latitude and Longitude 41.879243,-87.637319
    6. 6. This is a point. (41.879243,-87.637319)
    7. 7. Points, lines, polygons
    8. 8. Lines (point1, point2, point3, point4, point5, point6)
    9. 9. Polygons (point1, point2, point3, point4, point5, point6, ...)
    10. 10. Place in human terms <ul><li>What is this place called? What jurisdictions is it inside? Chicago, United States, Central time zone, Northern Hemisphere </li></ul><ul><li>What type of space is it? Outdoors, indoors, business, residential, urban, rural? </li></ul><ul><li>What does this place mean to this particular user (home, work, school)? </li></ul><ul><li>What is the history of this place, legally, environmentally, socially? </li></ul>
    11. 11. What can we do with this?
    12. 12. Tell me about this place
    13. 13. Go from here to there
    14. 14. Other questions
    15. 15. Finding resources
    16. 16. I need to remember...
    17. 17. Context and filters
    18. 20. Let’s play a game
    19. 23. Location as enhancement <ul><li>If it would be boring without location, it probably still is </li></ul><ul><li>Check-ins are boring on their own, but people like games, social activities, and getting things done </li></ul><ul><li>Start with the core task and use location to make it even better </li></ul>
    20. 24. Location plus ...
    21. 27. Navigation route based on minimum travel distance Alternate route based on streets not yet walked (beginner) Alternate route based on streets not yet walked (advanced)
    22. 28. Indoor spaces
    23. 29. Create magic
    24. 30. Bringing in existing data
    25. 31. Personal data hazards
    26. 32. Ask before using http://www.azarask.in/blog/post/privacy-icons/
    27. 33. YAGNI <ul><li>Do you really need to hold onto that data? </li></ul><ul><li>The safest option is to keep the location only as long as needed for the user’s current task. </li></ul>
    28. 34. Stay aware of regulations <ul><li>U.S. Senator Wyden and U.S. Rep. Chaffetz are currently working on a Geolocation Privacy and Surveillance Act that would affect law enforcement access to data collected by companies </li></ul><ul><li>Privacy laws in Europe prohibit commercial use of private data (including location) without the user’s prior consent. </li></ul>
    29. 35. Avoid unintended consequences
    30. 36. Services won’t always work
    31. 37. Keep it fun
    32. 38. Find out more <ul><li>Links related to this talk: http://pinboard.in/u:spinnerin/t:secondconf2011/ </li></ul><ul><li>Attend a local WhereCamp! WhereCampPDX: Oct. 7-9 WhereCamp Denver: Nov. 19 See http://wherecamp.org / for details </li></ul>
    33. 39. Questions?
    34. 40. Thanks! Contact me: [email_address] http://lifeofaudrey.com Photos by: Mary Anne Thygesen, Reid Beels, Igal Koshevoy, and Audrey Eschright