Using XMLHttpRequest is the new hotness in webapps today. Of course, doing background requests to the server outside of a postback can save some bandwidth and remove flickering of the page. But the real benefit here is the responsiveness. Not just that it may be faster to request the server for smaller sets of data, but that you don't have to wait for it.
In my Gmail inbox, when I "star" a message (mark it as important), A request is sent to the server telling it I did so, but I don't have to wait for it to accept my decision. The star icon lights up immediately when I click it, long before the server returns anything. It's being done asynchronously. The request is sent off, I can keep working.
Async is nothing new, but now it's getting more used, and more expected by users than before. Another example that comes to mind is is rotating a picture. I've taken a picture holding the camera sideways, and now I'll rotate it 90 degrees on my computer to get it upright. In most apps I've seen I click on rotate, wait for the processing of the image to complete, and then the screen is updated. Picasa has another approach. When you click to rotate, the little thumbnail turns around right away, smoothly animated. The heavier processing of the large image file is done in the background.
Of course, waiting for an image to rotate isn't something that annoys me too much - it doesn't take too long anyway since computers today are really really fast. And when cameras get more megapixels and picture files and everything else is getting bigger and takes more time to process, computers will keep getting faster to match, won't they?
Well, no.
Up until recently CPU clock speeds have been getting faster and faster all the time. But if the development we had from the 386 to the Pentium had continued, we should be running on 10GHz processors by now. But we don't. We're still stuck on about 3 and a half GHz. And it seems we won't be getting too much higher because of something as boring as physical limitations. Of course, CPUs will keep getting faster, just not in the same way. It's not the GHz that will increase so much anymore, it's the number of processor cores (plus cache). Which means you can do a lot more processing at the same time. But if you keep doing it in sequence, one thing at a time, it won't be using the power of the CPU. So if processors stay at about the same clock speed, the way to get more performance is multithreading. Make it async.
So async is the hotness. It's hot on the web, it's hot on desktop apps, and its hot in CPU development. - Not really new, but it's hot.