It’s impossible to develop a non-trivial app without making any mistakes. Broadly, there are three common problems in code:
The code works, but the app doesn’t do what a typical user expects it to. This is a design problem.
The code doesn’t work. You expect your code to do something, but it does something else. A feature may not work as expected, or it may not allow the user to do what they want to.
The app crashes. Technically, this is an example of code not working. But the results are more obvious and damaging.
User-testing your app
A UI isn’t just an interface to your app; it also guides the user’s expectations of your app. When the features of an app match a user’s expectations, the design is called “intuitive.” The user makes little or no conscious effort to find critical features, understand them, and benefit from them.
Avoiding unintuitive design
Hidden features, features that are difficult to access, and features that work in an unexpected way are all “unintuitive.” If the UI is overly complex and has too many unrelated options, users won’t enjoy working or playing with your app. They’ll also be less likely to recommend it to others.
Note that intuitive design ...