UXPerformanceDesign
A loading state is not a waiting room, it is a conversation. It tells the user what is happening and how long it might take. When that conversation is clear, the wait feels shorter because the user is not anxious.
The best loading states match the shape of what is coming. A list should show list rows, a chart should show a chart silhouette, and a message should show a text block. That small hint keeps the interface feeling stable, which is more important than shaving a few milliseconds off the network.
When you design this moment well, you build trust. Users are more patient with a product that communicates clearly, even if it is not always fast.