In 2008 we designed a hurricane tracker for MSNBC, right as Irene was "bearing down on Louisiana like a shotgun full of wind and rain." The project worked fine for several seasons of hurricanes and tropical storms, until Apple killed Flash in 2011 and the world of interactive mapping and data visualization turned its attention to HTML5 and mobile platforms.
Here's what I said about it at the time:
I'm really pleased with how this project's turned out; in particular I've not seen a map like this before that gives a sense of the relative speed that a storm moves at (take a look at how Gustav slows down as it passes over the southwest coast of Haiti). It's not something I've really ever thought about before, but now that I've seen it, I'll be looking for it in every other map like this I see—which is just how I like to change the world. Congratulations to Tom and Geraldine for pulling this one together.
This is the first time that we've released something this concrete. At dinner last night Lane told me that it was the first time he'd seen something that Stamen had done that was going to really matter to him in 72 hours. We've historically shied away from doing work that's overly predictive and analytical, preferring to focus on the lyrical and metaphorical aspects of visualization. This is the first time you can make a decision based on something we've built, and I'm glad we seem to have crossed that barrier without fretting too much about it. Just about every big decision I've ever made that's turned out well has been made in lightness and in haste; no sense stopping now!
Much of this carries through in the new version of the hurricane tracker that we released earlier this week. What I said about making important decisions in lightness and in haste still stands (if anything it's gotten worse), but there are a couple different things about this project worth drawing attention to:
- The client is the Weather Channel (previous work for them here), and we're working directly with meteorologists to ensure that the representations meet their standards.
- It's in HTML5, so you can view it on an iPad. Which is good!
- We've made some improvements to the interaction that I never got to take care of in the previous version. The entire histogram (chart at the top) is an active thing you can roll over, for example; the previous version only popped the rollover when you were over the lines.
- The histogram and the map have a much tighter relationship now. If the whole hurricane path is visible on the map, you'll see the whole thing on the histogram, and visey versey. Conversely, if you change the map so that 1/2 the hurricane is visible, you see 1/2 of it on the histogram. You can see this happening in the images below.
Every year around this time in San Francisco things start to feel a little rushed, and there's anticipation in the air as a whole slice of society hauls itself out to the middle of the Nevada desert for the annual Burning Man festival. I'm not going myself this year, but my good friend Zach Coffin has been working out of an office here at Stamen on his latest song in steel and stone, The Universe Revolves Around YOU and it's been great fun seeing it come together:
Given all the Burning Man energy in town, it's probably no coincidence that our latest exercise in pushing the boundaries of online mapping would tend towards the, well, combustible side of things. We've pulled together the latest in web browser capabilities and layered them on top of toner-lines from Citytracking, and it's called Burningmap.
Here's Black Rock City:
It works in New York as well:
And pretty much anywhere else in the world you'd like to point it. Enjoy!
This is a followup to yesterday's post on the visualization of a day's worth of trading data on the NASDAQ stock exchange. We've taken another look at the same dataset a bit more closely. In the examples that follow, each of which represents a single minute of trading, the image on the left uses a unique color to represent each trader, and the image on the right uses a unique color to represent each stock. So on the left hand (trader) side, a big grouping of the same color means that a single trader is buying or selling stocks. And on the right hand (stock) side, a big color block means a single stock being purchased in lots of different transactions.
In this first example, we see that a single trader (UBS, in this case) is responsible for the majority of the shares in this minute:
and that they're regularly trading a single stock at a single price at the same amounts (the yellow dots in a row):
Here we see that UBS buys a fixed amount of a stock at a fixed price, very steadily, stops abruptly, and then starts trading a different stock at a slightly lower price (the dark green and then blue dots on the right):
Here we see a single trader (the orangish square at left) perform a burst of concentrated activity within precisely deliniated margins, making small trades across a wide range of stocks (the kaleidosopic square on the right)
And here we see a similarly trader-centric burst (in blue, at left) spread across a multiplicity of small stock trades, just before the market closes for the day.
Earlier this year Zach Watson and I spent some time visualizing financial data. It's time to make that work public. The following images represent visualization of buy/sell data during a single day of NASDAQ trades.
We mapped a small subset of the variables for each transaction:
- time of the transaction, to the second
- whether it was buy or sell
- price of the transaction
- number of shares traded
Each of these variables is represented in the diagrams below. Each image represents a minute of time, and shows every trade that happens in that minute. Each trade is shown as a circle:
- Every vertical row is a second in time. So the left hand side of the screen is the beginning of the minute, the middle of the screen is 15 seconds in, and the right hand side of the screen is the end of the minute, with 60 seconds in between.
- Blue dots are buys, yellow dots are sells
- The vertical axis is the price of the transaction; the top of the screen is cheaper stocks and the bottom is more expensive stocks.
- The size of the dot is the number of shares traded; small dots are for a few shares and larger dots are for a larger number of shares.
NASDAQ opens for pre-trading hours at 7am, and for public trading at 9:30am.
The market opens. Fairly light activity in the first minute. Most of it is contained within the middle band.
Slightly more trades are happening, and they're for smaller amounts.
Someone seems to be buying shares at a low and high price, simultaneously - hence the lines at the top and bottom of the screen that match each other perfectly. We're not representing who's making these simultaneous buy/sell moves, but it would be easy to find that out or build it in.
This is about the pace we see for the next 2 hours, with the exception of a few bursts like this one right at 8:30am.
There's an incredible burst of activity just before public trading starts. It's completely unlike anything that comes before it. Our theory is that these are algorithms getting in one last set of tiny flurrying trades before the great unwashed masses come on board.
Right at launch, there's a giant burst of selling and trading, within seconds of the bell ringing.
And then the day starts:
Here's a video of what the data looks like when it's animated:
Untitled from Stamen on Vimeo.
There are literally thousands more where these came from. It's surprising us how much loveliness is in this financial data, which is generally perceived dry and boring, only interesting to bean counters.
What I like most about what's come out of this exercise is this idea that you can visually start to detect a difference between normal and anomalous data, even for what's normally considered data that lay people can't understand. If we could find a way to make it easier to understand what's happening in the markets, there's potential here for a kind of literacy in financial data that could help to offset some of the damage done by unscrupulous experts over the past few years.
We're pleased to announce our second collaboration with Jen Bekman's 20x200, releasing gorgeous prints of New York City today, and London shortly. There will be more cities coming over the next few months, so please stay tuned!
It was a nice sidestep to work with the maps at high resolution, and on paper. We also played around a little with the zoom and detail level for the various print sizes. It's dizzying how much information we can show on the 30x40 prints!
10x8 - SOLD OUT!
Eric gave a general overview of the changes we rolled out for Toner v2 in this post and this post. In my post I dig into the technical details. But first, pictures!
Visual changelog for Toner 2012:
Toner v2 (2012 and 2011) uses High Road for more sophisticated roads and tucks San Francisco's punky park mohock under the water.
There is now a "lite" version that is less high contrast, better for printing out analog style or overlaying polygons client-side.
We added reservoirs!
And better about showing walking and biking paths thru the meadows and woods:
Back in the urban grid, we've added subways and building footprints to help wayfind:
Speaking of buildings, big ones get added first, then all on the most detailed zooms:
We cleaned up labels so they don't overlap as much:
And added city labels world wide:
And now draw kanji and other non-Latin scripts right:
Easy-to-use tiles: Stamen now hosts easy to embed Toner tiles with CC license from maps.stamen.com, thanks to the Knight Foundation and our Citytracking.org grant! No server hardware or software setup needed, just start using the tiles in your favorite web mapping API client side. You can still roll your own tiles using the data and setup readme's in the Github repo. Read more »
More international: Plays better outside of the United States! Now displays local names in non-Latin writing scripts (like Japanese and Arabic) and better accent marks in Europe. We optimized the road symbology to more places world wide. Issue 30
More Toner flavors: Introduces specific flavors of Toner optimized for map sandwiches, easy to integrating with and promoting your custom map stories: toner-standard (toner), toner-hybrid-with-labels (toner-hybrid), toner-hybrid-only-lines (toner-lines), toner-hybrid-only-labels (toner-labels), toner-no-labels (toner-background). Issue 10.
Easy to read stylesheets: General stylesheet cleanup, consolidation. Restructured all the OSM roads using High Roads. Now uses Postgres views by zoom level, making it much easier to design what big, medium, and small roads should look like consistently between layers while abstracting the data part. Similar appraoch is taken for water bodies using Imposm tables. Issue 9
More content: Added reservoirs, state boundaries, and more. Map now zooms to 19+, important when you're inventory mapping stories at the city block level where locations along a street and buildings/venues are helpful. Before they stopped at zoom 18 but often when you're looking at street-level incidents (as in Dotspotting.org), you need more detail Issue 18. Along with that, the transition between bold black roads and cased white roads now starts at zoom 18 and carries thru to zoom 19+ (Issue 17). This preserves the strong contrast of Toner, but also allows better use as a background map visually at these zooms so your story points stay the focus (and consumes much less ink if you print the maps using a service like Stamen's Field Papers.
Urban wayfinding: At these most detailed zooms building footprints help us orient to the build landscape so we start adding those progressively in starting around zoom 14 (big airport terminals and convention center sized buildings) but most noticeably at zoom 16+. We also show metro (subway) stations now, helping navigate by landmarks in big cities like New York, London, and Tokyo. Issue 16, Issue 48, Issue 40.
Improved graphic styling of country boundary lines at zooms 8 and 9. Issue 27
Added state boundary lines at the city and regional zooms. Important for places like Washington DC where a metropolitan area sprawls across multiple admin-1 jurisdictions. Made sure they stack above the water and made upstream changes in OSM master data to allow for boudnaries in the water that aren't indicator level to be not shown in Toner when using newest OSM Issue 11, Issue 24, Issue 7, Issue 6, and Issue 50.
Added support for international Unicode (UTF-8) labels from OSM by re-authoring fonts. Primarily seen in street labels and park names. Issue 30
Removed map label overlap by manually adjusting the Dymo output around other map features like bodies of waters, country labels, and state labels. Issue 34, Issue 35. Version 3 will address remaining occational placement funk and overlap of marine labels.
Added in more city labels in zooms 9, 10, and 11 from Dymo Issue 15, Issue 1, Issue 51, Issue 29, Issue 27
Added new park labels progressively per the zoom. Issue 13, Issue 42.
Easier to read street labels at zooms 17+. Issue 25
Parks are now tucked under the water in the street-level maps. This is a OSM pecularity where some parks are mapped to the shoreline and others extend out into the water. As these are black-and-white maps, we take a shortcut by making a transparent pattern with the black stipples. When it's over the water, the black park is still drawn, but the water is also black so win-win. MapBox Streets uses a transparency on the polygon-color instead. Issue 12
Added reservoirs to the "inland water" aka "lakes" symbolization. Removed smaller lakes at zoms 8 to 12. Since the water is solid black, these tiny lakes attracted undue attention. Instead, they are now progressively added on each zoom in. This reduces the visual noise in the map. Issue 23, Issue 45, Issue 39
For lake labels, similar progressive approach but with a slight zoom delay. Issue 44
Similar approach to adding parks progressively. Added full set of "green areas" in OSM, this captures cemeteries such as Arlington National Cemetary in Washington, DC. Issue 42, Issue 43, Issue 45
Now uses High Roads for all OSM roads in the midzooms and street-level zooms. Issue 9, Issue 35
Now uses new Natural Earth 1.5 global roads in the world zooms. Issue 2, Issue 3 Issue 5, and Issue 6, Issue 52 Caveat, these are an early beta release from NE now.
Tunnel stret labels are now grey to match their grey linework. Issue 22
Where Tunnels pass under land, not just water, we introduce an additional grey outline as visual trim. Issue 21, Issue 49
Added airports! Symbolized and labeled using combination of Mile High Club and OSM. Issue 41
Added metro (subway) icons at zooms 18 and 19, helpful for city wayfinding. Issue 26
Added data import scripts to PostGIS, still rough.
Include explicate MML and MSS for the project, including label shapefiles, so it's immediately deployable Issue 38, Issue 37
Updated the Readme.md Issue 36
A beta version of Toner v2 was released in late 2011. The final release mostly focuses on airport icons and making map labels more legibile (less overlap).
The first thing I thought after we hung a copy of London's Kerning, a printed map showing only the street names in London, in the studio, was: I want one of those for the rest of the world. "How hard can it be to just (people here love that) show the streets?"
As part of the CityTracking project, we've released six new map flavors that get pretty close: Terrain and Toner both now include layers with streets only, labels only, and background only.
Toner: just streets
Those finding Toner
a little too, well, stark
for their purposes (it can be a bit heavy on the printer cartridges, we've heard) will hopefully find Toner Lite
a bit easier to work with.
Terrain: just streets
Terrain: just labels
Terrain: just background
We'll follow up with some more detail about how to incorporate these into existing projects soon—many of the styles have transparent backgrounds, for example, so they can be used as layers on other maps—but for now: enjoy!
We've got some new additions to Toner, the black and white style that Geraldine started and that Nathaniel and Mike have been gradually improving this year. There are some fairly significant changes to the cartography stack all the way through, which you can read about in detail at the project's visual changelog on GitHub. And of course everything's open source and available for download as per the terms of the Citytracking grant.
We promised to do this work in public, so here goes. One significant thing we've decided to do is to keep older versions of the project around, so that we (and, hopefully, you) can compare the different versions of the maps. So when Nathaniel talks in his post about "shaving San Francisco's Mohawk" from how it looked in 2010:
to how it looks in 2012, with a better coastline:
you can see it in situ. It's pretty simple to change the urls:
The changes can be fairly visually dramatic, as in the addition of non-Roman scripts to places like Tokyo:
The thing about designing maps is that you're never designing just one view. For one thing, it's important to account for all the different zoom levels: it's about showing more as you zoom in, but it's also about showing different things at different scales. Choices need to be made at every level about the thicknesses of streets, which buildings to show, which city name to show, and so forth. Different places have different characteristics spatially; some are more dense than others, and you have to keep the whole system in mind. These two versions of the zoom into DC, from different years, gives a sense of the range of choices involved:
I'm not aware of any other mapping projects that let you look back in time as a design evolves this way.
We're the cover story (!) of this month's Icon Magazine, featured alongside my longtime heroes at the Center for Land Use Interpretation as part of the maps issue. Ari Messer did a terrific job on the interview, and R.C. Rivera spent an afternoon photographing our plant- and map-filled studio with some lovely results. Unfortunately Shawn wasn't here for the photographing (I think he got married or something, whatever) so it's just Mike and I on the front spread, but overall I'm super happy with the resulting portrait of where the studio is now: 13 people, working in a garden in the middle of a vibrant city, a strong ethic, and maps and visualizations in active use by the public.
There's a lot in the article, but this bit is one I like enough to want to post here. I think it was me, who said:
Stamen finds inspiration everywhere, but Rodenbeck hopes that the public will stop conflating infographics with data visualization. "The rise of the infographic as a genre is a little depressing. Back when desktop publishing started, people were worried that there would be no more room for designers, that computers would do all the work for you. But this clearly didn't turn out to be the case." While someone without design training [or skill -- E] could make use of desktop publishing to create a holiday card or office leaflet or company newsletter, the band at the top for good designers actually grew. In a similar way, he says, "infographics have become the mother's day cards - the company newsletters - of data visualization."
Luckily, my office was a total wreck when R.C. took some pictures of it, but it gives a pretty good sense of what it's like around here these days:
We're proud to announce that Trees, Cabs and Crime will be on display in the U.S. Pavilion at the 13th Venice Architecture Biennale this fall. The Institute for Urban Design was chosen by the U.S. Department of State's Bureau of Education and Cultural Affairs to organize the pavilion this year, which they dubbed Spontaneous Interventions: Design Actions for the Common Good and features "projects initiated by American architects and designers aimed at bringing positive change to the public realm."
I made the original rendering on a rainy Sunday in February, 2009, using three data sets:
- The locations of trees under the care of Friends of the Urban Forest, a community of volunteers who plant and maintain nearly 1,000 new trees in San Francisco every year.
- A single day of Yellow Cab taxi locations from Cabspotting.
- A week of SFPD report locations from Crime Reports (crime data wasn't publicly available until later that year, when we launched San Francisco Crimespotting).
My goal was to overlay the three data sets in such a way that overlapping areas would produce new color combinations. So, rather than just overlaying each dot on top of one another, I put each data set into its own "color channel" and combined them with subtractive blending, just like what happens in the CMYK printing process:
The resulting image didn't inspire the a-ha! moment that I'd hope it would, but it turned out to be beautiful nonetheless. And, more importantly, it shows us San Francisco through a lens that nobody had thought to look through before. Without a coastline, streets, or park outlines as reference points, you can still make out the rough shapes of urban activity. You can see that not only is it
hard impossible to catch a cab in the Outer Sunset, but that the neighborhood also has one of the lowest concentrations of trees in the city, and that crime occurs almost exclusively on the named streets running east-west, rather than on the numbered streets running north-south:
The effect works especially well with differently shaped data. Last year we experimented with it on one of the data themes from VPRO's Netherlands from Above, and it looked amazing:
2009 feels like a long time ago, so I'm not too ashamed to admit that I created the original Trees, Cabs & Crime with Flash and a screenshot. Thankfully, though, the IFUD gave me an excuse to recreate the image when they requested a higher resolution copy for printing. So this time around I did it in Python (using Mike's awesome Blit module) and published the source code on Github. I also made a less serious image using nine years of SFPD reports. As you can see, the Mission and the Tenderloin like to party:
The U.S. Pavilion at this year's Venice Biennale will be open from August through November. If you're lucky enough to find yourself in Venice for it, we'd love to know what you thought. And be sure to tweet @stamen if you make something cool with the code!