PComp Final Ideas

1: Device critiquing the concept of the American Dream

In the US, there’s this crazy idea called the American Dream – “the set of ideals (Democracy, Rights, Liberty, Opportunity, and Equality) in which freedom includes the opportunity for prosperity and success, and an upward social mobility for the family and children, achieved through hard work in a society with few barriers.” (Wikipedia). This is, and always has been, BS. Continue reading

Music visualization

This week, I had an opportunity to explore ways to combine code and live instruments, something that I’m fascinated with. I didn’t have the time this week to do anything too crazy, so I just picked my favorite piece of music for bassoon (one of the main instruments I play) and created a visualizer for it. The piece is John Williams’ The Five Sacred Trees. I created a button for each movement and used p5.FFT() to create a visualization of frequency in the canvas.

I edited the HTML file directly to get a video background of a tree. The same thing would be possible to do from within my javascript file, but with HTML and CSS I have set it up to be automatically responsive to screen size without reloading. The same can’t be said for the other elements, unfortunately, but I’m pretty happy with the results.

Listen to the soothing music and see the visualization here.

Get You Head in the (PComp) Game!

Note: My documentation for the process behind our midterm was pretty abysmal along the way. There are lots of moments in the following discussion where I wanted to have a picture or video but didn’t take anything at the time. It was a great learning experience for next time, though doesn’t improve the wall of text that this has turned into.

My partner for the PComp midterm has been Danielle Butler. We are also working on the same team for Outrage Machine, and we wanted to explore the multi-faceted concept of privilege with our midterm as a warm-up for that larger project. We quickly decided we were trying to tackle too much with a one-week assignment, and pared it back to one dimension of privilege, then gravitated away from that a bit and towards a fun game controlled with the head. In a way, it’s asking the user to try something in a way that they are not accustomed to, and in that way could be seen as a way to begin a conversation about ableism and the privileges enjoyed by non-disabled folks.

Our first step was to get a sensor working the way we wanted. Benedetta suggested either an accelerometer or a tilt switch. We obtained one of each and split up figuring them out, with me taking the accelerometer and Danielle working with the tilt switch. The tilt switch is fairly easy to understand in theory, but I still am not completely clear about the science behind the accelerometer. Nonetheless, I was able to wire it correctly with an arduino and my computer fairly quickly and begin to obtain values. The values were strange to say the least. They ranged from about 250 to 400, with 330 being the value returned when the sensor was flat. Through the use of if statements, I managed to make a ball move when the sensor was tilted past a certain point in one of the four major directions, and stop when it was tilted back. At that point, the midterm became a matter of designing an interesting program in p5.js and ensuring that the physical device would work properly on a person’s head.

We did a lot of brainstorming, and came up with many program ideas that would not have been possible in the time available to us. We settled on a game that involved driving a car around a circular track, but even that ended up being more complicated than expected. The main challenge was constraining the car to the track. Unlike a ball bouncing around a screen, we couldn’t simply multiply the speed by -1 if it hit the side of the track; if we set the speed to 0, however, the program would no longer respond to sensor values but would constantly reset the speeds to 0 regardless of serial input. The circular shape also presented a challenge compared to a square for constraining position.

The solution was to go with the same concept of the bouncing ball, multiplying the speed by -1. It’s not terribly intuitive how that works, but essentially the sensor data will continue to correct this number after it is set. If the head remains tilted in the direction it was tilted in to cause the collision, the speed will be reset to the previous value; if it tilts to flat, the speed will become 0; and if it tilts in the opposite direction, it will continue on the path set by the program after the collision. This eliminates the issue of getting “stuck.”

We are still testing for speed and sensor sensitivity, but we’re very excited to show our prototype in class and see how well people do trying to drive with their heads!


Data – Computer & Internet Access

For my project with external data, I really wanted to try leveraging social data in a compelling way. I started by looking for good government data sources, since they are usually the body responsible for collecting and organizing large social data sets. The Census Bureau has a yearly survey they do that utilizes sampling in addition to the collection every 10 years without a sample. It’s called the American Community Survey, and I decided to explore its API for the most recent year. Continue reading

Asynchronous Serial Communication

Overall, I found the labs this week to be a lot of tedium, which is understandable. The exercises were largely a rehash of what we had done in class, but even when everything worked it was really difficult to quickly and efficiently work through them because of the way they are structured. I need to push myself in the future to not get so hung up on documenting every little step and focus on expanding beyond the written instructions for those labs that I feel comfortable with. I also need to push myself with PComp more generally, as I feel like it’s often the first class that gets shoved aside when I’m forced to prioritize and manage my time. I’m hoping that the final project will be an excellent opportunity to do this in a major way.

