Hourface
- 2008
- Art Gallery of Greater Victoria: September 26, 2008 to January 11, 2009
- In collaboration with: Yoko Takashima
- This software is free software, licensed under the GPL 3.
Hourface is a Processing based Java software project intended for use as an interactive video art installation. It was created in collaboration with Yoko Takashima for a show called Blend at the Art Gallery of Greater Victoria.
Description
Hourface displays two movies inside an hourglass shape; one of Yoko singing "Fly Me To The Moon", the other of her daughter singing "Twinkle, Twinkle Little Star". Each pixel of the movies acts as a grain of sand, flowing between the two halves of the hourglass. The orientation of the hourglass can be controlled with a custom-made hourglass controller (we used a large wooden with the top half painted bright orange and the bottom half painted bright green) and a Logitech® QuickCam® Pro 9000 webcam. As you turn the hourglass it creates the sounds of the sand moving and adjusts the volume and position of the movie sounds (Yoko and her daughter singing) so that Yoko's singing comes from the direction corresponding to where her face is in the hourglass. The soundscape also changes based on the state of the hourglass and the input from the controller.
Media
This video gives a brief demonstration of version 1.0 of Hourface that was shown publicly at the AGGV. (Sadly the audio quality and sync are really bad.)
You can also right-click on and download the high-quality video from my site.
Development
These videos showing how the project evolved. (These are all mpeg2 videos. Right-click or command-click and then save.)
-
April 21:
-
April 29:
-
April 30:
-
May 1:
-
June 7:
First sand physics
After researching granular flow and rigid body physics we now have something that starts to be useful for the final software.
-
June 19:
Improved sand and simple rotation
Improved sand physics with simple rotation. Currently the sand only really works properly while the hourglass is upright, but at least the entire thing is rotating now.
-
June 27:
-
June 29:
Debugging example
An example of what my "debugging" view of the hourglass looks like. This has the latest updates to rotation so that particles are (finally) being selected from the bottom up after rotation (although only in 4 directions).
-
July 8:
Sand physics beta
The sand physics is finally all debugged and now just needs more tweaking to get the feel right. There are a few issues that I may address later if I have time but this is approximately what it will look like in the final installation.
-
July 19:
Rotation with rotating faces
The faces now rotate and the pixel sand updates its color according to the rotated faces.
-
July 23:
Webcam rotation example
First example of webcam computer vision detecting a mock hourglass and rotating the on-screen hourglass.
-
July 30:
Face movies
First example of the faces being a movie rather than a still frame. The bad news? Framerate is between 1 and 2 fps. Ouch. Hopefully optimization and a faster machine will help. Alot.
Other Software and Thanks
-
Processing (0148)
- should work on 1.0+ but untested
- many thanks to Ben Fry, Casey Reas and everyone at processing.org
-
GSVideo
- I have modified gsvideo although some of that code may now be included in the main version
- many, many thanks to Andrés Colubri for all his help
-
GStreamer for Java
- used version 0.8, but there were bugs with this still
- thanks to the forums for help
-
JMyron
- I have modified JMyron to run faster and only do what I need it to do
- webcams are nasty, finicky, horrible things,... don't use them
- this library is old and needs a lot of work
-
Minim
- many thanks to Damien for answering questions and bug fixes
- I believe this is now part of Processing?
FAQ
Can you help me with <insert problem with code here>?
Probably not. Sorry. I'd love to help, but I'm usually too busy to be much use. You can try emailing me and hope for the best.
This code is terrible and out-of-date.
Yes. This is not an ongoing project, this is the duct-taped, just-finished-in-time, now-on-to-other-things version.
Can I use this for my own project?
Basically. This software is free software, licensed under the GPL 3. Just don't claim it as your own. Really, the code is just here because I promised myself I'd make it public, I don't expect anyone to use it, no one deserves that suffering. Feel free to grab bits of it (but remember the GPL requirements), or get inspired to something similar but even cooler.
If you'd like to have this set up in your gallery or other public space please contact me and we can work something out.
Wow, sand physics! I thought that was an area of open research?
Yes, it is. And no, the sand "physics" involved in this code has nothing to do with physics. I was only trying to make it look like each pixel was colliding with each other, stacking up, avalanching, and generally looking sand-like. There was precious little math involved and mostly trial and error. Think "painting of sand" not mathematics of sand.
Why didn't you just use math?
Yes, well. That seems a bit too easy doesn't it? I was looking to reduce the amount of calculations involved because it was already running slowly and there was only so much I could learn and figure out before the deadline. Please write something better and faster and I'd be happy to use it next time.



