Well with the UK mashup event coming up I was having a look around to try and find some interesting mashups to explore, but it seems there is a lot of similarity. Yes there are some cool applications with nice interfaces and some interesting datasets, but 99% of them are just data overlay applications. The mashup phenomenon has been going on for getting on for 2 years now and the initial excitement and innovation seems to be wearing off a bit. Most of them consist of one of two recipes.

  1. Find interesting list of something on the web, process list format, geocode and display points using GYM API
  2. Take homegrown list of something optionally geocode then display points using GYM API.

There are some exceptions to this for example combining several different services such as calendaring, events and mapping, however most spatial mashups are still just pushpin maps of locations. These are fine if you are really interested in the data, but many mashups seem to be there just for the sake of doing a mashup. There are two things that would really make mashups that much more interesting and useful and hopefully we will start to see these appearing more often.

The first has already started to happen which is to open up the data to to other users. When you think about mashups you would expect that people using for example googlemaps and some point data would now have made that point data available for all to see, but often this is not really the case. The point data rendered on the map is often no more useable or accessible to other applications than it was before. Yes you can visualise it against a map background, but you cant easily access the raw data; for example to use in a spatial analyst process to find the density surface of those locations. What would be great would be if when creating mashup sites the authors were making the data available as a service, not just an end user application. This can be achieved in several ways, the simplest and most common is to make the same data available in a “standard” format, the most popular of these are; GeoRSS and KML followed by GML and the other OGC formats. This is now pretty common and there are many sites that reformat data into these forms as part of a mashup. The other approach is to create a service or API to access the data you are publishing or accessing as part of the mashup. This is much rarer as its a pretty complex process involving server based software or processes. However there are a few tools that can help you do this. A great example is Dapper, this allows you to create a web service out of any third party website, it will map that site to an XML schema which can in turn be transformed into any common format, such as a googlemap URL or icalendar format. You can also map it to a custom format such as KML or GML. This is an amazingly powerful if slightly contentious tool that allows you to create some interesting applications. I can see people using it to generate KML services from pretty much any website containing locations.

Once services and Data are available the next step is to do more analysis of that data. Currently mashups combine data so the user can for example look for patterns in the geographic data that they will never have noticed before. What would be even better would be for the systems to look for patterns and relationships rather than leaving it up to the users. Spatial analysis is something we are all comfortable with on the desktop, but mashups are still stuck in visualisation mode. This is understandable as many of the tools to do this analysis have not been available in the web environment. However if data is provided as GML, KML or WFS service then users who have the tools could use the data in much more innovative ways. With standards support built into ArcGIS users could utilize online data sources with many of the ArcGIS extensions such as spatial or geostatistical analyst. At 9.2 with ArcGIS server geoprocessing support, organisations can now begin to make analysis services available as well as just raw data. For example there are many sites displaying houses for sale along with information about nearby schools and amenities, what would be great would be for the user to input their preferences about the importance of certain features, such as schools, transport links house prices, distance to shops, pollution and then for the site to calculate the ideal location based on a specific users preferences. This type of problem is a classic spatial analyst problem of overlaying different surfaces to come up with a ideal locations. Another example of this is this story about using Google Earth to search for potential archeological sites, why not combine this with an automated feature extraction model to search for specific data within the imagery, an example of this is documented in this paper that searched for road junction in online raster maps. Hopefully soon with the release of ArcGIS Server 9.2 we will start to see more of this type of analysis capability move to the web and become incorporated into some new and innovative mashups.