Snatching a moment at the back of Sketching in Hardware, I wanted to talk about the Dopplr iPhone app, and a few of the technical details and design decisions. In this post I'm going to focus on the map interface, as that's the core of application. I'll touch on other thoughts in a separate post later on.
One of the first things people notice upon booting up the app is that we're not using Google Maps. Dopplr concentrates on city travel, and the majority of the most travelled to cities now have superb OpenStreetMap coverage. Using OSM gave us the flexibility to design our own custom map, reflecting how people use the Social Atlas: at human scale, often on foot, bicycle or public transport.
Matt Jones was inspired by Kevin Lynch's The Image of the City to develop a style specific to city size, human scale navigation. Matt wrote:
Lynch contended that we make legible mental maps of the city with 5 types of object: paths, edges, districts, nodes, and landmarks.
I’m trying to make a style that emphasises these, and eschews the ’satnav’ style car-oriented mapping. It must be noted that this is a style that works most effectively at city-scale zoom levels, which it’s intended for. It looks pretty useless at country-scale.
This was made possible because of Cloudmade's superb Style Editor, a simple interface for themeing and tweaking OSM maps in the browser. In days gone by, we'd have had to spool up our own Mapnik installation, translate Matt's thoughts and designs into code, and dealt with keeping the tiles up to date. We're more than happy to let Cloudmade deal with that - they're the experts.
To display all these beautiful tiles, we're using route-me. Consider how young the project is, it's in very good shape. We're using a revision just before 0.5, and it's proved stable and quick. OK, it's not quite as smooth as the Google Maps library, and there a few niggles, but development is ongoing and Hal Mueller and the rest of the contributors are very responsive and friendly. I recommend checking it out.
I'll touch on our data fetching and caching strategy for placemarks in another post. I think it's going to need diagrams.
I winged about homogenous locative services in a previous, very grumpy post. I hope that we've shown a little bit of what's possible with easily accessible libraries, tools and open data.
Of course, it's not perfect, so do get in touch with the Dopplr team with your thoughts - this is the first foray into the mobile Social Atlas and your feedback is greatly appreciated.