Ruby code for converting to UK Ordnance Survey coordinate systems from WGS84?

Ruby code for converting to UK Ordnance Survey coordinate systems from WGS84? It’s one of those things I’d assumed would be a five minute search -> cut-n-paste job. But no. Well now you can cut & paste from here.

Using Proj4 and the proj4rb bindings

You can do all manner of coordinate projecting using Proj, and this is available within ruby code via proj4rb. To get set-up, install proj. On ubuntu you can do:

sudo apt-get install proj

download the proj4rb gem file (the ruby bindings), and install the gem:

sudo gem install proj4rb-0.3.1.gem

To use in a plain ruby script:

require 'rubygems'

require 'proj4'

To use in a rails app, add a line to your environment.rb file

config.gem "proj4rb", :lib => "proj4"

Probably all obvious to any pro-rubyist, but I got stuck at various stages of that. Anyway once you’re set up…

This code will do a conversion from WGS84 lat/lon to eastings and northings:

lon = -0.10322
lat = 51.52237

srcPoint = Proj4::Point.new(Math::PI * lon.to_f / 180,
                            Math::PI * lat.to_f / 180)

srcPrj  = Proj4::Projection.new("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
destPrj = Proj4::Projection.new("+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 "+
                                      "+ellps=airy +datum=OSGB36 +units=m +no_defs")

point = srcPrj.transform(destPrj, srcPoint)

puts "http://www.openstreetmap.org/?mlat=" + lat.to_s + "&mlon=" + lon.to_s + "&zoom=16"
puts "Converts to:";
puts "http://streetmap.co.uk/grid/" + point.x.round.to_s + "_" + point.y.round.to_s + "_106"

Originally I was trying just the ‘destPrj’ string, and calling the ‘forward’ method, but this seemed to be skipping the datum conversion, resulting in everything being 100m out. It seemed to be necessary to use the ‘srcPrj’ string and the ‘transform’ method, to get the datum conversion happening.

You can look up the mystical proj strings on spatialreference.org

(UPDATE)  If you’re interested in converting in the other direction, using the proj4 gem, see Peter Hicks blog: Converting OSGB36 (Eastings/Northings) to WGS84 (Longitude/Latitude) in Ruby

A pure ruby implementation

Like many naive developers who have gone before me, I started out thinking that these coordinate transformations should be acheivable with a few simple formulea, and was expecting to be able to copy & paste a block of ruby code from somewhere to do it without installing any gems.

I didn’t find any such code, but frustration with proj problems (before I got that working) led me to create a pure ruby solution, by porting this pure javascript code by Chris Veness into ruby. So there we go:

osgbconvert.rb – Conversion to Ordnance Survey coordinates in pure ruby

You can run it to see an example conversion with the output:

wgs84 lat:51.52237, wgs84 lon:-0.10322
http://www.openstreetmap.org/?mlat=51.52237&mlon=-0.10322&zoom=16
Converts to:osgb36 lat:51.5218609279112, osgb36 lon:-0.101610123646581

Converts to:easting:531691, northing:182090  As a grid ref:TQ31698209

http://streetmap.co.uk/grid/531691_182090_106

This includes ported code for Convert co-ordinates between WGS-84 and OSGB36 and ported code in one direction for OS Latitude/Longitude to OS National Grid (coordianate systems explained below) Also I haven’t faithfully stuck to what Chris’ functions return.

There is a bunch of maths, but it was quite a straightforward syntax conversion, and it comes in at about 150 lines of code. Somebody should do this for other languages. I’m sure other languages offer more beefy libraries equivalent to proj4. The main benefit of this is for quick copy & paste coding.

Mind you, if you are copying and pasting this, be sure to worry about the fact that it is LGPL licensed by Chris Veness… Credit me too if you like. I don’t care. I also came across another implementation, license unknown.

About Ordnance Survery coordinate systems

Chris Veness’s page is well linked because the code comes with a comprehensive description of what’s going on. However I misunderstood a few things even after reading it several times. Here’s my noddy guide to Ordnance Survey coordinate systems:

WGS84 is what I would call the “normal” latitude and longitude coordinate system. These days web developers passing around latitude and longitude values are normally using this. It’s what OpenStreetMap works with if you want to point to a location with a URL such as : http://www.openstreetmap.org/?mlat=51.52237&mlon=-0.10322&zoom=16 (the placr.co.uk office).

Ordnance Survey OSGB36 – Involves coordinates which are also called “latitude and longitude”. The numbers look very similar, and in fact if you get them confused and use one in place of the other, you’re generally only ~100 metres off. At this point I could mention “datums” and “ellipsoids”, but who cares? How do we fix it? With the above ruby code, use the function convertWGS84toOSGB36 (or convertWGS84toOSGB36 in the other direction)

Couple of formatting things to note: Both WGS84 and OSGB36 latitude & longitude values can be expressed in degrees and minutes rather than decimal, and with N S E W letters on the end. For example 51°31′20.53″N 000°06′11.60″W If longitude has a W on the end it would more “normally” be a negative number. The letters on the end do not make this an “Eastings/Northings” coordinate. That’s a different system…

Ordnance Survey National Grid Reference Eastings and Northings look totally different. For the placr office the easting is 531691. The northing is 182089. On these numbers the first digit is special. It’s identifying which “grid” square we are in, counting from zero. Everything in London is in grid square 5,1

National Grid References with letters are the older more human friendly version of that. So “TQ 3169 8208″ is the equivalent. The 5 and 1 are removed, and instead we represent the grid square separately at the front. Everything in London is in grid square “TQ”. Just to munge things together a bit more, we might drop one digit of precision and drop the spaces to give “TQ316820″.

Don’t ask me how Landranger sheet numbers fit in. I’m going back to my WGS84 thankyou very much.

Aid Information Challenge

I’m at the Aid Information Challenge day watching the final hack presentations. This seems to be part of a series of hacking events happening at the Guardian offices, following on from rewiredstate National Hack the Government day (where I made the find my nearest registry office/hospital thingy).

The idea is to get techy types to meet with people from other areas, in this case aid organisations, and look for ways to bring their skills to bear, preferably in the form of super-quick super-agile thrown-together-on-the-day “hacks” which get presented at the end. I probably should have got more involved in a mapping hack. There was a fair bit of this going on, and I got into a few conversations. Lots more potential for OpenStreetMap hacking and promoting OpenStreetMap by getting it into projects.

Instead though. I mostly busied myself with throwing together this slide deck “OpenStreetMap For Aid Information” which I then presented:

OpenStreetMap For Aid Information

I originally thought I’d have two minutes to talk at the end of the day, but I actually talked for 20 minutes as a side-line talk during the day.The main emphasis of my talk was on two nice recent aid information examples Haiti and Kibera. Some related links:

I also mentioned London events.

placr

For the past few months I’ve been doing some work for placr, and this week I’ve joined the team full-time.

Placr

I’m working on a new transport related API *, with some interesting geolocation and realtime dimensions to it. Currently this is all aimed at partner projects and B2B type clients, so I’m afraid there’s nothing fun to show you yet. Hopefully we shall go public with an API at some point, but it’s not the priority at the moment.

The work is very interesting, and now that I’m not splitting up my week with other things I can try to build up a bit more momentum. We’ve been starting from scratch.  A fresh subversion repo! I wanted to build a RESTful API outputting both XML and JSON, so I’m doing this in Ruby on Rails. I settled on this after doing some experiments with django piston first. Some interesting problems encountered with both though (despite this being very much core to what these frameworks are supposed to be good at)  Still plenty of framework details to work out, but it’s all good fun. I’ve also been using various libraries for HTML scraping.

The team is following (and getting involved in) the various open government data debates, because we’re looking at making use of some of these datasets. These are a moving target at the moment though, so as we look to develop on top of these things, agility is going to be important.

* What’s an API?

These days I’ve been socialising far too much with techy people, and was rather taken aback when someone (might have been my mum) interrupted me in the middle of my well rehearsed little job description to ask “What’s an API?”. It stands for Application Programming Interface.

I rather liked the way Richard Boulton described it as he demo’ed his API at last weekend’s rewired state event. Pointing at a this screen full of data he said “It may not look very nice to you, but to a developer this is beautiful”. That particular screen full of JSON formatted registry office data did look beautiful to me, so I developed this thing last Saturday. An example of an API and an application built to use it.

WhereCamp.EU How was it for me?

WhereCamp.EU Logo by Sophie GreenWhereCamp.EU was pretty mind-blowing. I wrote a few posts to the official site during the event:

From a personal perspective it was massively enjoyable and rewarding, but the whole thing flew by too quickly. Preparations started months ago, but suddenly on the day there was so much to do, and at the same time so many people I wanted to chat to and fascinating sessions I wanted to see.

It got off to quite a blurry-eyed start due to geo-curry with the team the night before, followed by staying up late to prepare slides. As organisers we decided we would need to seed the unconference “wall” with some post-it notes in the first session slot, to get things going and spur other people to participate by setting an example. This meant I was feeling stressed and tired from the off, but it worked well, and despite a lot of people being new to the unconference style, a great atmosphere of participatory buzz carried the proceedings forwards at an alarming pace.

You can read more about my session “The State of the States in OpenStreet Map” on the WhereCamp.EU wiki

state-of-the-states.png

This got a pretty small audience because I was up against some awesome sessions from the other organisers, but I guess I’ll get the opportunity to re-use some of these slides on some other occasion. I might change the background colour. I’d had a few beers with the geo-curry, and the purple-green gradient seemed like a good idea.

I also contributed to the OpenStreetMap Q&A Session (mainly by asking the first question)

On the Saturday I ran another little session called “OpenStreetMap Practical – Never edited OpenStreetMap? Bring your laptop and we’ll show you how”, which kind of worked, although it clearly needed longer than the 15 minutes we had.

The event left me completely shattered, and I was quite surprised when I popped into the pub for a quick pint afterwards to be confronted by a massive crowd of geo-people all enthusiastically continuing the discussions.

I’ve just been checking out some blog responses and write-ups of the event: Gary Gale (vicchi.org) , Guardian Open Platform blogEd Parsons , Steven Feldman (giscussions) , jokru , Eamonn Neylon , James Cheshire (spatialanalysis.co.uk)  As I say, from my perspective the whole thing flew past very quickly and it was quite difficult to know whether the event was actually going well, so it’s gratifying to know that people enjoyed it, and found the format successful.

WhereCamp.EU tomorrow

WhereCamp EU is tomorrow! I’ve been organising the posters:

We have a small team of organisers who are all people from the London geo-conference/meet-up circuit. In particular we have Chris Osborne who frequently puts together the very popular #geomob events, and Gary Gale who seems to live his entire life at geo conferences. These combined with a team of five or six others (including myself) have come together to plan two days of geo-map-technology goodness.

We were very successful with our marketing of the event before and during release of the tickets. Maybe a little too successful. It’s a limited capacity venue, and it is very much at its limit. Some people were slow to book their place. These people …well you can’t come (especially Steve)   Sorry about that :-(

The posters involved lots of fun playing around with sponsor logos (In truth it was only fun at first, and quickly became a big hassle. But anyway)  We are of course hugely grateful to these organisations:

Gold sponsors: GoeVation & OS OpenSpace, and Guardian Open Platform.

Silver sponsors: Axon Active, bing maps, ERSI UK, Google Maps, data.gov.uk.

Bronze sponsors: DBVU, ito, nestoria, SVGOpen, and Yahoo! Developer Network

Being an “unconference” we haven’t actually planned the content of the conference in a lot of detail. This is where we’re relying on the imagination and motivation of the attendees.

“The attendees drive the content of the sessions on the day instead of having a prescribed schedule and set of content. Therefore, the event is what you make of it, and is only as fun as the people who attend. So be prepared to speak and contribute.”

This may sound chaotic, but I’m reliably informed that it does actually make for an fun and fulfilling event. Looking down the list of attendees, I can see that there will be plenty of amazing ideas. Should be a fair amount of OpenStreetMap related stuff hopefully. I’m excited to see what kind of sessions people come forward with.

Haiti Earthquake on OpenStreetMap

In last week’s blog post I casually mentioned the Haiti earthquake, and how we had a little project going on, to improve the map of the area on OpenStreetMap. Since then the scale of the disaster has become clearer to me. 200,000 feared dead, and the story has been top of the news headlines all week. In keeping with this, the response by the OpenStreetMap community has been impressive, with massive mapping progress in a very short space of time. What started out for me as a little casual doodling in of streets in Yahoo! imagery, has rapidly turned into a collaboration of hundreds of mappers using post-quake aerial imagery.

Port-au-Prince Haiti on OpenStreetMap
 
Within 48 hours we had a very complete looking map of Port-Au-Prince and Carrefour. Mikel Maron drew attention to this progress with a classic before and after map comparison, and I’ve seen and heard several people expressing surprise and amazement at the speed of the OSM response. Knowing how the community works, I actually didn’t find it that surprising. In fact next time we respond to a disaster, now that people get the idea, I’d hope we could turn around this kind of mapping progress within 12 hours. (or within 12 hours of accessing good imagery).

For me the exciting thing about this past week, has been an increase in recognition of OpenStreetMap as a valuable source of map data. In a scramble to help by providing GIS expertise, many organisations have come to OpenStreetMap as the best source of data. More exciting than that (so amazing!), is to get a message of thanks from some people running search and rescue teams, who have loaded our data onto Garmin units to use on the ground. See Uses of OpenStreetMap data by crisis responders for more examples.

The important point to stress here is that OpenStreetMap is offering map resources covering the Haiti Earthquake in a variety of formats. You can browse the map as conventional fluid web interface, but our open data allows us to do so much more than that.

  • We can offer downloads of raw OSM XML data, ESRI shapefiles, Garmin img. These are listed at the top of that page. Well done to GeoFabrik for responding quickly with their specialised hiati downloads service
  • Mobile devices across many platforms can make use of our data or map images. See this section and the main ‘Software for mobile devices’ list. People heading to Haiti for rescue and recovery missions, should juice up their devices with this good stuff!
  • We can render the map in different ways. User:Ldp set up haiti.openstreetmap.nl as a custom Mapnik rendering showing building damage and refugee camps. These are special tags invented for the purposes of recording this information using OpenStreetMap’s open tagging approach
  • We can provide rendered maps tiles for use in online apps. Anyone setting up a website e.g. to help with the earthquake response, can display OpenStreetMap maps in much the same way as embedding a google map. (It’s a little known fact that you can even use Google Maps API to display OpenStreetMap tiles. See Google Maps Example)
  • We can offer maps files for printing. The list of printable files includes vector formats (SVG and PDF) and high resolution raster images offered by me! This was my main technical contribution over the past week (assuming you don’t count wiki link fiddling as technical!) I set up some hi-res map images of Port-Au-Prince and Carrefour and a script to rebuild the image with updates every hour. At the time I hadn’t noticed GeoFabrik had done the same thing, but they’re covering different areas and larger images, so it’s all a good variety of offerings.
  • We can set up other types of customised geo services for Haiti using OpenStreetMap’s raw data. Check out Open Route Service Haiti and Nominatim Search for Haiti

A lot of these things were possible using the collective expertise of the OpenStreetMap community who, uniquely, have become fully accustomed and experienced with having access to raw map data.

I mentioned 48 hours as an approximate measure of how long things took, but as ever with OpenStreetMap, things are never really complete. The mapping efforts in Haiti are very much ongoing, and you can help! Check out the Haiti project page for details. We’re mainly looking at mapping more outlying country roads, anything new you can find to sketch within the various imagery sources, but also making use of some other sources e.g. street naming from U.S. military maps. If you’re new to OpenStreetMap mapping you’re very welcome to get stuck in, but be prepared to climb a bit of a learning curve with the editing software (set aside an hour)

But we need to get the message out about the map resources I’ve listed above. I think that’s more important than encouraging people to join in with mapping at this stage The Fairfax County Urban Search & Rescue Team in their message said “Please be assured that we are using your data – I just wish we knew about this earlier”.


UPDATE: I’ve written about OpenStreetMap and Google MapMaker in Haiti in relation to the wasted duplication of effort split between the two communities (and relating some other blog posts on the topic here and here and here)

The developing world on OpenStreetMap – Armchair mapping possibilities

One of the most interesting aspects of OpenStreetMap is its global scope. The whole world map is editable wiki-style, and the various techniques for creating maps can work just as well in Niarobi and Nagpur as they do in Newcastle and New York. The project has always been most active in countries like the U.K. where we have lots of commercial map data but want free map data. Often in developing countries there is some commercial map data, so the same considerations apply, but then there are places which have just never been mapped by anyone. It’s quite difficult for me to imagine living in an city without ever seeing a map of that city. But many people do, and presumably they don’t really know what they’re missing. They’re missing a basic information tool for planning development, supply lines, day-to-day life.

Mikel Maron is back from the slums of Nairobi (specifically a massive slum called Kibera) where he has been working with local people on creating the first ever map of the area. His blog post ‘Some notes on Map Kibera mapping‘ gives a hint of some of the amazing stories he has to tell from this experience. No doubt he’ll give another great conference presentation about it.

Kibera Map

He created the Kibera map using OpenStreetMap of course, and I’m proud to say I had a hand in it. He got me to help out from afar, by sending me a link to some high resolution aerial imagery (special imagery which he’d got hold of, which was better than Yahoo!’s), and I traced over some of the basic details, the roads and footways I could see. This was used as a starting point for on-the-ground surveying work which he taught local people how to do. Yesterday Mikel completed the process of uploading all of this onto the main OpenStreetMap server. (See the map)

With OpenStreetMap we can build great maps of developing countries. We can do it ourselves (remote mapping) or local people on the ground can survey the streets. Or some combination of the two. Remote mapping A.K.A. “armchair mapping” by sketching over aerial imagery, is a good way to build a basic map quickly. It’s a sensible first step even if you’re in the area, but of course it doesn’t matter where you are sitting, or which bit of the world you are mapping (although availability of aerial imagery is a limitation) Another point which bears repeating… you don’t need a GPS unit! Gadgets are fun, but armchair mapping is easier and more accessible than that. Anyone with internet connection can get involved.

If you’re looking for ideas of where to do some remote armchair mapping, the Humatarian OpenStreetMap Team page lists some possibilities. Often this involves mapping of disaster zones. At the moment we are trying to quickly improve our map of Haiti after the earthquake which happened there yesterday. Google maps have good coverage, but the hope is that our open licensed maps and open access to the underlying data might be useful in some small way for aid agencies responding in the short term or to local people as they recover from the disaster in the longer term. In addition, we have the potential to produce maps which are more up-to-date (e.g. showing collapsed bridges) if we get some information from people on the ground. We can also map details which google maps don’t normally show, where such things are recognisable from the sky. We’ll need to boost the general completeness of our map before any of that can happen though.

Beyond that, there’s plenty of armchair mapping to do in the developing world. There’s a list of cities with Yahoo Aerial Imagery coverage (We are allowed to use Yahoo!’s imagery for OpenStreetMap) Any city in India could probably do with some help, apart from Chennai which is beautifully mapped!

If you prefer armchair mapping closer to home, there’s things like tracing U.K. rivers from NPE or wade into the big TIGER fixup job in the U.S.

Endless mapping possibilities available directly to you in your armchair, so get stuck in!

Doing the OpenStreetMap jigsaw

Doing the OpenStreetMap jigsaw As a follow up on the OpenStreetMap jigsaw, it seems dad has conquered the 1000 piece beast. Here’s what he had to say about his Christmas present:
“I finally finished the jig-saw the day before yesterday, after several days obsessively working on it. Nearly drove your Mum mad because apart from distracting me from the things she thought were more important, it occupied the dining table for several days. It was certainly quite intriguing, a challenging test of topographical knowledge of London. It would make a good training tool for taxi drivers. The lettering was certainly too small and fuzzy. I found a magnifying glass was useful. But even so it was often unreadable, unless it was a street-name which I half-knew or remembered anyway. I expected it would get easier towards the end, when with a limited number or pieces, it would be possible simply to complete the missing geometry of red, green or orange road patterns. In fact it got more difficult in that respect because the pieces remaining contained fewer distinguishing lines. I finally learned that an effective technique was to examine the lettering on each piece to establish which way up it should go, and carefully keep the pieces orientated correctly even if they couldn’t immediately be fitted. Thus it was possible to key the shapes of the remaining pieces as well as the design on them. I found it a more satisfying puzzle than the 500 piece Turner painting of the Fighting Temeraire, still unfinished from last year’s Christmas. This includes a large number or plain pieces of similar colour, which is ultimately boring unless you’re a jig-saw fanatic.”

So there you have it.  It is do-able. That’s a relief.  I hadn’t thought about the text orientation advantage. I guess that does help a lot.

A couple of people have asked me for more information about how to make your own OpenStreetMap jigsaw, or for help with doing so. It’s pretty tricky. I gave some details in my original post, but I could write some tutorials, or even make software to make it easier.  …Low down on my todo list right now though I’m afraid

OpenStreetMap Jigsaw

I got an exciting Christmas present for my dad. Pretty sure he doesn’t read my blog so I’ll tell you about it here (shhhh)

OpenStreetMap Jigsaw3

There’s a bunch of different sites for ordering custom jigsaw puzzles. Obviously the normal thing is to use one of your own photos, but how about a jigsaw map? ….open licensed of course. A map could be a cool image to use on a jigsaw puzzle, because its a nice intricate image, with evenly spread complexity (compared to some photos at least) and it becomes a puzzle of geographical knowledge rather than just colour matching.

I decided to order one from AllJigsawPuzzles.co.uk which does 1000 piece jigsaws! This is 66 x 50 cm (26 x 20 ins) and costs £29.99 (+ £2.79 delivery) I sent them an OpenStreetMap image which was 7168 x 5448 pixels, here’s what I received a few days later:


OpenStreetMap Jigsaw 1
OpenStreetMap Jigsaw 2
I’m pretty pleased with the result. It comes in quite a nice box. The box and the jigsaw pieces themselves are with a papery finish, not gloss (maybe less durable)  The text of the road names came out a bit on the small side. I think the fuzziness you see in the photo is actual fuzziness of the printing rather than camera blur, so yes the text would definitely benefit from a few more pixels, but hopefully it is not too painful to read while doing the puzzle.I knew that this was a danger as I prepared the image. An interesting “feature” of AllJigsawPuzzles.co.uk is that, despite a deluge of information on there, it doesn’t tell you much about what kind of image you’ll need until after you’ve made a credit card payment. In fact the image upload page is available with all this information, but you’re not linked to that until after paying.

Even then it doesn’t actually tell you what pixel dimensions to go for, but you can work it out. The information is: “If possible save the picture at around 300 dpi (dots per inch), that is the resolution we work at. If you crop your picture before sending it, then try to have the picture size in the ratio of 25:19;”. The printed image is 26 x 20 inches, so it’s recommending 7800 x 6000 pixels. Now I sent a slightly lower res image at 7168 x 5448 pixels. To be honest I’d already faffed around a lot with the image at this size, before reading the instructions on this page, and I couldn’t be bothered to re-do everything. But also I figured they were probably erring on the high side at 300dpi, and I knew the text size was going to be an issue. If I’d sent a larger image (covering a large area of map) then the text would have printed even smaller.

Of course what I should have done, is generated the map image myself, using a custom Mapnik stylesheet with larger text for printing. I notice Holger Schöner has some nice examples of this: ‘Mapnik maps for other resolutions’ on his demo page. But I was too lazy, so I used the BigMap perl code which creates a big image by tile stitching. I did actually use a custom CloudMade style with no buildings and no residential grey patches showing. This was because the coverage of these things is irritatingly incomplete at the moment (I organised a special mapping party to tackle this back in September, but there’s still a lot of work to do on that) and it would have annoyed me to have these problems showing on a jigsaw.

I may regret this though because it means fewer recognisable details for the purposes of puzzle solving. In fact it remains to be seen how do-able this 1000 piece puzzle will be. I was thinking afterwards perhaps I should have gone for a 520 piece one, or maybe I should have added a slight graduated fill to the whole background (make it easier to roughly place pieces). Or maybe that would be too easy. We’ll have to wait and see how my dad gets on. I’ll get back to you on that after Christmas!   ( UPDATE: Doing the OpenStreetMap jigsaw )

Last day for CloudMade London

Today’s the last day for the CloudMade London team. We’re not powering down any servers. It’s business as usual for the rest of CloudMade, but for me, Andy, Matt, Shaun and Emma it’s time to finish packing up junk and selecting office furniture to purloin.

It’s been an pretty amazing year. Our team here in London was working with the OpenStreetMap community to further the goals of the project, and I hope we did a good job of this, but I can’t help feeling regret at not having done more, or certainly at not being able to continue the work.

It’s been hectic. Time was gobbled up on the various OSM communication channels and on CloudMade support emails. What was left was generally spread too thinly between many projects and ideas. I’ve been in the eye of the OpenStreetMap storm, watching powerless as the debris flies past. I’m sure future jobs won’t ever be quite the same (and not nearly as much fun), but right now I still have a head full of project ideas and a busy inbox, so I need to learn the lessons and get better at juggling these things.

Last week I saw some great talks at the Open Source Show and Tell, and some of them really related well to OpenStreetMap and to what might have come next for our team.

Leisa Reichelt talked about the Drupal 7 User Experience Project. A group of paid people worked on a major UX overhaul for the next version of Drupal. She described the type of usability studies they did, and some of the processes they had to go through to introduce these ideas and have them adopted by the drupal developer community. She said they used video a lot (see YouTube group), not just because it gets across usability ideas well, but just as a more engaging way of getting their message to the community. She stressed the need for feedback early on, and throughout the process. Now OpenStreetMap is just at the beginning of this process, with a few people starting to mention UX as the next big priority (Not just front page flower-arranging. We need to look at the whole user experience) As an Open Source project, we’re pretty small fry compared with Drupal. Certainly we can try to do a similar thing, but it’s shame there’s no longer a paid team of people who could dedicate themselves to this.

Iain Farrell talked about Canonical and their work with the ubuntu community. He talked about the big community conferences they hold every 6 months. Naturally this made me think of OpenStreetMap’s State Of The Map conference, but actually these are all about getting ubuntu developers together to brain-storm and design the next releases of the software. Clearly this is another highly “mature” Open Source community, and the conferences fit into a very specific point in their carefully controlled release cycles. What’s the closest thing OpenStreetMap has to this? Probably our London developer meet-ups and “hack weekends”. That’s another thing we’re going to struggle to do now, if only in terms of having a venue.

Things like release cycles and UX reviews all require a level of coordination beyond the basic mish-mash of individual developers scratching their own itches. As OpenStreetMap continues to grow, we’ll need more coordination. I’m sure Foundation Working Groups will be part of the solution, but these are made up of volunteers too. I’m sure we’ll make it work one way or another, but I’m sorry our CloudMade team didn’t get to see things through to the next level in 2010.