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:
- What are the most popular exports from the US?
- Which countries are the most popular trading partners?
- What imports / exports are more popular in different areas
of the US?
- What imports / exports are more popular in different parts
of the world?
- Where is trade increasing or decreasing?
- What are some unexpected imports / exports?
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:
- use import and export data for all US states for 2012
- app should start out showing combined data from all states
as a starting point showing amounts of various exports and
trading partners
- user can pick from a hierarchical list of commodities (top
level or more specific) and app should show
- which states import / export the most of it
- user can pick one US state (or
Washington D.C., Puerto Rico, the Virgin Islands) from
a list or from a map and the app should show:
- map of where imports and exports come from or go to and
the amount
- graph showing relative amounts of different types of
commodities at different hierarchical levels
- an about screen with details on who wrote the project,
where the data came from, etc
- any data shown in graphs should also be available in
tabular form
For
a B you need to add ...
- make data from 2010 - 2013 available and allow user to
pick a particular year or set of years (2013 data should be available the first
week of March)
- user can pick a foreign country or region (Europe,
Oceania, South America, etc) from a list or map and app
should show
- top imports / exports from / to that region
- map and graph showing which states are the biggest
trading partners for that country / region
- help the user make comparisons
- between states
- between years
- between foreign countries
- between different commodities or sets of commodities
For
an A you need to add ...
- investigate trends, changes
- document interesting findings
For bonus points ...
- user can pick from a hierarchical
list of commodities (top level or more specific) and app
should show
- what countries they come from / go
to (see the Related Party Trade link, and check on NAICS
codes - there are translators to/from the HS codes)
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:
- 1 page on how to use your application and the things you can
do with it.
- 1 page on the data you used including where you got it, what
you did to it.
- 1 page with links to the source code and any instructions
necessary to instal l and run it. These instructions should
start from the assumption that the reader has a web browser on
their computer and tell the user everything else he/she needs
to know to get the code and get it running.
- 1 page on what interesting things you found using your
application.
- 1 page on the roles of the different team members
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.