If the computer successfully guesses exactly the thing you wanted and does that instead of what you said, it can make you marginally more happy than a "did you mean", since it avoids the reaction of "well why didn't you just do it then?".
However, if the computer guesses wrong, that will cause significantly more frustration to the user. This disproportionate amount of annoyance means that the computer must guess correctly far more often than it guesses wrong. Unfortunately, Google's current system frequently guesses wrong, and then compounds those incorrect guesses by using them by default, taunting the user with their original search.
That's been our observation as well, and we've tried to constrain launches in exactly that way. Techniques that can fail in a way that disrespects the query have to have a much much higher win to loss ratio in order to launch.
What I think we're understanding now is that something that fails 1% of the time, might not fail for just 1% of queries, it might fail for 1% of the users and work perfectly for the rest, and that small set can be really unhappy as a result. This is one small step in the direction of fixing that, but it's an issue we're paying close attention to, thanks in part to the feedback we've seen on HN.
We very much want to avoid systematic failures like this, and if technical queries are a blind spot then please send them over whenever you see them. My email is in my profile and I'll make sure they get routed appropriately, and I tend to watch threads about Google trying to get good examples to debug.
I'm getting worse and worse results for all sorts of queries over the past few years, not just technical ones. I can't think of specific examples from the main search right now (I finally snapped and switched to DDG a few weeks ago), but here's a particularly terrible one from the Android Market:
I appreciate that Google thinks I'm an illiterate chimp who doesn't know how to spell "your", but really truly, I was looking for a game with "yore" in the title. That's why I typed it. It's even an English word.
> What I think we're understanding now is that something that fails 1% of the time, might not fail for just 1% of queries, it might fail for 1% of the users and work perfectly for the rest, and that small set can be really unhappy as a result.
Excellent insight. Linux kernel developers have had a similar experience with the use of the likely() and unlikely() hints on conditionals; it took a while to realize that unlikely() has to mean unlikely for any user, not just "unlikely for most users, and likely for the rest". So, for example, it doesn't make sense to write "if (unlikely(feature_disabled))", because anyone with the feature disabled will meet that condition every time.
I've definitely had the experience that Google's automatic correction does the wrong thing for me more often than not; I almost always end up clicking the link to go to the search results I actually asked for.
Send over the examples when you come across them (or if you have it turned on, try www.google.com/searchhistory/ to find queries you've issued in the past.) I'll make sure they get to the right place.
However, if the computer guesses wrong, that will cause significantly more frustration to the user. This disproportionate amount of annoyance means that the computer must guess correctly far more often than it guesses wrong. Unfortunately, Google's current system frequently guesses wrong, and then compounds those incorrect guesses by using them by default, taunting the user with their original search.