Recitation 8

Some reflections:

1. In the first version we found we can only draw dots instead of lines, because we used the point function. Ideally it could be correct (if we have large frame rate), yet low frame rate will give us discrete dots. Therefore I changed the point(x, y) to line(x, y, px, py), where we should define a pair of variable px, py to remember the previous location of our “pen”.

2. At first there are always weird “10” s messed in the correct coordination. For example, the correct sequence should be (in strong format): 0, 0, 15, 16, 50, 60… but 10 appears in the middle: 0, 0, 10, 15, 16, 10, 50, 60, 10……
After research we realized it is because we did not complete understand what is behind write() and print(). We understood before that print sends out string and write sends out bytes, but since I knew serial communication cannot really “sends string”, it is still in form of bytes. I knew later the 10 came from “\0” but I still didn’t know the real problem, so I researched online:

https://arduino.stackexchange.com/questions/10088/what-is-the-difference-between-serial-write-and-serial-print-and-when-are-they
https://www.instructables.com/id/Arduino-Function-Serialread-And-SerialreadString/

The problem is that: it is ok to send bytes, but since the sample code uses “\0” and comma to separate the data, we should use the ASCII of \0 and comma to do the separation, if we are reading bytes as well. On the other hand, if we read as string, we need to convert the numbers in string back to ASCII for correct coordinates.

As for the Interaction, I thought of our final design: we have a similar problem actually, this using-rotation-to-draw-stuff machine is quite hard to operate, that’s why in the video there are only random lines. The same is with our final, so we need to improve that.

Project Proposal – Kris

As the case is that: we thought of what project we want to make before research, so we propose two different version of our original idea as well as a backup.

1. Life Line ver.1
We decided to make a massive interactive art. Players (estimated number 6 – 10) will each have a device in their hand. On the celling is a projector that cast a circle around each player on the floor. The color of the circle is dimming, meaning that one is losing his life. The only way to make one exist longer is to “build interactions” with other people, that is to connect the device with another for several seconds, until a line appears on the ground that connect you two. The more lines you have connecting with others, the longer you exist. The lines are also disappearing gradually so one needs to keep making new connections.
In the research, we read the Isea essay that discusses the relationship between nodes and networks, which help us to design the function and life cycle of each player to present a profound idea (which will be mentioned later). The research on other project offered us inspiration and detailed way of implementation to use projection mapping (i.e. the function of the projector on the celling).
There are several technology difficulties in the project: wireless communication of many Arduinos and computer; inter-Arduino communication; programming the network; locate everyone’s location and cast projections around them…
As a art work, it is intended for all types of audience who are interested. Instead of having a really practical use, it is intended to convey a message: what it means by saying we exist?

2. Life Line ver. 2
As the most difficult technology might be to locate the space of players, the version two of life line uses a screen that shows different points as player, and lines connecting the points as the connection built by players.

3. Glove Translator
It is a glove that can translate sign language (people with speaking disability use it) into text casted on a screen, and machine synthesized verbal language. It is to help the people with speaking disability have more efficient communication with the rest.
I researched in two existing implementations:
1.
https://economictimes.indiatimes.com/magazines/panache/meet-the-new-google-translator-an-ai-app-that-converts-sign-language-into-text-speech/articleshow/66379450.cms
Instead of using hardware, it uses cameras on your phone as well as AI to recognize sign language. It as the same purpose with our design but a completely different approach.

2.
https://www.newscientist.com/article/2140592-glove-turns-sign-language-into-text-for-real-time-translation/
DOI: 10.1371/journal.pone.0179766
It is an ongoing project, that uses Knuckle sensors to detect knuckle curvature when using sign language. It can only translate 26 letters in English.

Recitation 7 – Kris

Since we are studying “functions”, I made a physical drawing machine inspired by Fourier transformation of “function”, simply using lists(arrays), function and loop:

You can draw some simple patterns:
/The rl and wl refers to each arms’ radius and angular speed/
#Line: wl = [1, -1] rl = [100, 100] #ellipse wl = [1, -1] rl = [100, 150] #3-leaf flower wl = [1, -2] rl = [100, 150] #Fish wl = [-1, 2, -1, 1] rl = [200, 200, 100, 200]

