Ajax resembles RPC because most of the processing can be done "remotely" on the client, instead of on the server. A good example of this technology is Google Maps. One reason why Google Maps works so well is because it explicitly uses the fact that most users own a fairly fast computer, and thus lots of the actual processing can be done locally. The user just needs to fetch asynchronously each piece (tile) of the map, and, when these are received, he or she can process them locally. If, on the other hand, we were to send every mouse movement to Google, and expect all processing to be performed remotely, we would end up with a very slow and impractical system. Notice that because Ajax is asynchronous, it scales very well with slow connections. Ajax does not block waiting for pieces of data to arrive beforemaking the systemusable. Instead (in the case of Google Maps), we notice that the user is allowed to manipulate the map (panning around, zooming in, etc) even when the map itself has not yet been completely received.