ITP Secret Sharing -- Redial final project

 

SUMMARY OF REDIAL

In Redial class, we have explored diverse and huge possibilities with telephony technology and its potential interactions with other platforms, interfaces and technologies. For instance, Asterisk Gate Way with RUBY, database with RUBY, SMS with Twilio, call a physical object or vice versa by using Arduino and Arduino Ethernet shield, in addition, the interaction between you phone with processing and webpage by using Tinyphone applications. We also have learned some basic research about speech recognition and synthesis,  and related applications like Google Voice... 

SUMMARY OF MY PROJECT

ITP Secret Sharing is the project I was developing in Radial class for 14 weeks. Basically, this project is a SMS system that allows user share and randomly get stories from others in community. By saying "secret", it does not have to be secret or anything related to privacy at all, it could be a funny story, joke you have, or what you have seen and experienced that you think worth sharing. The goal is triggering offline communication and "gossip" to enhance the relationship and understanding within community. 

IDEAS BEHIND...

How to make "out of date" technology fresh and fun, meanwhile keep functionality concern in mind and embedded them into my Redial project is the top concern about this project. I want to craft a universal user experience and make it as accessible as possible. What do people love? What do people have? 

"What do users have? " is the first question I was asking myself. No matter what user has is a dumm phone, Andriod, Windows or Apple phone, they all can make a phone call, send a SMS. "What do users love?" They love talking to others. They love sharing. They (most of them) love or curious about gossiping. How about a secret sharing system on Mobile communications? I thought about using voice recording as the format of secrets, later I found out that maybe text message would be more interesting, intriguing and accessible. The biggest concern when I was designing this sharing platform was how to keep user activity at a high level and keep the quality of the content of my service -- secrets. Like the old saying, "Everything in this world comes with strings attached", for my project, the only way to get others' secrets is sharing your secret first. Share yours, I will give you back, that is it. However, that is not enough to avoid "cheating". In case any attempt to spam the database with "Hello" "How are you" that no-one-wants secrets, I have to come up with another mechanic to "behave" users. 

Here comes the rating system. Basically, the rating system is a tree-like system as pic follows: each user has one or more secrets, each secret has 0 or more ratings. The quality of the secret will be judged by all the other users ( score as 1--5), and reflected as the average rating of each secret ( sum up all the rating then divide the number of ratings for each secret) and all the average ratings of secrets that user has contributed will affect this user's level as the average of average ratings. 

 

DETAILS AND DIFFICULTIES

I was using Sinatra in Ruby, datamapper Ruby and twilio to build my project. This was my first time to get my hands dirty on these and I was facing a lot of difficulties and out of expectation moments. 

The interactions for ITP Secret Sharing are as follows:

final_presentation.017.jpg

1. Users send their secret to the service number (on twilio)

2. Twilio will immediately send and save this SMS and its related information to database in defined tables

3. A random secret will be picked and send out from database to twilio, most importantly, with attached cookie ( so the twilio will know which random secret has been sent out, because each secret has a specific secret_id as the token of its identity in database) 

4. The secret with attached cookie will send to this user from twilio, also another SMS will be sent too to kindly remind user send his/her rating back for that secret. 

5 & 6. If the rating had been sent from user, twilio will know which secret this rating is for because it has cookie in it, so the the rating, as a number from 1--5 will be saved into database as one of the ratings for that specific secret. 

The first problem I encountered is how to send two SMS in a chain to user on Twilio. Eventually, it's been solved with the help from Twilio group. 

I have tried to write the RUBY script like this:

  #return a random saved secret
    return_secret = SMS.first(:offset => rand(SMS.count))
    twiml = Twilio::TwiML::Response.new do |r|
        r.Sms return_secret.body
  #send another message to remind user for rating
#       ask_rating = remind_rating
#   if ask_rating 
#       twiml = Twilio::TwiML::Response.new do |r|
#         r.Sms ask_rating
    end
    twiml.text

and like this:

 #return a random saved secret
   return_secret = SMS.first(:offset => rand(SMS.count))
   twiml = Twilio::TwiML::Response.new do |r|
      r.Sms return_secret.body
   end  # NEW you might be trying to reuse the same response (r)
# send another message to remind user for rating
   ask_rating = remind_rating
   if ask_rating 
      twiml2 = Twilio::TwiML::Response.new do |r|
         r.Sms ask_rating
      end
   end

However, the answer and example I got from twilio is like something like follows, which proved that I was assuming to much...

require 'rubygems' 
require 'twilio-ruby' 
require 'sinatra' 

get '/sms-quickstart' do 
twiml = Twilio::TwiML::Response.new do |r| 
r.Message "Hey Monkey. Thanks for the message!" 
r.Message "this is the 2nd message" 
end 
twiml.text 
end

The second issue I got is how to allow a table has many to one and many to many relationship with other tables in Datamapper. The example in Datamapper tutorial, which I think is not informative enough, and I've Googled out another one in Stackoverflow (link), which would be a perfect example for building a tree-like database system. 

During this process, other minor problems includes: After associating them, it was not saving associated data types. The right way to do this showed as below: you should tell Ruby Sinatra to save these data like this...

    #save this secret
    secret = Secret.create(:body => params['Body'], :created_at => Time.now)
    caller = Caller.first_or_create(:from => params['From'])
    caller.secrets << secret
    caller.save

Also, in order to convert rating number from "string" in SMS to "integer", then save them into database for next step using, I have to do something like this:

            rating_from_sms = params['Body'].to_i     # save the rating(text) as integer
            rating = Rating.create(:score => rating_from_sms)
            secret.ratings << rating
            secret.save

The third one which was the most tough problem I've met during this project is the "cookie" ( called session in my case). Like what I mentioned before, I need embedded cookie has "secret_id" in it into the randomly sent back secret, as a way to track the conversation to save the rating to that specific secret correctly. 

For twilio, they do support cookie function, but with limitations (please check there website for more info). The example they provide could barely apply to my case. Basically, the idea is not complicated, just get "secret_id" data from database, save it into cookie, and send it within SMS.

In the first place, my code looks like this:

and the out come is confusing:

As you can see, the red frame is what I've got when I was testing it and sanding a single number "4" from a cellphone number which has never sent SMS to my number before, which means, there should be no any "session" information saved in it ( I did not send "secret" before I send the number, so it is suppose to run the "elsif" part...), however, clearly, from the information in terminal, it seems like it will automatically assign a "secret_id" as session to that conversation, no matter the upcoming SMS is a secret or not. Meanwhile, when the SMS' body is rating number, it will execute the "reply_message" (Thank you for rating message) in "if" statement... I felt confused because I put the session part in "else" statement, so if it's running the "if" part, why the session part in "else" part has been activated too? Moreover, the "elsif" has never been executed, because session is always there, no matter what happened, secret_id will always be assigned to the coming SMS, even no matter it is a rating SMS or secret SMS. 

