Friday, December 16, 2011

Final Project Documentation


Title:

Arabic Identity Patterns


Project Description & Intentions:

For this project, I wanted to bring the beauty of my culture, yet make everyone relate to it. Therefore, I have decided to use the Arabic letters to create different patterns according to a certain rules or locations set for every letter. The participant will be able to type three letters to create different patterns every time they play. I chose three as a number for the viewer’s inputs, because it is an enough input to represent a person’s identity and to create an interesting patterns. To clarify, people will start relating to the piece by their inputs such as, having their first initial of their full name or their loved ones. Moreover, choosing three letters will help with creating a high range of patterns, which will keep the participant interested to interact with the piece longer. However, each participant will read or see the piece differently according to their background. To clarify, a person who do not understand Arabic will only be able to see the transformation of the English letters and the beauty of the positive and negative space its creating. On the other hand, a participant who can read arabic will have an extra layer of understanding the letters and being able to read them. Therefore, each participant will have different experiences according to their inputs and knowledge.


Class Material Connection:

Desmond Paul Henry was my inspiration for my final project. I liked the simplicity of his work, where he repeated a simple shape in a piece and created an interesting dynamic results. I found it fascinating how a simple shape being continuously placed in a certain rule could have so much power on affecting the positive and negative space. Therefore, I decided for my final project to create patterns from repeated Arabic letters. When the participant will type three letters, positive and negative space will start playing a role in how people visualize each result. Moreover, I decided to use Processing to create my piece, so I can have a more playful and people engaged piece. Therefore, the computer will keep reacting to participants’ inputs and create different patterns through time.


Technical Description:

I used Processing, where I chose a specific studied locations for each letter to have a more interesting pattern. Then, I downloaded an Arabic font into Processing and used the Arabic keyboard to transfer each English letter the viewer press into Arabic. Therefore, the viewer will be using an English keyboard, but actually pressing Arabic letters, which creates a nice transformation between the input and the output. Finally, I have the piece projected on a wall for a better final presentation.


Images:

I started working on visualizing how I can have more interesting shapes to help me with setting the rules in Processing. I found that having the letters in flipped horizontally of vertically helps with that as you can see bellow:



I started experimenting my idea on English letters to see how it will work first:



Some examples of the final results:











Code:

PFont font;

char[] input = {'ا', 'ب', 'ت'};

int inputIndex = 0;


int x= 35;

int y= 50;


void keyPressed() {

if ( key >= 'ا' && key <= 'ي' && inputIndex < 3) {

input[inputIndex] = (char)(key);

inputIndex++;

}

if ( key == BACKSPACE && inputIndex > 0) {

inputIndex--;

input[inputIndex] = ' ';

}

if (key == ' ') {

input[0] = ' ';

input[1] = ' ';

input[2] = ' ';

inputIndex = 0;

}

}



void setup() {

size(350,303 );

background(255);

stroke(0);

//font = loadFont ("BankGothic-Medium-100.vlw");

font = createFont ("GEMBFaresMedium-Medium", 75);

}


void draw() {

background(0);

textFont (font);

textAlign(CENTER);

fill(255);

//1st

text(input[0], x, y);

pushMatrix();

translate(x+53, y);

scale(-1,1);

text(input[1], 0, 0);

popMatrix();

text(input[2], x+28, y+25);

//2nd

text(input[1], x+112, y);

pushMatrix();

translate(x+168, y);

scale(-1,1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+140, y+25);

scale(-1,1);

text(input[2], 0, 0);

popMatrix();

//3rd

pushMatrix();

translate(x+29, y+75);

scale(1,-1);

text(input[2], 0, 0);

popMatrix();

pushMatrix();

translate(x, y+100);

scale(1,-1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+56, y+99);

scale(-1,-1);

text(input[1], 0, 0);

popMatrix();

//4th

pushMatrix();

translate(x+138, y+75);

scale(-1,-1);

text(input[2], 0, 0);

popMatrix();

pushMatrix();

translate(x+168, y+100);

scale(-1,-1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+112, y+100);

scale(1,-1);

text(input[1], 0, 0);

popMatrix();

}


Friday, December 2, 2011

Johnny Cash Project's Response

