
First I present my ten design principles. Then I will follow up in detail.
1. Maximise positive affordance
2. Group related controls
3. Prevent undesirable actions
4. Make functionality clear
5. Avoid arbitrary changes
6. Make things as simple as possible
7. Provide positive feedback
8. Consistency is not always desirable
9. Provide user customisation
10. Avoid modes