Status
Getting a tour of Burning Man headquarters
Location
San Francisco, CA
Subscribe to GeoRSS Subscribe to KML


Mashup

Geo Twittering

Published in Geo, Mashup


The geowanking community has taken notice of the Twitter service. If you’re not aware, Twitter is a simple service to share what you’re doing. Twitter just lets you post a line of text, and you can do it via SMS, IM, their web interface, or any number of libraries that are popping up.

There are already two twitter-map mashups: TwitterMap, and GeoTwitter. GeoTwitter is a simple “red-dot” map, which parses a twitterer’s home location and plots that using Googlemaps XML.

TwitterMap is much more full featured. It actually polls the current public profile feed looking for “lat: lng:” specification of your current position, and then puts that on a full-frame map, with different colors depending on how long since you’ve updated. The problem is that Twitter has gotten very popular, and updates happen frequently. TwitterMap only polls the public list every so often, so there’s a 1 in 20 chance your post will actually be grabbed.

The developer, Patrick Kollitsch is hard at work on an updated version that should fix this issue and have more features to boot.

I definitely like the idea of showing a fading history of when the person last updated, or to see a trail of their travels. Also, seeing the user’s community of friends with lines linking them - especially if mixed into the history, so see as they come together and apart, would be very cool.

More to come on possible geocoding & picoformat ideas around Twitter, and like services (dodgeball, plazes, et al.)

Update (3/28/07): another TwitterMap has shown up that offers a very simple and effective interface. It also offers TwitterVision, which is a semi-realtime updating of twits as the show up and their location.


Sunlight Datakit - Congress in your App

Published in Mashup, Programming, Ruby, Web


Sunlight Labs has released a public API, their Sunlight Datakit. It’s a straight-forward, simple API for getting access to their Civic data, like Congressional Representatives, zipcodes, timezones, and some geographic information.

There is some basic information about elected representatives that makes politico mashups easier: the ability to tie a name to a state, the district and zip codes that they represent, their office telephone number, and so on. We have put together a simple labs “datakit” that does this for us, drawing from several publicaly available data sources. We are making this fully available and have provided a fully documented API for the methods we have developed for those sources. Find out about the datakit here.

Of course, any API needs a nice little client to tie it into your applications. Here is my Ruby client. It’s very simple, because is uses the fallback method_missing to handle any function passed to the class. This also allows the class to be extended by implementing specific methods if more processing of the response is needed.

require open-uri
require rexml/document
require cgi
SUNLIGHT_HOST = http://sunlightlabs.com/datakit/

class Sunlight
  def self.method_missing(service_method, *args)
    params = args[0].collect {|k,v| CGI.escape(k.to_s) + = + CGI.escape(v.to_s)}.join(’&‘)
    url = SUNLIGHT_HOST + service_method.to_s + "?" + params
    open(url).read.split("|")
  end
end

resp = Sunlight.getDistrictFromZip5({:zip => 20740})
puts resp.inspect
  # MD:5
  # MD:4

resp = Sunlight.getRepresentativeNameFromCityState({:city => Detroit‘, :state => "MI"})
puts resp.inspect
  # Kilpatrick, Carolyn C.
  # Conyers, John  Jr.
  # Levin, Sander M.
  # McCotter, Thaddeus G.
  # Dingell, John D.

The Sunlight Datakit currently offers the following functions. Check out the documentation for information on the parameters and returned values.

  • getDistrictFromZip5
  • getStateFromZip5
  • getDistrictFromZip9
  • getStateFromZip9.php
  • getRepresentativeNameFromDistrict
  • getRepresentativePhoneNumberFromDistrict
  • getRepresentativeRoomNumberFromDistrict
  • getCityFromZip5
  • getCityStateFromZip5
  • getLatitudeFromCityState
  • getLongitudeFromCityState
  • getZipCodesFromCityState
  • getTimezoneFromCityState
  • getRepresentativeNameFromCityState
  • getRepresentativeNameFromState
  • getStateAbbreviationFromStateName
  • getStateNameFromStateAbbreviation

AOL2.0

Published in Mashup, Programming, Technology, Web


AOL has decided to make a try for the Web2.0 phenomenon by fulfilling a rule of Web2.0, releasing a public API.

AOL Developer introduces a set of API’s meant to tie into existing AOL services like instant messaging (AIM), AOL Music, WinAMP player, homepages, and MapQuest’s OpenAPI.

AOL is also releasing Boxely (coming August 2006), which is a toolset of UI elements similar to Yahoo!’s UI library (how does one include both a bang and an apostrophe in a possesive noun with punctuation like Yahoo!?)

It’s not clear yet what AOL really has to leverage in terms of bringing in mashup developers. Really someone that wants to get hired/bought. Though being able to better integrate AIM status and location into a site/tool seems really useful. So go to developer.aol.com and see if anything sparks your imagination. And try not to smirk at AOL’s line:

…this is where you’ll find the special sauce to build great Web applications. We want you to hack our stuff. So mash it up!


Metacarta Parsing FoFRedux

Published in FoFRedux, Geolocation, Mashup, Metacarta, Programming, Technology, Web


I mentioned Metacarta last week after I saw their presentation at Where2.0.

They mentioned having a public GeoParser API available for developers to play around with. So I passed in one of the output feeds from FoFRedux (a feed aggregator that supports GeoRSS) through the Metacarta GeoParser to produce a map of locations that show up in my feeds.

FoFRedux -> Metacarta Example: SlashDot article locations

So now you can use a feed aggregator to display, say locations of articles and posts for your friends feeds. Or locations of Flickr photos, or even UPS/Fedex package tracking. The example just shows the image output, but the GeoParser can output GML or GeoMarkup XML, and JSON for better intergration into other applications.