Designing Around Place
(ITPG-GT.2730)
- Dennis Crowley, Michael Sharon (Fall 2008)
Dopplr knows where you'll be next week. Dodgeball knows where you were last night. Google Maps on your iPhone knows where you're standing right now! So now what? This class is designed to experiment with the tools and technologies that are driving location-based services and the ways in which location data can be used to change the way we experience the world around us. The class focuses on existing location-aware applications and techniques (geocoding, geotagging, mapping, location tracking, proximity detection) and how they can be combined with existing data feeds and APIs to reinvent the tools, social apps and gaming concepts that we're already familiar with. Students experiment with various tools, techniques and data sets for accessing, pinpointing and storing location and learn how these technologies can be used to develop applications across multiple platforms - including mobile phones, laptops, navigation and gaming devices. Students are expected to build at least two working applications during the semester (midterm + final). Prior experience in dynamic web development (PHP / Python / Ruby / Perl + MySQL) is required as we start building in Week 2.
Syllabus
#1. Introductions / Placing Yourself
Let's find out who you are, what you're interested in and what you hope to get out of this class. We'll walk through the syllabus, class structure and goals for the semester and discuss the world of location-based services, tools and technologies. Topics: History of LBS, building blocks and tools, breakdown of LBS categories, examples of projects and products and startups and services that define the space.
#2: Placing Yourself #1 (Let the users do the work!)
Let's turn some user-generated content into location coordinates! This week we'll get our hands dirty with geocoders, data service providers, mapping APIs, and the different ways of using web and mobile tools to gather location data from users. We'll also walk through the basics of product development (wireframing, user experience design) to help us turn the ideas in our heads into projects and products we can release into the wild.
#3. Placing Yourself #2 (Let technology do the work!)
If week two was all how to let users' telling us of their location, this week will focus on the tools that can do the dirty work for us. We'll look at the different types of location tracking technologies we can use to collect geocoordinates (GPS, A-GPS, cell ID, triangulation, IP lookup), the data formats we can use to publish this data (KML, XML, GeoRSS, GeoURL) and the services that are best suited for data visualizations (mapping APIs, Google Earth). Special guest Andrew Turner from Mapufacture will help lead the charge.
#4. One Map, Many Dots
Let's look at what happens when we start working with the geocoordinates of multiple objects - people, places and/or things. We'll work with proximity detection (“What's within 10 blocks?”) and distance calculations (“How far from Point A to Point B?”). We'll also start deconstructing and reverse engineering some of the more well-known examples in the space to get an understanding of how things work behind the scenes.
#5 - User Experience Design
We'll start off Week 5 with an intro to User Experience Design (UX) from Jennifer Bove (VP, UX @ HUGE). From there we'll look at UX issues specific to location-aware apps: How do we ask users for their location? How do we control privacy and social awkwardness? We'll look towards some of the mobile-social and social-discovery apps (both web and mobile) in an attempt to discover what works and what doesn't.
#6 - Informatics & Data Visualizations
Now that we're collecting location data from multiple users, how do we turn our simple geocoords dataset into something more meaningful? With the help of Greg Skibiski from Sense Networks, we'll look at ways of visualizing aggregated geodata and using this data to make predictions on user behavior. We'll also take a look at the role that location data can play in Personal Data Informatics - think: Nike+, Nokia's Sports Tracker, Feltron's Annual Reports.
#7. Wildcard Week
Let's leave this week open - most likely there will be topics you'll be itching to cover before the midterm and we'll use this spot to fill in those gaps, bring in a guest speaker or debug your midterms projects.
#8. Midterm Presentations
Show us what you've been working on!
#9 Beg / Borrow / Steal - Working with external data sources
Plenty of services simply take information that is readily available online and use locative tools to cut, filter or push data in ways that make it geographically relevant. Think: Google Maps mashups, Outside.in, etc. This week we'll take at the tools needed to track down this data (scraping HTML, parsing XML, working with APIs) and present it back to your users.
#10. “This Was Supposed to be the Future!”
Since the dot-com heydays, the locative future has always been 18 months away. We're getting closer with the latest crop of location-aware devices - iPhone, Nokias and Blackberries. This week we'll talk a look at this history of location-aware apps, the obstacles that have hindered the space in the past and where we can expect to be 18 months from now. Raise your hand if you have an iPhone and we may just dig into the iPhone SDK.
#11. Sharing Location Across Platforms
We're just starting to see presence data being shared across multiple social services - Twitter can talk to Facebook can talk to Dopplr can pull from Flickr, etc. This week we'll look at how services like Yahoo's FireEagle are changing the way we think about aggregating location, the social and privacy concerns that go along with such changes, and how the Google's and Yahoo's of the world are expected to get into the game.
#12. Everything Else but the Kitchen Sink
Locative apps don't have to be limited to our laptops and mobile phones. Let's spend this week looking at the future of personal navigational devices (PND): in-car nav systems (Garmin, Navi, Dash), handheld GPS units (Garmin, Trackstick) - and the tools people are developing to change the way people travel, train, hike, run, bike, ski and everything in between.
#13 - Wildcard Week
This will be another wildcard week in terms of class discussion. Extra time will be dedicated to debugging final projects.
#14 - Project Presentations
You've worked all semester to get here - show us what you've been working on!