Interaction Lab – Final Project: ESSAY-xinran fan

A. PROJECT TITLE

Save me from plastic

B. PROJECT STATEMENT OF PURPOSE *

To begin with, let me introduce you about the situation of plastic pollution we have today. According to research, the world generates at least 3.5 million tons of plastic and the other solid waste a day. Of all the plastic waste, only 9 percent is recycled, 12 percent is incinerated, ad 79 percent is buried in the landfills or dumped in the natural environments such as the ocean or countryside. Our project is for advocate everybody come to join the environmental protection, especially protect the marine animal from plastic pollution. We hope we can use the form of game to attract more people, especially the young generation to pay attention to the serious situation we face these days. The idea of making it a game is strongly encouraged by a completed game fought by my partner-Scott Snibbe’s  Interactive art: ARCTIC ICE (2008).While the basic idea of how this game should be is come from a report many years ago.

 Whales- the hugest animal in our world, is dead from 80 tons plastic trash it eats. I was totally astonished by the countless plastic trash flow in the waves. Their colorful appearances have nothing about hilarity but show the hell of the marine animal. This is why we design the game as a fish elude the plastic trash. Then I heard of the Beach clean upactivity which come into popular around the world, We was deeply inspired by it. Suddenly, we realize that protect the marine environment is not only for marine animal, but also for us, for all lives in the earth. And the protection could not complete if we don’t work with all our heart to cooperate with our animal friend. So, we decide to make our game a double game, but the players are not competed with each other, instead, the two players need to cooperate closely. Another role is play as a human, he needs to pick up the trash falling from the sky. All in all, our project is going to call out more people to focus on and make effort to protect the marine animal. Our target population is everyone, especially the young generation. We hope after playing this game, people can realize the importance of reduce the plastic pollution and it is time to take an action.

  1. PROJECT PLAN *

First of all, we project our computer to a larger screen. As we introduced before, this is a double player game. So, we will separate the screen into two part, each side for a player. The top part is for role of ‘person’, he is running on the board of a big steamship, and the bottom of the image is for the ‘fish’, which is swimming around to avoid the attack of plastic trash. The motion of the ‘person’ is controlled by two buttons-one to left and the other to right. The motion of the fish is controlled by the handles, which can control the movements of the fish smoothly.

The ‘person’ needs to run fast to pick every falling plastic trash, if missing one, the trash will fall into the sea, and all the trash in the sea will continually attack the ‘fish’. And to avid the possibility that the ‘person’ plays too well to make the ‘fish’ boring, there exists some plastic trash right at the beginning. What’s the plastic trash can also pollute the quality of the water. The color of the water will change according to the quality of the water, and the speed of the ‘fish’s’ movements. So, it will be harder for it to avoid attack of the trash.

If the ‘fish’ is hit by the trash, game is over and relieve sadly music and plays a video that show the death of the fish, while if the fish can insist for two minutes, players are win and will relieve hilarity music and ‘hurray’. What’s more a piece of audio will be played; a sign will appear that instructs the players to the direction of a candy box. However, before receiving the candy, the player still needs to accomplish an extra question ‘about how many percentages of plastic waste is thrown into the ocean and landfills?’ There are four buttons which means different answers-10%,30%,50%,80%. If the player gives the right answer, the two servos on the candy box will move and push the candy out. All the candy papers have a tip about how to reduce the plastic pollution. In addition, once the ‘person’ success in picking one trash, the green light on the left will blink, but if he fails, the red light will blink.

First the tense rhythm and the excitements can offer fun for the players and also be able to practice the cooperative ability. During the game, players can gain more knowledge about the environmental protection, and have a deeper awareness of the importance of reduce the plastic pollution. Our game can no matter satisfy the need of searching for fun and also inspiring them to take action to protect the marine environment.

We will begin our work next week, in that week we will complete the circuit and code of the small candy device, and the code of the background image and the ‘person’ part of the game. The second week we will finish all code and the main device, the last week is for try and adjust the device.

D. CONTEXT AND SIGNIFICANCE *

I researched the program-Scott Snibbe’s “Arctic Ice”, which strongly attract me.

