Hacker News new | past | comments | ask | show | jobs | submit login
C++ visualization of migration patterns in Norway based on public tax records (bengler.no)
45 points by magnuss on Feb 11, 2012 | hide | past | favorite | 20 comments

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.

Having said all that: I think it is a beautiful piece. It looks very nice. Thank you for sharing it. :-)

I think the "stream of particles" method is the easier, most visually appealing, way of showing the direction the people are moving.

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).

The animation around 0:30 that gives the impression that the data is being accessed via a 100 baud monochrome phosphor terminal is nice. ;-)

Is there some software that can generate that, or was it done the old-fashioned way, by filming an actual terminal?

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.

Ok, I admit it. After seeing Cathode, this is the first time I've ever had a dose of Mac envy!

Not often I see Fredrikstad (my hometown) on HN :)

Beautiful, but too confusing to be informative

If your Norwegian and know a little about the migration in the country, it's actually really informing.

That's not the point of visualization.

A good visualization should convey something even to those without any domain knowledge.

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.

That would be a perfect visualization.

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.

it certainly looks great but not very useful. i find the "Initial sketch" a bit down the page much better suited for analysis.

C++ visualization of migration patterns in Norway

How about a "visualization of C++ programmers migration patterns away from Norway", after the whole Nokia/QT fiasco?

Why the downvoting hate bros? I love QT, I just wish Nokia had a real vision for it so that it's future is assured.

P.S Except if its for the off topicness, in which case, downvote freely.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact