From Jono DiCarlo’s “Ten Ways to Make More Humane Open Source Software” (5 October 2007):
- Get a Benevolent Dictator
Someone who has a vision for the UI. Someone who can and will say Ã¢â‚¬Å“noÃ¢â‚¬Â to features that donÃ¢â‚¬â„¢t fit the vision.
- Make the Program Usable In Its Default State
DonÃ¢â‚¬â„¢t rely on configurable behavior. It adds complexity, solves little, and most users will never touch it anyway. Usable default behavior is required.
- Design Around Tasks
Figure out the tasks that people want to do with your software. Make those tasks as easy as possible. Kill any feature that gets in the way.
- Write a Plug-In Architecture
ItÃ¢â‚¬â„¢s the only good solution IÃ¢â‚¬â„¢ve seen to the dilemma of providing a complete feature set without bloating the application.
- User Testing, User Testing, User Testing!!
Without user testing, you are designing by guesswork and superstition.
- Develop Without A Vision
Ã¢â‚¬Å“When someone suggests another feature, weÃ¢â‚¬â„¢ll find a place to cram it in!Ã¢â‚¬Â
- Join the Clone Wars
Ã¢â‚¬Å“Closed-source program X is popular. LetÃ¢â‚¬â„¢s just duplicate its interface!Ã¢â‚¬Â
- Leave the UI Design Up To The End User
Ã¢â‚¬Å“IÃ¢â‚¬â„¢m not sure how that should work. IÃ¢â‚¬â„¢ll make it a check box on the preferences screen.Ã¢â‚¬Â
- Make the Interface a Thin Veneer over the Underlying Implementation
Ã¢â‚¬Å“But itÃ¢â‚¬â„¢s got a GUI now! That makes it user-friendly, right?Ã¢â‚¬Â
- Treat UI Design as Babysitting Idiots
Ã¢â‚¬Å“They should all quit whining and read the manual already.Ã¢â‚¬Â