The logic in my code is whenever got a SMS from user, check it is a rating or a secret. If it is a rating, two possibilities: if it has session (session is true), or it does not (else session is false). I tried to add another if...else in if statement, it turned out to be not working. the error was the "session_id is undefined." which totally make sense. After struggling for some time, I thought is there anything like "try" in JAVA in RUBY? WOW, "try" is "begin...rescue" in RUBY, such a cool name, much more cooler than "try" I thought... so I tried it... and it's working... 

After the tricky cookie issue, the problem I was facing to is get average ratings. After the cookie disaster, I feel like getting average ratings is just a snap. Basically, like the system I showed in the first pic, the story shared from the user will be reviewed by other users, all the ratings from users will affect this story's review (as the average number of all rating numbers), and all the stories' reviews will affect this user's level, which means the only way for user to get more juicier story from the server is he/she has to share more juicier story to others first.

This is a gamification mechanic that build for providing a more reliable and satisfied user experience. Like other design work I did before, I like the idea of crowdsourcing and social innovation, because I like the way that it values the presence and participation of people. In social innovation design thinking, designers believe that users are a group of intelligent and smart people who could bring and share their intelligence to the system and benefit from each other and benefit to the system/product to make the system more eco-friendly, reliable and sustainable. One of the feedback from ITP spring show was "How to classify the stories into different categories, is there any mechanic build for this back in the server?" My answer for this question is all the users is the mechanic and the only judger. Why some of us prefer ignoring the presence of human intelligence and chasing for artificial intelligence? I think it is because some of us believe that users are stupid, they need help, they need designers to do everything, they can not do anything... anyway, I am a little carried away here, but it is a question that is worthy to think about. 

What I left...

For the rating system, it is not 100% done yet. Now, the users' level part is not working actually. Moreover, I have to make my system more informative, because for now, there's no way for user to get to know their status in the system. For instance, there is no port provided for user to send a specific command to get the level information back from server, which means they are "playing" this system blindly, which wouldn't be a good user experience in a long term :) 

However, this would be a detailed work and demand a lot of time I think. However, I would like to know how to make it happen and how it will affect user experience. 

One Thing was Unexpected...

On Dec. 17th, one of our best friends, ITPer, Justin Restauri passed away right before the start of the show at 1PM... This grievous news made everyone in sorrow. I could not concentrate on the show in the first place and I was thinking what could I do for him. 

I ended up turning my project as a space for remembrance about Justin where everyone could share his/her private memory and receive others' by using my project. 

It went surprisingly well, and many ITPers told me they love this project and they think it is really helpful for getting a better understanding about Justin and doing a group memoirs about passed people. Most importantly, they think the experience this project crafted and delivered is new and accurate. 

Here is what I've got so far...

Acknowledgements

My completion of my project could not have been accomplished without the help from so many people. I cannot express enough thanks to Christopher Kairalla, teacher in Redial class, the best teacher ever!! Thank him for his great teaching, informative class notes and extraordinary helpful office hours! Also, I would like to thank my classmates who gave me a lot of critics and suggestions. Last but not least, thank you Justin, I felt like it was you that changed my mind and made me realize that I could apply my project in this way. It is important to me because I realize that I am developing my projects possess a constant idea. 

Postscript

I will keep working on this project and I hope I could have the rating system 100% done as soon as possible. I will keep updating the process. Please let me know if you have any suggestions and reflections. Thank you!!!

create meaningful productions

THE DESIGN OF EVERYDAY THINGS and EMOTIONAL DESIGN are two publications  in design realm with profound influences. Norman, as a psychologist, have did a lot of research in design psychology. For these two books, I recommend that you guys could read THE DESIGN OF EVERYDAY THINGS first and than for the EMOTIONAL DESIGN.

In THE DESIGN OF EVERYDAY THINGS, Norman talked about the relationship between physical world and user experience. Especially for industrial designer, what kind of physical shape and limitation should be applied based on what kind of environment is quite essential for making a production that is easy to use. Different shapes and frames supply different limitations which create diverse hints and clues for informing people how to interact with such productions. For example, a tap with a knob, which shows that you have to rotate it to open; a handle shows uplifting it to open; a horizontal stick on the door shows pushing it to open the door; a door with stick handle which one side is higher and the other side is lower shows which side the door spindle located.

In industrial era, people usually got hurt by using productions that are easy to produce wrong signals with ambiguity shapes. So it is quite important for every designer be aware of their responsibilities and the importance of complying with basic design principles. Design should be people oriented, this is the biggest difference between production and artworks.

Except the physical shape, designers have to consider their target users' cultural background as well, which is the fundamental  for people to foster a specific need and experience. It is common for the same production got utter different market reaction in different cultural region. One of the most outstanding examples to illustrate this point is the sales status of XBOX  productions in Western and Japan market. (Although, I know that the reasons for the failure performance is complicated, it is obvious that different needs derive from different culture cannot be ignored.)

 

birdy news-- RWET final project

