Are there best practices or guidelines on when to autopopulate fields? I am working on designing a multistep task, where aprox. halfway through the user goes through a search step. Everyone on my team is very eager to autopopulate as many of the search fields as possible based on data from the previous steps so that the user doesn't have to type them in, but I'm not convinced it's the best approach.
You should only prepopulate fields when you have a very good chance to get it right. Nothing is more annoying than a dumb program trying to be smart.
But - if you know what the user will likely search for, why not present the most likely choices (i.e., top results from the prepopulated search) immediately, while giving the user the chance to search for other stuff as well (not prepopulated, of course)?
Of course, the usefulness depends on how many possible results there are, how well you can predict the correct ones, how much space you have for displaying proposals, how long it takes to retrieve them, etc.
This will only improve user experience if there is a high chance that the proposals are relevant. I guess I myself as a user would accept this approach if it were correct one out of five times. If it were worse, I guess I would rather know in advance that I need to fill search fields, rather than read through some out-of-the-blue proposals which are wrong almost always (which 1:6 starts to feel like).
Well, auto-populating search fields although can be helpful may also be annoying especially if they are incorrectly auto-populating. There may be a compromise you could make that might help. Perhaps instead of auto-populating base the fields on what the individual user has filled in in the past. It would be an individualistic auto-population based upon that user's history. Basically creating an intuitive search field tailored to the user, this would not only make it simpler in many situations but also negate the possibility of auto-populating something completely incorrect and causing a hassle for the user. Kind of the best of both worlds. Just an idea, hope it helps.