The Ordnance Survey asked me if I wanted to collaborate on a GeoRSS project. And my honest first thought was to consider whether it was "right" to work with the OS. It's not exactly an uncontroversial organizaiton in the UK. After all I've been working on OpenStreetMap for a couple years, & at the time had just started mapping my home town of Brighton. Not that I mean to suggest that OpenStreetMap and the Ordnance Survey are in competition but let's say they have different ways of doing things. But I soon came to realize that the OS is a large organization, but not a monolith .. it's comprised of individuals. And most all of those people loved maps, and some of them were thinking and doing quite innovative things. This was an opportunity to infect the DNA of the place with technologies like Rails and standards like GeoRSS .. which do embed ideas and can be transformative. And demonstrating that OS Master Map updates could be distributed by GeoRSS would lend great weight to this format I've been advocating .. which gets better the more people use it. What is GeoRSS? Maybe we all know this. Briefly, first we consider RSS&Atom as something more than syndicating weblogs and news .. it has become the lowest common denominator for sharing any kind of structured data with the web. It's a format that loads of developers and people understand, there's lots of tools to produce and consume it and deal with it. And RSS is extensible through namespaces. So take RSS, add Geo, and that's GeoRSS. At GeoRSS.org there are brief standards documents that describe the format. It's designed for quick comprehension and wide utility. There's four geometries defined - point, line, polygon and box - and a number of attributes. It comes in Simple and GML serializations, and can work with any syndication format. Now this icon wall shows that the take up over the last year .. it's been pretty spectacular for GeoRSS. Google Yahoo and Microsoft all support it in their APIs .. and that kind of agreement doesn't happen often. GIS companies, Web 2.0 services, media companies, and governments have joined in. So, at the Ordnance Survey, our project was to test the feasibility of transporting MasterMap Updates as GeoRSS. MasterMap is the main OS feature database, it's updated often, and used by lots of different people .. so an easy to implement solution would be desirable. So this is the exisitng data format. It completely defines features in Mastermap, and isn't super complex once you dig into it, but you do have to spend time digging into it. The first task was to map portions of the COU GML into GeoRSS. So the GML geometry elements were mapped to their corresponding georss elements. osgb:togographicMember is an envelope for a single feature, so that becomes an atom:entry. The osgb:reasonForChange element describes the CRUD action of the update -- Create Update or Delete, and we put that into the georss:relationshiptypetag attributes. And so on.. The system. There are three main components. A Subscription System where users could register the bounding box of the area they want to subscribe to and an update interval. There's an administrative portion where the OS can enable these subscriptions. A seperate process periodically checks for subscriptions which are due, processes those, and notifies the client the subscription is ready. The data is retrieved through a WFS Simple-like interface to the MasterMap database. It requests a bounding box, and a temporal slice from the time of last update to the present time, and receives GeoRSS, which is cached. The client receives notification of feed updates through an implementation of the widely supported Weblogs.com PingAPI. This is a bit inverted from the usual flow in RSS aggregation, but it works. The client stores credentials for the subscription system, and when pinged makes the request for the latest feed, and updates it's own local database of features. The client and the server were implemented in two seperate Rails projects, which made this pretty nice to develop. I even got the chance to "almost" submit a patch for a bug in the Oracle database adaptor for Rails, but someone beat me to it. We did find limits to what GeoRSS can do. For instance, polygons with holes aren't supported by GeoRSS, often seen in MasterMap in building courtyards for example. There should be opportunity to discuss future direction of GeoRSS in tonights BOF "Mashups OGC Style", not that I'm recommending polygons with holes for GeoRSS! And one thing we didn't have time to try in the OS project is RESTful access to TOIDs. TOIDs are an acronym for Topographic Identifiers, unique identifier for each of the 400 million geographic features in the UK. I thought it would be cool to have a RESTful interface to request the history of each feature, in GeoRSS, and maybe RESTful calls to modify features too .. which not coincidentally is pretty much OpenStreetMap. So today, there's a functional demo handed over to the OS. So I hand the presentation back over to Ian.