May 31

Nat Torkington

Nat Torkington

Google Maps and BBC Backstage

It looks like Google launched Google Maps UK just in time for the BBC Backstage hackers. Backstage, to refresh your memory, is a project to open up BBC data in feeds and formats that users can remix and hack with. A lot of the latest Backstage hacks have used Google Maps.

traveldata plots travel advisories ("M6 West Midlands - Northbound exit slip closed at J6, Spaghetti Junction because of a fuel spillage ... one lane of the main carriageway also closed on the approach") on a Google Map. The result is a little like supergreg's Google Maps-Yahoo! Traffic mashup (Greg will be at Where 2.0 by the way)--quite useful as an "at a glance" view of the day's traffic nightmare.... There's a lot of this "map as UI" now Google Maps has brought it within the reach of the average web hacker, and I'm curious to see how it plays out once the next generation of web geo tools hits: I expect it will turn out that maps are useful as a UI in only some cases, and the rest of the time we want search boxes, saved user preferences, etc. to remove the need to navigate the maps.

For example, another Backstage app that uses Google Maps is Sport Map, letting you find the nearest premiership (soccer) team and get the headlines about that team. It was interesting--I checked in on my friend Piers, to see what his neighbours would be talking about (apparently Defender Steve Rowland and winger Jeff Smith have signed new contracts with Port Vale, go figure). I'm not convinced that maps are a useful interface here for finding text data like this: either you know the team already (in which case navigating the map is clumsy) or you know the town (in which case you really need a searchbox) or you are a stranger like myself (in which case predicating the UI around a strange land is not much help). I ended up using Multimap to find where his town was, then find it on the Google Map. I think it's clever and nifty but not a breakthrough.

And finally, gmaptrack lets you see the locations of Central London traffic cameras and (by clicking on the icons on the map) see the current image from the camera. It's been a very cool way for me to learn more about the geography of London, and more than anything else in the last 12 months it's made me want to go back there. Check out these pretties:


By the very nature of Google Mappery, these are all Ajax apps. A map-less Ajax app I've seen recently from BBC Backstage is Nigel Crawley's Ajax RSS News Reader, which types the story out. It's clever and pretty, though the "hot off the wire" feel doesn't really add anything to the story. Thanks to Sky for pointing me at it.

It has been great to see the response to BBC Backstage, not just in apps but in ideas too. Like Minded Linking is clever, and Keyword RSS Feeds reminded me of something that should be standard in most CMS with RSS feeds. I can't wait to see what will come next from the minds of the BBC users.

tags:   | comments: 10   | Sphere It

Previous  |  Next

0 TrackBacks

TrackBack URL for this entry: http://blogs.oreilly.com/cgi-bin/mt/mt-t.cgi/4070

Comments: 10

  Greg Sadetsky [05.31.05 03:35 PM]

Sorry if this is obvious, but gmaptrack is actually a repository of user-created maps plotted onto Google Maps. For every new location added, it's possible to specify a title, description text, marker (there is a bigger inventory of them that the default ones used by Google Maps), etc. It's even possible to import XML files containing locations...

  gnat [05.31.05 04:06 PM]

Thanks. I wasn't thinking beyond the BBC Backstage hacking, and hadn't realized the greater extent of gmaptrack. Is there an output service other than displaying on Google Maps? It seems like the real gold is the aggregation of user annotations. Sites like are sinks, but not sources: where's the web service that lets me aggregate other people's waypoints into my own app?

  Ben O'Neill [06.01.05 05:05 AM]

Another "Map of the News" is available at: http://boneill.ninjagrapefruit.com/wp-content/bbc/newmaps/

It was crashing IE at one point (due to IE's lack of love for alpha channels in PNG files), but it's all working again now.

  Stephen Miller [06.02.05 05:46 AM]

With regards to the sport map, you are correct that it would be better with town info etc, hopefully I can add this when the postcode API becomes available on backstage.

The main reason behind the prototype was not so much giving the sport information as to work out a way of finding closest things from a database from a given point. Football teams have fixed points of reference rather than areas (such as news for a county), future prototypes will no doubt carry different data.

The great thing about the BBC's initiative, is whilst nothing hugely new has been offered, it gives a place for people to bounce ideas on the messageboards, and just have a bit of fun testing things.

  Olly Jackson [06.02.05 06:03 AM]

Thanks for the props Nat :)
I'm working on lots of future improvements to the service.

  gnat [06.02.05 08:49 AM]

Stephen, thanks for the explanation. I agree about Backstage: it's not that the data is fantastically valuable, but it's a live stream of machine-usable interesting information that we humble Internet hackers wouldn't otherwise have access to. It spans many dimensions (time, space, topic, format) and really opens the doors to experimentation. Kudos, BBC.

Your "find the nearest thing from this point" will come in handy when things like EVDB and upcoming get a lot of content around you. Often I don't want to find out what's going on in a particular areacode (which can be anything from 2 to 200 blocks in size), I want to find the nearest industrial/classical/bluegrass/musical show near a place: I'll drive two hours to hear Bela Fleck play.

Re: geocoding, I've found that Google makes a good geocoder. I hacked the code slightly to include the GET in the Perl code (you'll need LWP installed for this to work):


use strict;
use LWP::Simple;

my $str = shift || die "usage: $0 address\n";
$str = escape($str);
my $var = get("http://maps.google.com/maps?q=$str");
$var=~s/.*(lat=\"-?\d+\.\d+\" lng=\"-?\d+\.\d+").*/$1/gs;
print "$var\n";

sub escape {
my($toencode) = @_;
$toencode=~s/([^a-zA-Z0-9_\-. ])/uc sprintf("%%%02x",ord($1))/eg;
$toencode =~ tr/ /+/; # spaces become pluses
return $toencode;

It even works on UK addresses. At least, it grokked "London SW1".

  Stephen Miller [06.02.05 09:26 AM]

Hi Nat,

Scraping google is certainly an easy way to get addresses, but not as quick as having a local database or similar. Thanks for the script, although I have already constructed a similar one in PHP.

The other thing worth considering with such an approach is whether to cache searches for future reference, although this could get messy with slightly similar but different searches.

For example, UK postcodes are limited to a set range, thus they may come up again and again in a search, and scraping google would be slower and require more bandwidth than caching these repeated requests locally.

As far as the events databases go, my friend Duncan who has also produced a few map prototypes (all of them can be found at http://backstage.min-data.co.uk/) already was planning to get the BBC to reintroduce some entertainment feeds to attempt this for the UK. Thanks for those links, its certainly something we will look into soon.

Any other ideas etc are very much appreciated! :)

  morfey [12.26.05 12:48 PM]

It was crashing IE at one point (due to IE's lack of love for alpha channels in PNG files), but it's all working again now.

  Tim Almond [12.26.05 04:34 PM]

I've written a simple python script which tells me of any traffic problems on the M4 motorway (which I travel a huge amount on). I wrote it to have a tinker with Backstage, and also to try python programming on my phone.

You can get it from my website.

  Lee Rickler [04.08.06 10:13 AM]

DigiLondon is a new way to find location based information in London. Using up to the minute satellite technologies like Google Earth and Google Maps and Wikipedia you can find out about hundreds of major London locations in seconds.

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.