InfoVis class project


The goal of this project is to give you some hands-on experience with creating a fully-functional interactive information visualization. This consists of several components: understanding the user of the visualization, what kinds of tasks he or she is trying to perform with the visualization, what is his or her background and expertise, and what kind of data we’re dealing with.

For this project, you will choose a dataset to visualize. Explore the dataset, what attributes it contains, their types, how many cases are in the set, etc. Think about whether you will need to clean it up, complete the data with data from other sources, etc.

In this project, you will develop a high-quality, interactive visualization that will showcase your own interesting ideas. Be creative. Think about the data and what the user is trying to do with it. Think about appropriate representations. Think about appropriate interactions to transform the data or their representation. Most of all, be creative. And be creative.

This is not a programming project, but it is a project that will involve programming. Interaction plays an essential role in visualization, and it is difficult to understand the interaction in a visualization without a running system. You will be evaluated based on your creativity, how well you are able to describe the analytic tasks your system aims to support, and on the functionality of your visualization prototype. You will not be evaluated directly on the quality of the code you write.


  1. Group formation, choice of dataset.
  2. Initial project description.
  3. Project design document.
  4. Final exam.
  5. Project presentations and demos.
  6. Project reports.

Project grading

  • 40% — Demo & Code
  • 40% — Report
  • 20% — Poster

M0: Group and dataset

During the first lab or immediately after, you should form your groups of 4–5 people. After the lab, you will choose a dataset. We have provided you with a selection of already-available datasets, but you are welcome to propose another dataset on the condition that you get it approved before-hand.

Explore the available datasets, paying attention to how many cases there are, how many variables, and of what types. Think about what these data might encode. Find a dataset that interests you. For any successful project, at least one member of the group should be passionate about the data.

M1: Project description

An up-to 1 page document with:

  • The names of all project members
  • The topic to be addressed, the datasets to use, where the data come from, and their formats.
  • A description of the problem
    • Who are the users?
    • What are their backgrounds?
    • What are they trying to understand from the data?
    • Is your visualization aimed primarily at exploring or communicating the data?
  • A description of the data
    • What are the characteristics of the data, the attributes, the size of the dataset, etc.

Choose one member of the group to submit this milestone. Be sure to use a legible, serif font (i.e. “with feet”) at a reasonable size with reasonable margins. Submit a PDF of your document using the moodle.

M2: Design document

By this point, you should have had more time to explore your data and to get a better understanding of your users. You should also have brainstormed potential designs. Your design document will show three different design alternatives that you have considered, followed by a description of the “final” design that you intend to implement.

For each design, you should include a sketch (or several sketches) of the design. Be sure to show not just how the data will be represented but also what kinds of interactions the user will be able to perform. Be sure to describe your rationale in the design. For example, why did you choose this representation? What kinds of interactions do you intend to support? What kinds of things (tasks) does this design help the reader to understand?

Your final design will most likely incorporate elements of the different design alternatives that you considered. Briefly describe why you chose your final design, including why you chose the elements that you borrowed from the other design approaches. For example, some of your designs might help the user to learn certain things about the data, but make others hard to see. What trade-offs did you make?

I am expecting to see three distinct, fully-thought-out design ideas. Draw sketches in color on paper or in your favorite drawing tool. Think about interaction. You might wish to use story-boarding techniques to show this, like a comic strip. The idea is to show the key interactions, not to create a literary or artistic masterpiece. For this milestone, you should spend the bulk of your time on your designs, sketches, and storyboards.

We are looking for a breadth of different design directions as well as a thoughtful analysis of your different designs and how you ended up with your final design.

Submit your design document in PDF format to the moodle.

M4: Poster Presentation and demo

Each group will present a demo and poster of their prototype in the main hall of the school. Your poster should:

  • Present an overview of the data
    • What does it represent
    • What kind of a scale are we talking about (e.g. number of cases, dimensions, etc)
  • What were the design goals of your prototype?
    • Are you targeting a specific type of user?
    • Are you trying to adress any particular kinds of high-level tasks?
  • Walk us through the representation of the data
    • Remember, you have been living in the data for most of the quarter; the rest of us have not. Show us how to interpret what is shown on the screen. What are the different views (if there are multiple views)? What does each view show, and how do we make sense of it? How do they interact?
  • What kinds of interactions does the system enable?
  • Show an example of how to perform an analytic task with your system. This task should show off how the choses representation(s) and interactions help the user to understand the data.
  • If possible, show something surprising or interesting about the data that you discover with your prototype.

That’s a lot of content there for a single poster. Remember, the poster will probably be primarily visual, but you’ll also need to use some text to help guide and orient the reader.

You will need to print your posters out in portrait orientation. More details will be added here as they become available.

Plan also to have your demo running on a laptop computer so we can see your system in action! Think about a couple of example scenarios to help show off the hard work you’ve done.

M5: Report

Your report should cover the following topics. I am looking for thoughtful reflection in your reports, not merely answers to the questions below.

  • The chosen data set
    • What does it represent
    • How many cases are there?
    • What are the dimensions, their properties, etc. (e.g. are they ordinal, nominal, etc.)
  • Who are the target users?
    • What are they trying to understand from the data?
    • What kind of experience do they have with the data?
    • What kind of experience do they have with visualization tools?
  • What are some representative tasks?
    • What kinds of things would a user potentially want to understand from the data?
    • What questions helped guide your design?
  • What is your chosen design?
    • What representations did you choose to use?
    • What interaction does the design handle?
    • Can you related these design decisions to your chosen users, data, and tasks?
    • What does the design do well?
    • What does it not do well?
  • A link to your git repository for the code. Be sure to include the revision number for your final version.
    • Don’t forget to give me access to the repository if it’s private. I am eaganj on github and bitbucket.

Reports will probably be somewhere around 10–20 pages, but that’s not a target: use the space that you feel is justified to cover all of these topics. Feel free to write a longer report that includes a lot of images. Be sure to use a legible, serif font at a reasonable size (10-12 point) with reasonable margins.

Submit your report in PDF format to the moodle.

M5 bis: Individual contribution statement

On the Moodle, submit an individual contribution statement describing:

  • Your role and contribution in the group.
  • What percentage of the overall work would you estimate comes from you?
  • Are there any group members that you feel should receive special distinction as having made an unusual contribution to the group? (Optional)

It is normal for individual group members to have varying contributions to different parts of the project. In most cases, all group members will receive the same grade on the project. If you feel a group member deserves special recognition (either good or bad), feel free to mention it here.