Eric Raymond rants about the CUPS (Common Unix Printing System) interface, and suggests asking some questions in the context of UI design:
If you are out there writing GUI apps for Linux or BSD or whatever, here are some questions you need to be asking yourself:
1. What does my software look like to a non-technical user who has never seen it before?
2. Is there any screen in my GUI that is a dead end, without giving guidance further into the system?
3. The requirement that end-users read documentation is a sign of UI design failure. Is my UI design a failure?
4. For technical tasks that do require documentation, do they fail to mention critical defaults?
5. Does my project welcome and respond to usability feedback from non-expert users?
6. And, most importantly of all…do I allow my users the precious luxury of ignorance?