Actual Performance, Perceived Performance
codinghorror.com
codinghorror.com
"Although our results could be used to enhance progress bars system-wide, there are many cases where modifying progress behavior seems inappropriate. In general, processes with known static completion conditions and stable progress are not good candidates – standard progress bars can visualize these effectively and accurately. In addition, these types of processes tend to be less affected by pauses or other negative progress behavior (sufficiently so that they are frequently accompanied by accurate time estimates). Examples of this type of process include copying a file to disk..."
Although I'm more inclined to think the paper is wrong about file copies rather than Atwood.
Amen. "Real" optimization is useless if it doesn't optimize the practical uses of the system. After all, computers are tools. Objective optimization doesn't make them better tools, since it doesn't make them any more effective when they're being used by people. Perceived optimization, on the other hand, allows people to better use their computer.
As the maxim goes: "Use better tools." It's no accident that it's not "Use better algorithms."
The engineers had concentrated on reducing objective time; the designer concentrated on reducing subjective time. Reducing subjective time works. -- http://www.asktog.com/papers/magic.html
I believe that the design decision in the MacIntosh to have a single mouse button was because it was objectively faster.
A web example may be here on news.yc when I upvote a comment, I see it's done instantly even though ajax wizardry in the background does it. Sure is better than doing a whole page refresh.
One perceived speed example I absolutely love is on the iPhone. Everything "feels" so snappy and fast when in reality it isn't much better than the competitors.
Applications can use an image of their UI - a default view while the device really loads the application in the background and then switches from picture to app when loaded. Combine that with the zooming effects and it FEELS like apps load instantly and makes me FEEL like I love the experience, even though I can't actually interact with the application for up to a second.
I think it takes a very good engineer to come up with these little tricks. Perceived performance has real world satisfaction benefits.
Wibbly-woobly timey-wimey