We usually recognize a clock almost instantly. Numbers arranged in a circle. Two hands. A digital display. Maybe a blinking colon. The visual language is so familiar that we rarely think about the design decisions behind it.
But what happens if you remove the numbers?
Or the hands?
Or the expectation that time needs to be displayed as something we can read immediately?
For a Creative Coding assignment at NYU, I explored the idea of an abstract clock using p5.js.
The brief challenged us to create a visual system that could repeat across a 24-hour cycle without relying on conventional clock numerals. I found the question surprisingly interesting.
Time is information. But it’s also an experience.
A traditional clock is designed to communicate a specific value. It’s efficient because we’ve learned how to interpret its visual language. An abstract clock asks a slightly different question.
Could time be represented through expanding shapes, changing positions, shifting colors, or repeated movement?
Could someone recognize that time was passing without immediately knowing the exact minute?
And at what point does an interesting visual representation stop being a useful clock?
Those questions became the starting point for my exploration.
Designing a visual language.
The challenge wasn’t simply to replace numbers with shapes. I needed to think about how a visual system could distinguish hours, minutes, and seconds, and how those changes might relate to one another. I explored the use of p5.js time functions and visual behaviors that change continuously.
Creative coding made it possible to test relationships quickly. A variable could control rotation. Another could influence scale or position. Changing a mapping could make the entire composition behave differently. What I found interesting was how small mathematical decisions could produce very different visual experiences.
A system might be technically accurate but visually confusing. Another might be beautiful to watch but difficult to interpret as time.
When usability and expression pull in different directions.
This experiment also made me think about the relationship between functional clarity and visual expression. In most interface work, I want people to understand what they’re looking at with as little unnecessary effort as possible. But creative experiments can deliberately challenge that expectation. An abstract clock doesn’t necessarily need to replace the clock on someone’s phone. It can be an investigation into how we perceive rhythm, duration, and change.
I like that distinction.
Not every exploration has to become a practical product feature. Sometimes experimenting with communication itself helps us understand why familiar design conventions exist.
Still exploring.
Creative coding has helped me become more comfortable moving between logic and visual intuition. The code defines the behavior, but I still need to decide whether that behavior communicates something meaningful. And sometimes the most interesting part isn’t the answer. It’s realizing how many assumptions were built into the original question.
What I took away: We don’t always need to reinvent familiar interfaces, but trying to can teach us a lot about why they work.

