Response to Casey Reas

Through explaining the origin of computer artwork, Casey Reas improved my understanding of the essence of computer art. I would describe Casey Reas artwork as a  beautiful mess. His artwork is able to evoke emotions combining shapes and color with random patterns and although the elements from a perspective behave in disorder, once put together all the elements together create an aesthetic piece of art.

My takeaway of Casey Reas talk is the importance of using noise and random. One of my biggest challengings in computer art is to unlearn that symmetry is the way to achieve beauty and aesthetic. What I have learned with this video and with the assignments in class, is that there are no concrete ways to achieve beauty, definitely, there is beauty in the order but you can find also find beauty in chaos and randomness like Casey Reas.

“Her code got humans on the moon”

This reading tells the outstanding story of Margaret Hamilton, who was one of the main software engineers of Mission Apollo during the 60s. My takeaways of this reading are 1) the importance of coding. One of my biggest learning in this class is the power of coding, before this class, I had only taken an introduction to programme classes,  but now that I have realized all the things that I can build and that I can manipulate through I have realized that software and coding is one of the most powerful tools in the world and the with just a few lines of coding I have been able to do things that I never thought I was going to be able to do before I came into this class.

“Emotion & Design: Attractive things work better”

There are two ideas approached by this reading that I believed can really improve my strategies as a designer.

The first idea is that attractive things tend to perform better than an ugly thing. To support this claim, the author gives the example of an experiment done in Japan about pretty ATMs having a higher positive impact on people than uglier ATMs. After knowing this, now I realized the importance of the aesthetics of things and how I can use the tendency that human beings prefer pretty things in my favor.  There have been times in this class that even though I  have spent hours working in complicated coding projects and I just don’t feel proud of myself and sometimes I do easy coding things that perform well easily and It does not take a long time to do. Going back to these projects, I realized that the projects that I made that I feel proud of myself to tend to be the ones that have an aesthetic outcome and the ones that I didn’t feel proud were not good looking projects. This teach me that maybe If I ever want to sell a product the aesthetic is as important as the function of the product.

 

The second idea is that anxiety help to focusing but not creativity, This is a mistake that I tend to do to leave things to the end. Now, that I know this, I have decided to at least design my projects when I am in a good mood and happy because as it is mention in the reading this will help me to improve my brainstorms for the project.

Self Portrait

The task for this week was to create a self-portrait using processing.  To solve this task, First, using ellipses, rectangles, and other primitive shapes from processing, I attempted to draw a human being as similar to myself as possible. After this, I realized that if I have full beard a look really different compared to when I am clean shaved so that’s why I decided to add the option that if the mouse is in the bottom part of my face then I beard will show up.  This interaction was created with an If statement and delimiting the pixels of the bottom part of my face. Then, also a blink interaction was added. Using the method as the beard, the user has the option that if he clicks in the eye section the eye will blink once. Finally, colors were added to the draw.

The biggest challenge for this assignment was setting up the location for the objects, I am not used to using this type of coordinates and I struggle with finding the correct coordinate where I wanted to put the object. My takeaway from this assignment is that the more organized and clear you set up your variables the easier will be to find the proper coordinates for the object and to later delimit areas to create interactions.

 

Post About Physical Computing’s Greatest Hits (and misses)

 

This article is a summary of technologies and tools that are commonly used in Physical computing but still have great potential to be innovated.

The second paragraph describes accurately one of my biggest strugglings in this class so far. Every time that I have to choose a project always the fear of not being original shows up and make my overthink and discard my ideas.

I found this article extremely helpful for two reasons: 1. It works as a guide of technologies that I can innovate in future projects. 2. It makes me realize that there more than one way to develop technologies and that there are big opportunities for innovation and creativity that can still be explored.

Post About “Making Interactive Art: Set the stage, then Shut up and Listen”

The article is a comparison between interactive work and interactive artwork. The main differences explained by the author are that interactive work is an experience or device made with the purpose of having a conversation with the user, in other words, the creator looks for a specific action of the user. In the other hand, Interactive artwork is about letting the users explore and interpret the experience and the artist should focus on the user’s reaction to his art.

