When developers are making their applications, something they always keep in mind is the look and feel of their application. Above all standards, the user experience has the highest priority. If a developer makes an application that is not user-friendly, then I consider that application not useful. If the user cannot intuitively discern how to use the application, then the application will not be used by many people. So, when developing an application, here are some guidelines I think should be followed. These guidelines are heavily influenced by The GNOME Foundation and Google since I find that their applications are, most of the time, extremely user-friendly.
1. Give the application a clear concise focus
When designing an application, you should have clear and tightly defined goals. The proposed functionality should be coherent and be aware of signs of mission creep: the gradual movement away from the main goal. Finally, make sure the application does not try to do too many things: a complex, confusing application will drive away users.
2. Create a clear hierarchy
People tend to read from left to right, top to bottom. So, when designing your application, create a hierarchy that adheres to the general population. This hierarchy will not only make the development process simpler, but will also make the user experience exponentially better.
3. Anticipate errors in the development process
Everyone makes mistakes. Expect that when developing your application, there will be limitations and errors. So, while developing the application, it is crucial to create fail-safes and user-friendly ways to alerting user that an error has occurred.
4. Make all graphics and choices intentional
The foundational elements of computer applications are:
Each element in your application should have a specific purpose. The purpose must be intentional and should enhance the user experience. Furthermore, each element should not conflict. This will confuse the user and decrease the experience.
For me, these are the guidelines I follow when I start developing an application. Let me know if you found this helpful.