It's been a while. Hello again.
A few months ago I left Stamen after almost 4 awesome years. I planned to review the work we did together here but I've been procrastinating on that for long enough so I thought I'd better post something before it's not news any more.
I already miss working at Stamen but in August, green card in hand, I felt it was time for a change of pace. I'm taking the opportunity to build a start-up with my friend and long-time Stamen collaborator Ben Cerveny. We'll both have a lot more to say about that as it takes shape, but you can stalk us here in the meantime if you want.
While we seek funding for our venture I'm freelancing a little bit, building demos for investors and trying to get exposure to some different ways of working. Stamen has proven there's at least one solid and sustainable business model for beautiful, interactive, dynamic mapping and data visualization. But a successful design service that like has a frenetic pace of work and high turnover of projects which I eventually found frustrating. Despite ongoing and successful efforts to build code libraries (like Modest Maps and Polymaps) I came to feel constrained by the clean-room/from-scratch implications of work-for-hire contracts.
That isn't a deeply serious criticism of Stamen. They continue to deliver amazing work (for clients like Bing, MTV and Nike) and art like Prettymaps and I don't believe their working style is flawed. This change is more about what I've learned about my own working style, my curiosity to explore different ways of working, and perhaps the shiny world-changing opportunities of the Bay Area. So with our start-up we plan to seek out and try other business models (licensing, advertising and more) that will allow us to tackle long term projects and give us space to build up our own tools and apply them across many different domains.
It turns out this is quite a bit to get across in a couple of paragraphs and I have to get out of the house to see my accountant... how times change! Despite my continued .co.uk-isms I'll be based in San Francisco for the foreseeable future. If you're here too and you've read this far we should probably be talking more. My email address is 'tom' at this URL, or if we've met before there's LinkedIn and Twitter too.
This week, Eric and Geraldine updated the Stamen homepage to include a list of Everything, Everything and Kicker Studio's Jennifer Bove posted an interview with me and Boris Anthony from Dopplr about information visualisation for Creativity Online.
Continuing three years of exploration and development at the intersection of mapping and time; a quick post about two new things I've been working on at Stamen.
Last week we released a Historical Hurricane map for msnbc.com, a follow up to our forecast tracker from last year which was recently accepted into the SIGGRAPH Information Aesthetics showcase. You can read more about the historical map on the Stamen site, or just go ahead and explore the finished thing:
Further to our updates earlier last month, we just released another round of improvements to Oakland Crimespotting. Mike and Eric have full details. I'm particularly pleased that we're able to open up our archive of around two years worth of data, but also that we're able to try something new with an interface for filtering by time of day.
We jokingly started calling this a time pie, and now we're stuck with it... in a good way. I'm still not 100% sure it's intuitive, but I think that working the real sunrise and sunset times in there should help. The only comparable interface I could find was this:
If you know of any other similar ways of selecting/filtering 24 hours, let me know in the comments!
We've been working on some updates to Oakland Crimespotting recently and Mike released the first iteration today. The most significant change is a switch to base maps using OpenStreetMap data. We're using the Pale Dawn cartography that we (Stamen) designed for CloudMade exactly as it's intended: a subtle backdrop for data that still includes the richer local information that OpenStreetMap contributors (like Mike) cover best.
Other changes we've made include numerous small performance optimisations, new sliders in the marker info-bubbles, date labels on the timeline and the crime-type filters now double as a full legend. The whole thing has had a design overhaul too thanks to Geraldine.
We've got a few more features planned for release soon, and we've started a blog to keep track of new developments. Now is a great time to let us know if you have suggestions or feature requests! Feel free to leave a comment here or email email@example.com if you prefer.
At Stamen we've just finished building a new map for LOCOG (the London Organising Committee of the Olympic Games). This map builds on the work we did last year, with some new work on the back-end to expose a wider variety of content and another round of improvements to the Modest Maps powered front-end. This time we're trying to organise and make spatial sense of the thousands of geocoded articles and photos that the London 2012 team are producing, highlight the ongoing works in the Olympic Park, London and the UK, and showcase the depth and breadth of information available on the main site.
As always when we've just released something, I haven't had a lot of time to reflect on what's been done since I stopped working on it every day, but I wanted to get some words down while the paint's still wet. As always, but sometimes it's important to state clearly: I write for me here, not for Stamen (though I'm not sure what I'd change) and certainly not for LOCOG (you shouldn't take any of this as an endorsement from them). As always, and sometimes you can't say it enough: not all the work shown here is by me, I'm part of a bigger team at Stamen and almost all of us had a hand in this one. We also have very attentive and supportive clients!
We've had a lot of fun paying attention to their brand; going to town with the bright colours, seamless transitions, polygon shards, flags and so on whilst keeping that controversial logo moving nicely. It's sometimes tricky to stay within the guidelines and still have things make sense on top of the maps we've made, but the style guide is tough but fair and it's definitely worth it in the end. Since the branding already pushes things from the graphic design standpoint we've taken the opportunity to push the interactive end of things. The map allows you to filter the content by category, time, search terms and place, with all those (except the search terms) happening client-side to give you an immediate update.
From a technical standpoint the trickiest bit was getting the clustering right. It uses multiple levels of the UK's administrative hierarchy behind the scenes to group different categories of content together into those numbered and coloured flags. When you click on a flag we display an info bubble with tabs containing excerpts from all the content. All of those elements update when the filters change, either immediately or with a slight (and hopefully imperceptible) pause, and hundreds or thousands of animations get kicked off every second if you drag the time slider. With all that going on, the clustering had to be robust!
It's one thing to identify that your map has too much content when it's zoomed out, or that when you're zoomed in some things are overlapping. But it's another thing to group things together in intuitive ways, and yet another thing to have those groupings behave appropriately with other UI elements, and to have the content (which is really all that matters) remain accessible at all times. Throughout the final stages of the project we were worried about cramming too much stuff into the info-bubbles that appear when you click on the flags, and we considered sending you to a separate page section below the map to read extended search results. In the end though we went with the tabbed info bubble approach (I felt a little better about this idea after seeing that people like Mapeed were taking a similar approach). This can sometimes present you with a lot of scrolling to do, but with the added control given by the filters (and the constant updating of the content in the info bubble) we're happy with how that turned out.
Anyway, it's not all about technical achievement, even if that was my personal focus. Some of the features are very simple conceptually, such as showing and hiding webcams depending on whether you're zoomed-in or not. But if you zoom into the park and it happens to have snowed, you can be greeted with a pleasant surprise:
And sometimes we're really just trying to get out of the way, so that the park can speak for itself:
What's next? Well I probably shouldn't say... but since it's custom cartography season at Stamen at the moment, and we all make our interests public, you might be able to guess where we'll take things next. We'll see!
November 2008 marked two years at Stamen for me, and I'm not done yet. Three purely technological things I'm excited about working with in 2009:
This post could probably use some supporting links, but I thought I'd get it out there before my first week back at work ended. Happy 2009 to you all.
Once again I've been beaten to the punch by Stamen, infosthetics, Geraldine, Esquire and more. But here it is for posterity: we released SFMOMA ArtScope a couple of weeks ago. This was a fun one, we're really pleased with the lens approach (rather than continuous zooming) and we're loving the serendipitous bouncing from piece to piece when you search.
Inside info: the artwork is arranged by acquisition date, earliest acquisitions are top left and latest are bottom right.
MSNBC just pushed a small update to our hurricane maps, so that the links to old storms will display the last update if the storm is no longer active. Clearly this is useful for those of us who linked to the Gustav map last month!
Thanks to a glorious holiday weekend in Bodega Bay, I've been scooped once again by my esteemed friends and colleagues in announcing our work on MSNBC's Hurricane Tracker, which debuted on Saturday. I jumped on this project as soon as I knew we had a chance to work on it, and despite the inevitable project logistics and some awkward travel timing on my part I'm glad to say it made it out before the end of the hurricane season.
There are four storms active in the Atlantic right now:
However, there's still more to come so it will be a while before there's time to properly reflect. For now, let me echo Mike in saying I also think map design for the web continues to be an exciting and vibrant area to be working in, and leave you with a quote from Google's Ed Parsons:
That’s not to say the principals of design are not important in the creation of “maps” for screen display, indeed one could argue for the need of a “new” cartography which adopts rather than ignores the capabilities of screen based maps to portray information dynamically.
— Ed Parsons, "Cartography is dead, long live the map makers"
Update (June 20th): the 'Firehose' app described in this post relied on Twitter's public timeline IM support, which has been down for several days in a row. Firehose will return when Twitter gets their stuff back online.
I wasn't sure whether to make it public any time soon, but given how interesting people are finding sites like Twistori the time seems right. Blaine mentioned it on the Gillmor Gang podcast yesterday, and it hasn't gone down since so I assume it will cope with more viewers!
I'm using the XIFF actionscript 3 library to speak to a server running OpenFire, and that server has a bot that broadcasts items from Twitter's public timeline as XMPP (Jabber) instant messages to everyone viewing the Flash site. The main reason it needs its own server is because for socket communication Flash is only allowed to connect to the domain it was served from, and therefore it can't connect to Google Talk or AIM from any server I can host it on.
Anyway, you can probably tell that I'm more interested in the technology than whether it's useful or not. It really is just a proof of concept. It's a bit silly because it's too fast to be readable. But it works! (Except when it doesn't. Let me know in the comments if it doesn't work for you?)
Silly or not, Firehose does expose one tiny piece of functionality right now. There's no filtering yet, but it currently highlights "twitter" by default, and you can see what it looks like with other words highlighted by using the URL #fragment, like this, or this, or this.
Clearly there are several next steps I could take with this. The same setup could also be used to subscribe to a particular set of users, or tracked keywords, or (with a little more server-side work) to geocode the tweets and plot them on a map, TwitterVision style. We're just getting started with this, and Twitter is the only public jabber bot I know of with this kind of volume of output (this BBC one looks interesting too though).
NB:– Twitter is a former client of my employer Stamen but we're not working with them officially at the moment. This is the same Jabber PubSub feed they made public a few weeks back, that people are mainly using to power Twitter search engines.