The Waiting Game: Submit Button Feedback

26 March, 2025
Tags: 

Submit buttons are used often, so perhaps we can explore making them more engaging. A key characteristic common to nearly all submit buttons is their initiation of asynchronous requests.

Synchronous operations are exceedingly rare. This implies users typically need to wait for the process to complete before re-submitting, or further submissions might be disabled altogether (though that's a separate issue). Essentially, we're dealing with an action that requires time, necessitating user patience until completion. While users aren't strictly obligated to wait, this is the usual workflow.

Let's consider a straightforward, albeit potentially naive, approach. We could design a submit button that displays a loading animation and simultaneously prevents further clicks during processing.

For instance (click on it):

Submit
Done

Yes this concept isn't novel. However, it faces practical limitations. Firstly, APIs rarely provide the granular progress data needed for such a visual indicator. Secondly, even if such data were available, a progress bar is pointless for very fast requests.

Therefore, we need to address this issue differently. This situation does not necessarily require us to provide an exact completion time for the request. We can safely assume it will finish relatively soon. Instead, we should focus on providing the user with some form of feedback. The website should feel interactive and responsive. It doesn't need to provide perfectly accurate feedback about the ongoing requests, but it should be eventually accurate.

Hence, let's simply provide feedback that something is happening. It doesn't need to be elaborate or animated like a Disney movie. It just needs to be clear for the user and provide a sense of control.

It could be a simple circle animation:

Submit 01
Done

Or even simpler: three dots indicating "Loading..."

Loading
Submit 02
Done

Both of these options accomplish what we need—providing feedback that something is happening behind the scenes and preventing the user from clicking the button again up until the process is finished.

My view is that while animations enhance visual engagement, the scarcity of progress bar animations is understandable. I've rarely encountered them in real-world applications. Server-side implementation is challenging, and more importantly, they often don't significantly improve user experience.