IDEA INTRODUCTION My final project for Reading and Writing Electronic Text basically followed my mid-term project idea, which focused on the relationship between individual and community; personal digital heritage and the internet phenomenon (as a whole, which composed by individual's digital creating activities).

I am really obsessed by the question that what is happening while I am typing this post? I think everyone of you should ask yourself this question in case of being "connected (to the internet)" as well as being "disconnected (to the reality)" simultaneously.

In the digital era, especially after the advent of the Internet, individualization have been highlighted ever-increasingly. That is one of the reasons why the amount of digital information have been created on the internet have already far more surpassed the whole information recorded in human history before digital era came. However, every coin has two sides. A huge amount of "trash" information have been created and is being created all the time which is quite not the case in former human history. In my opinion, the "trash" is not trash at all, it is just, somehow, too personalized.

HOW IT WORKS

In my final project, I was trying to explore a way to remind people the fact that the world keeps changing and making meanings unceasingly while we are changing and publishing our own meanings onto the Internet.

Basically, what I did in my final project was playing around with twitter API and New York Times API. The first part of my project is input the twitter account in which to get the tweet from, and input how many tweets you want. The program will get tweets from twitter API, then by using blob.noun_phrase, extract the noun phrase from tweets.  The second part, use extracted noun phrase as key word to search news in New York Times API, and the output is the headlines of those news which have the noun in that article (which might be a little bit confused sometimes, because usually in headlines, there is no the key noun in it, but tweet does have this noun phrase. I will talk about this later).

PROBLEMS & DIFFICULTIES

First one is facing to the limitation of New York Time API. In the first place, I was kind of hesitate between using "The Article Search API" and "The Most Popular API". Both of them have the headline extraction function. In article search API, you could get articles from any time period(from Sept. 18, 1851 to today) as you want. Many of them might not that popular. In most popular API, you could get the most hit news titles, however, only from the past 30 days. After weighting a lot, I decided to use the article search API. Because I think it will be fun if you search some old news which might talked about what you are talking about right now...

The second one I have ran into was how to move a period of string from each tweet. Because for each tweet in one of the tweet accounts I am following has the same format like this: [xxx joke] RT .xxx(author): "tweet". The "tweet" part is the only part I need. So what I need to do was delete strings before ":". However, what was waiting for me ahead was a new one, unicode. The fact is each tweet_text in tweet API is unicode instead of string, which means I have to convert it into string first, which is fine I thought, because our instructor have introduced us a way to do that. But, it did not work. So I just google for more method to deal with unicode stuff. You could see different methods in different stages I have used for unicode-string converting problem in my code later. 

In addition, after testing PrfJocular, I found out that it could not work with other tweet account, because tweets in other account usually do not have that format, so I just change the logic in def newtweet. Until now, the program could not work for every tweet account actually, which is the part I am still working on. The reason could be anything, like tweet initialized with strange symbols  like # * ^, or capital and lower problem...

Others include indentation problem (impressive one)... for loops in for loops (I admit that I am not reasonable enough and do not have strong logical thinking)... class stuff (now I am clearer about this).

Last but not least, I would like to make a kind of chatting atmosphere in this project, however, it turned out that it is almost impossible. In my opinion, there are couple reasons. First of all, conversation could not exist without making sense, which is not for randomly generated poetry (more for making fun I think); secondly, the limitation of API limits how accurate content I can get.

FOR PRESENTATION & PERFORMANCE

Because there are multiple headlines as output about one keyword (noun phrase), in order to keep the gap between tweet and news' headline in a reasonable and understandable range (the ideal condition is the gap is not too huge to bridge by former experience as well as leave a space to audiences for imagination). So after program generating, I manually picked one in the headlines to couple with the tweet. Then, as you see, did some graphic design output as PDF.

CONTINUE FROM THE END OF "HOW IT WORKS"

After the performance, I asked some of my friend about two different contents from twitter and NY Times. Most of them thought tweeter is more fun, which makes sense because NY Times, as a public media, is more serious. Mentioned about the "gap", some of them could bridge it while others can't.

RWET_final

RWET_final (1)

 

import sys
import twython
import urllib 
import urllib2
import json
import re
import unicodedata
import ast
from textblob import TextBlob
import pprint
print 'Arguments:',sys.argv[1]

def year(d):
    return d[0:4]

def month(d):
    return d[5:7]

def day(d):
    return d[8:10]

allNouns = list()
'''
nouns = list()
adjectives = list()
newNouns = list()
number =0
'''
headlines = set()
dates = list()

results = dict()
nounssss = list()
name = sys.argv[1]
num = sys.argv[2]

api_key = "cbQOYIm4QKOZFfU0udeecg" 
api_secret = "0xfLYKgOpLDfmYqLOujfWdeNBaG4K7AxJKm8e1huM"
access_token = "441793842-SG93JvCP4426PpU9nSRt8yef8cliRY6gRFnMZmjE"
token_secret = "BURRQAN5wZqzfQu9ly7TFiuE5412QtjSTb0G0c5LnPwoE"

twitter = twython.Twython(api_key, api_secret, access_token, token_secret)
response = twitter.get_user_timeline(screen_name=name, count=num)

tweets_to_be_printed = []

class tweet(object):

    def __init__(self, result, nounss, insideResponse):
        self.results = result
        # self.tweet = tweet
        self.allMyNouns = nounss
        self.insideResponse = insideResponse
        # print "hello"

    def isNoun(self, word):
        pass

    def isAdjective(self, word):
        if word == "":
            return False
        if word.lower() in adjectives:
            return True
        else:
            return False

    def newtweet(self, response):
        self.insideResponse = response
        self.results = list()

        for tweet in self.insideResponse:
            tweet_text = tweet['text']
            detweet = unicodedata.normalize('NFKD', tweet_text) 
            real_tweet = ""

            if detweet.find(":") != -1:
                index_of_colon = detweet.index(':')
                real_tweet = detweet[index_of_colon+2:]
                tweets_to_be_printed.append(real_tweet)
            else:
                real_tweet = detweet[0:]
                tweets_to_be_printed.append(real_tweet)

            mynouns = list()
            if tweet['retweeted'] != True and tweet['text'][0:2] != "RT":
                real_tweet = real_tweet.replace("\"", "\'")

                blob = TextBlob(real_tweet)
                for word in blob.noun_phrases:
                    self.allMyNouns.append(word)

        return self.allMyNouns

    def getTweet(self,listOfNouns):
        for wd in self.allMyNouns:
            #print wd
            searchterm = wd
            request_string = 'http://api.nytimes.com/svc/search/v2/articlesearch.json?fq=' + searchterm + '&facet_field=source&begin_date=19990101&end_date=20130101&api-key=e12e33fafba643a896576df64ba79eeb:18:69211686'
            urlresponse = urllib2.urlopen(request_string)

            for doc in docs:
                headlines.append(doc["headline"]["main"])
                dates.append(doc["pub_date"])

            for headline in headlines:
                print headline

a = tweet(results,nounssss,response)
results = a.newtweet(response)
results_unicode = [x.encode('UTF8') for x in results]
tweet_index = 0
for keyword in results_unicode:

    for mytweet in tweets_to_be_printed:
        if keyword in mytweet.lower():
            print "\n\n" + mytweet + "\n"
            break

    i=0
    headlines = set()
    if i<num:

        searchTerm = list()
        searchterm = str(keyword)
        searchTerm.append(searchterm)
        print "\n\n" + searchTerm[i] + "\n"

        params_dict = {"fq" : searchterm, "facet_field": "source", "begin_date": "19990101", "end_date": "20130101", "api-key": "e12e33fafba643a896576df64ba79eeb:18:69211686"}
        new_param_dict = dict()
        for key,value in params_dict.iteritems():
            new_param_dict[key] = unicode(params_dict[key]).encode('utf-8')

        params = urllib.urlencode(new_param_dict)

        request_string = 'http://api.nytimes.com/svc/search/v2/articlesearch.json?' + params
        urlresponse = urllib2.urlopen(request_string)
        tResult = json.load(urlresponse)
        outcome = tResult["response"]
        docs = outcome["docs"]
        i=i+1

        for doc in docs:
            headlines.add(doc["headline"]["main"])
            dates.append(doc["pub_date"])

        for headline in headlines:
            print headline

"class" in python practicing

import sysimport twython
print 'Arguments:',sys.argv[1]
nounsstring = open("/Users/ranmo/Desktop/Nouns.txt", "r").read()
adjectivesstring = open("/Users/ranmo/Desktop/Adjectives.txt", "r").read()

nouns = list()
adjectives = list()
newNouns = list()
number =0

nouns = nounsstring.split("\r\n")
adjectives = adjectivesstring.split("\n")
results = dict()
name = sys.argv[1]

api_key = "cbQOYIm4QKOZFfU0udeecg" 
api_secret = "0xfLYKgOpLDfmYqLOujfWdeNBaG4K7AxJKm8e1huM"
access_token = "441793842-SG93JvCP4426PpU9nSRt8yef8cliRY6gRFnMZmjE"
token_secret = "BURRQAN5wZqzfQu9ly7TFiuE5412QtjSTb0G0c5LnPwoE"

twitter = twython.Twython(api_key, api_secret, access_token, token_secret)
response = twitter.get_user_timeline(screen_name=name, count=200)

class tweet(object):
    def __init__(self,result):
        self.results = result
        self.tweet = tweet
        print "hello"

    def isNoun(self, word):
		   if word == "":
			  return False
		   if word.lower() in nouns:
			  return True
		   else:
			  return False
		   print "noun"

    def isAdjective(self, word):
	   if word == "":
		  return False
	   if word.lower() in adjectives:
		  return True
	   else:
		  return False

    def newtweet(self):
		self.results = dict()
		for tweet in response:
			mynouns = list()
			myadjectives = list()
			if tweet['retweeted'] is False and tweet['text'][0:2] != "RT":
			  words = tweet['text'].split(" ")
			  for word in words:
			  	if self.isNoun(word):
			  		mynouns.append(word)

			  	elif self.isAdjective(word):
			  		myadjectives.append(word)

			for noun in mynouns:
				nounindex = words.index(noun)
				for adjective in myadjectives:
					adjectiveindex = words.index(adjective)
					if adjectiveindex < nounindex:
						self.results[noun] = adjective
		return self.results

a = tweet(results)
results = a.newtweet()

for key in results:
	print results[key] + "\t\t" + key

Basically, what I did is using the idea which we've learned in the last RWET class to transform my mid-term project into a "class" in python. Also I did a little revise based on the former structure to refine to code as well.

By following the course note, the work was not that tough and complicated. However, because what I have to do was replant the former structure to the "class" logical structure, so the most errors I got were indentation issues which cost me a lot of time.

The interesting thing was after I finish all the debug work until there was no error, I barely could get more than 1 "result", which confused me a lot. I tried a lot. (The "count" in "response" is "count = 10")I printed stuff from the top to bottom of the code and found everything is fine. The turning point is when I check my friend's twitter, I found a tweet: "You. Are." I suddenly realize that this tweet would be neglect by my program because "You" is a noun, but there is no adjective at all. So, I tried to turn up the "count" number...

51FDD0DA-5D60-4A86-A50E-BCE0D690EC8B

 

55D8DFB2-7034-44E7-BD32-A94EAD367D5D

BA160AB7-3AF9-473E-B4D5-1703C20535FE

D951ABFB-B1A9-4D70-BEF1-CD9FE4DD03B0

 

tweet as your opinion

import sysimport twython
#from nltk.corpus import wordnet as wn
#import nltk
nounsstring = open("Nouns.txt", "r").read()
adjectivesstring = open("Adjectives.txt", "r").read()

nouns = list()
adjectives = list()

nouns = nounsstring.split("\r\n")
adjectives = adjectivesstring.split("\n")
#print nouns

results = dict()
def isNoun(word):
	if word == "":
		return False
	if word.lower() in nouns:
		return True
	else:
		return False

def isAdjective(word):
	if word == "":
		return False
	if word.lower() in adjectives:
		return True
	else:
		return False

api_key, api_secret, access_token, token_secret = sys.argv[1:]

twitter = twython.Twython(api_key, api_secret, access_token, token_secret)
response = twitter.get_user_timeline(screen_name='aparrish', count=200)

for tweet in response:
	mynouns = list()
	myadjectives = list()
	if tweet['retweeted'] is False and tweet['text'][0:2] != "RT":
	  #print tweet['text']
	  words = tweet['text'].split(" ")
	  for word in words:
	  	if isNoun(word):
	  		mynouns.append(word)
	  		#print word + " is noun"
	  	elif isAdjective(word):
	  		myadjectives.append(word)
	  		#print word + " is adjective"
	for noun in mynouns:
		nounindex = words.index(noun)
		for adjective in myadjectives:
			adjectiveindex = words.index(adjective)
			if adjectiveindex < nounindex:
				results[noun] = adjective

print "MY RESULTS"
for key in results:
	print results[key] + "\t\t" + key

Basically, I was trying to get every tweet (in the case above, I got 200 tweets) from an account, and pick up the nouns and adjectives from each tweet, then matched them together in a corresponding way to show the writer's opinions toward different objects (nouns).

I downloaded the nouns list and adjectives list from the Internet, by checking the words in tweets with words in nouns and adjectives list, python will pick the words in tweets as nouns or adjectives and match them together.

01DE6B30-5E43-473A-80B6-BAD7C616FBAE B2916150-6894-4287-AE5A-C214D9D42E5B01DE6B30-5E43-473A-80B6-BAD7C616FBAE

 

To be honest, I was not that satisfied about the outcomes. Because it is really hard to cover one's taste by using limited pieces of words. I have been thinking about making more structures and logics to make the outcomes more reasonable and accurate. However, I found that the grammar and many idiomatic expressions are totally beyond my power. Anyway, it was a good shot for me to further this idea and deepen my thesis idea as well. Maybe it works not good, but the experience I have got from this mid-term project would definitely be helpful for me to do some other experiments along with this idea.

 

Sky Screen in Beijing

http://www.youtube.com/watch?v=8RtD40I3WYQ https://vimeo.com/89352467

This huge LED display is located in Beijing CBD district, which was designed by Jeremy Railton and was built in 2006.  The full size of this screen is 7,500 M² (250m * 30m),which is more bigger than two soccer fields. It has a stereo system with 48 channels' input and 96 channels' output. The whole cost is more than 2.5 hundred million RMB (almost 42 million dollars).

The screen has two parts, the raised screen and horizontal screen. The former one is a standard high resolution (1960 * 1080i) display, the later one is a display which has 5120 * 768pixels, which is composed by more than 20 million high quality, high brightness red-green-blue LEDs.

Every pixel in this system has more than tens of thousands gray degrees, which could make up more than tens of billion colors as a whole. Every pixel has been white balance corrected by rules in order to make the performance as unified and coincided as a whole. The advanced light-emitting parts could adjust the brightness from 1500cd/m² to 6000cd/m² based on the environmental light, which could provide the best experience no matter in day time and night.

It has effectiveness, energy-saving, pollution-free, long life span, barely generate any heat features. It saves 90% power consumption than traditional display equipment. In addition, it is radiation-free and high sweep rate as well, which means it would not cause any eye uncomfortability.

Other than traditional display which is based on computer system, the sky screen display system has a set of developed and exclusive image processing system and video display system. All components in this system is connected by 1000M net, includes HD player, graphic and video processor, data storage, central control terminal, information transformation., etc.

The sky screen displays a lot of different contents, which cover from commercial advertisements, first released MTV show, exclusive video, artistic performance, festival celebration (New Year countdown), public events (send SMS and display your message on the screen), wedding event, and some people rent it for proposal as well (in 2011, Mr. Liu spent 1500RMB (250$)  to rent the screen for 3 mins).

Usually, the main content this sky screen showed are advertisements and exclusive videos. In view of it is located in CBD area, many companies prefer leading their promotions here to drive people's attentions. In addition, in order to afford the high cost of daily maintaining cost, it is reasonable and totally make sense for these commercial activities. Further more, citizens could come and enjoy exclusive videos on scheduled time. Like the video showed above, the exclusive videos are really well-made and fully making use of the special perspective it processed to attract audiences' attention and successfully enhanced their experiences. Many details in these videos and animations mimic the effects and perspectives when people look up. For example, the Chinese dragon in this video was highlighted with his belly part which is a really novel and neat idea. In this angle, this Chinese dragon looks like a snake, which is one of the images of species that compose Chinese dragon (The Chinese dragon image is a composition of snake's body, pig's nose, deer's horns, horse's face, eagle's claw and fish's tail). Also, the animation shows how the dragon peered inquiringly at human's world from the heaven, which matches the dragon's image and impression in Chinese people's mind (as a sacred feature lives in the heaven, dragon will bless people who behave themselves and punish others who are failed to).

In my opinion, this spot is a perfect for people to welcome the coming of new year. When people do countdown toward this screen and face up to the sky, it feels much more sacred and reasonable like begging and appreciating the universe brings the new year to the world. The slogan in front of this huge screen is:"Looking up Beijing!!" (In Chinese, "looking up" has the meaning of "looking at the bright side" as well) which inform people being positive, active and embrace the promising and challenge future.

145402J28-1

People could send SMS to the system and display their messages on the screen by paying 1 RMB, which is the only "interactive" feature it possessed I have discovered so far. The price is really decent and reasonable, everyone could afford it.

6ff2834cbbf0c2790ddb39c6d77cb6dc

conversation between Tao Te Ching and Confucius

import randomi = 1
f = open('Tao Te Ching.txt')
g = open('confucius.txt')

alllines = []
allgenlines = []

wordsperline = []
wordspergenline = [] 
wordsgenperline = []

for line in f.readlines():
	alllines.append(line.strip())

evenlines = []
linenumber = 0

for line in alllines:

	if linenumber % 2 == 0:
		evenlines.append(line)
	linenumber += 1

oddwords = []
wordnumber = 0
oddwordnumber = 0
for line in evenlines:
	words = line.split()
	#wordsperline.append(len(words))
	#print len(words)
	for item in words:
		#print word
		if wordnumber % 2 != 0:
			oddwords.append(item)
			oddwordnumber += 1
		wordnumber += 1
	wordsperline.append(oddwordnumber)
	#print wordnumber
	wordnumber = 0
	oddwordnumber = 0
	linenumber += 1

# confucius begins

for line in g.readlines():
    allgenlines.append(line.strip())

oddlines = []
genlinenumber = 0

for line in allgenlines:

    if genlinenumber % 2 != 0:
        oddlines.append(line)
    genlinenumber += 1

evenwords = []
wordgennumber = 0
evenwordnumber = 0
for line in oddlines:
    words = line.split()
    for word in words:
        if wordgennumber % 2 == 0:
            evenwords.append(word)
        wordgennumber += 1
    wordspergenline.append(evenwordnumber)
    wordgennumber = 0
    evenwordnumber = 0
    genlinenumber += 1

# confucius over

for item, word in zip(oddwords, evenwords):
	print item, word

The out come looks like this:

Tao times

can what

spoken has

not is

eternal not

nameless places,

the this

of joy?

and remain

constantly junzi?

desire, times

observes what

essence has

two is

together not

differ places,

name this

of joy?

the remain

to junzi?

wonders and

the expression

knows rarely

as is

ugliness to

being parent

non-being respectful

each his

and superior.

reveal never

other there

and one

harmonize does

other rebellion.

the planted,

the dao

of born.

words and

create The

do said:

possess of

succeed words

do Master

dwell said:

success day

it examine

goes upon

the loyal?

will company

squabble friends,

the I

will passed

become to

their enough

will possess

be thousand

the chariots:

of expenditures

sage: treat

their as

their season.

RWET First week work

import randomi = 1
f = open('Tao Te Ching.txt')

alllines = []

wordsperline = [] 

for line in f.readlines():
	alllines.append(line.strip())

evenlines = []
linenumber = 0

for line in alllines:

	if linenumber % 2 == 0:
		evenlines.append(line)
	linenumber += 1

oddwords = []
wordnumber = 0
oddwordnumber = 0
for line in evenlines:
	words = line.split()
	#wordsperline.append(len(words))
	#print len(words)
	for word in words:
		#print word
		if wordnumber % 2 != 0:
			oddwords.append(word)
			oddwordnumber += 1
		wordnumber += 1
	wordsperline.append(oddwordnumber)
	#print wordnumber
	wordnumber = 0
	oddwordnumber = 0
	linenumber += 1

# for number in wordsperline:
# 	print number

import string
#letters = ['a', 'b', 'c', 'd','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
string.letters = 'abcdefghijklmnopqrstuvwxyz'
whichline = 0
whichword = 0
returnedwords = []
for word in oddwords:
	#randomnumber = random.randint(0, len(letters))
	#randomletter = letters[randomnumber]
	randomletter = random.choice(string.letters)
	word += str(randomletter)
	word += " "
	whichword += 1
	whichwordold = whichword - 1
	if whichwordold == wordsperline[whichline]:
		#print wordsperline[whichline]
		#word += "\n"
		whichline += 1
		whichword = 0
	returnedwords.append(word)

joinedwords = "".join(returnedwords)

print joinedwords

#for word in returnedwords:
#	print word

 

Taok cany spokenn nota eternalx namelesse thex ofi andg constantlyr desire,q observesq essencez twol togetherc differd namec ofp thec tox wondersn thea knowso asc uglinessd beings non-beings eachh andb revealr otherj andl harmonizen otherc thew they ofp wordsg createe doe possessj succeedk doz dwellr successw itn goesf thef willc squabbleo they willk becomeh theiru willv bea thej ofm sage:j theirv theird thev havej cunningy nox nothingo bet controlk Taov emptyq deep!c seemsa bet sourcel alls bluntsp sharpnessv thex doz knowo offspringd ish regardq thingsl strawa regardc asv dogso spaceq Heaveng Earthh andc neverc comparee keepingg thee 

 

I use the first five chapters of Tao Te Ching as the raw material. I pick up the odd words in even line and add an extra letter behind each of them.

Yin Yang

"Clone" would have always been a hit. No matter when it shows up on news, debate and questions raised either. Maybe it is because people barely know about it, even not in the slightest? However, sometimes, I thought the real reason might be opposite, which is people could comprehend it in a instinct way-- "clone" is too bizarre to suit to humans' common sense as well as anti-nature rules. That is the point why it is so controversial. Some researchers claim that clone is one part of gene researching, which will help people conquer terminal illnesses, which sounds encouraging and fantastic. I believe it barely could be possible. There is no way for human becoming unrivaled and totally immunized to the nature. As Ihde puts it,"Insofar as I use or employ a technology, I am used by and employed by that technology as well." When you apply something, you will definitely would be controlled and limited by something, let alone the nature. We live inside the nature, composed with heterogeneous species and diverse agents of interpretation, which means there is no way for us to totally keep and maintain personal integrity and purity. Like in the later part of this reading (P. 250), "Never purely themselves, things are compound; they are made up of combinations of other things coordinated to magnify power, to make something happen, to engage the world, to risk fleshly acts of interpretation." Conquer all diseases and make a disease-free world? Want to live forever? Forget about it. Sometimes, I really feel perplexed about what are gene researchers doing? We only could see and believe what we have seen and heard. Any side effects might cause disasters? Who knows? Like genetically modified food.

Also, about using clone for saving the endangered species sounds really pathetic to me. If a species extinct because of human activity, which means it no longer could bear the environment human influenced. Even if human recreate it again by using gene tech, it should be extinct again because the gene is derived from former existence. Does that make any sense? Wonder is there no other better way to save species and keep them diverse and prosperous? Of course there is! Just do not count it on gene tech, because it is unsustainable at all, let alone the potential and unknown risks.

I would like to quote a paragraph In Page. 156 as the end.

“I’d like to end with this thought: great companion animals are like works of art. . . . Once we’ve identified these masterpieces, then arguably it’s not just reasonable but imperative that we capture their unique genetic endowments before they’re gone— just as we would rescue great works of art from a burning museum.”

I am not sure whether you could detect a note of pathetic irony like what I said above. However, I do. In my opinion, what we have to do is not always be prepared to be the first one to break into the fire spot to save all these master pieces, instead, we have to behave ourselves and comply with "NO SMOKING" policy strictly and without any exception to keep these masterpieces along with us.

Please think and do something

What is sharing? How to share? It seems that “share (or sharing)” is getting a hit in every realms. Everyone talks about it. In When Species Meet, Dana Haraway talks about it as well, which let me find out another layer and a kind of parallel universe of the meaning of “sharing”, simultaneously, let me rethink about the essential word I claimed in last post, empathy. I have a big question. “Why it is called ‘sharing’?” How dare could we, human, call that is “share”? I mean that is totally bullshit. Like we are the GOD, we have to share something to other species, otherwise, other species barely could exist and the world will become a hell. That does not make any sense to me. What we have to do is not just something called “sharing”, but combine confession, repaying, plus empathy. Dana mentions that “responsibility” can be shipped only in and for multidirectional relationships. Of course it is. What we human did in recent several hundreds years is totally crazy. Even if you live in New York, Beijing, Tokyo, Paris, you could threaten a penguin’s life and death thousand and thousand miles away. Sounds cool, right? I still remember, when I read the 70 million people NATIONAL GEOGRAPHIC issue, which attached with a themed poster. I was totally and shocked and disturbed. As a Chinese, I always be susceptible to population. Population issue created a bunch of problems to Chinese society. And could you imagine other species’ feelings when they face to such a giant mess? Could you imagine how much resources should be or have been plundered for supporting such a huge population? Maybe some people would say other species do not have the intelligence to utilize them. However, I would like to say that innocent is the highest level of intelligence.

“The necessity and the justifications, no matter how strong, do not obviate the obligations of care and sharing pain.”

“…but forgetting the criterion of sharing pain to learn what animals’ suffering is and what to do about it is not tolerable anymore.”

“Response cannot emerge within relationships of self-similarity.”

“Taking the place of the victim is not ‘sharing’.”

In my opinion, “sharing” means you process something. You are the owner. You want to share it with others or not, because you have the right. However, we are not the owner, or not the only owner of what we are using everyday. So, literally, I do not agree that “sharing” is an accurate word to describe something we should do right now. It is obligation, responsibility; instead of something could be called “good manner” or “charity”. Human own other species big. It is the right time and must-do-it time to repay other species. Just for us, before everything is too late, before the universe erases ourselves out of the planet.

Further more, I do think what ethologists have done is essential and meaningful for people to know the nature in a more deeply and comprehensively way. However, I do think ethologists could do more. I believe that every ethologist loves the nature. As they behave as a researcher, meanwhile, they should behave like elocutionists whom play what they know and get from researching for all it’s worth. Reveal the raw and unsatisfied truth and history, tell people what we have got from other species, what other species have lost because of us, and teach people how to grip on reality. Tell people what and where the responsibilities are, not only focus on details, but also highlighting the nature-focused worldview and values. Come up with a relatively universal value reminds people behave themselves. The reason why they have to add this duty into their daily research work is because the world is changing and diverse. Old species keep changing or wiping out everyday, new species come out everyday either. It is almost impossible for scientists and researchers figure them all out like stripping an onion (do not misunderstand me, this attitude is critical for scientific researching), let alone thinking about the approaching big trouble ahead. Let people to believe, believe the nature like believe other religious, so that enable human behave themselves.

Here is an animation video I have seen recently. The same old feeling (when I read NG 70 million theme issue) derived from my heart again when I was watching it, which is the reason why I share it here with you. Enjoy and ask yourself something after watching.

[embed]https://vimeo.com/56093731[/embed]

All about EMPATHY

The reading material for second Interspecies class really blow my mind. I really interested and was amazed by the content in Inside the Mind of the Octopus. I admit that before I read this article, I really like eating octopus. Besides, they are cute; they could spray ink to escape (BTW, in Mario Cart, you can use them to embitter your opponents, which is so cute) from other predators; they have 8 legs (or hands) with a bunch of suckers on it; they have a big head, however, I am always wondering what is inside it (maybe just water?).

After the mind-blowing reading, I realize that how innocent I am. During the reading process, I always told to myself “WOW, this is a new one!” , which is really amazing. I put something really fun as below:

1)     Their legs might have intelligence

