Enchanted Window

An interactive, simulated window that the user can change the outside weather.


Enchanted Window is an installation prototype of digital spatial interactions. The project explores the possibility of a digital window that allows people to interact with it by using their hand gestures. It makes use of a camera-projection system to render simulated environments.


To build a prototype for spatial interactions in an immersive environment. The prototype, therefore, would contribute to an experience which is inviting, playful and joyous to interact with.


People have their own favorite weather. 

However, they cannot experience the favorite weather at any time.

Like Sarah, she lives in Palm Springs, California. It's not easy for her to see a raining day. 

Experience it by video

The video shows a user how to change a weather mode by touch a screen. And it also shows when the user changes her hand gesture, the strength of the sunshine and rain will change as well. 



The computer receives actions from its camera and the human (via iPhone) and then translates them to projection on the whiteboard or wall.


The projectors displays the simulated window rendered by the computer.

Phone (Tramontana)

The iPhone app can detect user gesture and translate the information to the computer via Wifi.

iPad (Tramontana)

The iPad app can detect the user's touch on the screen and translate the information to the computer via Wifi.

Bring it to the real world

The Chinese Culture Center of San Francisco(CCC) invited me to show this design work at the Chinatown annual music festival.


In the three hours of the festival, over 50 tourists came to play with Enchanted Window and loved it.


Don’t reinvent the wheel

I looked for existing resources and tools that may help solve common, basic problems like setting up a network connection. I then was able to spend more time on the unique challenges of this project.

Try different solutions 

I did not commit to a single direction early in the project. I tested other ideas with quick prototypes and then chose the one that was the most promising.  

Learn by doing

I was not familiar with Processing before this project. I read tutorials and help documents whenever I thought I needed to learn more during the project. Learning a new technology while having a problem to solve was really effective for me.

Test with users

I brought the project to the real world and invited people to just play with it. I collected lots of useful feedback that I would never come up with on my own.

Previous project

Next project