Webstock 09: A Mashup Case Study

Live blogging a Mashup Case Study presentation at Webstock 09 by EveryBlock.com founder Adrian Holovaty:

A mini Google Maps app was actually developed before Google did it by a NZ developer using the Google API. Got Adrian thinking and he developed ChicagoCrime.org which then morphed into EveryBlock.com.

ChicagoCrime.org was a mashup of crime data put together from the Chicago Police Dept’s web site and published together with Google Maps. Searchable via route, area, block or neighbourhood locations (e.g. barber shops, restaurants), even via mobster activity. Google’s rollout of Street View added even more data.

They then added Flickr data, user material etc. This eventually became EveryBlock.com, a news feed for your block. You can go to the site, select a city and choose your neighbourhood to see all news relating to your neighbourhood that has been written about in local media. The goal is to find the news that is very specific to you that may be buried on the major news sites by national or international media stories.

The data includes restaurant reviews, product launches, feel-good stories, lost and found stories etc. You can search via trends e.g. all restaurants with particular food safety violations e.g. vermin. You can search via RSS feeds in your neighbourhood, real estate listings, press releases etc.

How Does it Work?

Complex technology is used to pull all the data together. The site uses natural language processing including datafeeds from portals, search engines, media agencies, APIs like Flickr’s, geocoding API, Craiglist, Yelp, Valpak, Trulia. Government resources.

How to Best Make a Successful Mashup:

Lesson 1: Take advantage of existing data

Lesson 2: Sort by date – this adds value

Lesson 3: The more effort it takes, the higher the reward. Unlike Google. Google likes convenient, centralized, USA building-permits databases. Anything else is too much work. Be the anything else.

Lesson 4: Governments are opening up. Be nice and appeal to civil servants (and librarians!). Plot cities/agencies against each other. Governments shouldn’t build interfaces into their data, they should offer an API so others can pull out RAW data.

Lesson 5: Avoid using maps as a crutch. Google Maps is not the app. Use it as a tool to create an awesome app – push data, don’t pull.

Lesson 6: Permalink everything. Anything that can be a link should be a link. Used IMDB.com as example. There’s a special place in hell for session cookies.  EveryBlock gets a LOT of link love and rankings for long tail search queries from Google because of permalinks. Granular Permalinks future proofs a site.

Lesson 7: The simplest way to granulize URLs: Use attributed URLs E.g. Date / crime/dates Type: /crime/types/ Address: /crime/addresses/  Location: /crime/locations/  Then drill down further e.g. /crime/locations/hotels/  Flickr and Delicious use that. Use the Django databrowse to look at database schema and create a directory structure to suit!

Lesson 8: Move Beyond Points – web apps that use geo-spatial info should respect usability. Points aren’t everything. Bubbles aren’t everything. Use lines to make the maps more usable. Use polygons, use transparencies. Don’t overlay data on data. Use GeoRSS to geographically encode objects for RSS feeds.

Lesson 9: Roll your own maps – Google maps is great, BUT use it intelligently. Use colors, fonts, text size, behaviour at zoom levels, road widths, languages etc.

Lesson 10: Make a mashup!

Spread the joy!