In this project we are going to take a look at live data from the
Chicago area, integrating a variety of sources onto a single
leaflet map to help users make decisions about their travel plans.
Projects 1 and 2 enabled their users to look for interesting
features or trends in older data; the idea here is to give the
user more timely data in order to make decisions. Right now we can
get real-time weather, real-time automobile traffic, information
on bike availability, etc. How can that data be integrated to
allow the user to make more informed choices for how they want to
get from point A to point B.
For a
C you need ...
- create a pannable and zoomable leaflet map of Chicago (with
both aerial and map views) giving users real-time information
between UIC and museum campus
- allow the user to show or hide data on:
- current status of nearby divvy bike stands
- potholes reported in the last week and in the last month
- abandoned vehicles reported in the last week and in the
last month
- street lights that are out reported in the last week and
in the last month
- current weather
- The app should be looking for updated data as it runs and
the interface should highlight any new relevant data that has
appeared while the application has been running
For a
B you need to add ...
- add another neighborhood (not close to UIC) and give users
real-time information between UIC and there (treat the two
locations as the corners of a rectangle and show the data
within that rectangle plus a small buffer)
- show the user graphs comparing the 311 and crime data within
the selected region to the city as a whole so the user can see
if their route is more or less safe than the city as a whole
- allow the user to show or hide data on
- current CTA bus locations with live updating in the
selected area
- crime reported in the last two weeks and in the last month
For
an A you need to add ...
- allow the user to create a path through the city between any
two locations by picking points that form line segments
through the streets and then give the user information within
a 2 block radius around that path
- integrate more data of your choice (twitter, places to eat
along the way that passed or failed their food inspection,
record stores, bars, things that you would like to have with
an application like this)
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. 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.
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 install 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. Y
ou may want to shoot this
video on the wall itself from a phone with one of your team
members interacting.
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 1920 x 540 jpg
image of your visualization for the web. This should be named
p3.<group_number>.jpg or png.
When the project is done, each person in the group should also
send 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.