HTML5 Zone is brought to you in partnership with:

John Esposito edits Refcardz at DZone, while writing a dissertation on ancient Greek philosophy and raising two cats. In a previous life he was a database developer and network administrator. John is a DZone Zone Leader and has posted 320 posts at DZone. You can read more from them at their website. View Full User Profile

HTML5 History of 20th Century Music

  • submit to reddit

We've seen some neat interactive HTML5 infographics before -- but the periodic table, for example, doesn't really care that much about time.

Visual representation of time introduces numerous complications. Traditional ways of representing time visually were, roughly speaking, translations of dimension-type, from temporal to spatial; the mapping selected would depend on what kind of temporal relation was meaningful for the particular application. For example, circles represent cyclical behavior; lines represent development; trees represent evolutionary history; and so forth.

New media change the game profoundly: 'visual representation' no longer means static snapshots. Time is represented temporally, so the time-visual mapping doesn't necessarily need to happen. Causal influence is keyed to time but, of course, temporal sequence is not sufficient for causality; so even an animated visualization of history, especially of historical development, needs to show both time and causal influence, distinctly.

For this kind of representation, animation-happy HTML5 Canvas is a perfect choice. Take a snapshot from this awesome HTML5 project, showing the history of 20th century (dance) music:

The screenshot doesn't do the canvas justice, because the animation is essential. (The page title is, appropriately, not just 'the history', but 'the evolution of western dance music'.)

From a code point of view, the most interesting file is InfoGraphic.js -- which includes some nice, relatively simple code to draw cubic bezier curves. (CSS transitions can specify cubic bezier timing functions all by their CSS lonesome, though -- though of course for this project, which uses Canvas, JavaScript makes more sense.) Notice also how the curves change color when a new musical genre appears -- a clever design decision that makes the evolutionary pathways clearer, at least until the 1980s.

Worth checking out for HTML5 reasons, but kinda fascinating info about music history, too.