“Arctic Ice is an interactive immersive exhibit on global warming that tells the complicated story of feedback loops in melting arctic ice that are a major component of climate change.”

In this game, people personally join in the protection, the ice is always melting, and the people’s wave can immediately slow it down. This real-time reaction can let the player have a vivid experience about the environmental protection. And this tech emphasizes how serious situation the polar bear face- their habitat is shrinking every minute to the players and advocate that there is no time to wait.

First this project tells us to make a highly interactive device and build a tense atmosphere to push the player into the game. And the role of the person is just like the player in the research, personally experience how to protect the marine environment while fish is just like that polar bear, as a victim he can feel how the marine lives are suffer in the plastic pollution.

Interaction, in a simple words is just the communication.In the introduction to Physical Computing written by Igoe and O’sullivan, the interaction is “an interactive process that including listening, thinking and speaking  two or more actors”. In a more technological words, it is INPUT, PROCESSING, OUTPUT. So, the most important part of a success interactive project is three completed step and an obvious bidirectional communication.

In my project, the operation on the handle and button by the players are the ‘input’, the processing in the computer and the loop of conditional function code are the ‘processing’, the movements of the characters, and light blinking and the audio are all the ‘output’. In the little rewarding device, the push on which button is the ‘input’ the processing is also on the computer while the movements on the servos are the ‘output’.

The target group is the young generation, because they often have fewer knowledge of environmental protection, and easier be attracted by the game. What’s more, they often have more energy in contributing to environmental protection. And they are the future of the world, their thoughts are most important.

After finishing it, first, I will complete this device furthermore, and add more function to it to let it attract people from different age, different culture. These subsequent projects will base on the core of this project-let people know more about the serious environmental situation we face today, and the importance of the environmental protection. Getting away of this project, I will explore more on how to use the interactive in social activities. All in all, we are going to contract a better world, a better society, and my goal is using the interactive tech to realize it, advocate more people to take part in it. 

     

Final Essay by Lifan Yu

Final Essay

By Lifan Yu

A. PROJECT TITLE: “Save Me From Plastics”

 B. PROJECT STATEMENT OF PURPOSE:

      Me and Xinran focus on an environmental problem: plastic pollution. Plastic in the ocean harm marine animals. Animals die from accidentally eating plastic pieces because they stay in their bodies and cause them diseases. Also, plastic is difficult to decompose, they stay in natural environment for a long time.

According to a recent study, humans have produced 8,300,000,000 tons of plastic waste ever since the year of 1950. However, most of these plastic wastes were not properly treated. Only 9% of them are recycled, 12% are burned. However, as much as 79% of all these wastes were dumped into landfills or thrown into the ocean.

According to professor Jenna Jambeck from University of Georgia, most of these plastic wastes do not have any biodegradations. They will stay in these natural environments for hundreds or thousands of years. Not only will this harm wild animals but also lessen safe lands that we can live in.

Inspired by these, we try to design an interactive game that encourages people to use less plastic product and find ways to treat plastic wastes that do less harm to our environment. Our intended audience is people who are still not fully aware what a huge negative impact we have on our environment with all those plastic trash. We intend to raise environmental awareness, maybe people can have a more careful thought about this matter after enjoying this game and adopt a way of living with less use of plastic products.

C.PROJECT PLAN

      We plan to create an interactive two-players game that raises awareness on plastic pollution and promote environmental actions.

