There should be a special place in Hades for software engineers who believe users think just like they do. (Did you ever think "user" has a disdainful ring to it -- like somebody who uses drugs or uses people?)
If you found the culprit, I can imagine the conversation, "Oh, it doesn't work? Just do this thing with that. Did you..." Like you're supposed to know. Online help writers are no better.
If you're not making things simple enough for your mom or grandmother to understand, you don't know how to communicate. There's an app for that. Bring in a usability expert to review your work and teach you about how non-engineers think.
If you're not testing things to the bulletproof stage, you're not testing enough. There's an app for that. Bring in a reliability engineer to test your work and teach you about the principles of reliability.
Right now I'm in a sync Twilight Zone, trying to get my calendars to agree using PocketMac for BlackBerry. I uninstalled it and reinstalled it and it still churns on and on. Google Sync won't work either. It thinks my radio connection is turned off.
Software developers take note! I'll be Tweeting error messages that I either like or find incomprehensible. Try to learn something about ordinary people.