Firework: Interactive Movie Data Explorer

I, together with my team, designed and implemented a novel information visualization system "Firework" that enables the high-level exploratory data analysis on average rating and popularity of global movies in terms of year, country and genre.

Feel free to play with this interactive visualization. It may take up to 30 seconds to load the data (3MB), so please be patient.

The System

Download Final Report in Conference Format (1.8MB, PDF format)

At the research stage, I conceptualized and proposed the idea that I believed is helpful for analysts to better understand the overall statistics. Movie data visualization is becoming increasingly popular for both commercial and research data analysis, but most of the existing visualizations only present discrete data of individual movies.

The we came up with "Firework", a novel information visualization system that groups movies by year, country, and genre, and enables the exploratory data analysis on average rating and popularity. Firework consists of three interactive parts: a scatter plot, a time slider with trend view, and optional side filters. The intended personas of the system are movie distributors / importers to research on movie genres from foreign countries that would have higher potentials to make a hit in US market, or average people who are interested in global movies.

So... Why Call it "Firework"?

The genres can be seen as the child nodes of each country, and we think it is best to plot them on the same chart. To show that each genre is a child of a country (parent node), we connect them together with a line with animation that looks like exploding Fireworks.

Design and Implementation

Data Collection

We use the data from IMDB. We re-constructed a database using a Python script. We also pre-processed the data by removing irrelevant (incorrect years, TV Drama, etc.) entries. We only selected top 50 countries that produce the most movies for the past 10 years due to JavaScript processing capacity.

Implementation

We employed d3.js, a JavaScript-based visualization library, jQuery, jQuery UI, HTML5 and CSS3 techniques to realize our design ideas.

Usability Testing

We recruited 10 participants for the usability test of six tasks, identified three major findings, and made corresponding improvements afterwards.