Video Playback System

We were asked to start building our own video playback. I played with the brcosa, plane, and random a lot.

Below are some of the playback attempts I made.

Some of the problems I encountered:
1. Confused on where to connect the nodes
2. Playback speed not in realtime due to CPU limitation
3. Outputing multiple effects into a window
4. Switching between different videos

Bias Resume Shredder

For disobedient electronics, I build a shredder that shreds resume of applicant who fails to meet the “hidden” criteria. The definition of a qualified candidate has been blurry in a job hunt, especially in Taiwan. Western people have a higher chance of getting an english teaching position in nursery schools, not because they are more skillful at the language but because they are Caucasian. A pregnant applicant gets rejected because she is expecting to miss a few weeks of work due to labor or maternity issue, which then will cause a great impact on the company’s profit. Furthermore, older people were perceive to be less productive, less creative, and have more health problems.

The shredder has three inputs – age, gender, race. It decides whether to trigger the shredder depending on your input combinations.

Arduino Source Code:


Moving Imagery

For first week’s assignment, we were asked to took some videos that has design context in it. It is quite hard to not capture people. I took some that are materials related and some that has a main focus or subject.

Evocative Toys

No, my evocative toy was not a laptop. It was not even popular at that time.(I hate to admit that I am old). Just want to point out how undecorative my laptop was judging from the obsession I had over stickers when I was a kid. I guess the 7-year-old me would despise me for this.

Back in grade school, I remember sitting in class. We were having lessons, but I can’t pay attention at all. My friend and I were too busy browsing the sticker albums beneath us. Hiding it under the table so the teacher would not see us; admiring each other’s collections and exchanging stories on where we got them. We would trade off Ragnarok with Sanrio, Cardcaptor Sakura with Sailormoon, Power Rangers with Pokemon.

My brother and I would rush straight to our rooms whenever we got new stickers; whether that be I-behave-in-checkup-session-today sticker from the dentist, or I-did-great-in-exams sticker from our teacher. Part of the fun was to compete who can stick it straight, tidy, and fast! The trick was to always reference the alignment along the edges. Another criteria was to also maximize the space, rearranging them over and over again so they fall along some category, pattern, or theme. All in all I have 4 sticker albums. I still kept them inside my drawer back home.

This journal is making me nostalgic.

(Sample image from user dogboneart on flicker)

Pomodoro Clock

Our homework for this week was to build a clock with controls. I decided to make a pomodoro clock using MKRZero and the rotary encoder. When the rotary is turned, it sets the seconds and time value. When the encoder is clicked, it sets the alarm to work.

Problems encountered
1. was to limit the numbers with a rotary by using a self counter
2. originally I intended to have it respond to a longer button press to start the timer instead of doing
3. p5 indata that sleeps the display of the computer

Order more claw

For our first homework, we were asked to build a critical object. Adi and I listed down topics we have in mind, some of these were capitalism, addiction over smartphone, online shopping waste creation, and household food waste. At the end of the day, we decided to dealt with the online shopping topic since it is relatable to both of us.

The evolution of online shopping has increase drastically over the past decade. It’s easier than ever to shop a wide variety of goods, from clothing, electronics, to daily consumables. However, all these comes with a consequence. The creation of excess waste through packaging, especially cardboards.

It is an easy-to-find material even in ITP floor. We find different sizes of cardboards and stacked them inside one another, similar to Russian doll method, pointing out how frequent online shopping happens in our life. Inside the smallest box is button with “order more boxes” label , implying the cycle that is never ending.

Tinkle, part 1/2 – installation

For the past few weeks, we have been play-testing a lot. Based from users feedback, we decided to rip-off the message-recording portion. Simplify the interaction to user enters, sits and hears a message, then leaves.

Process: Fabrication
We decided to hacked the toilet instead of getting a real one. We search through target, bed bath and beyond, and china town for stools. But none of them has the height and shape we want.

Then we came across this camping porta-potty from Amazon. It was perfect. We replaced its upper sitting area with an actual toilet seat. Coated it with a warm hue of pink. It was funny to this announcement from Pantone a few days after our spray-paint session.

Process: Code
We used Arduino to send out data from the sensors and P5 to play our pre-recorded message. For the sensors, we know that we need a distance sensor at the entrance to determine the enter state of user. A photocell inside the toilet bowl to determine the standing and sitting states. The photocell works likes a charm, but the ultrasonic sonar distance sensor is giving unstable values that we had to change to IR sensor.

After we have tested all the sensors. We attempted to put it onto a solderable breadboard to lessen the amount of space consumed, but we failed. This was one day before the winter show. So we went back to the normal ones.

Presentation &  Winter Show
The two-day winter show has been fun. A number of users tested our project and they seemed to like it. The longest record people sit inside it is around 5-minutes after the recording stops.

Tinkle, part 2/2 – website

For ICM finals, I extended our PCOMP project, Tinkle, into a website. The idea is to make user rethink about this intimate space we inhabit every day, and let our thoughts freely flow while on it. After visiting the physical toilet we build, participants either leave messages down or listen to other people’s thoughts, through the website. Thoughts could be random, from daily happenings to life expectancies.


I drafted the wireframe and make sure the two major functions are clearly presented to users . P5 voice recognition, sound library, and WebGL techniques were implemented into the sketch. The WebGL was painful to work with since my laptop was too old to support any fancy new web technology. The workaround for that is to use Firefox and run local server.

General Feedbacks after Play-test:
– Add background music over voice over
– Make sound visualization more cohesive to sound waves or equalizer
– Simplify the interaction: physical toilet guides the user to think, while website focus on recordings

The ultimate versions of this website will probably looks like this image from Trainspotting movie.

Playtest and More

In preparation of the play-test, Suzanne and I cut out a toilet-shaped seat and lid and put them on top of a chair. We agreed that the piece should be isolated in some way; whether enclose it with cardboard, a curtain, or install it near a corner.

System Diagram

Above is the system diagram. User enters and sits on the toilet. Once they are sitted, the sound piece will be played. They hear the piece and record a response. They get a note from the toilet then exits.

Questions Still Need Figure Out:
Do user get a printed message before they end the experience?
Do we want them to be able to hear their own recordings?
Or does it make more sense to play other people message?

BOM, Timeline