2014 (Spring) Project 2

My Favorite Things

Project alpha version due 3/3 at 9:59 pm Chicago time (5:59 pm Honolulu time)
Project final version due 3/19 at
9:59 pm Chicago time (5:59 pm Honolulu time)

Project 2 will be the first group project and will focus on visualization of Geo-spatial data.

The screen size will be 1280 by 720 this time. You should still assume a single button mouse (touch screen equivalent)

The standard group size will be 3 people per group with one person from Chicago and two people from Honolulu. You can chose who you want to be in a group with. I will create groups for people that do not form groups on their own by Friday the 14th.

You should very quickly set up a web page for your group project and send the URL to andy along with the names of the members of your group. The final webpage for the project will be public; the in-process web pages do not need to be public as long as the course instructors have access. Each Friday of the project each team member should post on the project web site an overview of what he/she did on the project that week. This comes in handy when assigning ratings to your collaborators and making sure that everyone is contributing.



In this project we are going to investigate imports and exports to and from various US states to other countries.

Data from 2010 - 2013 is available from http://www.census.gov/foreign-trade/statistics/state/data/index.html

Information on the hierarchical product codes can be found at http://www.foreign-trade.com/reference/hscode.htm



The application should help the user investigate various things such as:


The interface will make use of maps as well as graphs.

The user will be able to choose a US state from a map or a list and see the most popular imports and exports to / from that state and the amount of that commodity imported / exported and the countries where it was imported / exported to / from. The User should be able to choose a commodity or set of commodities from the HS code list and see which states  import / export the most of it from which countries. The data should be visualized on the map and in graphs simultaneously.

Note that the amounts of commodities can vary by a large amount and the size of countries can vary by large amounts which can make it very difficult to see the visualizations at times. You need to deal with that to create an interface that is truly useful to the user.

Also note that you do need to deal with Alaska and Hawai'i, not just the continental US.




For a C you need to create a useful, responsive interactive visualization with the following features:


For a B you need to add ...



For an A you need to add ...



For bonus points ...




There are two deadlines for this project. By the first deadline you should have implemented the initial screen layout of your application and have the basic functionality allowing the user to perform an example of the various 'C' functionality. That is, you don't have to have all of the data, or all of the states, or all of the commodities, but you do have to have a working example showing how the user will interact and how the visualizations will look. This will make sure that your group is on track and that you can focus on making a good interface and set of visualizations, not just functional ones. Personally, I think you should have the entire C functionality done at that point if you are going for an A on the project as a whole. You should make this version of the interface available on your group project page.

As part of the final turn in you should create a set of web pages that describe your work on the project. This should include:

all of which should have plenty of screenshots with meaningful captions. Web pages like this can be very helpful later on in helping you build up a portfolio of your work when you start looking for a job so please put some effort into it.

Be sure to document any external libraries or tools that you make use of - give credit where credit is due.

You should also create a 2-3 minute YouTube video showing the use of your application including narration with decent audio quality. That video should be in a very obvious place on your main project web page. The easiest way to do this is to use a screen-capture tool while interacting with your application, though you will most likely find its useful to do some editing afterwards to tighten the video up. Its also a good idea to have a video like this available as a backup during your presentation just in case of gremlins.
You may want to shoot this video on the wall itself.

The web page including screen snapshots and video need to be done by the deadline so be sure to leave enough time to get that work done.

I will be linking your web page to the course notes so please send me a nice 1280 x 720 jpg image of your visualization for the web. This should be named p2.<someone_in_your_groups_last_name>.jpg. 

When the project is done, each person in the group should also send Jason and Andy a private email with no one else cc'd ranking your coworkers on the project on a scale from 1 (low) to 5 (high) in terms of how good a coworker they were on the project. If you never want to work with them again, give them a 1. If this person would be a first choice for a partner on a future project then give them a 5. If they did what was expected but nothing particularly good or bad then give them a 3. By default your score should be 3 unless you have a particular reason to increase or decrease the number. Please confine your responses to 1, 2, 3, 4, 5 and no 1/3ds or .5s please. We will average out all these scores for projects 2 through 3 and keep them in mind when assigning final grades to projects 2 through 3.

Each group will show their visualization to the class and describe its features. This allows everyone to see a variety of solutions to the problem, and a variety of implementations. Rehearse your presentation ... several times. All team members are expected to participate equally in that presentation. During each talk each group in the audience should write one question for the speaking group, and write it on lore at the end of their presentation. The speaking group should add a page to their website giving the questions (and the group who asked it) and an answer to the question.



last revision 3/11/2014 - changed due date to Wednesday evening