Download and try!

A demo: complicated graph I draw with wl = [1, 0.5, 5, -8] rl = [70, 100, 40, 10]

https://github.com/Kris4869/Recitation-ITLB

Question 1:
a loop in setup only loop once then ends
a loop in draw is like :
while 1:
loopruns forever

Question 2:
Array is used to store data generated in the execution of the program that will be in future use, such has the trails in my work; or store ordered pre decided information, such as the radius rl and angular speed wl in my work. In the future I suppose it will act in the same function, yet actually I prefer dictionary.

Interaction Lab Final Research

1. The field trip
In the traditional art there two types: abstract art and the other, I would call it as non-abstract art. For an abstract art people don’t always understand it, but it often conveys complex philosophical ideas; yet for non-abstract everyone can admire its beauty, even for those who are not trained to admire art.

I-Don’t-Know-What-It-Is abstract art

Widely loved Mona Lisa

It is the same with the interactive art with modern technology. An animation draw by Processing, a laser show, or a device that can convert color to music, are all non-abstract art. One don’t need to understand the meaning conveyed from it but can still have fun with it. Yet for the artwork in the show we visited, these are the abstract art in the “interactive art with modern technology” field. I talked with many peers and got the general feedback that they could not get the point of the artworks until they read the descriptions on the wall (sometimes the descriptions are more confusing). Indeed it is hard to get the beauty of those artwork at the first glance without knowing the intention of the author, compared with a laser show.

One of the artworks which aims at putting the backstage operation forward, the computation units are shown outside but the screen was inside.

People ask:

What is the little sandbag doing here?

Indeed for those who don’t know computer architecture and all the and, or, … gates, it is hard to understand. Yet for those who understand the relevant subject, it is a very novel design.

After the show I thought of something. The different between those artwork are traditional ones are in terms of medium but not content. While the medium itself affect the characters of artwork and takes over the way of expression, the content still determines all the things we can express, actually it is constant with traditional art. And the technology cannot actually save the content and vice versa (I mean if the content is too philosophical, whatever technology could hardly attract common citizens, yet if the content does not have a value, like the commercial movies, technology could not fix the problem as well.). Piercing through the mask of modern tech is the underlying idea of design and aesthetics that is constant throughout the time.

Then I thought of our project: we cannot make something so philosophical that lacks the “mundaneness” but also not something just looks fancy. What’s more, it is not a matter of technology. We can think like a traditional artist and implement it like an engineer. This idea lies in the fundamental principle of our final project.

2. Online Research

Since we actually came up with a general idea about what we want to do before the research (That massive networking interaction system), our research mainly focuses on the details of our general plan, we did not only search about interactions but included what we think are necessary as well. Our research in in two large aspects: theoretical and practical. Theoretical research is to inspire us with a design that has value in it, while the practical one offers inspiration about how to make it interesting.

2.1 Theoretical Research

I deeply studied the paper Cart(ont)ology: Mapping Self-as-Network in Three Carts by Jenny Filipetti, posted on ISEA 2015. It has high relation to our project as it illustrates the understandings of nodes in a network as well as the connections.
The paper discusses the relationship, and people’s understanding about network and nodes. He proposed the study of cartology to describe the relationship. He illustrates that no matter how complex a network is, or what forms it takes, the nodes together can describe the whole behavior of a network. Yet for each individual node, it is largely affected by the network. What’s more, the author argues about existence, that “we” exists both as individual and network.

As the theoretical network it self is a massive interaction system, where every node interacts with all of the others, directly or indirectly. The paper inspires my thoughts of the value of my own project. Before I simply thought of use it as a representation of socialization. But now it seems my project can convey deeper meanings, the relationship between individual and the rest of the world, between self and others.

2.2 Practical Research
We research on 3 different project, each represent part of our project’s function.

Epilog – Interactive Light and Shadow by Schnellebuntebilder

