Loading doesn't have to mean "this page is loading a huge pile of crap that you don't want". It could simply mean "you don't need to press that button again, we really have sent your request, it's just taking a second".
Examples that are useful:
- Credit card processing (always seems to take 2-3 seconds)
- Big database query (searching maybe. But don't do this in regular webapps, just in those where the user expects the query to take some time, like in enterprise apps).
- Uploading or downloading a small file that takes a few seconds (instead of a progress bar that is misleading on small files)
Examples that are useful:
- Credit card processing (always seems to take 2-3 seconds)
- Big database query (searching maybe. But don't do this in regular webapps, just in those where the user expects the query to take some time, like in enterprise apps).
- Uploading or downloading a small file that takes a few seconds (instead of a progress bar that is misleading on small files)
- Buffering audio/video