The designer's fever of beautification and its traps
Designing is one of the most amazing disciplines anyone would love to practice. The exercise of creating and beautifying one's works is just great.
No matter the discipline of design you are into, you tend to love perfection, which lays the trap of this work. As far as we -web designers- are concerned, creating an interface can involve a lot: UX, IxD, UI, etc. Besides, the feeling of the project managers or owners can be a serious case.
Meeting feelings is a complicated task. And when it happens that you keep on feeling your art and applying changes, you fall into an infinite circle. I call that, The designer's fever of beautification.
This isn't the first time somebody talks about it. Denise R. Jacobs calls this phenomenon Perfectionism And Procrastination.
I have come to realize recently how hard it has become for me to determine when I am satisfied with my work or not. I wake up every day to continue from where I stopped the previous day but to realize what I did yesterday is not what I want today. An infinite loop between my accomplishments and my desire to perfection.
I also worked with clients who were like me. They, plus me, become a duo against ourselves. We keep on bringing in more ideas and improvements to reach perfection which doesn't exist anywhere.
Perfection is always like tomorrow, which is always one step ahead. You see it but, you can't touch it.
How many times have you broken down a design with the idea of making a better one? At what time? In the end, you might end up with something, but not the perfect one. You might call it that way, but I bet you, that's a name to convince yourself to finally stop somewhere because you are somewhat tired. In the end, you lose time and energy, just trying to reach somewhere.
It's good to look for perfection. In time, it makes you the perfect guy, but not the perfectionist of your work. At a moment you need to stop and say, yes, let me go for this, at least, for now.
This is also applied to coding. You need to reach the "it works" level. Then, you can think of improving. And the more you improve the more obvious new lacuna appear.
My current technique is to go for a functional product. Then fix the most obvious bugs. After that, collect your sample data from the first use case or users. Based on that, make your first improvements. From there I can repeat the process.