For my ICM final project, I wanted to look at trash and waste in New York City. Originally, it was going to be combined with my PComp final for an interactive data visualization on food waste. As the PComp project evolved and went in a different direction, I decided it would be best to separate my ICM. I was still interested in a data visualization of some aspect of trash and waste, inspired by the work of Nicholas Felton, Jer Thorpe, and others. After looking through NYC OpenData, I decided on using the Collection Tonnages data set, which looks at the level of trash and recycling collected in the city, broken out by borough, by district, for the month of September 2011. It wasn’t an ideal data set, lacking a time dimension or secondary framing aspect like population or income, but I thought there would be enough angles to explore, and serve as a good introduction to data viz.
My first step was getting the data into Processing and plotting it. Shown below is the trash collection levels, laid out by borough, by district. The X axis iterates through the locations, with the height of the lines and size of the data point, mapped to the trash total. Originally, I wanted to connect the data points and use a triangle mesh fill, similar to this, but using the points became appealing. The buttons were placeholders for what I thought would be future interactions.
After successfully accessing the data, I mapped the origin lines of the data point to follow the mouse along the X axis, looking to develop the interaction. The borough names on the data points were just a visual reminder for me to keep track of what was where in the graphic.
Taking that idea a step further, I was able to highlight the data points by borough as the mouse passed between boroughs on the X axis with a different color and the borough name changing. At this point, those boundaries were hard-coded. I also added a Y-axis, some explanatory text, and aesthetic changes.
After an office hours talk with Danne Woo, I realized that my visualization was just too vague, regardless of whether it was visually appealing or not. I abandoned the mouse-controlled origin points and the varying data point size, both of which conveyed nothing and added confusion. I made the switch to more standard vertical lines.
This unfinished piece took me to in-class user testing, which provided a lot of useful feedback. The biggest takeaway was that the piece needed more explanation, with less text. The explanatory text I added in the upper left corner was almost universally ignored, and people were unclear of what the data was representing. The different alpha on the data points vs lines was confusing, as were the gaps between the data and the background total lines (which I knew was an issue going in).
The feedback and unfinished work left me with a good to-do list for the final. I wanted to add an interactive map, remove the non-functioning buttons, change the data explanation method, make an efficient highlighting function instead of hard coding, and, most importantly, get some animations present. I followed the early advice of Dan Shiffman (my professor, the best guy ever) to build a working model first in whatever manner possible, then rewrite correctly later. To get my animation working, I had to follow the second step of that advice and rewrite in object-oriented notation, something I really should have just done in the first place. With that out of the way, I was able to complete the animations I was looking for, import the map, and turn in what I think was a nice, finalized piece.
The following is my completed final, presented in class. The dark background lines show the total collection, with the red highlighting trash collection, and green being recycling. Seeing the data is possible by mousing over the boroughs on the map at the top of the screen.
(working on a better recording)