Monday, January 19, 2015

Alpha Test


Today having alpha testing with level 4 students and I prepared a questionnaire paper for them to answer.  



The Questions are :

1. Do you have Twitter account ?
2. How often do you use Twitter ?
3. How many tweets a day?
4.Do you have any problem interacting with the project?
5.HOw is the pace of the feedback that shown on the screen after you have tweeted ?
6. Will you keep retweet to see the visual on the screen ?
7.Which do you prefer, every tweet or the visual effect
8.What is your expectation to see on the screen after retweeted?
9. What is your comment about this project (using twitter as canvas)


Total of 9 participations and the result that I get ;

For Question 1 :

Majority (1-3/9 have Twitter) of them do not have Twitter account or not active in Twitter. Therefore, did not answer question 2, 3, and question 4.

For Question 5 :

Slow

For Question 6 :

Majority answer yes

For Question 7 :

Visual effect will change and stay a bit longer on the screen

For Question 8:

- simple random flat & have sound
- animation , sound
- have sound
-animation , sound
- visual , animation, sound
-animation
- animation , sound


For Question 9 :

-It is interesting to use a social media as a canvas to produce visual
- Cool but is;s quite limit in sense of interaction users have to tweet many times then they get to use the changes animation.
-Should use if for some other social app
- Is quite interesting alarm to notify me
- quite new and seems every to spread the artwork as twitter
- maybe add some sound to interact
-is different type of idea , quite interesting
- I like the idea glitch & twitter , more visuals will make it more appeal
- have more changes of animation


Reflection of this alpha test experience :

1. I observed that not many of them have a Twitter account and one of them asked me, why not Facebook? Therefore, i have to prepare a mobile device / laptop logged in with Twitter acc in order to let them experience the project.

2. Wifi connection is important to keep connected with the project. I have to make sure the line connection is strong enough for sohwcasing next time.

3. The feedback and changes shown on the screen is too fast and user does not realise what interaction the got from the tweet. They prefer something shown longer or stay at the screen.

4. Adding sound to the project will enhance the project experience.

5. The feedback response shown on the screen is a bit too slow .


Friday, January 16, 2015

Guest review by Bennedict Tan

Today, one of the guest from industry, came to review our project. It was a good opportunity to listen and get knowledge from him. But unfortunately that my project is still in progress and not fully worked. I explained the concept and only able to show part of the code.

His comment was
It was interesting to see the final outcome and my explanation can be more simplified from "this is an art twitter experimental project and ..... " to
"using twitter as a tool to paint on the canvas" .  Using simple and easy understandable word to describe the project. For example, use a line to describe the project. I think this is really helpful to help me on explaining my project.

Monday, January 12, 2015

Glitch Art

When comes to visualise what to show on canvas when people tweet.
I start to think about the digital interaction from one to another one. In digital world, is about programming, coding , the numbers and what is the best to visualise the programming will be glitch art. Although glitch is known as error but in another way of saying, it shows the interaction from one code to another code. (I meet you as in I glitch you in a digital world) Besides, glitch is random and it auto generate form the programming, therefore it metaphor each tweet from different user and it uniqueness. 

To scope down, i focus on glitch art in processing. Looking for how to produce glitch art with processing and there I found a useful glitch library for processing called , Glitchp5 . The documentation is easy to understand and is a good start to study the coding. 

Here the outcome of the Glitchp5 lib : 

Each click trigger the glitch. The more click , the more glitch. 
But for this, is animation of the glitch. 





Change the value and it will shows different outcome. 
I used it for a tweet trigger the glitch.  The more tweet, the more glitch. 


Friday, January 9, 2015

Tutorial 7 - Get latest tweet

From the last update, I not sure about the condition and store the array. So brought it up again discussion with my tutor today. He explained the concept to me.

Notes of discussion : 

1. Change get username to get Id

The way for the programming to recognise the latest tweet is using get Id but not username. If just get username, the programming would recognise the same username tweeted me and would not trigger the visual. Therefore, need to change to ID to get every it unique id for every tweet. In php, have to change from array 'screen_name' to $newArray[] = array('id'=>$t->id_str); and recent count to 1 but not 10 or 20.  and in processing getString("id");


php :

processing :





2. Fetch every latest tweet only and not displaying all the array in the list once

After getting the ID and to make sure to get the latest tweet is to use the method currentId and previousId. The processing will recognise and store the currentId and when new currentId added, the old currentId will become previousId.
Here is part of the code to grab each latest tweet.

String currId = "";
String prevId = "";

void grab()
{
  println("call grab()");
  println("grab: pv"+prevId);

  prevId = currId;
  jsonArray = loadJSONArray("http://localhost/twitterapi/index.php");
    JSONObject item = jsonArray.getJSONObject(0);
    currId = item.getString("id");
    println(currId);
}

Here the result in print in : The id number changes


Tutorial 6 - Lesson on background();

Just realise the difference between have background and without background at draw(); section.


Notes of discussions:


1.  Having background(); at draw(); is to make background clear at every frame , therefore the visual that im testing will be draw line per line at different point in the screen.




Having no background(); will not clear the background and the lines are continuous drawn in the canvas.




Friday, December 12, 2014

Tutorial 5 - Programming update

In previous days, I have the same problem with the Twitter rate limit. It get exceeded very fast and it becomes one of the problem for me to do testing every time. Today discussion with my lecturer, we brought it out the issue and look for the solution.

Notes of discussion:

1.  Cache Data in php

One of the solution is to cache the data in php and one very useful library found in google called Phpfastcache library



2. As for the Processing update, we discussed about the condition for the tweet. I want it to work like
shows tweet by tweet but not grab whole array from php and display all tweets at a time.

(array grab and display at a time) 

My tutor explains the system and concept of the code and guide me through step by step. Things that i need to consider is to code a timer to tell the processing to check and grab the data every 5 seconds.
Next, the condition to draw and store.

Agreed action


1. Phpcachefast,

my working file :





2. Timer, very helpful tutorial I've found at learningprocessing website.



My working file : 





Friday, December 5, 2014

Tutorial 4 - Display array in processing

Show my last progress to my tutor today, and he mentioned that I don't have to display the php into thumbnail but important is to decode it in JSON format,  so processing can read and grab data from php. Today lesson : JSON array


Notes of discussions

1. decode to JSON format with JSON viewer

2. use JsonArray and JsonObject for processing

3.  Twitter rate limit API .  The results always turn to null when the rate is exceeded. It is one of the most troublesome problem for this project.  Further details written in Twitter page ,
( https://dev.twitter.com/rest/public/rate-limiting )
It stated that " if a method allows for 15 requests per rate limit window, then it allows you to make 15 requests per window per leveraged access token. Rate limits in version 1.1 of the API are divided into 15 minute intervals, which is a change from the 60 minute blocks in version 1.0. "


Agreed action

1. I've installed JSONviewer in chrome and searched json decode code . One of the tutorial that I found from google was very helpful from TheCave.info website.
It demonstrates the code of output as JSON using header in php.



My working file :



2. study JSON array and grab php

As for the next step, I have to study the JSON array in processing along with assistance and guiding from my tutor because it was my first time using processing to do my project. I've only have a very basic knowledge on processing during lvl4 in a Arduino workshop.  In Processing official website do have reference and demonstrate on the code on learning. Below is the screenshots of the code that I've used to grab php data.



My working file :

I've successfully to display who tweeted me.



3. Find a way to solve the rate exceeded.