Day 8 @ ITP: Physical Computing

Week 2
Assignment #3: Readings

Norman, Design of Everyday Things, ch. 1:

Norman, Emotional Design, Chapter 1, “Attractive Things Work Better”:

..it is essential that products designed for use under stress follow good human-centered design, for stress makes people less able to cope with difficulties and less flexible in their approach to problem solving. Positive affect makes people more tolerant of minor difficulties and more flexible and creative in finding solutions. Products designed for more relaxed, pleasant occasions can enhance their usability through pleasant, aesthetic design. Aesthetics matter: attractive things work better.
Note that the anxiety produced by walking a plank high in the air -- or even by performing in public -- can be beneficial. Anxiety focuses the mind, reducing distractions. It is when the negative affect is too strong that performance is inhibited, whether because of the fear of falling or stage fright. Some performers welcome anxiety, for they recognize that the proper amount helps them focus and do their best.
Just as negative affect can make some simple tasks difficult, positive affect can make some difficult tasks easier. In a clever set of experiments, Alice Isen has shown that if people are given small, unexpected gifts, afterwards they are able to solve problems that require creative thought better than people who were not given gifts. The positive affective system seems to change the cognitive parameters of problem solving to emphasize breadth-first thinking, and the examination of multiple alternatives. It also has the side effect of making people more distractible.
Good design means that beauty and usability are in balance. An object that is beautiful to the core is no better than one that is only pretty if they both lack usability. In the quest for enhancement of life, let us not be usability bigots. Yes, products must be usable. But all the many factors of design must be in harmony. Marketing considerations must be accounted for, aesthetic appeal, manufacturability -- all are important. The products must be affordable, functional, and pleasurable. And above all a pleasure to own, a pleasure to use.


Igoe, Physical Computing’s Greatest Hits (and misses):

*Compass Ion Organ is a posture and meditation support belt embedded with sensors which track the curvature of the users spine, and provides feedback for the wearer in the form of visual and sonic information via a microcontroler to software (Max/MSP/Jitter). The belt has a calibration button which can be set for each user in order to give personal readings about their current state of spinal posture. The information coming from the user influences changes in realtime, to visual and/or sonic algorithmic compositions. These are displayed on a large flat panel LCD screen which the user is facing. The compositions for the belt will explore different mathematical principals about balance and order, such as Lindenmayer Systems and Fractals, as well as irregularities, dealing with atonal and chaotic patterns. The feed back of visuals and sound is meant to guide the user into proper alignment and help them maintain it once they have it. The algorithms are designed to reflect balance when the spine is straight and discord when it is not. Source: https://itp.nyu.edu/shows/winter2007/compass-ion-organ/

*Compass Ion Organ is a posture and meditation support belt embedded with sensors which track the curvature of the users spine, and provides feedback for the wearer in the form of visual and sonic information via a microcontroler to software (Max/MSP/Jitter). The belt has a calibration button which can be set for each user in order to give personal readings about their current state of spinal posture. The information coming from the user influences changes in realtime, to visual and/or sonic algorithmic compositions. These are displayed on a large flat panel LCD screen which the user is facing. The compositions for the belt will explore different mathematical principals about balance and order, such as Lindenmayer Systems and Fractals, as well as irregularities, dealing with atonal and chaotic patterns. The feed back of visuals and sound is meant to guide the user into proper alignment and help them maintain it once they have it. The algorithms are designed to reflect balance when the spine is straight and discord when it is not.

Source: https://itp.nyu.edu/shows/winter2007/compass-ion-organ/

Day 8 @ ITP: Physical Computing

Week 2
Assignment #1

Making an LED Blink (and with a button!)

Video: https://youtu.be/vGHjV50NxqY

1) Blinking LED: It worked!! Thank goodness. Even though I thought I glued my breadboard on the base backwards. 

My new YouTube account for tracking ITP projects:  https://www.youtube.com/channel/UCjzfViHJBUkW0JaCKspr9hQ 

LED5VPin13.png

First attempt using schematics in the image above:

21684237_10100422244295884_687603851_o.jpg

 

2) Now to figure out how to make the LED blink with a button...

I tried this version (the official Arduino tutorial) with the on/off button and failed, using the LED on the breadboard. I will try another version where the LED is on the circuit board.

