“Any fool can use a computer. Many do.”
– Ted Nelson
This is true. Keep fools in mind when designing
One should always be wary of creating convoluted workflows, confusing UI layouts and unexpected behaviours when coding. Software exhibiting these qualities drives away not only the fools, but discerning, classy users as well. Smart people like ease-of-use as well!
When designing for others, try to do exactly that: design for others. Avoid falling into the trap of thinking that others will understand your application and it’s behaviour as well as you do. They’re coming into it blind, so hold their hand. Have your UI guide them along. This doesn’t necessarily mean you can’t create a complicated application, merely that your complicated application should have it’s various features laid out in a logical and user-friendly manner. Not as if you’ve thrown controls onto the panes as you thought of them, with little consideration of how they fit together in the “big picture” of your application.
If you make the initial learning required in order to get the most out of your awesome project fun, or at least not horribly painful, they’ll likely come to enjoy using it. If you’ve given them a demo version, they might even spend the money on an upgrade.
Everyone, at some time is a fool. Therefore there are, at any given moment, a great many fools. If you design with simplicity in mind, you won’t be pushing these people away.
And you’ll be reducing your support emails.