There’s an interesting discussion thats going on about GML and other OGC standards, between Charlie Savage, Bryan Lawrence and others. It starts with Charlie’s post – Lost In Abstraction – What Went Wrong With GML?, which talks about architecture astronauts and standards that stop people from doing things, rather than helping them. All too familiar a subject for anyone involved in OpenStreetMap – the project’s data model is routinely criticised by advocates of OGC standards, as well the "hardcore geo" crew who shiver at OSM’s anarchic ways.
So Charlie’s argument goes along the lines of this: GML is so complex that its easier and faster just to write your own standard. He writes about GML2; "Instead of saying “this is how you encode a road” it now says “this is how you construct a model that will let you encode a road.”" An attempt to be all things to all people results in a level of abstraction that places the standard outside of the reach of anyone who hasn’t read and understood the 300 page specification. Charlie goes on the explain the postition of data-sharing standards in relation to Metcalfes Law – that the value of a (tele)communications system is proportional to the square of the number of people who use the system.
Bryan criticises these points on several grounds but agrees that GML is too abstracted. What’s interesting though, are the examples he chooses for times when other formats like Shapefiles or GeoRSS fall short of the mark. The example he chooses is encoding the trajectory of drops from aircraft. Such an extreme edge case smacks of desperation to me. Most people live in the middle of the distribution. If I can use Shapefiles, .osm or GeoRSS to do all the things that I need to do, its going to be very difficult to convince me to use a more complex standard – there’s simply no reason for me to touch it with a barge-pole. Meanwhile, whilst the architects of a WFS/GML app are on page 27, the hacker behind a GeoRSS app has read the web page, written the code and is sitting back whilst Metcalfe’s Law takes effect.
Bryan also writes:
Atom allows you and me to exchange a document that we can each interpret in terms of some simple concepts. Add GeoRSS to it, and you can tell me the location that this document applies to. If I want to do anything more complicated then we’re into a GML extension anyway.
GeoRSS can do a lot more than encode a document with a location. For a hint of things to come with GeoRSS, take a look at this where2.0 abstract which hints at the UK Ordnance Survey’s use of GeoRSS to deliver updates of their GML based MasterMap product, a solution that they came to after deciding that other OGC standards were too heavy-weight for their use case – which is the distribution of a large, complex dataset of the United Kingdom.
1) Desperation
… but it’s not a desperate edge case for me, it’s absolutely core. We have literally thousands of files of real data which conform to that specification. Like I said in my original posting; some of us have different use cases. What’s core for you isn’t core for me, and both of us should be fine with that
2) Isn’t your final example agreeing with me: using GeoRSS to deliver GML updates?
[...] this is a great post! I’ve argued for quite some time about how standards actually stop people getting on with stuff – to me they’re a haven for beards! [...]