My takeaway of this article is that I learned to differentiate between interactive artwork and interactive work. Several times, during this course, I have build machines without not even knowing what I want from the user. This has caused some of my projects ended up having an ambiguous interaction. Now,  the first question  that I am going to ask myself before starting assignment will be ” Is this interactive work or interactive artwork?”

The Force Piano! Midterm!!

For my midterm assignment, I decided to build a machine able to automatically play the piano at the same time that the user is playing the guitar. I called this machine” The Force Piano”.  This machine functions in the following way. The guitar functions as a switch, so when the user plays it activate three servos and each servo moves a stylus able to touch the touchscreen of an Ipad. In the iPad, an application that simulates a piano was downloaded. Through this application, the stylus interacts with the piano application.

The building process of this machine was the following. First, an Ipad Mini and Arduino breadboards were stuck with tape to a big piece of wood. Then the three servos were connected to the breadboards and a code was created that allows the servos to move once from angle 90 to 180 and vice-versa every time that a switch is turned on(The code was attached at the end of this post). Next, three stylus were created using aluminum, cotton swabs, and water. The plastic stick of the cotton swabs was surrounded with aluminum and the aluminum was positioned to slightly touch the cotton tip, then, the cotton tip was submerged into water (water allows electricity to flow electricity to the touchscreen of the iPad) and  each one was connected to an alligator cable coming from Power from the breadboard. After building the stylus, these were attached to the servos using hot glue and then the servos were stuck to the piece of wood, considering the position of the notes F4, A4 and C5 in the piano app of the iPad. The switches to activate the servos were build using the metal strings of the guitars. Three alligators cables were attached to the 5th, 4th and 3rd string of the guitar and these alligators were connected to ground in the breadboard. Then an alligator cable coming from power was connected to a metal pick (every time the pick touches the string the circuit is closed). And finally, the guitar was played to test that the servo moved with the angle needed to touch the correct note of the piano.

The biggest challenges in this assignment were figuring out how to create a stylus. My original idea was made a drum with wood and hit it  with drumsticks to create sound, but then, I thought it was going to be cooler to make the servo to play the song with me, and as It was impossible to use a real piano, I improvised and decided to use my old IPad mini. The challenge was that I thought that I was going to be able to interact with the touchscreen with any material. But, It did not take long until I realized that it was not that simple. So, after doing some research, I learned that, in order to interact with a touchscreen,  I needed to make electricity flow through the material. Hence, my first prototype of a stylus it only had aluminum, but when I did the testing I realize that it only interacted with the touch screen 1 out 3 times, that’s why  I decided to use softer material pour water on it.. The other challenge was positioning and finding the angles for the servos by trial and error. To finally, figure it out I needed to rebuild several times the servos-stylus prototypes.

 

#include <Servo.h>

Servo myServo5F;
Servo myServo10A;
Servo myServo9C;
bool prevStringFState2 = LOW;
bool prevStringAState3 = LOW;
bool prevStringCState4 = LOW; 
int StringFPin2 = 2;
int StringAPin3 = 3;
int StringCPin4 = 4;


void setup() {


  pinMode(StringFPin2, INPUT);
  pinMode(StringAPin3, INPUT);
  pinMode(StringCPin4,INPUT);
  Serial.begin(9600);
  myServo5F.attach(5);
  myServo10A.attach(10);
  myServo9C.attach(9);

}

void loop() {

  int currentStringFState2 = digitalRead(StringFPin2);
  int currenStringAState3 = digitalRead(StringAPin3);
  int currentStringCState4 = digitalRead(StringCPin4);
  if (prevStringFState2  == LOW && currentStringFState2 == HIGH) 
  {
    myServo5F.write(180);
    delay(100);
    myServo5F.write(90);
    delay(100); 
  } 
  else if (prevStringAState3 == LOW && currenStringAState3  == HIGH)
  {
     myServo10A.write(180);
    delay(150);
    myServo10A.write(90);
    delay(150); 
  } 
  else if ( prevStringCState4 == LOW && currentStringCState4 == HIGH)
  {
    myServo9C.write(0);
    delay(150);
    myServo9C.write(90);
    delay(150); 
    
 }
  prevStringFState2 = currentStringFState2;
  prevStringAState3 = currenStringAState3;
  prevStringCState4 = currentStringCState4;
}