1) "The target users for SiteNabber are intermediate computer users. They have enough knowledge about computers and the Internet to want to copy a website’s files, but they aren’t so advanced that they would prefer using a more complex existing solution. Experts who want to control every detail aren’t target users!"
I agree with that. If you need a GUI you're not comfortable playing with wget from the command line and/or spending time reading the wget documentation. But you're advanced enough to know it is possible to download whole websites (!)
2) "Step 12: Test with real users, so there’s a good chance that I have some details wrong. This is normal and expected."
Design, like programming, is a never ending process. Last 20% take 80% of the time, yadda yadda. I am a programmer, and I desperately want to learn what is wrong with my designs. This article explained very clearly what is wrong in my (and most programmers) thought process when designing an UI:
Programmer flow: Write code -> Design UI around code -> Change code -> Apply changes to UI -> Rinse & Repeat
Correct, designer flow: Think long and hard about your target users and why they'll use your product -> Design the UI around their goals -> Write code -> Test with humans -> Adapt design to better suit their needs -> Rinse & Repeat
In the "Programmer's flow", code changes drive UI changes. When the code is feature complete and bug free the app is done.
The correct way is to have end users drive your UI changes. And till users aren't satisfied you are not done, even if the code is perfect.