In the process of Error -> Recognition -> Adjustment, we must do two things:
Provide helpful error responses throughout the application
Make errors seem less like failures on the user’s end and more like cues for adjustment.
All the great advice I ever read about dealing with user errors was best summed up in a philosophical statement by Matt Mullenweg when he said at a WordPress DC Meetup “The software is wrong, not the people.[1]”
1) http://joeflood.com/2011/07/13/the-software-is-wrong-not-the-people/