I ended up following this tutorial instead. Then I had to switch around the positioning of Arduino...because I couldn't reach the breadboard from the right side. 

19875902_10100422483880754_990380614_o.jpg

Then I changed it back, because I realized maybe I'd had it right the first time around, somehow...

I couldn't get it to work with the switch, it just keeps blinking...

21894858_10100422493805864_2046481043_o.jpg

Now I will try the official Arduino tutorial again:

I still couldn't get it to work! The code uploaded properly, but the button didn't turn the LED on and off. I will need to ask for more help on this one. I did go to the help session on Friday, but hadn't started the lab yet then. Will keep trying to figure out what exactly went wrong here:

 

Day 7 @ ITP: ICM

Week 2
Optional Quiz

Question 1) This screengrab doesn't show it, but this did work. 

Question 1) This screengrab doesn't show it, but this did work. 

Question 3) I learned how to do this from watching Shiffman's video 2.1

Question 3) I learned how to do this from watching Shiffman's video 2.1

Question 4) First successful attempt using hard wired numbers and a few variables. Next to figure this out with more variables...

Question 4) First successful attempt using hard wired numbers and a few variables. Next to figure this out with more variables...

Based on Question #4 (Click around on the canvas to see):

Day 7 @ ITP: ICM

Week 2
Assignment #1

First step: 

  • One element controlled by the mouse.
  • One element that changes over time, independently of the mouse.

I based this code on my notes from class, basically copying and pasting out of my notes and then editing the parameters manually to better understand the basic elements. In this one the first ellipse just moves on the Y axis.

createCanvas(400, 400);
}

function draw() {
background(250, 120, 200);
ellipse(width * 0.27, mouseY, 150, 150); 
ellipse(frameCount, height / 2, 200, 200); 
ellipse(frameCount, height / 2, frameCount * 0.2, 100); 
}

On p5.js.org: Source

Now to add the part that acts randomly... 

  • One element that is different every time you run the sketch.

Finally, I figured out how to make the canvas a different size every time you run the script. Surely it gets more creative than this! But this is the only thing I could get to work after adding the random function to various parameters. Adding the random function to the color or size of the ellipse or background would make it cycle rapidly between the parameters. I would like to learn how to make an element change randomly just once upon running the script (like color or size of a shape) without making it strobe or flicker between values.

Update 9/19: I edited this second one so that the ellipse that moves with the mouse changes size depending on the randomly generated size of the canvas, and also moves on both the X and Y axes. I still would like to figure out how to change the color of an element upon refreshing the sketch and/or get it to work so that I can click on one of the ellipses or the background to make it change color one color at a time. When I tried doing this in the same way as I did in the exercises above, the code appeared to then be broken/not work. Something about combining the different functions together I'm not grasping yet. 

function setup() {
  createCanvas(random(350,700), (350,700));
}

function draw() {
  background('rgba(200,25,250,0.5)');
  ellipse(frameCount, height / 2, 200, 200);
  ellipse(frameCount, height / 2, frameCount * 0.2, 100); 
  ellipse(mouseX, mouseY, width*.444, width*.444); 
}

On p5.js.org: Source

Now to rewatch and watch the next few of Shiffman's videos!!

Day 6 @ ITP: Video and Sound

Week 1
Assignment #3: Responses

The Ecstasy of Influence - A plagiarism
By Jonathan Lethem

Source: https://harpers.org/archive/2007/02/the-ecstasy-of-influence/

Blues and jazz musicians have long been enabled by a kind of “open source” culture, in which pre-existing melodic fragments and larger musical frameworks are freely reworked. Technology has only multiplied the possibilities....

I enjoyed listening to the talk and reading this essay on remixing versus plagiarism. It made me think also about how notions and thoughts and philosophies can also be remixed, as we are always feeding off or reacting in some way to what other people have already put out there. Like in Julian Rosefeldt's "Manifesto", where he remixes numerous manifestos into monologues in a collection of short films that also reference so many other things visually also without saying them directly. In a way I guess the point of both this article and the video is that referencing is also remixing, and in that way we are always remixing.

