I built this and I'm happy to answer questions if anyone has any. If you like this you might also enjoy this WebGL (Three.js / sockets / workers - Chrome only) animation of Oslo City Planning - http://seeplan.bengler.no/planimator
It's a neat idea, but I think it has some rough edges.
As I understand it, the underlying data has no time component (i.e., we don't know on what date the person moved; just that they moved). Therefore, showing a stream of particles moving out of a city brings in an (erroneous) time aspect to the move. For example, you see one city lose its population; and then a minute later, people start flocking to it. There is no temporal causality here, but the visualization projects such.
A better way would have been to project all the moves along the same time axis, and show them all at once.
Another idea: plot the delta (gain - loss) for each city as a circle; make the size of the circle a function of the magnitude, and the color a function of the sign.
You can also slice-and-dice by demographics and income (like the video did towards the end), and just show those numbers. (Which cities gained the most millionaires? Which cities gained the most youth??)
You're right, it takes an artistic license with the information and fails any strict requirement of necessity. There are 320k of movers that year though and a transient particle was the only option I saw to display all of them. Screens just don't have the resolution to overlay that much information.
As you point out, aggregation and faceting both solve this, but I really wanted to show all of them. That has more though to do with creating an experience of having seen a certain phenomenon than creating something actionable and clear. It's self indulgant, but I like that. And I agree: static representations with aggregate data would be interesting.
I agree. I was just pointing out that the streams having a temporal sequence give the wrong impression (as if people are moving to different places at different times, when it's not the case).
That's right. Cathode has lots of settings, also one for baud rate. I actually also shot this off the screen, instead of grabbing it right to disk, to give it some texture and depth of field.
I agree. I'm Norwegian, though I've lived most of my life overseas. I came into it with more background knowledge than most readers in this thread. Nonetheless, I found the visualization somewhat uninformative as well.
A damn fine visualization, though, can still require domain knowledge. For example a medical plot is an excellent visualization of certain parameters, but it does not tell much to a non-doctor. And there are plenty of extra useful visualizations in the sciences that only makes sense when you have extensive domain knowledge -- like most of the plots in engineering papers.
It's curious that a ton of particles stream out of one city, those die down, and then a nearby city explodes. Obviously, I doubt people are actually moving in such patterns. Maybe it's the underlying data - I assumed that tax deadlines aren't city dependent. Maybe time passing in the animation isn't truly representative of time.
There are only two points in time here – registered address 1.1.2006 and 1.1.2007. The first animation sequence is therefore in the order provided by the tax authorities and roughly follows postal codes (starting in Oslo, moving round the coast up to Northern Norway). The particles simply spawn at a fixed rate as we move through the data with the camera attempting to follow the spawn points. Whenever you reach a large city you'll see a concentrated burst as you ascend through its postal codes. Other orderings can be quite informative as well: sorting for age or income in a particular region can display distinct patterns for segments of groups. As was pointed out: the particle animation is too complex to have much salience, but I'm prepared to argue that the slower animations towards the end show clear patterns when comparing different demographies.