Google have released a mashup editor, that makes it easy to create small functional web apps using their apis.
Yahoo have pipes which allows you to create, manipulate, and aggregate rss feeds.
The Mash Up
I want to create a mash up with the contents of the RTE news feed, hooked up with maps so the location of the news topic is pinpointed.
Use Yahoo Pipes
First I use yahoo pipes to suck in the RTE feed. Once complete I add a location extractor. This will scan the feed items and add a y:location element if it can successfully determine location from the content.
See the pipe output here.
Use Google Mashup Editor
I can then use google mashup editor (GME) to create a list of items from the Yahoo pipe.
The items when imported to GME get converted to atom format, and the y:location added by Yahoo pipes is added to the item's geo:lat and geo:long elements respectively.
Each item has an event handler when selected. When fired an item's geo location is parsed and used to pinpoint the location on the map.
You can see the end result here http://rtenewsgeocoded.googlemashups.com/ (currently if no location can be established the map point is random). If you select a news item the subsequent location will be pinpointed on the map.
Update: Use Yahoo Maps with pipes
Google maps with GME doesn't work well when only a few of the items are geocoded. It still plots them on the map at an arbitrary point.
I started looking at this from a number of angles, one being that the location is being determined from the feed content. When the feed contains only a title and one sentence summary, that makes it it increasingly difficult.
My first pass was to obtain the full content for the news article from another mashup tool: Dapper.
Once Dapper is setup to extra the full content, I need to loop through each item in the original feed and construct the URL to call the dapper service. The result contains the full news article content, which I use to replace the original item's description. This increases the complexity of the pipe.
You can see the updated pipe output as html here.
Once I have the detailed content it should mean a higher hit ratio for geo locations.
Pipe + Map output
Finally, rather than using Google Maps, the Yahoo map and pipes integration works better. See the final result here. The map tab shows these items that could be geocoded, while the list tab shows all items.