Sunday, December 21, 2008

[Final] If I Controlled the Internet - Collaborative Storytelling

If I Controlled the Internet is a web application that allows people record single words and collaboratively tell a story or more in general collaboratively playback user-generated recorded content.

Nowadays the Internet has been used as a collaboration tool in many ways - production, music writing, gaming, art, communication, blogging, etc. But the activity of telling a story or anything has remained one-to-one or one-to-many -- one person tells something and one other person(s) listen. So I've been thinking what it looks like if many people could tell a same story and what this could be used for.

A story is composed of words, just like a drawing is composed of strokes. If people can collaboratively draw an art work by each person drawing single strokes, then people could collaboratively tell a story by each person saying single words. So I came up this idea of creating a web application where anyone can choose and record individual words, thus people create a library of recordings of words collaboratively, and anyone can playback the whole story from the library of recordings.

"If I controlled the Internet" is a peom of Rives. I used it as the content for this application is because 1) I like this peom a lot and 2) This poem is about imagination, everyone may have some dream of controlling the Internet, and I want this content to encourage more people to participate recording.

The following image shows the beginning interface. In the center is the content to record - "If I Controlled the Internet". To record a single word is started by clicking the intended word and that word becomes blue, "controlled" in this case.

A prompt pops up. To start recording, click "Record". Click "Replay" to see if satisfied with this recording. When satified with this recording, click "Save" to finish recording this word. If not satisfied, click "Cancel".
When click the big play button on the top left, the whole content will be played back altogether. Each time of playback will randomly pick up one recording from all recordings of a same word. For example, if there are ten recordings of the word "controlled", each time of playback will randomly pick one from the ten recordings to playback. There are five words in total, so altogether a user will hear different recording everytime he/she playback the whole content.


To encourage and engage more participants, this application also allows people to SMS in what they would do if they controlled the Internet, and the messages along with last four digits of their phone number will show up under the line "If I Controlled the Internet", as shown in the following image. In the future, I want to make users' messages also recordable and can be playback.




Wednesday, November 19, 2008

Final Proposal

Project Title:
Twittercovery

What It Is:
A mobile application running on a GPS and Internet enabled mobile phone.

How It Works:
With this application Twittercovery launched on his cellphone while walking on the street or riding a bus, one can and only discover the tweets of people around him within a radius set by preference(eg. 100 feet). If a person has intersected with another person for 3 times, they are allowed to add friend with or "follow" each other.

Background:
Nowadays, the world is all about "be connected" and "always on". The Internet makes it possible and easy to have two people connected across the earth in the form of IM, blog, social network, SMS, voice message. This brings us a lot of convinience and usefulness. However, the physical proximity makes social connection more meaningful and motivative. Also, the randomness of discovering and meeting people adds more interestingness to our lives.

Reference:
Twitter API - http://apiwiki.twitter.com/
Flashlite GPS capability - http://wiki.kunerilite.net/index.php?title=GPS_plugin

Development Plan:
First try to get KuneriLite's GPS plugin to work in Flashlite;
Second try to get Twitter API to work in Flashlite - to show "Friends" tweets in Flashlite;
Third...probably to work on database to associate user's Twitter account with GPS coordinates;
Fourth...

Monday, November 10, 2008

Final Project - Idea #1

The original concept was from a prototype I did for Mobile Application Design class before. It was about location-aware micro-blogging. Since twitter has been so much widely used as micro-blogging tool, now I want to change it a little bit.

So my idea is location-aware Twitter. What does it mean? It is a mobile application running on a GPS and internet enabled mobile phone. With it, as one walking on the street or taking a bus, he can discover the bits of lives from the people around him, as if people are carrying their micro-blog or "tweets" with them as they travel space in the city. Because you can discover other people's tweets only when you are physically close to them, both of you have a shared context at that time, thus some people might be particular interests of you. For example, you go to a live concert, the people there are more likely have a similar music taste with you.

To be more interestingly, I want to add the randomness factor into this concept. Nowadays, the world is all about "connecting", "always on"; you can always connect to someone this or that way no matter he is currently online or offline. You can send a offline IM message, you can leave a comment on someone's blog when he is not online, you can send a SMS to your friend when he turns off his phone. But I think the nature of live is randomness, it is the unexpected things make our lives especially interesting and exciting. So in terms of this project, I want people not being able to view one's tweets if that person walks out of your range(say a block away), and you can only "follow" a person when that person has come into your range 3 times. This for sure makes the "connecting" harder and seems going to the opposite direction of online world, but this is not a replacement of current social network tools, this is just to add something unexpected to your life.