The game screen can be projected on a wall like this:

      Our game screen looks like this:

     Players stand in front of this wall. One player controls the motion of a person. Another player controls the motion of a fish in the sea. Plastic products like plastic bottles will fall from above (one at a time, but they fall from random places) , representing all the tempting plastic products we encounter each day and use naturally without thinking about their impact on our environment. If the person does nothing, the products are automatically being “accepted” for use by this person and soon thrown into the sea—just like what garbage treatment people do with plastic waste—dumping them into the sea. If the person moves around and purposefully “reject” using plastic products (in this game, by blocking them), those products will disappear, representing less usage of plastic products.

      The first player controls motion of the person by pushing four separately placed buttons in front of them. The person on the screen move to different places when different buttons are pushed. The player controls motions of the fish using a handle. This player tries to avoid touching all the randomly moving plastic pieces.

      Whenever the person successfully rejects the usage of a plastic product, a green light beside the screen will blink. The green light has a caption on “I used less plastic product today!” When they fail to reject, a red light with a caption of “used one more plastic product” will blink.

      There will be some already existing plastic pieces in the sea, but there will be more when more plastic pieces are thrown in to the sea by people. If the fish touches any pieces of plastic, it dies and people lose the game. If the fish is still alive after a certain period of time (such as two minutes), the players win this game.

      When they win the game, a sign (attached to a servo motor) will began to wave and instruct them to pick up a candy. they can pick up a candy from a candy box beside. Another computer is put beside the candy box. There will be a quiz question about our main theme: “About how many percentage of plastic waste is thrown into the ocean and landfills?” A. 10%, B. 30% C. 50% D. 80%. Four buttons represent A B C D. When D is pressed, a servo motor will more the candy box out and players can take candies from it. We will leave a piece of post-it note on each candy, we will write on them some actions people can take to minimize plastic pollution.

 

empathize with our intended audience:

      People usually don’t like it when they are told seriously about some distressing environmental problems. So this game introduces how we accept using lots of plastic products naturally and how hard life will be for those poor fish surrounded by plastic waste in a simple and fun way.

 

Our game is both interactive, fun and rewarding: players can not only gain knowledge of plastic pollution, be more aware of this environmental problem but also get delicious candy. Before they get candy, the quiz question will leave a deep impression on them. This will be a fun and effective way of promoting environmental actions.

Detailed Plan:

      We will finish building the candy box circuit and the code of the small candy device, and the code of the background image and the ‘person’ part of the game. In the second week, we will finish all code and the main device, the last week is for user testing and improvements.

D. CONTEXT AND SIGNIFICANCE:

Projects I’ve researched:

      Scott Snibbe’s “Arctic Ice”

      “Arctic Ice is an interactive immersive exhibit on global warming that tells the complicated story of feedback loops in melting arctic ice that are a major component of climate change.”

      People are actually experiencing “being part of this process”. They wave their hands to help “reflect” sunlight. At the same time, they see how the feedback loops warm up the ocean and melt ice—which greatly affect polar bears—by decreasing their living areas. This game, as is shown in the video, is highly interactive. Real-time feedback animations such as the melting of ice and the reflection of sun rays are happening all the time.

These inspired us to create a project also highly-interactive: plastics moving randomly in the sea, the player controls the fish to move around, these are all happening all through the whole game experience. People are also playing decisive roles: the amount of plastics in the “sea” is decided by the first player. Also, people really experience the hard lives of marine animals in an ocean environment full of plastics by trying to avoid plastic pieces in the “sea”.

Align with my definition of interaction:

      the process of an actor (a device, a person, an animal etc.) constantly communicating with the other “actor”. That is, it can detect the information of the other “actor” constantly. The other actor can also respond to the device’s movements, sounds etc. This type of communication can last for a long time instead of ending after a few simple movements.

      The project we will make aligns well with this. People move around and control movements of their game characters actively according to the moving images. And different things “such as the dying of the fish” will happen when people do certain things or fail to do certain things. This game lasts for a certain time. In the game process, feedbacks will be made constantly.

What’s unique and significant about our project/Values/Audience:

      Our project allows players to play a role in a serious environmental problem in a fun way.

      This can promote an environmentally-friendly value of using less plastic product (generating less plastic waste) and stop disposing them irresponsibly into natural environment.

      For people who are not yet aware of the seriousness and urgency of this environmental issue, this project, if successfully made, will lead them at least to think about plastic waste problems seriously, or more, inspiring them to use less plastic products in daily life and use more environmentally-friendly products. This will lead people to reflect on their own actions: using all those plastic products without thinking much about the environment. Also, this game leads people to empathize with the poor fish. Influencing people to take small and practical actions is more effective than only calling out blank slogans.

      Subsequent projects can be built upon the already existing game rule, but adapt a better form of interaction, such as using the people’s shadows on the screen instead of requiring people to push buttons. Or, there can be more physical models built that can move to give audiences a more real experience.

      Subsequent projects can also be better connected to the world in real time and make real changes in the world. Such as, the United Nation’s “Free Rice. Com”.

