Good interaction design principles:
- Visibility of system status
- Match between system and real world
- User control and freedom
- Consistency and standards
- Error prevention
- Recognition rather that recall
- Flexibility and efficiency of use
- Aesthetics and minimalist design
- Help users recognize, diagnose, and recover from errors
- Help and documentation