Instead of an accelerometer, I decided to use an FSR and a potentiometer for the first part of the lab, which really just consisted of changing the arduino code and observing different serial monitor outputs. Since my circuit was set up and working, the serial monitor output followed correctly and as a result there isn’t much to say about this (large) portion of the lab. I’m impressed by how quickly the different pieces can convert between binary, ASCII, and characters, but I shouldn’t be since it’s a computer…

There will be a long, boring video coming eventually that shows a screen capture of most of the screen-based outputs of this lab, as well as some of my work process as well.

The one thing that I did find was that my third value was noise when we started to send multiple values separated by punctuation. When I thought about why, I realized that I didn’t have 3 analog sensors hooked up, and neither did the diagram in the lab. The for loop as written would not work with two analog sensors and one digital. It did work in the next part where it accounts for that and writes each sensor separately.

The next section, on handshaking and call and response, could have potentially been an opportunity to be a bit creative. I wasn’t, however. The output can be seen in the video that will be uploaded.

For the serial input lab, I started out using an FSR. I switched to a potentiometer, however, because I kept running into problems where p5 would return an undefined value even though the serial monitor in arduino printed the correct FSR values. When I replaced the FSR with a potentiometer, this issue cleared up and both programs seemed happy. The graph would have been another opportunity for some creativity, but at this point I was ready to be finished. Again, I need to work on pushing myself. The output for this section of the lab is also on the video.

Experiments in color + physics

Hue Test

I felt that this was really difficult and tedious, and had to take several breaks to let my eyes cool off a bit. I was surprised by the result, as I was expecting to do much worse. I received a score of 4.

Screen Shot 2015-10-09 at 5.15.50 PM

Color Composition

Play with the composition

I wanted my color-based piece to be interactive, and wanted the user to have as much control over the HSB variables as possible to allow them to play with color on their own. I’ve also been intrigued by the ways in which gravity can create attractive, arcing paths. I decided to combine the two in my program in an effort to allow users to play with both color and physics. Continue reading

Outrage Machine Proposal

Topic of Outrage?

Social privilege

What is your loose project idea or proposal?

Discussions of privilege often lead to defensive rather than constructive outrage. Our goal is to educate and spread awareness of the many dimensions of privilege. We envision our project as a conversation starter and a thought provoker, asking viewers to think about privilege and engage with those around them in real time.

Our video will invite passersby to engage by directly featuring them on screen, and will utilize a variety of tools to hold their attention and provoke meaningful discussion. Inspired by the example at <http://www.buzzfeed.com/nathanwpyle/this-teacher-taught-his-class-a-powerful-lesson-about-privil#.tozEdWYbLa>, we will develop metaphors that work in a digital context to teach about different types of privilege. Approaching the video like a collage, we will incorporate social data, quotations from relevant sources, and other artistic works in collaboration (with <https://youtu.be/7rYL83kHQ8Y> as our initial inspiration). We will also offer solutions to the question, “OK, I am/am not so privileged. What now?”

How do you plan on engaging the public?

We plan to have several interactive elements. They include:

1) Using the technology outlined in the video at <http://wefilm.nl/cases/augmented-billboard-against-aggression>, we wish to display those in front of the video on screen in real time. This is a visual representation of the passiveness and lack of outrage that most people, especially those enjoying many privileges, feel. During the video, viewers will be asked to gesture and interact physically in ways that will enhance their understanding of their privilege (or lack thereof) and metaphorically represent a chipping away at apathy. The goal is to make the audience feel responsible and motivated to make change.

2) Throughout the video, viewers will be invited to participate in discussion on Twitter via a related hashtag. Tweets will be displayed as part of the collage. Hastracking and the live display of resulting data will be explored as well.

3) A web interface will allow interested viewers to learn more and connect on a deeper level. We will develop and collect videos, reports and studies, and articles about privilege.

Composition – Business Card

Screen Shot 2015-10-04 at 8.38.11 PM

I felt lost when I first considered what I wanted from a business card. I don’t really feel like I’m at a point where I can brand myself sufficiently for a card. I really thought hard about the things most important to me, and realized that I enjoy empowering others to act in ways that are socially responsible and interesting. I decided that I would make my business card more a call to action than an opportunity to talk too much about myself. I wanted to make the calls to action specific to the time, place, and people that I would be giving them to, first year ITP students. Continue reading