A good visual display invites you in. It's straightforward to read and understand. It reveals something interesting. A bad visuals turn you off. It may look too complicated or messy. It's hard to figure out what's going on. It may also misrepresent the data.
A colleague forwarded an article from TechCrunch recently, Look At Who's Winning The Talent Wars in Tech, 6/7/11. (Perhaps the lack of concision in the title serves as an early warning of bad things to come.) The article discusses the flow of talent between tech companies. It includes the following visual:
To put it bluntly: I am not a fan of this visual. Beyond looking clunky, it's wasting precious space that could be visually informing but is not. How could we make better use of the space this graphic occupies to tell a visual story?
I think the biggest opportunity lost here is having a visual sense of the relative magnitudes of talent flow. Currently, all the arrows convey is directionality; we actually have to read the numbers to get a sense of relative magnitudes, which would probably be much more straightforward in a table than a visual (at least then all of the text would be uniformly horizontal so we could read it!). Scaling the arrows to reflect the relative magnitude of talent flow would solve this.
It would also be great if the size of the circles could represent something meaningful to add context and not just take up space (e.g. number of employees in the given organization).
If the arrows and circles were scaled, it would give the audience a quick visual sense of what's going on, helping to focus attention to interesting pieces and make information easier to pull out of the visual. A program like Circos could work well for this (view related blog post).
I actually had been thinking of recreating the visual using Circos, but a quick calculation (from info I have exposure to in my day job) made me super suspect of the figures provided, so I decided not to spend my time graphing bad data. The information used in the TechCrunch visual was mined from a social networking job seeker website, so the underlying dataset is not ideal for getting to the information they are after. As one of my colleagues pointed out: this is like using Facebook data to figure out how many people delete MySpace profiles to join Facebook!
Ah, what we can learn from things done poorly...