Today, when we can eat Tex-Mex with chopsticks while listening to reggae and watching a YouTube rebroadcast of the Berlin Wall’s fall — i.e., when damn near everything presents itself as familiar — it’s not a surprise that some of today’s most ambitious art is going about trying to make the familiar strange.

Images from the article "The Complete History of Art References in the Simpsons":   
http://www.complex.com/style/2012/01/the-complete-history-of-art-references-in-the-simpsons/54

nflhitp3kcfq6i6imrue.jpg
qywmkp6seh1c4yct4q6o.jpg
bhqokczxeaiz9cgtuzkb.jpg

"Embrace the Remix"

Video: https://www.youtube.com/watch?v=L1s_PybOuY0

The part that stuck with me most from the talk was when he talks about how people were criticizing Bob Dylan for borrowing blues melodies, and that Woody Guthrie said that words are what make folk songs original, not necessarily the melodies. That made me think about various ways that you can take a basic structural element and use its form to put your own content in and create something new. He also brings up the issue of how copyright law inherently goes against the idea of remixing, and says he would prefer to think of everything as a collective property that we are all building on, and that progress happens because of all things that have happened.

Day 6 @ ITP: Video and Sound

Week 1
Assignment #2: Reactions to sound walk:
"Her Long Black Hair" by Janet Cardiff

I listened to this sound walk in two parts, the first part while riding on the subway and the rest while waiting for a ferry, on the ferry, and walking through Brooklyn Bridge Park. It ended while I was walking through the park and then I listened more attentively to the sounds around me (insects, people talking, birds, construction, the BQE) felt like I had two microphones taped on either side of my head. In a way life kind of sounded more like a sound walk after listening to this. I also enjoyed the inclusions of what felt like old and historical-seeming writings read by actors(?) I actually also did not look at the images until after listening to it, and the images definitely change it for me and give it more context.

Day 6 @ ITP: Video and Sound

Week 1
Assignment #1:

Sound Walk: "ITP Space Shuttle" (with Amitabh S. and Kemi S.)

Screen Shot 2017-09-14 at 6.43.52 PM.png
 

For this project we came up with an idea of a sound walk through the ITP space shuttle, which is still under construction. A new recruit arrives from the elevator. A veteran astronaut greets them to tour the floor. When they reach the end of the tour, there is an explosion.

Sounds for editing (freesound.org):

1. Elevator
- going up:
(still need this sound - Star Trek?)
- door opening:
(still need this sound - Star Trek?)

–or– edit sounds out of recording in building:
https://soundcloud.com/sounds-itp/sets/cane-sounds

2. Earth room
- Rainforest room:
https://soundcloud.com/sounds-itp/sets/rainforest-room-sounds
- Ocean room:
https://soundcloud.com/sounds-itp/sets/ocean-room-sounds
- Countryside room:
https://soundcloud.com/sounds-itp/sets/countryside-room-sounds
- City room:
https://soundcloud.com/sounds-itp/sets/city-room-sounds

3. Dormitory
- Construction sounds:
https://soundcloud.com/sounds-itp/sets/construction-sounds

4. Explosion:
https://soundcloud.com/sounds-itp/sets/explosions


Original recordings:

1. Cane sounds:
https://soundcloud.com/sounds-itp/sets/cane-sounds

2. Voiceover:
- Kemi to record voiceover (week 2)


Narration (rough draft):

(Elevator door opens)

Hello! Welcome to the ITP space shuttle. I’m Gwen, your guide. Come with me...
 

(pause, walking, sound of cane and footsteps)
 

This is the Earth room. We are currently test driving simulations of different locations on Earth, for recruits to go in when they are homesick for our home planet.

First, we are prototyping a rainforest: (Sound of rain, rainforest animals) …

As well as a field in the countryside (Sound of crickets, running stream)…

And the ocean: (Ocean sounds)

We also are working on a big city: (Sound of New York City, people walking on sidewalks, cars beeping, etc.)
 

Next I’ll show you where we are building the dormitories… Follow me.
 

(pause, walking, sound of cane and footsteps)
 

(Sounds of construction start happening in background)
 

This is where you and the other recruits will be sleeping. We are currently installing the oxygen tanks and testing the pressurization of the cabin.

Now we will go to the meeting room, where you will meet the other recruits…
 

(pause, walking, sound of cane and footsteps)
 