2)     They used to use one eye to observe like people used to use one hand to do work

3)     They have resemble eye structure as human’s

4)     The possible reason for the division on the evolving of octopus and human is human’s brain evolved onto the way, which demands to be long-lived and social beings.

When the author mentioned those octopuses are neither long-lived nor social, I felt really sorry about them. I think it is so close that they might be human (or I am supposed to be happy for them?).

“What does it feel like to be an octopus?” This is a question claimed near the end of this article, which, this kind of question, I think, should be very important for us to apply into everyday life. Before you do something, after you saw something, ask yourself: What does it feel like to be XXX? What does it feel like if XXX?

In addition, at the beginning of The Open: Man and Animal, the author mentions phenomenon that separate man from the living being.

Two articles, two views. One was written in 2011, another one is talking about the idea, which was emerged in the early time of last century. One is objective with empathy; another one is subjective with bias.

In my opinion, the reason why the former one is more close to the truth is because it is more empathetic. Bias can only blind your eyes and make illusion. Try to jump out of the stereotype and try to comprehend with different perspective and standpoint, which will bring different lights into your eyes and make you smarter. Actually, think about the human history as a whole, as the more empathetic we become, the better understanding toward the universe we got, like geocentrism, theory of evolution and so on.

Actually, before I came to ITP, when I was a design college student, my professor pointed out several times that the importance of empathy for a designer. The more empathetic you could be, the more problems you could reveal, the more problems you could resolve, and the more connective you will find with the world (different from artist).