Monday, November 3, 2008

Midterm - Video Canvas

Video Canvas
http://unwiredd.com/garage/VideoCanvas/VideoCanvas.html

Video Canvas is a group doodling fun tool that allows you to doodle on the face of the person you choose. After joining in, it's as easy as choose color and size of your brush and just enjoy the fun of doodling on your friend's face in a live video. So be careful your "model" may move his position, but if you don't shout out your friend will never have idea who is doodling on him or her and what it looks like. After you've finished your artwork, you can send it to him/her through email. That might be one of the best artwork you've ever created! If you want to have more fun, just select another person from the list and create the next art piece! Don't forget to fresh the list, because more people may keep joining in!


STEPS
1. Put in a nickname for yourself
2. Hit "connect" and allow your web camera to be used
3. Click a name to doodle on
4. Choose your brush's color and size, can always change color and size
5. Feel free to doodle and enjoy your artwork
6. Satisfied with your artwork? Email to him/her!



Fun Elements
[Anonymous drawing] - When a person is enjoying drawing on other people, he has no idea he himself is being drawn on by whom
[Environment] - People are drawing in a museum-feeling environment and on a canvas on the wall
[Email] - Email adds the fun to just doodling, but also it generates something which can be actually seen by the creator and the person been drawn on


Tech

The front end is a Flex app which connects with a FMS on the server. The Flex app works both as a live video broadcaster and a receiver. Each user broadcasts himself to others in the room, meanwhile he receives a live video from another person(could be himself too). The user can easily tune in different person by clicking a person's name, and can change anytime while they are drawing. The server side stores a list of all streams coming in, and keeps adding new ones as new person comes in.



Feel free to have some friends come to join and try it out!
http://unwiredd.com/garage/VideoCanvas/VideoCanvas.html

Control the background image with AJAX and PHP

The assignment was "to create an application which allows you to control and change the content that someone else is viewing on your site". So what I wanted to do is to change some visual elements (eg. background color, background image, text size, etc...) when someone else is visiting my web page or reading my blog.

So I created a kind of admin page where I can input a command, this is the visual element I want to change(eg. "bg" is for changing background image), and also a value, which is the value to be changed to. For example, I can put in "bg" in the command field and "http://www.flash-screen.com/flashgallerybuilder/images/christmas-snow.jpg" in the value field for the background image's url.

The admin page is at here http://unwiredd.com/garage/liveweb/admin.php

And the page audience should visit is here http://unwiredd.com/garage/liveweb/mypage.html


So just go to the admin page and put in "bg" and a url of any image on the internet, the people visiting the page http://unwiredd.com/garage/liveweb/mypage.html should see the background image changes immediately.

What I'm also thinking about after the introduction of TextMarks in class is that it is also possible that the admin can send a pair of command and value in a SMS, and then people should see the changes on the page they are visiting immediately.

Thursday, October 9, 2008

Midterm idea

I want to create a flash video broadcaster which allows the user to move the camera viewport and zoom in/out using hand gestures, and also a flash video streaming client which shows the audience the corresponding view.

This could be useful when people doing presentation or show want the audience to focus on certain things, such as projection or objects in his hand, etc.

I did a lot of research and found this is not something could be done easily, because stream systems assume something like this should be the job of the person who's shooting the video rather than the presenter, and they just take whatever coming from the camera and stream it to the server. But limited by resources often times when live broadcasting there is only the fixed camera without anyone manages it.

So I think this is useful because it enables the presenter controls the streaming content freely and easily while he is still presenting.

Wednesday, October 1, 2008

AIR broadcaster

Working on my flash video broadcaster and client. What I wanted to do is to add some flexibility for people who broadcast without constraining in a web page, because usually when people broadcasting they still want to access and work with their local files. So I re-write the AS2 example of broadcaster into a AS3 one so that I can publish it to a AIR application, which sitting on top of any other windows on desktop. This is done, but I also want to add some fun element to it, like broadcaster can drop some interesting animation effect on their live video streaming so audience can see. I need to continue work on this.

Came across this flash video chat software on here http://www.avchat.net/ . Click the link says AVChat 2. It's flash and it has live video, text chatting and chat rooms and some other feature. It's a commercial software which costs $399 for unlimited users version. But they have a free demo people can try, I tried it and it looked not bad.