Match between system and real world
Consistency and standards
Visibility of system status
User control and freedom
Error prevention
Help users recognize, diagnose and recover from errors
Recognition rather than recall
Flexibility and efficiency of use
Aesthetic and minimalist design
Help and documentation