I think, suddenly, I have got the importance of the idea of this class. Without empathy, human will be less creative even lost creativity.

Pride and Prejudice

"Pride" and "prejudice", I think they are the best two words to describe some other "species'" thinkings toward "human". They regard themselves as infallible, intelligent and the masterpiece of the nature. All they concerned is themselves, they are good at foisting their believes and emotions on us to create a lot of stuff, such as animation, movies etc. Oh! I have to mention the master who is the only expert on this topic in the world -- WALT DISNEY. You can not imagine how crazy they are. They are Drawing on Everything, from mouse to dinosaur. However, most of species they have created, to be honesty, were not what they appear to be. I have watched some of them(My owner enforce me! If I refuse to, he would disown me!!!), I have to say, most of them make no any sense to me. Some species could save the world and the universe?! WHAT THE F**K? Anyway, however, the "pride" species does enjoy them!! That is so pathetic!!

------------------------------------------------------------------------------------------------------------------------

Back to what I have learned and what I have thought after reading. So far, some ideas in When Species Meet are really interesting to me:

1) The construction of humankind, only 10% of human genomes occupy body space

2) Figures' thinking: Biological and literary or artistic come together with all of the force of lived reality

Freud: Human's law over the living

3) Fantasy of human exceptionalism

4) Companion species must instead learn to live intersectionally