In the Johnny Cash Project, fans from everywhere can participate in recreating Johnny Cash’s last video. On this website, people will be able to choose any frame of his video and draw it in their own way and style. They will be able to see different variations of the video as people keep adding more drawings with time. Viewers will also be able to see the process of peoples’ drawings, which portraits what Cash and his music meant to each one of them. Cash’s fans have also added some symbols to help them deliver their messages to others and help keeping Cash’s memory alive. This website is a living evolving memorial for Johnny Cash and what a better way to keep remembering and honoring such a great musician by being part of his own work. Moreover, combining all the different styles of each drawing is creating an amazing result of a final video. This work is example of how people participating for the same cause could create a great piece of work. In my opinion, it helps his fans to get over their grief by knowing that they have participated and connected with some of his other fans.


Chris Jordan's Response

Chris Jordan’s work points out some facts and statistics that causes problems in the American society. He is showing some examples of addictions such as, smoking, abuse or misuse of prescription drugs, and breast augmentation surgeries. For each piece, he uses the right object hoping to trigger people’s feelings of anger or grief back. To clarify, he used prisoners’ uniforms to present the 2.3 million american prisoners in the american prison in 2005, while he used barbie dolls to present the 32000 of breast augmentation surgeries that happens in America each month. Moreover, Jordan is not only showing the statistics visually, he is also creating a piece of art for each topic. For example, to raise awareness of the number of people dying each year from smoking cigarettes, he created a collage of boxes of cigarettes laid out to create the painting by Van Gogh “skull with cigarette”. In other words, Jordan is choosing the right visual to present each data for each topic, and laying the visuals in the right layout to create an appropriate big picture for the topic. In my opinion, his work is really inspiring people and other artists. He is using art to raise awareness and deliver an important message to people, which is what art is all about. Furthermore, he is using technology to help them rethink their decisions. Hoping for people to start changing our societies for the best.

Monday, November 28, 2011

Final Project Proposal

Desmond Paul Henry was my inspiration for my final project. I like the simplicity of his work, where he repeats a simple shape in a piece and create an interesting dynamic results. I found it fascinating how a simple shape being continuously placed in a certain rule could have so much power on affecting the positive and negative space. Therefore, I decided for my final project to create patterns from repeated arabic letters. The viewer will get to input three letters of there choice and see how it will create new shapes in the negative space (according to a certain rule I set in Processing). The three letters the viewer will input will be English, but the screen will start visualizing Arabic letters according to the pronunciation of the letters. I chose Arabic letters because they have more curves, so they can create more shapes pleasing to the eyes. Moreover, I find it that people are always interested in other cultures, so they will be more interested to try the piece.

Wednesday, October 19, 2011

Midterm Documentation

The brain is a small mysterious organ. It holds memories, allows for logic and reasoning, controls the body’s internal functions, interprets and elicits responses… For our project we wanted to explore the memory functionality. Our project included two interfaces, the brain and the box. Touching different parts of the brain triggered different memories (audio and video and image files). We tried to make it as believable as possible in terms of physicality so that people will think they are playing with a real brain. The box was used to hold the brain, keep it safe, and emphasize the discovery process. Our piece used continuous input. At all times the brain was sending data that could be seen as a hypnotizing shape-shifting color-blob on the screen. However, when the user explored the brain memories would reveal themselves in the form of visual and audio files. Unexpected juxtaposition of memories occurred when users simultaneously stimulated two or more sensitive areas. The brain does not require user interaction to function, however when it is being handled, memories surface. This discovery process allows the user to see information that would not occur without their interaction and therefore gives them some sense control. The brain is segmented into different functionality and so handling different areas of the brain result in different forms of memories (unique still image, video and audio content). Therefore, while input data is a simple capacity sensor data reading, complex algorithms call to the different media. We chose non-specific generalized videos, images, and audio (watching birds fly, seeing your shadow, driving in a car, stream rising, a crowded street, playing with dogs) as playback material so that each user could relate to it. That way, even though users might not recall personal memories, they are still familiar with the content and have an implicit understanding. When the brain is being handled, the computer displays visual data that is seen by the user. The user reacts to the visual data by making a choice to continue handling the same place, to handle different places or to stop handling altogether. There is a feedback loop in how the visuals are affecting the user’s judgment.




