Experimental Clock

link to code


With my experimental clock, I delve into the concepts of time and sleep. Human beings spend a lot of their time sleeping. Many people believe sleep is a hurdle to overcome. This is why students pull all-nighters, people stay up watching TV shows, and going to bars. Does going out, watching movies, and doing homework feel more productive than sleeping? Is sleep a waste of time? Do we fear the passing of time as we sleep, or do we sleep to avoid the passing of time?

Design Process

My code begins with pulsating circles over a black background, inviting the viewer to inspect the canvas further. Upon hovering over the center, an eye opens with my experimental clock inside. Each arc inside the eye represents a different measurement of time: hours, minutes, and seconds. In this code, the viewer must wake the eye up to see the time, similar to how we might wake up from a nap to check our alarms. When the eye is closed, there is no acknowledgement of time passing. The background of the sketch features the ancient Greek midnight poem. It has been slightly altered to include the current time, immersing the viewer.

Before beginning the project, the following were my three design sketches:

In the end, I was most intriqued by the eye motif. I felt the eye best represented sleeping, as we shut our eyes to sleep. Furthermore, I adapted the idea with the slowly expanding circle into the eye for the pupil. The breathing circle nudges the viewer into introspection, as its repetition and slow movements have a calming effect.


Overall, it's very hard to think of time as anything other than the system that we now know. The easiest way for me to tackle time is to think of how sleep influences time. For example, our sleeping hours are much different to the hours we live when we are awake. An hour in realtime can just be a second in a dream.

The biggest thing I learned when designing my unconventional clock is to map the mouseX and mouseY movements so that the eye opened and closed as you hover towards and away from the center. This requires variables, map(), and if else statements.


The assignment can be found here from the Critical Computation course website.