"species": in proper shape and kind, like company and embodies wealth

To knot companion and species together in counter, in regard and respect is to enter the world of becoming with.

Anna Tsing:"Human nature is an interspecies relationship."

Smuts:"Changes in greetings are a change in the relationship."

With language, it's possible to lie and say we like someone when we don't. However, if the above speculations are correct, closely interacting bodies tend to tell the truth."

In my opinion, some of the ideas above have some commons with traditional Chinese philosophy, which emphasis on exploring the relationship between human and the nature, human and the universe. One of the most representative thinkings is human beings are an integral part of nature, which means human have to keep a peaceful inner-heart to exceed the limitation of five senses(vision, sense of hearing smell taste and touch) to comprehend and interact with the circumstances, in order to, inexhaustiblly, approach the ideal stage of becoming an integral part of nature.

pcpmp final notes

After the whole pcomp class learning process, I have to say that I learned a lot. Before this class, I have never learned anything about the physical computing stuff. Now, I realize that pcomp is a mighty tool for every designer making his or her ideas to be interactive and real. Two points about this class are impressive to me. The first one is the well-organized syllabus, which help me a lot. I could almost everything to start a project. Secondly, Tom is really helpful during the learning process. He always could provide pertinent and helpful suggestions to lead us a better direction or solution for our project by his Quick-wittedness.

