What is a “user-friendly” program? It’s the one that the user considers a friend instead of an enemy, the one that can be used easily by a novice user.

If you want to write user-friendly programs you have to put yourself in the shoes of the user. Users want the computer to do their job their way, with a minimum of effort. Hidden menus, imprecise labels and directions, and misleading error messages are all things that can make a program user-unfriendly!

The law that best defines user-friendly designs is the Law of Least Astonishment: “The program should act in a way that least astonishes the user.” This law is also commonly referred to as the Principle of Least Astonishment (POLA).