Arduino Code:
#include   CapSense sensor1 = CapSense(3, 2); CapSense sensor2 = CapSense(5, 4); CapSense sensor3 = CapSense(7, 6); CapSense sensor4 = CapSense(9, 8); CapSense sensor5 = CapSense(11, 10); CapSense sensor6 = CapSense(13, 12);  void setup() {  Serial.begin(9600); }  void loop() {  long cap1 = sensor1.capSense(15);  long cap2 = sensor2.capSense(15);  long cap3 = sensor3.capSense(15);  long cap4 = sensor4.capSense(15);  long cap5 = sensor5.capSense(15);  long cap6 = sensor6.capSense(15);  Serial.print(cap1);  Serial.print("\t");  Serial.print(cap2);  Serial.print("\t");  Serial.print(cap3);  Serial.print("\t");  Serial.print(cap4);  Serial.print("\t");  Serial.print(cap5);  Serial.print("\t");  Serial.print(cap6);  Serial.print("\n"); }

Processing Code:

/*Media Files are taken from Tamara Pokrupa's home videos, Rola Kuidir's images,
generic audio files and apple screensaver video*/

//Arduino
import processing.serial.*;
Serial serial;
int data1;
int data2;
int data3;
int data4;
int data5;
int data6;

//Video
import processing.video.*;
Movie movie, movie1, movie2, movie3, movie4;


//Audio
import ddf.minim.*;
import ddf.minim.signals.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;

Minim minim;
AudioPlayer one;
AudioPlayer two;
AudioPlayer three;
AudioPlayer four;
AudioPlayer five;
AudioPlayer six;

//Images
PImage img1;
PImage img2;

//Cases
int signal= 0;

void setup () {
size(500,300,P2D);
//setup Arduino
println(Serial.list()[0]);
serial = new Serial(this, Serial.list()[0], 9600);
serial.clear();
serial.bufferUntil('\n');
//setup Video
movie= new Movie(this, "default2.mov");
movie1=new Movie(this, "dog.m4v");
movie2=new Movie(this, "birds.m4v");
movie3= new Movie(this, "cold.m4v");
movie4= new Movie(this, "corwded.m4v");
movie.loop();
movie1.loop();
movie2.loop();
movie3.loop();
movie4.loop();
//setup Audio
minim = new Minim(this);
one=minim.loadFile("Road.mp3");
two=minim.loadFile("dog.mp3");
three=minim.loadFile("birds.mp3");
four=minim.loadFile("cold.mp3");
five=minim.loadFile("crowded.mp3");
six=minim.loadFile("Footsteps.aif");
one.loop();
two.loop();
three.loop();
four.loop();
five.loop();
six.loop();
//setup Image
img1=loadImage("Road2.jpg");
img2=loadImage("walkin.jpg");

}
//Arduino readings
void serialEvent(Serial serial) {
String packet = serial.readStringUntil('\n');
// Now we must do a bit more work to separate the two elements
// of our packet, which has the form
// \t\n
packet = packet.trim(); // removes the '\n' at the end
String[] parts = packet.split("\t"); // split the string in two where the tab character is
try {
data1 = Integer.parseInt(parts[0]);
data2 = Integer.parseInt(parts[1]);
data3 = Integer.parseInt(parts[2]);
data4 = Integer.parseInt(parts[3]);
data5 = Integer.parseInt(parts[4]);
data6 = Integer.parseInt(parts[5]);
}
catch(Exception e) {
println("There was a problem with the packet: " + packet);
}
}


void draw () {
background(0);

// data from Arduino to call specific function
if(signal==0){
default1();
}else if (signal==1){
signal1();
}else if(signal==2){
signal2();
}else if(signal==3){
signal3();
}else if(signal==4){
signal4();
}else if(signal==5){
signal5();
}else if(signal==6){
signal6();
}
//Read signals from arduino
if(data1>10){
signal=1;
}else if(data2>10){
signal=2;
}else if (data3>10){
signal=3;
}else if(data4>10){
signal=4;
}else if(data5>10){
signal=5;
}else if(data6>10){
signal=6;
}else{
signal=0;
}
}