When we answer one question right on this website, they will donate one grain of rice to people in hunger all cross the world. I hope our future project can adapt a system like this. I would like my projects to focus on the themes of bettering our world, saving our environment and helping people in need. By presenting these values, these projects are truly meaningful. Targeted audience are those who not yet know much about a certain contemporary problem. We can raise awareness and open people’s eyes to things that they don’t usually observe about this world.

     

Final Project Essay by Eric Shen

Project Title: 

        Puppet

Project Statement of Purpose: 

        In this project, we will put a marionette that is controlled by servos on a mini stage with curtains and other decorations.  The shadow of the marionette  that is drew by Processing would be cast on the wall behind the stage with a projector. The movement of the joints of the marionette drew by the Processing can be controlled by users with a mouse.  Data of these gestures would be passed from Processing to Arduino. The real marionette on the stage would first quickly and randomly change a series of postures, and finally stops at the pose set by the user in Processing before. We will add other details for decorations in oder to amplify the visual impact of this project on users. 

         In order to make this project, we have to address challenges like figuring out the actual mechanism of a real marionette in order to code the servo motors that are used to control the movement, making it clear about what different variables in both Arduino and Processing stand for to make the control of the movement more precise and coming up with ideas about how to let the audience understand the underlying purpose of the project by using some visual or audio hints. Through interacting with this project, we hope that the audience would identify with the puppet. We consider the puppet as a representative of those people who try to create a social image about their true self without worrying about any social expectations or stress in life but eventually fail and become what the social expectation from others want them to be. 

Project Plan:

        From Nov. 21st -24th, we will first collect information and do more research on our project. This includes watching more videos about marionette and getting a real marionette to first figure out the mechanism of the marionette and how to arrange the servo motors based on the mechanism. Moreover, we need to make an exact plan to follow which involves the details for the aesthetics and draw a draft of the expected effect of our project. From Nov. 20th -30th, we will first get all the material prepared. Then we need to complete the coding in both Arduino and Processing and test whether they can work separately. According to the process of doing the project,  we need to make some adjustment to the original plan to cope with unexpected situations. From Dec 1st-10th, the plan is assembling all the Arduino and Processing together, and then adding details for aesthetics of our project. If it is possible, we will ask several students to have a user test of our project and then collect feedbacks from them in order to make some final adjustments. 

Context and Significance:

        My research and analysis on the exhibit called “Rechnender Raum” in the Chronus exhibition, triggered my thought to use strings as an mechanism of movement. To begin with,  my definition of interaction would be: a cyclic process in which at least two characters take reciprocal actions that contain physical input and output to each other. User’s using mouse to control the position of the marionette can be considered as physical input. The marionette controlled by servos and the marionette drew by Processing would both react to user’s input which can be considered as output. The intended audience are those people who meet the social expectations in their real life, whether they are willing or not because the marionette can be considered as a representative of those people. Therefore, we hope that our project can lead to people’s reflection on whether or not they should meet social expectations at the cost of losing their true self. The subsequent projects can use multiple marionettes that use the same mechanism controlled by servos and Processing to create a complete story. The projects can either be for children to create their own fantasy stories or for adults to use it as a tool to reveal some thought provoking social phenomenon. 

Recitation 8: Serial Communication by Eleanor Wade

Exercise 1: Etch a Sketch

Creating this interactive Etch a Sketch was not too challenging, as it was fairly similar to something we learned to code in class when working through how to bring together Processing and Arduino.  In setting up this exercise (unlike the second one) it is very clear that the input information is coming from the Arduino and the two potentiometers, similar to that of a real etch a sketch.  In this way it makes sense that we are using Arduino to Processing, rather than the other way around because we can see the movements of the potentiometer being translated into designs on the screen.  

Processing Code:

// IMA NYU Shanghai
// Interaction Lab
// For receiving multiple values from Arduino to Processing

