I loathe online store sites that auto-focus the search box. Worst are the ones that do it on every single page, including item detail pages. I use the space bar to scroll webpages down, especially on my laptop, which has a very small screen so that I almost always have to scroll down to get past header crap and get to the meat of the page. And no mouse, just a mediocre touchpad.
I can maybe accept auto-focusing search on the homepage, but there is no excuse for an item detail page. Even if I got here through a search engine, I probably want to see if this item is the item I wanted before I go searching the rest of your store, and that's going to require scrolling.
Definitely make the search box the first input in the tab-order though. Then if I do want to go straight to search, I can tap tab and then start typing. Otherwise, I usually want to scroll first and nothing is more frustrating than nothing happening when you hit space, only to realize that some tiny obscure search input buried in the corner of the page header that you didn't even realize was there is filled with spaces.
The best of both worlds would be to only auto-focus the search input if the user starts typing letters, and ignore space/arrow keys. We do this on Grooveshark actually.
I really wish every website would set their primary search input's tabindex to 1.
Spoken like a true hacker.
Too often a site discussed on HN is criticized for a design decision that is easily changeable on the client. Anything that is slightly inconvenient for one specific workflow is a "misfeature", ignoring entirely that many people like it that way. A site designer cannot please everyone.
Most non-hackers do not even notice this stuff. Go find a normal person and ask them to list the sites they visit and whether or not they auto-focus the search box. They do not notice. We are the weird ones.
If it annoys you, change it. You have the power. Most of the time what you want can be accomplished with a simple extension, no coding required.
If not, you can write your own extension, or write a script for an extension, or "use" browsers like uzbl and luakit, or write your own browser. Then you can put your solution on the web, so other people can benefit.