void default1(){
//Image, Video
one.mute();
two.mute();
three.mute();
four.mute();
five.mute();
six.mute();
//Image, Video
movie1.pause();
movie2.pause();
movie3.pause();
movie4.pause();
movie.play();
image(movie,0,0,width,height);
}
void signal1(){
//Audio
one.unmute();
two.mute();
three.mute();
four.mute();
five.mute();
six.mute();

//Image, Video
image(img1,0,0,width,height);
movie.pause();
movie1.pause();
movie2.pause();
movie3.pause();
movie4.pause();


}
void signal2(){
//Audio
one.mute();
two.unmute();
three.mute();
four.mute();
five.mute();
six.mute();
//Image, Video
movie.pause();
movie2.pause();
movie3.pause();
movie4.pause();
movie1.play();
image(movie1,0,0,width,height);
}

void signal3(){
//Audio
one.mute();
two.mute();
three.unmute();
four.mute();
five.mute();
six.mute();
////Image, Video
movie.pause();
movie1.pause();
movie3.pause();
movie4.pause();
image(movie2,0,0,width,height);
movie2.play();
}

void signal4(){
//Audio
one.mute();
two.mute();
three.mute();
four.unmute();
five.mute();
six.mute();
//Image, Video
movie.pause();
movie1.pause();
movie2.pause();
movie4.pause();
image(movie3,0,0,width,height);
movie3.play();
}

void signal5(){
//Audio
one.mute();
two.mute();
three.mute();
four.mute();
five.unmute();
six.mute();
//Image, Video
movie.pause();
movie1.pause();
movie2.pause();
movie3.pause();
image(movie4,0,0,width,height);
movie4.play();
}

void signal6(){
//Audio
one.mute();
two.mute();
three.mute();
four.mute();
five.mute();
six.unmute();
//Image, Video
movie.pause();
movie1.pause();
movie2.pause();
movie3.pause();
movie4.pause();
image(img2,0,0,width,height);
}
void movieEvent(Movie movie){
movie.read();
movie1.read();
movie2.read();
movie3.read();
movie4.read();
}


void stop(){
// always stop Minim before exiting.
minim.stop();
one.close(); // always close Minim audio classes when you are done with them
two.close();
three.close();
four.close();
five.close();
six.close(); // always close Minim audio classes when you are done with them
super.stop();
}


Tuesday, October 4, 2011

Midterm Project 1st Draft


Concept:

Simply you can say “Recreating Memories”, but how? A memory usually comes back to a person when he/she see, smell, or hear something. We are changing the audience’s present by bringing back parts of their past. Each person will have a different experience depending on their memories and their sensor inputs(which will help having unlimited outputs).


Detailed Project Description:

We will be using multiple of sensors creating the shape of the brian on a wall located over people’s heads. As people will start moving there hands around the brain, they will start experiencing different sounds and images that will help bringing back their memories.


Inputs:

More than one touch sensor (each displays different outputs as every part of the brain is responsible for a part of the body)


Outputs:

Will be a combination between audios and visuals.

Examples of Audio (crying baby, sigh, alarm, bike, rain, internet connecting....)

Examples of Visuals (friends show, snooze/dismiss alarm, highway road, sea, waking up from a falling dream, popular cartoon character....)

Tuesday, September 20, 2011

Data Portrait

In my self portrait, I choose music as a data to represent my growing personality with time. Therefore, I have created 4 remixes to indicate a different era in my life. I choose for each era to present 3 years, because I wanted to show my personality’s evolvement clearly. As the viewer plays the audios, he/she will start to notice that each period practically contains one to two types of music (Arabic & Pop > Less Arabic & Punk > Pop & Rock > Different verities of music ). I have also added some of my country music in the remixes to point out my arabic background. Moreover, the older the audios are, the more arabic music will be heard in the tracks to show the language transformation of my music. I think I started listening to English songs more often when I moved to Dubai and then to Toronto, which is clear in the last two tracks. Therefore, the audios show how I can be affected by my surroundings and by the cities I moved to in my life from change of my music. Furthermore, I have intended to make the tracks longer as they get newer, since my appreciation to music has increased. Finally, I chose my medium to be Audio, since I believe it is the better way to express feelings and save memories.


2000-2002


2003-2005


2006-2008


2009-2011