/*
 * Based on the readStringUntil() example by Tom Igoe
 * https://processing.org/reference/libraries/serial/Serial_readStringUntil_.html
 */


import processing.serial.*;

String myString = null;
Serial myPort;


int NUM_OF_VALUES = 2;   /** YOU MUST CHANGE THIS ACCORDING TO YOUR PROJECT **/
int[] sensorValues;      /** this array stores values from Arduino **/
float preX;
float preY;

void setup() {
  size(500, 500);
  background(100);
  setupSerial();
  //map(sensorValues, 0, 1023, 0, 255);
}


void draw() {
  map(sensorValues[0], 0, 1023, 0, 255);
  updateSerial();
  printArray(sensorValues);
  fill(0);
  //ellipse(sensorValues[0], sensorValues[1], 20, 20);
  
  float posX = map(sensorValues[0], 0, 1023, 0, width);
   
  float posY = map(sensorValues[1], 0, 1023, 0, height);
  
  line(preX, preY, posX, posY);
  // save current posX and posY to preX and preY
  preX = posX;
  preY = posY;
  
  
  
  // use the values like this!
  // sensorValues[0] 

  // add your code

  //

}

void setupSerial() {
  printArray(Serial.list());
  myPort = new Serial(this, Serial.list()[1], 9600);
  // WARNING!
  // You will definitely get an error here.
  // Change the PORT_INDEX to 0 and try running it again.
  // And then, check the list of the ports,
  // find the port "/dev/cu.usbmodem----" or "/dev/tty.usbmodem----" 
  // and replace PORT_INDEX above with the index number of the port.

  myPort.clear();
  // Throw out the first reading,
  // in case we started reading in the middle of a string from the sender.
  myString = myPort.readStringUntil( 10 );  // 10 = '\n'  Linefeed in ASCII
  myString = null;

  sensorValues = new int[NUM_OF_VALUES];
}



void updateSerial() {
  while (myPort.available() > 0) {
    myString = myPort.readStringUntil( 10 ); // 10 = '\n'  Linefeed in ASCII
    if (myString != null) {
      String[] serialInArray = split(trim(myString), ",");
      if (serialInArray.length == NUM_OF_VALUES) {
        for (int i=0; i<serialInArray.length; i++) {
          sensorValues[i] = int(serialInArray[i]);
        }
      }
    }
  }
}

Arduino Code:

// IMA NYU Shanghai
// Interaction Lab
// For sending multiple values from Arduino to Processing

void setup() {
Serial.begin(9600);
}

void loop() {
int sensor1 = analogRead(A0);
int sensor2 = analogRead(A1);

// keep this format
Serial.print(sensor1);
Serial.print(“,”); // put comma between sensor values
Serial.print(sensor2);
Serial.println(); // add linefeed after sending the last sensor value

// too fast communication might cause some latency in Processing
// this delay resolves the issue.
delay(100);
}

Exercise 2: Making a Musical Instrument with Arduino

In making this musical instrument with the buzzer, it is clear that the variations in sounds being produced will come from the movement on the mousepad of my computer.  In this way it makes sense that we will be using Processing to Arduino to set up this exercise.  

After setting up the buzzer and then working in processing to make sure that my mouse movement was being recorded in values, the biggest challenge was making sure there was communication from Processing to Arduino.  I definitely made mistakes in this step, as initially I had different numbers of values in each program.  

Processing code:

// IMA NYU Shanghai
// Interaction Lab


/**
 * This example is to send multiple values from Processing to Arduino.
 * You can find the arduino example file in the same folder which works with this Processing file.
 * Please note that the echoSerialData function asks Arduino to send the data saved in the values array
 * to check if it is receiving the correct bytes.
 **/


import processing.serial.*;

int NUM_OF_VALUES = 2;  /** YOU MUST CHANGE THIS ACCORDING TO YOUR PROJECT **/


Serial myPort;
String myString;

// This is the array of values you might want to send to Arduino.
int values[] = new int[NUM_OF_VALUES];

