Users will transfer expectations they have built around one familiar product to another that appears similar.
By leveraging existing mental models, we can create superior user experiences in which the users can focus on their tasks rather than on learning new models.
When making changes, minimize discord by empowering users to continue using a familiar version for a limited time.
Be empathetic to, flexible about, and tolerant of any of the various actions the user could take or any input they might provide.
Anticipate virtually anything in terms of input, access, and capability while providing a reliable and accessible interface.
The more we can anticipate and plan for in design, the more resilient the design will be.
Accept variable input from users, translating that input to meet your requirements, defining boundaries for input, and providing clear feedback to the user.
Placing the least important items in the middle of lists can be helpful because these items tend to be stored less frequently in long-term and working memory.
Positioning key actions on the far left and right within elements such as navigation can increase memorization.
Minimize choices when response times are critical to increase decision time.
Break complex tasks into smaller steps in order to decrease cognitive load.
Avoid overwhelming users by highlighting recommended options.
Use progressive onboarding to minimize cognitive load for new users.
Be careful not to simplify to the point of abstraction.