These issues always leave me feeling somewhat conflicted.
I have trouble enough accepting the fact that a certain proportion of the population do not have any learning skills (or think they are excused from the burden of learning that others accept as part of life) - so how much should we cater for them?
Not that things should be complex (I hate bad interface design as much as anyone and I’m always looking for ways to improve my skills in this area), it’s just a lot of time gets spent (and sometimes good applications get ruined*) trying to cater for someone who, IMHO, insists that the world cater to their intellectual laziness.
On the other hand, no-one can force them to fit in, so if it turns out they are the majority, then we have to cater for them to a degree for everyone elses sake. This certainly hurts the head.
- I am thinking of examples where generally accepted interface principles that 90% of the world knows by heart have been sacrificed by decree from management to cater for the one dumb-dumb who refuses to learn them - the “I want the OK button to be called ‘Fred’ so I know that I should click it and to respond after being clicked on 5 times with the shift key down so I can’t accidentally click it” type.
A good example - I had a user present me with a sketch of improvements to the interface to a system I wrote. She thought having Save, Cancel, New, and Find buttons was too complicated. She wanted a ‘Go’ button that did whichever action was appropriate at the time (someday I must get around to writing that generic class ReadUserMind.cs - I’ll make a fortune). Yes, there may be a better way than what I did, but it was pretty standard, and I’m sure it wasn’t worth redoing everything to cater for one person.
Of course it’s hard to know where to go when you are told by their manager that you can’t expect them to know how to use, or learn to use, a scroll bar or a menu.