this is aaronland

that's how the light gets in


This is still not the blog post about prettymaps. That's a long and twisty beast and I'm trying to figure out how to work piggy in to the narrative to make sure that Myles reads the entire post...

A couple months ago, I wrote to a friend who is now part of the printmaking faculty at NSCAD and said: Sometime in the next couple of years someone is going to come in to the studio and want to print map tiles. You know, individual 256x256 pixel tiles reinterpretted as 2 t lithographs. When they do promise me you'll punch them, at least once, for me.

I am now in the awkward position of having to let him punch me because yesterday was the launch of the third edition in a series of prettymaps prints we've done for 20x200!

(I haven't said anything until now because the first two prints were released during a long overdue vacation in which we stepped away from the Internets altogether.)

Shortly after we launched prettymaps Jen Bekman commented that she hoped it might mean we’re finally doing those @20x200 editions (with Stamen) we’ve been talking about forever! I will not lie. It was an idea that excited me in no small way and, in a world where things sometimes work out just the way you'd hope, I eventually found myself at the 20x200 offices signing a giant stack of cerificates of authenticity... 2, 127 of them when it was all said and done.

no sleep til brooklyn, indeed

I have been a fan of 20x200 ever since Jen started the project because it is an important piece in the larger puzzle where we all try to understand the role and the economics between artists, not-artists and capital-A art in a world where the Internet exists. It is tangible proof that yes, it really is possible and you can do it with style and class and beauty every step (or at least of them) of the way. I had the chance to spend a little bit of time with some of the 20x200 crew while I was in New York and they are all rock stars.


The three 20x200 prints include the San Francisco Bay Area, LA County and New York City. As I write this, the 8x10 prints for SF have already sold out and there are only about six, of the same size, left for NYC. Thank you all, so much! The reaction to prettymaps both on the web and now in print has been extra-special and I am thrilled that people seem to like it so much.

Finally, I want to mention that the Department of Even Bettar ® is pleased to announce that Stamen has decided to donate any proceeds we make from the sale of the 20x200 prettymaps prints to the Humanitarian OpenStreetMap (OSM) Team. Whether it's the work they are doing in Haiti or Kibera or just trying to understand the how and the what of building and maintaining a community-based map outside the luxury of leisure time they are a no-holds-barred inspiration in the very best tradition of louder, harder and faster!

This is happy-making.

10 days in montreal

This is not the blog post about prettymaps.

Every time I try to nibble that particular pig Myles tells me deploy is blocked and instead of knucling down and finishing it I spent the weekend tinkering on an idea that's been nagging me since January.

I went back to Montréal for ten days at the end of August. It was the first time I'd used Bixi, the shared bicycle system launched by the city last year and it was awesome. Probably the worst thing about Bixi is the absence of an obvious map listing bike paths anywhere on their site and that it's been adopted by a number of other cities, including London, which will have the unfortunate side-effect of causing people from Montreal wax lyrical about how great the city is even more than they already do. We are like the tree-planters of cities that way...

Every time I borrowed a bike I tried to remember to start the GPS logger on my phone. In the end I only managed to do this a fraction of the number of times I went anywhere but it was still enough to make a nice piratewalk-style map of my travels around the city:

10 days in Montreal

If you're curious, had the Bixi system offered to log all my trips for me using a built-in GPS system I'm not sure I would have said yes. Someone may yet develop a series of sensible defaults or an interface for handling all the privacy issues that are raised when you're continuously tracing a person's movement. So far I haven't seen it yet and would prefer a lossy recording that I control to perfect fidelity wrapped in someone else's bias and creepiness.

Warning: Buzzword-bingo and alphabet-soup ahead! Just stay with me because this is the important part: On Sunday, I took all those GPX files and squirted them in to PostGIS and then used the PostGeoJSON TileStache handler (think the GeoNames findNearbyStreetsOSM API method but on steroids) to turn all that data into tiled GeoJSON, before handing it off to Polymaps for rendering.

If you never bother to learn anything else about Polymaps know this: It will display multiple tile layers in a single map and any one of those layers can be raw geo data (like a bag of lat/lon coordinates) that will be drawn, styled and made interactive using tools already available in any recent web browser (specifically SVG, CSS and JavaScript). The ability to tile the data is just as important. By taking all the data out of the database and cutting it in to little (little becomes relative as you get closer to the sky) bounding box sized pieces it means that you can build and deploy interactive maps without the need for anything more than a web server and a web browser.

simplified / clipped

The image above is one of the first tests I did. One of the issues with rendering GPX traces is that they are quite chatty. Depending on your device settings you may be recording point data every 10 feet or 30 seconds or worse. Browsers are like most people in that they prefer short sentences. They're capable of dealing with a Kerouac-style monologue but only for so long before they start to spend more time keeping up with the words than they do the meaning. In this example I applied a pretty fierce simplication to the lines in the GPX traces.

smooth / loop

I eventually toned down the simplification to play nicer with the underlying prettymaps cartography.

This is the part that interests me: What happens to a person's experience of prettymaps when the echoes of their own life start to make up the map itself? What happens when the only streets on a map are those you and your friends have traveled? At Flickr we made a few tiny attempts to tackle the problem of slippy-maps and historical tilesets and I get a little misty-eyed and weepy when I think about what we could have done if we'd had tools like TileStache and Polymaps at hand.

A few things to note about the second image:

When we were prototyping prettymaps I used to joke that it would be a good test suite for browser developers but I was kind of serious.

christophe colomb / rue des carrieres

Finally, instead of going to bed at a sane hour last night I updated the interactive elements to draw a pair of sparklines depicting the range of elevation and velocity values near that point. These are all values captured by the GPS device, stored in the database and then sent to the browser as tiled data.

The truth is that I don't actually love this kind of display and find it more distracting than not but as an experiment, as a proof of concept to see what's possible, I can live with it. Also: tiled data!

There's a photoset of all the iterationshow much do you love that Île Sainte-Hélène looks like a human heart hanging like a Christmas ornament from the center of the Jacques Cartier bridge? — and you can play with the live version over here:

As usual, this has not been optimized for speed so be patient. It's a wonder we can do any of this stuff at all in the browser. We'll sort the rest of it out in time.

Meanwhile, careful readers may notice that the prettymaps basemap is a single raster layer instead of the half dozen or so on the prettymaps site itself. One of the other things I did this weekend was create a static and non-interactive version when all you want is the pretty in prettymaps. Now that this is done the plan is to publish a public snapshot of the EC2 volume with all 42 GBs worth of tiles used to make prettymaps.

(The rule of thumb, if you're wondering, is that things start to get hard at zoom level 10 and start to feel impossible at zoom level 16.)

Hopefully that will happen in the next couple of days. If there is any justice in the world I can time the release to coincide with a real blog post about prettymaps. Aside from the excitement and anticipation of seeing what other people might do with all that imagery and data it also means that I can start to work on bolting prettymaps into the Untitled Intimacies project.

This is happy-making.