The waiting experience is a crucial design opportunity. Although it may not be obvious what is occurring on the back-end, we can communicate clearly to reassure the user that progress is happening.
It is best practice to use a loading spinner whenever the wait time is anticipated to be longer than three seconds.
Adopted from the IBM Design Language Animation Library:
“The rhythmic oscillations of tape reels in motion got us thinking about a user’s waiting experience. If a user watches search results load, showing the machine at work relays a sense of efficiency. The swift and even balance of the spinning circles indicates that progress is being made.”
Loading spinners may be scaled down if the loading experience is contextual to a certain item on the page.