Designing the push button widget

Design Thinking

4 Hour Sprint

Prototyping

The Context

A push button widget for Vec-TR

We were tasked to design a new dashboard widget for Vec-TR - a push button.

The push button widget will be used to send a command to a remote vehicle or device. Unlike a toggle that sends ON or OFF command alternatively, the push button will be used to send the same command every time it will be used.

Sounds easy? Actually, it isn't. Getting this wrong meant operators would press it multiple times — flooding a vehicle with duplicate commands because they weren't sure the first one went through. The feedback had to be absolutely clear.

The real design challenge

How do we represent a physical, consequential action accurately inside a digital canvas with enough confidence that an operator won't press it multiple times?

Let's see how we solved it.

The Approach

Anatomy of a push button

Instead of jumping straight into Figma, we spent time looking at real push buttons — industrial panels, elevator controls, machinery — and asked: what actually makes a button feel like a button?

We landed on five things that every physical push button has.

This framework became our filter. Everything in the final design had to map to one of these five properties. Anything that didn't was decoration — and decoration had no place in an operator-facing control widget.

Anything more than these five elements is decoration. And in an interface controlling a real device, decoration is noise.

The design

Finding the perfect design

We explored a few shapes in Figma — square, hexagonal, round. Round won. It's the most universally legible button form, no explanation needed.

Each of the five properties got its digital translation: a circular frame for the ring, an inset face with a visible gap, three horizontal dashes on the face mimicking tactile ridges, and a colored light ring for feedback — just like the indicator lamp on a physical industrial button.

The Hard Part

Engineering the right interaction

This was probably the most demanding but definitely the most rewarding phase of this activity.

We cracked the design of the static component. But in motion, it felt wrong. The press registered, the light flashed, and everything snapped back to its resting state in a fraction of a second. It looked like a toggle being flicked, not a command being sent to a machine on the road.

Try it yourself.

Click/Touch Me!

The problem was consequence. A button that controls a remote vehicle needs to feel like it carries weight. The feedback had to communicate: something happened, and it's been acknowledged.

We arrived at a three-part interaction model:

The Push

When the user clicks on the button, the widget has to immediately indicate that the it is being pushed.

The Release

When the user releases the click, the widget has to immediately indicate that the it is being released.

The Acknowledgment

After the release, the widget should also offer a sense of acknowledgment to user, and this should not be easy to miss.

So, we experimented with different push states, different light transitions, delays between push and acknowledgement. Some of which you can try below.

Click/Touch on the button to test each iteration.

What we found that, a lingering light after the release adequately indicates the acknowledgement and also carries the weight that we are looking for.

The Final Prototype

Best among all

Just test it and compare it yourself. Isn't it the best one till now? The perfect push, release and the perfect acknowledgement.

The Final Solution

It works perfectly because, on push, the button shrinks and LED ring glows. And, on release, the button comes to its original size but the LED glow fades out slowly - providing acknowledgement and weight to the action that the user just performed.

Just test it and compare it yourself. The perfect push, release and the perfect acknowledgement.

The First Prototype

The Final Solution

The shrink and snap-back says "you pressed it." The lingering light says "it's been received." Two different jobs, two different timings.

The Takeaway

Small surface, serious thinking

The lesson from this project wasn't really about buttons. It was about resisting the urge to jump to a solution. Because we took the time to understand what a button actually is before designing one, every decision after that was faster and more grounded.

However small the brief, the design process deserves the same rigour.

Fin.