It is a room installation that uses light, sound and haze to create a 25-minute constantly transforming world of moving images and sounds. Visitors are invited to participate by responding to moving patterns – either on their own or together with others.
The description shows it is in some way similar to our project. It supports multiplayer and they have connections. The art is also performed using projection mapping. A very ideal interactive design.

Epilog – Interactive Light and Shadow by Schnellebuntebilder

Interactive Laser Sculpture by Jayson Haebich

this project involves creating light sculptures out of laser light. The beams of light are interactive and responsive to touch and create an environment of light, color and sound.
It is less ideal as it is not a network interaction. But it offers good inspiration for visual effect and the material we can use to perform our design

Interactive Laser Sculpture by Jayson Haebich

The game Rudi mentioned, that a group of people trying to pat each other’s clothes and change the color on other people’s clothes. Although we failed to find the project online, we thought about it. It is a very good network interaction, yet it focuses on completely competitions but not communication, which is the major difference.

3. What is a good interaction project

After research and reflecting on what we have learned before, our ideal interactive design consisting the following part:

1. The previous interactive concept
According to the previous argument (previous blog post, readings and group project), an interactive design should contain two agents involved in the interactive model proposed before, that is, a loop where each takes input, process and output.

2. A massive interactive system
Based on the previous idea and the paper I researched, I altered the previous interaction design to a new one: in the system there are n agents (n > 2), which are connected to each other by a set of “relations”, therefore forms a “network”. Each agent has a collection of “states” which one can change from one to another by some “function”. All the states of agents determines the current state of the network. Each agent as a “goal” (usually is to reach to or maintain a certain state), to achieve the goal each agent change its states to interact with the network, which affect the agent in different ways, while the change is passed through the relation to other agents, then others have to use the function to interact with the network to achieve the goal.

3. Mundaneness vs Value
Inspired by the field trip, a good interactive should have both “mundaneness”, that is, should be interesting and contains a certain value. The value may not be the high moral ground such as “save the earth” or “anti-racism”, in fact my experience told me whenever such value appears in an work, it decreases the attraction of the common. We aims that even if the audience / user cannot capture the value, he/she will still find the project interesting, while the value will reflect deeper ideas about nature or self instead of the cliché of morality.

4. Implementation
The practical research offers some idea for implementation, the most ideal design we can now think is projection mapping, but since it involves other complex technologies, we will keeping researching and thinking for better implementation

Recitation 6 – Kris

My own Work:
I the recitation I made something that will be part of my final (Actually most part has been made two days ago when I was playing with Processing):

Coding:

Homework in Recitation

Coding

GitHub as required:

https://github.com/Kris4869/ProcessingInteractiveDynamicNetArt

Things I learned:

I spent a whole day to finish it, learning from the scratch. So some of the important features I want to share and recommend to others:

1. Python Mode:
Python is a very powerful language and is supported in Processing. It has several important features: a) no type declaration, one can just type i = 1 instead of int i = 1; It saves a lot of troubles such as calculations between float and int etc..

2. Object Oriented Programming:
It is a very good thing that Processing supports OOP, the network.py and nodes.py are my OOP files, it enables a very easy and organized way to create complicated drawings especially dynamic drawings.
createShape() function is also an oop that gives you an object actually.

3. PShape.GROUP
The shape of GROUP is a very powerful to organize a set of elements, in my coding group is used to contain all the lines in the network.

4.Mouse Flag
In the implementation there is an issue. Once I pressed the mouse, there will generate more than one nodes, usually three. It is because the time the mouse is on press covers more then a loop, so in each loop it creates a new nodes. But a human cannot reaction that fast to release a mouse milliseconds after pressing. So I came up with that to set a flag = 1 in default, and when mouse pressed flag = 0; only when flag = 1 at the time the mouse is pressed will the program create a node. After releasing the mouse the flag goes back to 1.

5.Force Field
To keep the network in the screen but not run out of the screen too much, I created a forcefield on the border. (I could just set that when a node goes out of the border I put it back, but it looks unnatural.). I used the famous inverse square law in nature: in gravity / electromagnet force etc. When a node is nearer a border, it will receive larger force that pushes it back.