One of my blinds spots when it comes to building things for others is that I assume that everything is going well if no one is complaining. I figure that a rational person would let me know if something I’ve built for them isn’t working correctly so that I can fix it, but I think that is rarely the case.
Thinking about my own behavior using other people’s software, I rarely complain about bugs I see in software (which is strange, because I have no issue with emailing a random company about a typo on their website.) I think my behavior is typical and driven by the same reasoning as others’ – I don’t feel like my complaint will make a difference and I don’t feel like I have the time to complain.
I think my behavior has to change – I know that when someone complains about something I’ve built I want to do what I can to fix it and make them happy and I believe that most people making things want the same. So I need to start complaining more.
But that won’t change the psychology of everyone else, and that is why you have to build error logging into your applications. Automatic reports will tell you things that users never will. Plus they have the bonus side effect of giving you hard numbers of how good you software is now and how much better it has gotten over time.