September 27, 2011

Topics:

This sketch started as something I wanted to build using the Fortune 500 ranking data, out of curiosity about the rise and fall of companies in a (subjective) editorial ranking.

I did most of the work while taking the train down to New York one morning, and since then have spent a couple hours here and there fixing it up further. Since it’s a sketch piece, it’s not perfect, but it’s a fun example of how you can interact with a really large amount of data in a very fluid manner.

Additional details for the curious:

Many companies have merged, separated, or otherwise been renamed. I didn’t have time (nor interest) in going through tens of thousands of entries to figure out what’s what.

The left and right arrow keys will move back and forward by year. The up and down arrow keys will move up or down through the list of companies. This isn’t perfect, because of how things reorganize, which is why it’s not advertised in the piece.

No scale is shown on the vertical axis. It’s just not useful for how much it would interrupt the overall design. The point of the plot is to see an overall trend, and then look at individual values more closely.

A log scale is used for revenue and profit. It’s the perfect example of why a log scale is useful because without it the plot looks like jumbled nonsense. On the other hand, because logs don’t play nice with negative values, there are breaks in the profit plots. Of course, this could be handled with some additional work, but I decided to move on instead. Nevermind, went back and fixed the negative values (losses on the profit view). If it’s on the internet is has to be perfect.

The piece uses Java. I spent a few hours on a JavaScript version, but it ran at 3 frames per second (instead of 60; it’s like 1998 again!) It also required a 6 megabyte JSON file for all the data. All likely fixable, but no thanks. Three years later, I’ve ported the piece to JavaScript. The process does feel like 1998 again, but I suppose it’s better than old work disappearing from the web.