Art Director / Interactive Designer
RSS icon Email icon Home icon
  • Live

    Here is a link to my Final Project round 2.

    http://www.yourbrandisyourimage.com/new/login.php

    http://www.yourbrandisyourimage.com/new/index.php

    Here is a link to my Final Project round 1.

    http://itp.nyu.edu/~dr1248/web/week5.php

    Here is a link to my Final Presentation mock-up

    http://yourbrandisyourimage.com/Presentation.jpg

    A one-minute sand timer or any sort of timer is used to compel players to rapidly complete their drawing and guessing.

    Presentation live web

    So kristin and myself created a little game for the class to play. So that you can get to know your fellow ITP classmates.

    This application was created in Flash using the media server and an xml file for the images. There are two files hitting the server one in which has a button ( Kristin and I will control) and the other in which the class is going to use. Here is the MASTER control

    Master control

    // import the caurina tweener library
    import caurina.transitions.Tweener;
    import caurina.transitions.Equations;

    // Declare a SharedObject object
    var sharedObject:SharedObject;

    // Declare a NetConnection Object
    var netConnection:NetConnection;

    //var mcbutton:MovieClip = new MovieClip();
    roll_btn.addEventListener(

    MouseEvent.CLICK, roll);

    // Declare a TextField
    /*       var textField:TextField;
    // Create the textField
    textField = new TextField();

    // Make the textField an input field
    textField.type = TextFieldType.INPUT;

    // Set it’s position and dimensions
    textField.x = 10;
    textField.y = 10;
    textField.width = 100;
    textField.height = 100;

    // Set it’s starting text
    textField.text = “hi”;
    var tf:TextFormat= new TextFormat (“Healvetica Bold”, 20);

    // Add it to the display
    addChild(textField);
    */

    // Add event listener
    textField.addEventListener(TextEvent.TEXT_INPUT, textEventCallBack);

    trace(“starting”);

    // String with URL to app on FMS
    var rtmpURL:String = “rtmp://itp-flash.es.its.nyu.edu/sve204/WhiteBoard“;

    // Instantiate NetConnection
    netConnection = new NetConnection();

    // Event listener, calls netStatusCallBack when a NetStatusEvent is fired
    netConnection.addEventListener(NetStatusEvent.NET_STATUS,netStatusCallBack);

    // Connect to the application on the server
    netConnection.connect(rtmpURL);
    //netConnection.client = this;

    //sendData(startX,startY,endX,endY);

    function roll(event:MouseEvent)
    {
    // rotate that movvieclip
    var randomnumber:Number = Math.random()*360;
    sharedObject.send(“rollAmount”,randomnumber);
    }

    function rollAmount(randomnumber:Number)
    {
    //die_mc.gotoAndStop(getRandomNumber(1,40)));
    //    die_mc.rotation = randomnumber;

    Tweener.addTween(die_mc, {rotation:360*2+randomnumber, time:4, delay:0, transition:”linear”});

    }

    function textEventCallBack(textEvent:TextEvent):void
    {
    trace(textEvent.text);

    // If the text == a space
    if (textEvent.text == ” “)
    {
    // send it
    sendData(textField.text);
    }
    }

    // send the data
    function sendData(dataToSend:String):void
    {
    sharedObject.send(“newText”,dataToSend);
    }

    function newText(thenewdata:String):void
    {
    trace(thenewdata);
    textField.text = thenewdata;
    }

    // NetStatusEvent Callback
    function netStatusCallBack(nsEvent:NetStatusEvent):void
    {
    // If we connected successfully
    if (nsEvent.info.code == “NetConnection.Connect.Success”)
    {
    // Set up the shared object
    // We’ll call it WhiteBoard, pass in the app url and not make it persistent
    sharedObject = SharedObject.getRemote(“WhiteBoard”,netConnection.uri,false);
    // So that when we use “send” it calls a function in this object
    sharedObject.client = this;

    // Connect the shared object to our netConnection
    sharedObject.connect(netConnection);

    }
    else
    {
    // Didn’t connect
    trace(“Sorry connection failed”);
    }
    }

    /// spinning pic stuff

    var pHeight:Number = 200;
    var pWidth:Number = 200;

    var listLoader:URLLoader = new URLLoader( new URLRequest(“filelist.xml”) );
    var picLoader:Loader = new Loader();

    listLoader.addEventListener(Event.COMPLETE, gotList);

    var xmlData:XML;
    var numImages:Number;

    function gotList(evt:Event):void {
    xmlData = XML(listLoader.data);
    numImages = xmlData.pix.length();

    var stImage:String = xmlData.pix[Math.floor(numImages*Math.random())].toString();

    picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic);
    picLoader.load( new URLRequest(stImage) );

    listLoader.removeEventListener(Event.COMPLETE, gotList);
    }

    var thisBmp:Bitmap;

    function gotPic(evt:Event):void {
    thisBmp = Bitmap(picLoader.content);

    trace (“loaded”);

    thisBmp.x = 700;
    thisBmp.y = 100;

    var thisWidth:Number = thisBmp.width;
    var thisHeight:Number = thisBmp.height;

    thisBmp.scaleX = pWidth/thisWidth;
    thisBmp.scaleY = pHeight/thisHeight;
    addChildAt(thisBmp,0);

    picLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, gotPic);

    btnAnother.visible = true;
    }

    btnAnother.addEventListener(MouseEvent.CLICK, anotherPic);

    function anotherPic(mevt:MouseEvent):void {

    btnAnother.visible = false;

    // tell the other clients that they need to display a new pic
    var randomnumber = Math.floor(numImages*Math.random());
    sharedObject.send(“displayPic”,randomnumber);
    }

    function displayPic(randomnumber:int)
    {
    removeChild(thisBmp);

    textField.text = “HI:” + randomnumber;
    trace (“got here with ” + randomnumber);

    picLoader = new Loader();

    var stImage:String = xmlData.pix[randomnumber].toString();

    picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic);
    picLoader.load( new URLRequest(stImage) );
    }

    Live Web Midterm

    This project uses java and Ustream to create a community artwork over live video. This piece isn’t finished.

    Mid Term: Creating Live web community art work, with text or images on a particular live location.

    I am very much interested in creating art or graffiti on live feed locations. Whether it be times square or the Eiffel Tower or someones dorm room. But an emphasis will be placed on the community artwork where you can save the work that you have created or you can take a screen shot of it.

    Decorate my apartment

    You the community will have to decorate my room with images that you upload. There will be a live chat room so that you can comment or leave responses on the images.

    Develop a page with a Flash or QuickTime embed of a live Icecast stream. Perhaps add a chat interface and have some people come and have a listen

    The following assignment leverages components from the second assignment. This time a media player is added as well as live audio streaming

    Click here

    live web audio streaming

    Web Chat Room

    The assignment was to create a create an application which allows you to control and change the content that someone else is viewing on your site.

    Here is a very simple web chat room using ajax and php. I also added the features where you can upload an image. Each time the page is refreshed a new image appears.

    Click here

    A public IRC chat room.

    I believe that my experience wasn’t what I intended it to be. Firstly I was in a general discussion room, which usually tends to have the most users which was 45. The anonymous nature allowed users to not be held responsible for there comments. Secondly my story was over looked simply because my topic didn’t appeal to the community in which I had joined. If there was a fashion or celebrity siting forum I might have gotten a few responses.

    My summer experience

    This summer I had a very strange experience. I had just had lunch with a friend from Trinidad whom I haven’t seen in years. As I was walking down Prince street to stay on top of the latest summer men fashion attire, I noticed out of the corner of my eye an individual wearing unusual suspenders. I thought to myself “what fool is this wearing suspenders”. As I looked up to get a full visual, I noticed next to the suspender wearing lad was fashion designer Marc Jacobs.  Already shocked to see such an iconic man, I was surprised when he said hello to me specifically.  With a smile on my face, I entered the subway station.  A woman asked me to swipe my metro card to allow her daughter to pass through as she did not have enough money on her card.  Without hesitating, I let the girl use my card.  Even though it cost me a metro ride, I have done a good deed for the day.  As the woman walked away, I noticed she had one of the popular Marc for Marc Jacobs tote bags.  Normally, I wouldn’t notice such a things, but having just seen the designer it stood out to me.  Sometimes New York City can be such a small place.

    picture-31

    picture-11

    picture-2

    picture-4

    Final Project: For my final project I decided to use black and white imagery. When you move the cursor the tres hold for the imagery changes creating very abstract organic images. The art work that isgenerated is created by the user and the artwork. I also intended on adding the functionality whereby the user can save a jpg of the abstract shapes created.

    Midterm 2: For my mid-term I plan on creating a visual game using key iconic structures around the globe. For example the statue of liberty for New York, the pyramids and the Eiffel tower. The imagery will be revealed once the cursor is moved from left to right and the user will have 10 secs to guess the locations.

    Game

    Game

    Game

    Game

    Game

    Game

    Midterm 1: The idea of a single beam of light creating various patterns and shapes intrigued me especially this one at the New York Hal of science. So for my mid-term I decided to created a similar experience but a one digital. I decided to use several shapes and patterns to create depth and form. Two images appear on screen, one being a digital shape that is then animated and the second image is using C++ to manipulate the video image.

    New York Hal of Science

    New York Hal of Science

    ƒirst version

    ƒirst version

    second version

    second version

    Week 3: I had to create a painting app, something that applies colors or paint as the user moves the mouse. Here are the images from the program.

    C++ Drawing

    C++ Drawing

    C++ Drawing
    C++ Drawing

    Here is the code:

    #ifndef _TEST_APP
    #define _TEST_APP

    #include “ofMain.h”
    #include “ofAddons.h”

    class testApp : public ofSimpleApp{

    public:

    void setup();
    void update();
    void draw();

    void keyPressed(int key);
    void keyReleased(int key);
    void mouseMoved(int x, int y );
    void mouseDragged(int x, int y, int button);
    void mousePressed(int x, int y, int button);
    void mouseReleased();

    ofTexture myTexture; // openframeworks texture class
    int textureWidth, textureHeight; // store width & height
    };

    #endif

    #include “testApp.h”

    //————————————————————–
    void testApp::setup(){

    // set the texture width & height
    textureWidth = 256;
    textureHeight = 256;

    // allocate (create memory) for texture
    myTexture.allocate(textureWidth, textureHeight, GL_RGB);

    // create buffer for texture pixels
    unsigned char myTextureData[textureWidth * textureHeight * 3];

    /*

    // set the pixels (solid color)

    int pixelCount = textureWidth * textureHeight;

    for(int i=0; i<pixelCount; i++){

    int pixelPos = i * 3;

    myTextureData[pixelPos] = 255; // red
    myTextureData[pixelPos+1] = 8; // green
    myTextureData[pixelPos+2] = 12; // blue
    }

    */

    // fill the pixels (with a pattern)

    for(int x=0; x<textureWidth; x++){
    for(int y=0; y<textureHeight; y++){

    // determine the position in memory for the current pixel
    int pixelPos = (y * textureWidth + x) * 3;

    myTextureData[pixelPos] = x; // dynamic red
    myTextureData[pixelPos+1] = 8; // static green
    myTextureData[pixelPos+2] = y; // dynamic blue

    }
    }

    // load the pixels into the texture (send to the graphics card)
    myTexture.loadData(myTextureData, textureWidth, textureHeight, GL_RGB);
    }

    //————————————————————–
    void testApp::update(){

    }

    //————————————————————–
    void testApp::draw(){

    /*

    // draw the texture once

    myTexture.draw(0, 0);

    */

    // draw the texture to fill the screen

    for(int x=0; x<ofGetWidth(); x+=textureWidth){
    for(int y=0; y<ofGetHeight(); y+=textureHeight){

    myTexture.draw(x, y);
    }
    }
    }

    //————————————————————–
    void testApp::keyPressed (int key){

    }

    //————————————————————–
    void testApp::keyReleased (int key){

    }

    //————————————————————–
    void testApp::mouseMoved(int x, int y ){
    }

    //————————————————————–
    void testApp::mouseDragged(int x, int y, int button){
    }

    //————————————————————–
    void testApp::mousePressed(int x, int y, int button){
    }

    //————————————————————–
    void testApp::mouseReleased(){

    }
    Week 1: Our first assignment was to create an image using non traditional “pixels”, preferably physical or “analog” “Make Pixels”. Whilst eatting some of my favorite cereal Apple Jacks I decided to use it as my pixels. Firstly creating a flower and then a fish.

    Making Pixels

    Making PixelsMaking Pixels

    Making Pixels

    Making Pixels