From Schneiderman's "Eight Golden Rules of Interface Design":
Support internal locus of control.
Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
What is the borderline between automating an action for convenience and losing the internal locus of control?
There are some situations where we can facilitate an interaction within the system by automating it, but I always wonder if it goes against this interface rule.
For example: I'm working on a product that 9 out of 10 times requires a key-file that is distributed on a USB card. 1 out of 10 times, the user got the file in an e-mail attachment.
For 9 out of 10 times, I could let the system scan for a USB drive and load the key-file automatically if found. For 1 out of 10 times, this file needs to manually loaded by the user.
But does scanning and automatically loading the key-file from a USB break the internal locus of control?