Jakob Nielsen is a usability researcher who proposes a set of 10 usability heuristics, or general principles, for designing user-friendly interfaces. These principles provide you with a starting point for creating interfaces that are easy to use and understand.

Principle Definition
Keep users informed The system should always let users know what is happening and provide feedback within a reasonable amount of time.
Use familiar language The system should use words and concepts that are familiar to users, rather than technical terms. It should also follow real-world conventions in the way it presents information.
Give users control Users should be able to easily undo or redo actions, and have a clear way to exit unwanted states.
Be consistent Users shouldn't have to wonder if different words, situations, or actions mean the same thing. The system should follow standard conventions.
Prevent errors The system should be designed to avoid errors whenever possible, or at least confirm with users before they make mistakes.
Make information easy to find The system should make it easy for users to access the information they need, and shouldn't require them to remember information from one part of the interface to another.
Be efficient The system should allow experienced users to work more quickly, but also be easy for inexperienced users to use. It should allow users to customize frequent actions.
Keep the design simple The interface should only contain necessary information and not be cluttered with unnecessary details.
Help users fix errors Error messages should be clear, explain the problem, and suggest a solution.
Provide help If necessary, the system should provide clear and helpful documentation that is easy to search and focused on the tasks users need to complete.

References

10 Usability Heuristics for User Interface Design by Jakob Nielsen

Heuristic evaluation of user interfaces