IAT320 Assignment 1
Interactive Origami - SHY Tortoise
Created by George Lin Spring 2020

seen from South Africa
seen from United States
seen from South Africa
seen from United States
seen from Malaysia
seen from Norway

seen from Italy
seen from Netherlands
seen from United States
seen from United States
seen from United States
seen from United States
seen from Australia
seen from China

seen from Germany

seen from United Kingdom
seen from United States
seen from Australia

seen from United States
seen from Australia
IAT320 Assignment 1
Interactive Origami - SHY Tortoise
Created by George Lin Spring 2020
Project SQUEEZE IAT320 Spring 2020 Final Project
The Team: Claudia Wang George Lin Michael Su Vi Nguyen
[WK 08] Problems from In-Class Assignment 02
Some (there were many more) problems we encountered:
Coding for Arduino. Make sure to understand digital and analogue pins.
Build out the circuit on a breadboard using conductive thread, not just wires, before integrating it into the wearable.
Sponges. Some of the sponges sold at the dollar store are wet and contain washing chemicals. Liquid conducts and will not work for the sensor.
Drying it out will just cause the sponge to harden and be unusable. Just get a new one.
If possible, use a sewing machine.
Blood does conduct in large enough quantities. Enough of it can accidentally connect the conductive thread. Use a thimble.
Plan for something to go wrong, it most likely will. Conductive thread is a nightmare to work with. Solder might help.
Give plenty of time for troubleshooting. Many things can going wrong using the thread. It will save you from wanting to shoot yourself in the face.
You most likely will want to give up at some point and convince yourself that it is only worth a small percentage. . Don't. The next major assignment is similar. Might as well solve this now. Save yourself from a worse migraine.
Most importantly, MAKE SURE THE CONDUCTIVE THREAD DOES NOT CROSS. This will save you a lot of grief. A lot.
Future 320ers, good luck and just keep telling yourselves the semester's half over.
In-Class Assignment 02
For the second in class assignment, we split our group of three into two and one for maximum efficiency since we were all equally experienced in turning technology to clothing, that is to say no experience whatsoever. Working together, if one was to encountered a problem, there were more people to help look for a solution.
We built a hat that had dangles which blinked if the user touched the fluff ball at the top where the foil/sponge sensor was located. The Arduino was seen into one of the two earflaps over the hat and the battery into the other.
This was terrible design as if the Arduino didn't scratch your face, the battery would give you a black eye. In short, no one in their right minds would wear such an abomination. Except maybe masochists.
It was unanimous that this was a lot of effort for less than 5%, however we could see the logic in having a similar assignment to the next major one worth much less. This way, we obtained some valuable experience and learned what could and would go wrong.
"If something can go wrong, it will." If there was a motto for IAT, that would be it. Murphy's Law, count on it.
Team Building
Overall, it was more of a team bonding experience than anything else. People bond over sharing a common conflict after all.
We did have an issue with a teammate in which they did not show up for a single team meeting or show any initiative. Two out of the three other members did not even know what they looked like or what their name was. We did not find out until presentation day.
Aside from that, our group got on pretty well. We learned that some did not know how to program, but another did. Yet the programming member might not have been able to make graphics. Each member had a particular part they could fill so each contributed equally.
Roles were decided as such in the In Class Assignment 02 as well. One member would program, one would build the circuit on the breadboard, and one would do the sewing and aesthetics.
Sketch 01
For our team’s Sketch 01 assignment, we made a program in which ghosts float across the screen. The camera detects motion via colour tracking.
Originally we planned to have the path moving vertically towards the screen and the ghosts flying towards the player and would cause the player to lose lives if they were hit, but we had trouble importing the movie files into Processing.
For the animations, we imported them into Processing using an array list. This meant that each passing ghost was moving at 25 frames per second, so we had to scrap the background to keep Processing from crashing.
[03] In-Class Assignment 01 and Sketch 01
There was extremely limited time to work on Sketch 01. With only one person on our team proficient with programming, the rest of us tried to fill in the other roles and learned Processing the best we could to help her.
Max MSP 5 and 6 not working on my desktop was a blessing in disguise. For the first in-class assignment, instead of using Max MSP which did not work, I used Processing. Much of the code I submitted for the in-class assignment was used for Sketch 01 and saved us a significant amount of time wondering how to start and what to do.
The research I did for my in-class assignment and the research I did for Sketch 01 was to essentially search for a similar project to the assignment requirements so to have a general idea of what is possible in Processing. It would be a shame to waste a day or two working on a code then discovering halfway that the idea that is trying to be developed is not possible on the program we are working with, especially given the very short amount of time we had to work on it.
Max MSP and Murphy’s Law
I have only used Processing once prior to this course so I had no idea what is possible and what is not. When Murphy’s Law struck and Max MSP refused to install on my PC, it seemed irresponsible to simply say that I could not complete the in-class assignment because I could not get a program to work, regardless of how long I struggled with it, so I attempted to recreate the assignment to the best of my ability on Processing.
Being almost completely oblivious in Processing, I researched Processing projects online to see what was possible and what was not. At first, I even doubted that motion capture via webcam was possible.
Two motion detection videos:
http://youtu.be/5vB08Bw1ZFo
http://youtu.be/5iSLahpVUXY
After figuring out the code for motion capture and detection, I had to figure out how to draw a circle that would follow the motion. I am extremely grateful that I have friends in Computer Sciences to help me with this.
Adding the music that affected the size of the dot was to make the dot seem less buggy and livelier. This came from a previous code I had done for IAT265.
Stresses of Sketch 01
The team did the best we could with what we had. We all agreed that a week was barely enough time to complete this assignment and bonded over the mutual obstacle of a countdown of a weighty assignment.
Fortunately the group members appear to be equally driven and each with various skills to contribute. Though we worked on different parts of the project, members would keep in active communication via a Facebook group and would do their best to provide solutions when someone posted a problem.
However some problems could not be resolved, such as the encroaching due date and team members falling ill.
Muphy’s Law is the only constant. We are expecting something to go horribly wrong at this point.
[W02] Reading Response
Readings:
“Computer Vision for Artists and Designers: Pedagogic Tools and Techniques for Novice Programmers” by Golan Levin
The foundation of computer technology is in its software, its programming. Codes and programs are like foreign languages, and like foreign languages, codes have a similar structure and root origin. Like languages that branch from Latin, codes also branch into difference languages such as Python, C++, Processing, and like human spoken languages, there is an overall observable pattern. Though the fact that there is a pattern and gamers are often adept at spotting patterns does not detract from the daunting nature of having to learn a new language. Programming is daunting, as learning any new language is.
The idea of computers respond to external input in a visual manner is called “Computer Vision”. Levin’s article describes computer vision as “a broad class of algorithms that allow computers to make intelligent assertions about digital images and video” (p. 462). A simple breakdown of this broad and complicated term is a computer designed to observe external stimuli and respond a certain way.
Computer vision is interesting in the sense that it is not only a new form of entertainment, but also with endless potential in drawing humans into a whole new world of boundlessness and mortal impossibilities. Technology will no doubt evolve to a point where there will be cyber-social hubs or massive multiplayer online (MMO) games where the user will be able to have a simulated physical presence in the world. This concept is exciting! It is an escapist’s heaven.
Though one has to wonder, creating and evolving these escapes from reality, how will this change society? To what extent would it be positive and to what extent would it be negative? How can this system be exploited to hurt its users? What happens if everyone chooses to reject the real and live in a fantasy?