(Sounds of chatting)
 

This is where we will be holding trainings.

I was once a recruit, too, you know. All of us senior members here were. Now I am a veteran due to an accident I had onboard the ship… (Sound of explosions) (People running)

Quick! Duck! There’s been an explosion in the dormitory!
 

(Sounds of commotion fade out…)

Day 3 @ ITP: Intro to Physical Computing

Week 1
Assignment #1: What is interaction? 

I remember in class it came up that interaction was any time that one(?) or two or more people are in conversation with each other or with some thing. I am imagining that if you are in conversation with something by yourself that the "other" is not a person but an environment, or a situation. I feel that most of life is interacting with various outer elements that come up. When you add two or more people it gets much more exciting – neurons are firing, or not firing, but either way there is some kind of "conversation" happening. The best interaction is when you leave feeling somehow changed.

Day 3 @ ITP: Intro to Computational Media

Week 1
Assignment #2: 
How computation applies to my interests

I started learning to code in 1996 (in 6th grade for me). At the time it seemed like a way to create a world other than the one I was presented with. I built a website called "Camilla's World" entirely with HTML. It was a long scrolling page with a black background, bright pink text and a lot of animated gifs, and included fan pages for Matt Damon and Fairuza Balk. In adulthood I have worked on websites as a freelance job, but with limited skills. JavaScript and Python are new to me [I actually realized after I initially said this that I did do some intro classes for p5.js & creative coding at the ITP Camp in summer 2016, but I retained little of it as it was mostly just one cursory class for each subject]. I am attracted to learning more about computer languages because I feel that they could lead to creating more interesting virtual worlds, web art, music, experiences, you name it. I also do video and sound work and am curious to see how it could intersect with coding. Or even to use it to work on a more interesting kind of website for some organization that I find meaningful. I'm excited to see what possibilities come up in this course. 

Day 2 @ ITP: Intro to Computational Media

Week 1
Assignment #1: p5.js experiment

function setup() {
createCanvas(600, 700) 
}

function draw() {
 background(150, 250, 255, 50)
fill(200, 275, 100);
stroke(150,200,200)
quad(500, 500, 300, 500, 100, 450, 330, 70) 
fill(200, 250, 0, 8);
quad(900, 900, 700, 600, 200, 550, 430, 80) 
fill(300, 250, 0, 5);
stroke(100,200,200)
rect(125,125,125,125, 250, 300); 
ellipse(250, 250, 400, 400);
ellipse(250, 250, 390, 395);
ellipse(250, 250, 380, 390);
ellipse(250, 250, 370, 385);
ellipse(250, 250, 400, 380);
ellipse(250, 250, 390, 375);
ellipse(250, 250, 380, 370);
ellipse(250, 250, 370, 365);
ellipse(250, 250, 400, 360);
ellipse(250, 250, 390, 355);
ellipse(250, 250, 380, 350);
ellipse(250, 250, 370, 345);
ellipse(250, 250, 400, 340);
ellipse(250, 250, 390, 335);
ellipse(250, 250, 380, 330);
ellipse(250, 250, 370, 325);
ellipse(250, 250, 400, 320);
ellipse(250, 250, 390, 315);
ellipse(250, 250, 380, 310);
ellipse(250, 250, 370, 305);
ellipse(250, 250, 400, 300);
ellipse(250, 250, 390, 290);
ellipse(250, 250, 380, 285);
ellipse(250, 250, 400, 280);
ellipse(250, 250, 390, 275);
ellipse(250, 250, 380, 270);
ellipse(250, 250, 370, 265);
ellipse(250, 250, 400, 260);
ellipse(250, 250, 390, 255);
ellipse(250, 250, 380, 250);
ellipse(250, 250, 370, 245);
ellipse(250, 250, 400, 240);
ellipse(250, 250, 390, 235);
ellipse(250, 250, 380, 230);
ellipse(250, 250, 370, 225);
ellipse(250, 250, 400, 220);
ellipse(250, 250, 390, 215);
ellipse(250, 250, 380, 210);
ellipse(250, 250, 370, 205);
ellipse(250, 250, 400, 200);
ellipse(250, 250, 390, 295);
ellipse(250, 250, 380, 290);
ellipse(250, 250, 370, 285);

}