This document describes the semester project for the course.
Students should work on a project in teams of 3-5 people.
Expectations will be adjusted according to group size.
The idea of the project is to take the knowledge and background that
you are learning this semester about Information Visualization and put
it to good use in a new, creative effort. A real key to the project,
however, is to select a data set that people will find interesting and
intriguing. Even better would be to select a data set with a clearly
identified set of "users" or "analysts" who care deeply about that
data. Select a topic that people want to know more about! I cannot
emphasize strongly enough the importance of your topic and data set.
No matter what topic you choose, I am expecting a high-quality
project. In particular, I'm seeking creative projects showcasing
interesting ideas. A good project should consist of visualization
designs and a software artifact that implements the designs.
Interaction is key in information visualization, and it is difficult
to understand the interaction issues in your project without a running
system. I am explicitly not expecting user testing and evaluation.
Ideally, I would like your efforts to be innovative and to result in
some form of potential publication.
You are free to choose any software development toolkit and
graphics/visualization support library that you want in order to help
build your system. You cannot build on top of something that
constructs a visualization for you, however, such as Tableau.
Consider developing a system that is web-deployable so that your
system can be shown to everyone in the world! An alternative is to
develop a system for a special piece of display hardware such as a
large multi-touch display. If you are interested in working on such a
project, please contact the instructor since we do have such systems
You will have five main milestones or deliverables. First, you must
form your team and settle on a topic. Second, we will hold a poster
session in class in which you can display your different design ideas
to get feedback. Third, and shortly after the poster session, you
will submit a
detailed design document. Fourth, you
will give a demonstration of your project to the instructor and TA
during final exam week. Finally, you will produce a short video (5
minutes or less) that explains your system and shows it in action, and
you will accompany the video by a short tutorial descriptive
document. All teams will show their videos in our "Video Extravaganza"
during the final exam period.
Sep 14 - Initial project description. 1-2 page document
listing project members and describing topic to be addressed and
data sources/formats. You should address the following
What is the problem being addressed?
Who would be interested in understanding this data better?
Where is the data coming from and what are its characteristics?
Make sure to describe the data and its attributes in detail.
Oct 5 - Poster session. This is an opportunity for you to
receive feedback about different design ideas that you are
considering. Each team will create a poster showcasing different
ideas, and will receive feedback from a variety of people. The goal
here is not to produce glossy, glitzy posters. Instead, you should
illustrate a variety of design ideas sketched out
well enough so that other people can understand them and provide
feedback and comments. And don't just be locked into one main
design idea. Be creative and come up with many alternatives.
Oct 21 - Project design document. You should produce a
multi-age document that provides more detail (than the
initial project description) about the purpose of the visualization
system, who the users will be, and what data will drive the
visualization. Describe the data attributes in detail. Next, show
different design ideas for your problem,
leveraging the work that you did for the poster session. Briefly
explain the ideas behind each design. Finally, based on your
work-to-date and feedback from the poster session, describe the
design (or combination of design ideas) that you are leaning toward
at this point in the process. (After this point you will settle on
a design, and we will provide feedback to help with that.)
Dec 7 (finals week) - Project demonstration. Each team will meet with the
instructor and TAs to demo their system and describe what they have
done. You will need to bring three copies of a short tutorial document to the demo
session. The document should be a few pages long and include the following items: team
member names, problem description (1-2 paragraphs), screen shots of
the user interface, brief description of the visualization and how
it works, and a link to the web page for running the system, if applicable.
Dec 9 - System video. Create a 5 minute or less video
that illustrates the capabilities and example use of your
system. During our final exam period, we will have a "video
showcase" where each team presents its video and has a few minutes
available to answer questions about it. You will need to provide a
link to the file or the actual video file itself to the instructor
ahead of time. Use .mov or .mp4 format.
We will evaluate the overall quality of your project,
including all milestones and components. The midway project design
document will be worth 35% of the total grade on the project. It is
important that you make progress on the project quickly. This is
doubly beneficial as it allows more time for your implementation.
The following questions will
be important during that evaluation process.
- Does the system work, ie, does it read in the data and present an
interactive visualization of the data?
- Is the visualization an effective representation of the data?
- Does the visualization support different analytical questions
about the data?
- Is the visualization creative and does it illustrate some new
ideas? (While it is not necessary to invent some new visualization
technique for the project, designs that illustrate creativity and new
thinking will generally be viewed positively. Of course, innovation
cannot be a total substitute for utility.)
- Was your demonstration an effective presentation and illustration
of your project and work?
- Does your video illustrate your system and its use well? Does it
explain the problem and solution well enough so that a person
unfamiliar with the project can appreciate your contribution?
Tips for a Successful Project
It is extremely important to select an interesting problem with data
that some group of people will care deeply about. I cannot stress
enough how vital it is to start with interesting data. Find some
topic that almost everyone cares about (e.g., baby names, feature
films) or that some subset of people really care about (e.g., sports data,
politics). Consider combining different data sets to produce a new
composite data set of special interest. Such a fusion of data often
creates a data set that people want to learn about. You may need to
take a few weeks of the semester where you simply focus on data
acquisition. That's OK. If you do not have your data nailed down by
the poster session then you will be in deep trouble.
Most of the really successful projects of the past from class have
been in one of two styles, the single innovative visual representation
or the multi-view, effective existing technique coordinated system.
In the first style, your team will create a
visualization system that likely has only one view/representation (or
perhaps a couple) but this
representation is a new and innovative technique or visual metaphor. Here, you should
focus on designing a creative new visual representation. The
actual user interface may have different components or
pieces, but it should be tightly integrated. The real focus here is
on creativity and innovation. A few external examples of this type of
The second type of successful project employs multiple coordinated
views where each view may use some well-known visualization
techniques, perhaps customized a little for this problem. There is
likely nice filtering and interactive selection and focus in in the
interface. The emphasis in this type of project is to create a sound,
functional system implementation that clearly can be of help for data
analysis and understanding. It is important in this type of project
to have coordinated views that work well together and provide
different perspectives on the data. This type of project does not
have the same level of visualization innovation as the first, but it
comes together in a strong system implementation. It is really more of
a software engineering effort. A few external examples of this type of
One way to create a poor project is to have each group member go off
on their own and implement a different view, where the views
have relatively little to do with each other. Systems like this
usually have an interface where the user picks one of the views, and
then that view takes over the window or screen, having very little to
do with the other views. I don't consider this
to be a very good example of an effective information visualization.
Where do you get your data from? Be creative! You may have to scour
the web and scrape some information. You may have to manually log and
generate data tables. You may have to coalesce multiple different
data sources. Part of your responsibility on the project is to come
up with the data needed to drive your visualization. It is a crucial
and vital initial step! Ideally, you should start with a problem or
domain, find someone who knows more about it, and then look for data
from there. Don't start your project simply by looking for any old
dataset. Be more problem-driven than that. Below are some quick examples of places with
nice data repositories.
Also, consider organizations that run contests for developing
visualizations. They can often serve as good sources of problems and
data. Some examples are:
Institute of Justice
Perceived vs. actual student interest