At first, our final project was a vending machine which could detect people are coming and give people something by people doing something in front of it. We recalled that the experience when we went to some restaurants or banks, there is a bowl with candy in it. There is no this stuff on the floor. However, this “bowl” should be interactive to cater to the ITP impressive. In addition, the floor is a friendly space. Greeting with each other is the easiest way to keep this benign atmosphere. So, we came up with the idea that greeting with this box, it will open his pocket, and people could get an ITP candy from it. During this process, we thought a lot about some other interaction details. Such as, is the waving movement too simple to be interactive enough? And how to let people know this is a box you could get something in it, and how to let people have the interest to keep playing with this box again and again.

Followed by this idea, I want to make it in a Wall-E looking, because there supposed to be a kincet on the top of this box, which detects people’s movements, which will make it looks like a Wall-E. However, we changed some parts of our idea after the mid-term.

Before mid-term, I have some problems on making the mechanical structure works, for example, how to make the hinge part to open and close the pocket. I always think about the decent way. However, in the mid-term class, Tom said think about more alternative ways to make it work should be the priority. I just realized that I was in the wrong direction. After that, I built the whole inner structure in a more effective way with different thinking. This was really helped me a lot.

Also, we changed some other aspects about our design as well. We want the interaction process could be more interactive and intriguing. Instead of just waving arm to the kincect, we want to create a mini game to make the experience more interesting. Basically, the difficulty and reward are two essential elements for a game. So, we treat the “getting something from the box” as the reward of breaking game successfully. The game is like this:

At first, player is a small bubble. The rule of this game is always could eat bubbles smaller than you. If you touched the bubble (dropping from the top of the screen), which is bigger than you, players will lose their points. Eating bubbles smaller than player’s bubble, play could get the points and player’s bubble will getting bigger and bigger to eat more bigger bubbles. After accumulating certain points, the box will open his pocket for players who win the game, and players could get something from it.

Here comes the new question. In our opinion, for each time, player could only get one thing from the box. Of course, like all the vending machine, there is a stable mechanical system to guarantee this point. However, we cannot realize such function based on our knowledge right now. So, we try to find out alternative methods. First of all, limit the size of the room after opening the pocket; secondly, pocket will be closed automatically after a period of time (there is a sign to inform players to get reward within the time limitation). From user testing, a user told us if there is a sensor in the pocket to sense whether player have already taking their reward or not (by using light sensor), which is a really good idea, but not suite for our case. In this way, player could get all the reward stuff in the box easily :).

For the pocket opening and closing structure, I just use a servomotor and a length of regular cotton thread. It works pretty well. I am glad that the inner room of the box is big enough for putting all the circuits in and an inner container to take a bunch of rewards.

The only thing left is attaching the processing mini game with Arduino. We check the syllabus again and figured it out very quickly. We put the closing and opening as 0 and 1. Transfer such information into the digital port in Arduino to control the rotating of servomotor to open and close the pocket. And I really love the sound effect when servomotor is rotating.

The most helpful and meaningful thing I learned during final project is how to solve problem quickly and putting the outcome into testing as soon as possible, which could keep you effective in the upcoming iteration design process to refine your project.

In the Blink of Art