void setup() {
  size(500, 500);
  background(0);

  printArray(Serial.list());
  myPort = new Serial(this, Serial.list()[ 2 ], 9600);
  // check the list of the ports,
  // find the port "/dev/cu.usbmodem----" or "/dev/tty.usbmodem----" 
  // and replace PORT_INDEX above with the index of the port

  myPort.clear();
  // Throw out the first reading,
  // in case we started reading in the middle of a string from the sender.
  myString = myPort.readStringUntil( 10 );  // 10 = '\n'  Linefeed in ASCII
  myString = null;
}


void draw() {
  background(0);
  
  values[0] = mouseX;
  values[1] = mouseY;
  //line(mouseX, 20, pmouseX, 80);   
  //println(mouseX + " : " + pmouseX);

  // changes the values
  //for (int i=0; i<values.length; i++) {
  //  values[i] = mouseX;  /** Feel free to change this!! **/
  //}

  // sends the values to Arduino.
  sendSerialData();

  // This causess the communication to become slow and unstable.
  // You might want to comment this out when everything is ready.
  // The parameter 200 is the frequency of echoing. 
  // The higher this number, the slower the program will be
  // but the higher this number, the more stable it will be.
  echoSerialData(200);
}

void sendSerialData() {
  String data = "";
  for (int i=0; i<values.length; i++) {
    data += values[i];
    //if i is less than the index number of the last element in the values array
    if (i < values.length-1) {
      data += ","; // add splitter character "," between each values element
    } 
    //if it is the last element in the values array
    else {
      data += "n"; // add the end of data character "n"
    }
  }
  //write to Arduino
   println(data);

  myPort.write(data);
}


void echoSerialData(int frequency) {
  //write character 'e' at the given frequency
  //to request Arduino to send back the values array
  if (frameCount % frequency == 0) myPort.write('e');

  String incomingBytes = "";
  while (myPort.available() > 0) {
    //add on all the characters received from the Arduino to the incomingBytes string
    incomingBytes += char(myPort.read());
  }
  //print what Arduino sent back to Processing
  print( incomingBytes );
}

Arduino code:

// IMA NYU Shanghai
// Interaction Lab

/**
This example is to send multiple values from Processing to Arduino.
You can find the Processing example file in the same folder which works with this Arduino file.
Please note that the echo case (when char c is ‘e’ in the getSerialData function below)
checks if Arduino is receiving the correct bytes from the Processing sketch
by sending the values array back to the Processing sketch.
**/

#define NUM_OF_VALUES 2 /** YOU MUST CHANGE THIS ACCORDING TO YOUR PROJECT **/

/** DO NOT REMOVE THESE **/
int tempValue = 0;
int valueIndex = 0;

/* This is the array of values storing the data from Processing. */
int values[NUM_OF_VALUES];

void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);
}

void loop() {
getSerialData();
tone(9, map(values[0], 0, 500, 0, 1000), values[1]);
//Serial.println(values[0]);
// add your code here
// use elements in the values array
// values[0] // values[1] if (values[0] > 150) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
//
// if (values[1] == 1) {
// tone(9, values[2]);
// } else {
// noTone(9);
// }

}

