
Progressive simplification
The article was published on LayerVault and was translated specifically for Habrahabr.

To begin with, it is worth noting that, firstly, you probably already came across the idea of simplifying design, since it is from it that the basic principles of flat design follow. And secondly, the tips below will not help much if you have a low-quality product.
So, the essence of the idea of progressive simplification lies in the fact that usability is not in one particular point. Over time, the user begins to better navigate the application, so the product interface should change for this user.
User interface developers have the concept of “hand-holding”, which means literally “lead the user by the hand”, for example, to familiarize him with the user interface, or with functionality. For this, various methods are used, such as large icons, captions under them, tooltips, color accents, etc.
Sometimes designers neglect the need for hand holding and develop user interfaces right away for advanced users, visually simplifying the design as much as possible. But if you overdo it, it can lead to failure. Some designers, as the product lasts on the market, gradually change the user interface, focusing on experienced users. On the other hand, an alternative strategy of blindly following basic usability heuristics will better interface with new users.
In the case of the progressive simplification method, we focus not on a group of users with certain experience, but on the fact that the experience of each user tends to change. Therefore, with progressive simplification, our interface will gradually change, adapting to each individual user, moving him from onboarding to a more advanced use of the product.
When a person uses some function of the application, after several times he will already know for sure what a particular button is doing, and he will not need hints. Over time, the user remembers what the icon on the button that he uses means, and later remembers its location. Therefore, as the user interacts with different functions, the application interface must adapt to his user experience.
To implement this idea, your application should track the interaction of users with its elements and save the received data in a “proficiency profile”, which will be set up for each individual user.

The example above shows the “Signpost” button, which is first implemented as a large icon with a signature. When a person uses it a certain number of times, the inscription is removed from the button. When the user demonstrates his "experience" in the interface, this button generally ceases to stand out. You can also use other simplification options, whether changing the icon, size, contrast, colors, and so on.
The main goal is to make it easier for an inexperienced user to understand the interface, and for an experienced user to unload the interface from unnecessary elements, which will provide a more comfortable use of the product.
Besides the concept of simplification, the so-called “experience decay” is no less important. The bottom line is that returning to an interface that we have not used for a long time, it is difficult for us to immediately start using it as quickly as before. This is due to the fact that over time, our user experience is forgotten.
So after a long absence of interactions, it becomes necessary to re-introduce the user (in an unobtrusive way) to the interface. To do this, we lower the "advanced" interface to a more understandable one.
For example, it looks like this: for example, for the action "upload photo" we have a set of icons, each of which is assigned a level of user experience at which it should be displayed. Then, if we had a second-level icon, but the user did not upload photos for a certain time, we return the first-level icon.
The idea of fading experience is very important, as it helps to balance the idea of progressive reduction, thereby reducing the risk of a bad impression on your product.
Most often, the implementation of the idea of progressive simplification is found in video games or social networks, and less often in more serious applications.
It is likely that the concept of progressive simplification will contribute to the emergence of user interfaces with a high level of customization, the elements of which will be customized for the person who uses it. One of the next steps may be to place accents on the interface components that would stimulate interaction with certain functions, or vice versa - introduce a function that would hide unused elements.
Simplification idea

To begin with, it is worth noting that, firstly, you probably already came across the idea of simplifying design, since it is from it that the basic principles of flat design follow. And secondly, the tips below will not help much if you have a low-quality product.
So, the essence of the idea of progressive simplification lies in the fact that usability is not in one particular point. Over time, the user begins to better navigate the application, so the product interface should change for this user.
"Hold by the handle"
User interface developers have the concept of “hand-holding”, which means literally “lead the user by the hand”, for example, to familiarize him with the user interface, or with functionality. For this, various methods are used, such as large icons, captions under them, tooltips, color accents, etc.
Sometimes designers neglect the need for hand holding and develop user interfaces right away for advanced users, visually simplifying the design as much as possible. But if you overdo it, it can lead to failure. Some designers, as the product lasts on the market, gradually change the user interface, focusing on experienced users. On the other hand, an alternative strategy of blindly following basic usability heuristics will better interface with new users.
In the case of the progressive simplification method, we focus not on a group of users with certain experience, but on the fact that the experience of each user tends to change. Therefore, with progressive simplification, our interface will gradually change, adapting to each individual user, moving him from onboarding to a more advanced use of the product.
Practical application
When a person uses some function of the application, after several times he will already know for sure what a particular button is doing, and he will not need hints. Over time, the user remembers what the icon on the button that he uses means, and later remembers its location. Therefore, as the user interacts with different functions, the application interface must adapt to his user experience.
To implement this idea, your application should track the interaction of users with its elements and save the received data in a “proficiency profile”, which will be set up for each individual user.

The example above shows the “Signpost” button, which is first implemented as a large icon with a signature. When a person uses it a certain number of times, the inscription is removed from the button. When the user demonstrates his "experience" in the interface, this button generally ceases to stand out. You can also use other simplification options, whether changing the icon, size, contrast, colors, and so on.
The main goal is to make it easier for an inexperienced user to understand the interface, and for an experienced user to unload the interface from unnecessary elements, which will provide a more comfortable use of the product.
Fading experience
Besides the concept of simplification, the so-called “experience decay” is no less important. The bottom line is that returning to an interface that we have not used for a long time, it is difficult for us to immediately start using it as quickly as before. This is due to the fact that over time, our user experience is forgotten.
So after a long absence of interactions, it becomes necessary to re-introduce the user (in an unobtrusive way) to the interface. To do this, we lower the "advanced" interface to a more understandable one.
For example, it looks like this: for example, for the action "upload photo" we have a set of icons, each of which is assigned a level of user experience at which it should be displayed. Then, if we had a second-level icon, but the user did not upload photos for a certain time, we return the first-level icon.
The idea of fading experience is very important, as it helps to balance the idea of progressive reduction, thereby reducing the risk of a bad impression on your product.
Space for growth
Most often, the implementation of the idea of progressive simplification is found in video games or social networks, and less often in more serious applications.
It is likely that the concept of progressive simplification will contribute to the emergence of user interfaces with a high level of customization, the elements of which will be customized for the person who uses it. One of the next steps may be to place accents on the interface components that would stimulate interaction with certain functions, or vice versa - introduce a function that would hide unused elements.