Film, as the seventh art, has a relative short history. But it blends almost all the other former six artistic forms, for example, literature, drama, painting, music, dance and sculpture. The most outstanding difference  between film and other artistic forms is film could use a much broader medium and interaction channels to convey artistic elements. Especially for recent years, more and more advanced technologies have applied in this realm to lead them applied in other realms later. But no matter how the technologies developed, 24 pics/ sec is always the same. Something changed, something did not.

In order to create a better experience, editors have to cut films into different parts and put them together. In the In the Blink of  An Eye, this statement is really interest. Just like some fictions, put different scenarios into a mixed timeline is a great way to enhance the drama effects. Meanwhile,in the Don't Worry, It's Only a Movie, the author gives his own idea:

It is all the more amazing because the instantaneous displacement achieved by the cut is not anything that we experience in ordinary life.

In the following contents, the author gives his guess about why people could accept the cut, because it resembles the way images are juxtaposed in our dreams.

I do not know the guess is right or not, but it does remind me about some scenarios already happened in many movies and might will happen in our real lives.  Begin with the publishing of  The Fifth Element, many science fiction films have some same features. One of the representative scene is people are interacting with others by using screens and interfaces popped up in the air. You can not see any facility(substance) to support such a "ridiculous" technology, and such ridiculous elements, in my opinion, enhance the dramatics in such films undoubtedly. Simultaneously, many people are engaged in bringing such scenes into our real lives.

However, the problem is, seriously, could people live in an immaterial environment, really!? Such scenes describe the people's paradoxical mentality toward the "unsatisfactory"  facts that people want to get away from the natural(material) limitation to get a "satisfied" stage of totally-self-control. However,  people have to rely on all kinds of materials to reach their goals, no matter they are materials or immaterials.

In my graduate dissertation, I did a guess about the root to such interesting contradictory thinking as well(believe me, this is the only "guess" part in my dissertation). The root is dream too. Only in dream, people could do whatever they want, without any time, space and material limitation.

However, ironically, that is it. People could only do it in dreams. In reality, which without or lack of essential clues, people will definitely get lost(because people can not perceive concrete feelings which rely on material environment to exist). I used some physiology theories to prove this phenomenon in my dissertation. Actually, the limitation comes from human's brain instead of  the technical factors. Brain rejects such objects and environments maybe genetically.

The author mentioned how to get feedback from audiences, which remind me that some methods and principles applied in production's user experience test. The author uses the medical word "referred pain" to describe this kind of effect. "They (audiences) will simply tell you where the pain is, not the source of the pain." , which is quite like Jobs' opinion.

In my opinion, a good and sensitive feeling about your idea and project is quite essential, which will save a lot of energies and times in your later work and avoid meaningless lost.

Also, I have learned some techniques about how to shoot as well. There are six essential elements in shooting work.

1) Emotion     51%

2) Story           23%

3)  Rhythm     10%

4)  Eye-trace   7%

5)  Two-dimensional place of screen   5%

6)  Three-dimensional space of action  4%

This is very useful for me, because I am a totally green hand in shooting stuff. So, what I want to shoot is too much. Usually I might fail to get what is the most essential things for expressing my true idea. Focusness is  significant to create an attractive video.

So excited about the effect of our final video & sound assignment. I hope we could all make it well!!

stop this machine?

Have found some common opinions after reading "The Machine Stops ". As a writer, E.M. Forster used his tools to remind people what the future might looks like based on such endless stupid developing path. Words inside of this article portrait a vivid picture which are full of  desperation, irony and scenarios which are weird, crazy and unexpected. However, as a writer, that is all what he can do. I think, as contemporary designers, we could do more to make a better world. Still, I have to say, I have really immerged  into the world this article created, which helped me to recalled many former reading experiences and some of my opinions about design realms.  

As early as the beginning of arts and craft movement lunched in U.K (1859--1910), William Morris argued that machine as some evil without any merit. They claimed the beauty and importance of crafts and try to rebuilt the value of it. They against with the representative of new technology-- machine, claimed that what these cold stupid noisy things can only create is ugliness. After this movement, some sounds claim that this movement is a sign that modern design is about to appear on the scene.

It has been a long time for experts disputed about the pros and cons of design in our daily life. Why is not technology? As we know, Design, as a power tool to make technologies more applicable for regular people, which always be accused as the accomplice of  business men and capitalists. These people drive designers create something attractive to provoke people to consume  resources on our earth as soon as possible. Our world machine keep operating in such fast-peace on this path for many years. Obviously, some disasters already happened, and I do think much more ahead.

What we could do? Stop this machine? But, HOW?

Sometimes, I think, like mainstream western culture with exploit spirit and aggressiveness, western design realm, in a very long time period, are served for occupying market and making profit. The outcome is there, what are accelerated not only is our living standard but also different kinds of catastrophes.

I think we concern about flaunty appearance too much. In most cases, what you could see are all false.  Lao Tz, an ancient Chinese philosopher in the Spring and Autumn Period said that "what can be spoken of is not the true one." Something we thought as reasonable usually are unreasonable at all, because it is reasonable to you not means it is reasonable to others, to environment, to our offspring.  Everyone on earth is one part of the "true", we should comply with this "true" to make our world sustainable. More people violate "true" means our society deviate from "true" more.

What is this "true"? The answer is you will never know what is the "true" exactly. BUT, human could close to the "true" infinitely. The approach to close to it might be love our nature, keep sympathetic, try your best to have a clear mind could see the essence through the appearance.

recommended reading : Design For the Real World, Victor Papanek.

E-TOMB reddot design award project

Many people in China concern a lot about the question that how to give their QQ number (some of their numbers worth a lot of money) an end. Clearly that we are living in a digital era where we spend a lot of our money, energies and emotions on Internet. Everyone is creating their own immaterial heritage on different platforms every moment.

So, this is a quite serious question that how to deal with our immaterial traces after our deaths?

Here is our teams' answer.

Team numbers are RanMo, Jianbo Huang, Xiangfei Ran, Ting Zhao, Yushan Wang, from Jiangnan University.

image description image description image description image description image description image description image description image description

Next-Door Veggies

This is a project focused on building mutual trust between people, making full use of surplus resources, digging the power of social innovation and making our world more sustainable. image description image description image description image description image description image description image description image description image description

Linefit

Another project puts emphasis on surplus resources in our daily lives. I believe that when a bunch of people gather together, they could form an energy. What is the energy exactly? I don't know. BUT, you will definitely could feel that kind of energy if you were one of them (with the same purposes or interests). Just think about the experience you attended in your favorite singer's solo concert last time. image description image description image description image description image description image description

i-Masks

An photo processing app with the theme of Peking Opera Facial Makeup. We want to use this app to propagate traditional Chinese opera culture. Check it out at http://itunes.apple.com/us/app/id511264180 or search "iMasks" in APP Store.

image description image description image description image description image description image description image description image description image description image description