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)
The Fridgebot represents the culmination of my introduction to the world of Physical Computing. Working with Arielle Hein and Allison Ye, we set out to examine the complex, but rarely discussed, topic of food waste. Our biggest problem to conquer was scale. We needed to effectively communicate an enormous problem to a specific audience, and have the idea stick. For that to happen, the idea needed to address the problem in terms that our classmates at ITP could relate to. After witnessing the infamous Monday morning refrigerator cleanouts, where expired food and leftovers are cleared from the fridge and thrown out, we decided to put our focus there.
The posted refrigerator rules dictate that students will use a sharpie to label their food with their name and date. After 4 days, any food is liable to be eaten by someone else, or thrown out. Similar to your refrigerator at home, sometimes things get forgotten. Unlike your refrigerator at home, there are over 200 students on the floor, with a large number of them using the refrigerator. Even with a self-policing population, most of whom are living on very tight budgets, lots of food gets forgotten and spoils. We volunteered to take over the Monday cleanouts, and have found an average of nearly 16 lbs of food wasted per week. Admittedly, that data is only from just over a month, but also doesn’t include anything thrown out midweek. We set out to redefine this process for students in hopes of reducing waste and saving students money.
Our main objective was to make the process as easy as possible for students. It should not take any longer than writing your name and date in marker, and should be extremely painless. The project would fail if these requirements were not met. We settled on using the NYU student ID as the centerpiece of our interaction. Students bump their NYU ID on an RFID card reader (HUGE thank you to Surya Mattu for all of his help with that). This only provides us with the card’s RFID number, no NYU information. When a student bumps their card, a MYSQL database will be checked for existing records in their name. So on first use, a student must enter their name and netID (NYU email address) using the touchscreen display. We also created a google doc in hopes of getting people to sign up at their leisure, so their first Fridgebot experience can skip the entry process. This entry creates a record in the database through PHP with the students card number, name, and netID. Once they are in, a signal is sent to Processing, and a barcode label is created and printed with an Adafruit thermal printer. Students put this label on their food, and their database record is updated with a timestamp. When students want to eat their food, just use the barcode scanner to scan your label. This puts a second timestamp in the database. The database will be scanned multiple times per day looking for entries that are 48 hours old, with no checkout timestamp. When it finds one, it sends a reminder to their NYU email telling them to eat their food.
Design change! After Rob Ryan informed us that our plans to hang it on the wall would not work, we scrambled for a redesign. We chose a retro computer look, which would function like a kiosk standing near the refrigerator.
Evidence of how much the monitor dictated our design choices.
Piecing together the front panels. They are removable to allow access to the components.
Based on preliminary evidence and user testing, students are excited about the Fridgebot. We are in an environment where gadgets and tech solutions are embraced, and the Fridgebot heavily plays to that. A Mac mini powers the Fridgebot, connecting to a touchscreen display and barcode scanner. An RFID card reader runs through the Arduino Yun. Processing acts as our communications hub between all devices, and controls the display. PHP scripts are triggered and run through Processing to update the SQL database, with PHPMailer being used to send the reminder emails.
Rob has given us permission to leave the Fridgebot up for the coming semester. We want to test the validity of our project, and see if we can truly help lower the level of food waste on the floor. The idea that my first final class project could be something that is left on the floor to help the student body is, to say the least, extremely exciting. Big thanks to my partners Arielle and Allison, and all those that helped along the way including Rob Ryan, Surya Mattu, Tom Igoe, Matt Richardson, and Shawn van Every.