//recieve serial data from Processing
void getSerialData() {
if (Serial.available()) {
char c = Serial.read();
//Serial.println(“gjkg”);
//switch – case checks the value of the variable in the switch function
//in this case, the char c, then runs one of the cases that fit the value of the variable
//for more information, visit the reference page: https://www.arduino.cc/en/Reference/SwitchCase
switch (c) {
//if the char c from Processing is a number between 0 and 9
case ‘0’…’9′:
//save the value of char c to tempValue
//but simultaneously rearrange the existing values saved in tempValue
//for the digits received through char c to remain coherent
//if this does not make sense and would like to know more, send an email to me!
tempValue = tempValue * 10 + c – ‘0’;
break;
//if the char c from Processing is a comma
//indicating that the following values of char c is for the next element in the values array
case ‘,’:
values[valueIndex] = tempValue;
//reset tempValue value
tempValue = 0;
//increment valuesIndex by 1
valueIndex++;
break;
//if the char c from Processing is character ‘n’
//which signals that it is the end of data
case ‘n’:
//save the tempValue
//this will b the last element in the values array
values[valueIndex] = tempValue;
//reset tempValue and valueIndex values
//to clear out the values array for the next round of readings from Processing
tempValue = 0;
valueIndex = 0;
break;
//if the char c from Processing is character ‘e’
//it is signalling for the Arduino to send Processing the elements saved in the values array
//this case is triggered and processed by the echoSerialData function in the Processing sketch
case ‘e’: // to echo
for (int i = 0; i < NUM_OF_VALUES; i++) {
Serial.print(values[i]);
if (i < NUM_OF_VALUES – 1) {
Serial.print(‘,’);
}
else {
Serial.println();
}
}
break;
}
}

Final Project Essay—— Leah Bian

Project Title: Puppet

In “The Future of Design: When you come to a fork in the road, take it”, the author discusses the significance of human-centered design. It requires a deep understanding of people and involves careful observations and analyses to determine needs. When working on the project proposal, I applied the main concept of human-centered design to our project. We first came up with the theme of puppet, which always represents those who are controlled and follow commands. We further developed the theme by extending it to the concept of social image. Based on this theme, we developed our design by thinking about how we can utilize Arduino and Processing to express this idea. We found that the Arduino servo is a perfect choice to control the movement of the marionette, and Processing can be used for the interaction, letting the user control the marionette in an indirect way. We then came up with our further plan and recorded it in the proposal. A miniature stage with stage curtains and lighting will be set, on which we will place a marionette. The marionette will be connected to the Arduino servos on the roof with strings, so that it can change poses. On the wall behind the miniature stage, we will cast the Processing image with a projector. In Processing, we will draw the shadow of the puppet. The users can control the moveable joints of the puppet by the mouse. Data of these gestures would be passed from Processing to Arduino. The real marionette on the stage would first quickly and randomly change a series of postures, and finally end up with the pose set by the user in Processing before. In addition, we will try to enhance the artistic appeal of the installation with music, lighting and so on. The potential challenges include how to accurately pass the data of the puppet’s poses from Processing to Arduino; how to connect servos with the puppet smoothly with the correct mechanism; and how we can convey the heavy topic in an implicit way.

After submitting the proposal, we made a plan to make our tasks clear. From Nov. 21 to Nov. 24, we will first collect general information. We will get a marionette to figure out how the mechanism works and how we can modify it to connect it with servos. In addition, we will make final decisions about how the image in Processing will look like to convey our theme; what else we can do to add aesthetic values; what the materials that may involve are… We will draw a draft of the final work as well. From Nov. 24 to Nov. 30, we will get the code done. During that week, we will also start to prepare the materials (start to do 3D printing). If necessary, we will make some modifications to the original plan. From Dec.1 to Dec. 10, we will assemble all the materials together and add some detailed decorations to enhance the aesthetic values, such as lighting, music, background settings and so on. We will invite some peers and IMA fellows to test our project, and collect suggestions from them to make final modifications.

In my preparatory research and analysis, I wrote my personal definition of a successful interaction experience. In my opinion, the process of interaction should be clear to the users, so that they can get a basic sense of what they should do to interact with the device. Various means of expression can be involved, such as visuals and audios. The experience could be thought-provoking, which may reflect the facts in the real life. Our project aligns with my definition of interaction well. It aims at those who intentionally or compulsively cater to the social roles imposed on them by the forces in the society. The user plays the role of the forces that decide our social images, while the puppet on the stage represents ourselves, who are constrained by the social expectations. The “struggle” that the puppet has before it stops with its final pose represents our mental struggles when pondering whether to meet social expectations. However, we ultimately make the passive or initiative choice that satisfies the forces just as what the puppet does. We expect that the user can be inspired by this artistic installation, gain new thoughts, or have reflection. The marionette on stage may be clownish, but it is more than that. We hope that we can find the balance between entertainment and artistic expression, and finally convey our theme to the audience.

Reference: 

“The Future of Design: When you come to a fork in the road, take it”:

https://jnd.org/the_future_of_design_when_you_come_to_a_fork_in_the_road_take_it/