In case you didn't know, Microsoft is about to release a new operating system called Windows 7. I've been casually following the feedback which almost always ends up comparing Windows 7 with Vista. One of the most interesting things I've read is that Windows 7 is slightly faster than Vista, but in usability tests, users thought that it was much faster.
How is that possible? It's either fast or it isn't, right? There's a saying about a watched pot and its likelihood of boiling that pretty much sums up why perceived speed is better than actual speed. One of my core beliefs as a designer/developer is that the only thing that really matters is what the user thinks. For example, Vista was definitely an upgrade over XP, but users thought XP was better (mostly because of clever marketing by Apple I think) so Vista was effectively a worse product. It doesn't matter what speed test show, it only matters what users believe.
Here's a little experiment you can run for yourself to highlight what I'm talking about.
Try starting two different similar products at the same time on your computer. I'll use Google Chrome and Mozilla Firefox as an example. If I launch both at about the same time, a Chrome window immediately pops up. The screen is blank for a second as the application finishes loading, but I see immediate progress. Firefox finishes loading in about the same amount of time, but it seems to load everything before displaying anything. So even though they take similar amounts of time to load, Chrome seems faster because it immediately responds to my input. (Note: Chrome is also waaaay faster than firefox, but that's not the point)
There are a lot of developers out there that seem to ignore the importance of immediate response from applications. As web based applications become more and more complicated, it is becoming common place for an action to take a few seconds without actually loading a new page. Most websites wait for the action to finish before providing any feedback to the user even though an extra two minutes of work on their end would make the overall experience much better for the users.
Let's say I click a "Save" button. You can pop up some notification that the application is saving immediately. That way I'm not wondering what's going on. I won't click the button a second time. It may still take the same amount of time to save, but by telling the user that the action is being processed, the entire thing will seem faster, cleaner, and more user friendly.
As I continue to work on Less Annoying Software, I'm trying very hard to make sure that any user input that doesn't cause a page reload has some sort of immediate response. As I mentioned earlier, I'm really happy with the software so far, and I think that this simple but powerful UI trick is one of the main things that I like.
This is not an excuse for programs to use annoying splash screens which are particular popular among Adobe products. Because Adobe products are embarrassingly bloated, they generally take a minute or more to load. To tell the user that the application is indeed starting up, they display a window that shows the loading progress. The problem is that these windows aren't full blown applications so you can't control them which means they generally cover up other things on the screen and there's nothing you can do about it. I hate you Adobe. Seriously.