Well, we usually only see error messages when something has gone catastrophically wrong. I think there’s room for something in between – e.g., my new iPad doesn’t seem to connect automatically to my Bluetooth speaker. I don’t get an error message, but it would sure be nice if there was some kind of activity log I could scan through to try to understand what is going on.
I think we do something analogous with mechanical devices all the time. Sometimes you just need to immerse yourself in the context of an activity in order to see what the problem is. It happens to me all the time when I’m repairing my bike – many times, the problem is not something that I could have fixed by following a checklist or a troubleshooting guide. It’s often something that just “doesn’t look right”.
With software, everything is just so opaque. People are finally accepting that developers should have more insight into what’s going on, but about people who use (or are affected by) the software?
To get this right, I think traceability needs to be built in to the whole stack. And we should be able to see an appropriate context: rather than just seeing something like “Could not restore iPhone (error 53)”, we should see something like:
Restore > Hardware check > Fingerprint sensor :: Unrecognized manufacturer ID