What’s the most intriguing discovery I’ve made after several years in UI/UX design?
Well, when articulated, it lacks a certain elegance: being a good interface designer is indeed extremely challenging.
Here, I have two main considerations:
Being a designer means living in a world where the essence of your daily routine involves an unstoppable decision-making process. And most of those decisions cannot be validated by something undeniable, such as the laws of mathematics or physics.
There are, of course, patterns, best practices, and common approaches to doing something, each with its own distinctive way. But there will always be a shadow lingering, a dark area of uncertainty concealed in every step you take — a natural aspect when dealing with products designed for human beings.
The dark area of uncertainty means that every design solution, no matter how convinced you are about it and no matter how positive the analytics and numbers are, carries the opportunity of its own opposites inside.
The perfect interface is, after all, no interface. As a designer, you will never know with a hundred percent certainty whether you have proposed the best solution or simply a ‘solution that turned out to be good enough’ at a given moment.
Moreover, there may not even be such a thing as the ‘best solution’ at all. The world of design patterns is an ever-changing, fragile river, and, as Heraclitus used to say, ‘you cannot step into the same river twice’ — with the caveat that you can barely step into the same design river even once.
Apart from the ultimate uncertainty, there’s another aspect. If you want to build a consistent system, all its parts must match and harmonically work together, mutually included. But every specific design decision you make has its own distinct ‘temper’.
When deciding to create a component in a certain way, a designer simultaneously and inevitably forms a branching tree of multiple, self-limiting, unique design consequences that could significantly impact a digital product far into the future. And for every, even small, variation of the initial component, the tree of those consequences can be markedly different.
For example, opting for 100% corner rounding for buttons can later lead to alignment issues and create additional visual imperfections across various interface areas. The more primitive the component is, the greater the impact it may have.
Thus, when making a decision in design, a good designer must synchronously hold in mind and calculate dozens of potential constraints, intersections, parallel interactions, and usage scenarios of the proposed decision with all other potential decisions the designer may want to introduce later.
They must also consider numerous possible interactions of the component with already existing components, ensuring these interactions are harmonious and consistent — taking into account the invisible, submerged part of the iceberg that is often unknown to those around.
This is precisely why designing a simple button or context menu can take so much time, and many people around may not understand what this time is spent on.
In conclusion: being a good interface designer means sharing and actively practicing the philosophical principle of universal connection — nothing stands by itself; everything is connected, and the echo of today’s choices will unavoidably haunt you in the future.
It all makes the life of a designer subtle, full of hesitations and manifestations of imposter syndrome. But it should not catch us by surprise: after all, our task is impossible to completely fulfill — to set up the laws of a structure in the realm of human nature, which is unpredictable, mysterious, and, in the end, inconceivable from a scientific perspective, no matter how much data we were lucky to collect.