Users don’t care about the route, but they do care how long they have to wait and if they feel like they’re progressing toward their goal
In some SPAs routing may not exist, making this more of a responsiveness question. In your case it does so I would recommend you change routes immediately and then fill the void with positive feedback as you progressively display the page and load the data. Changing route would be one method to help reinforce progression, but this can also be done regardless of route.
The perception of wait time can drastically impact the user experience. Actions or requests that are fulfilled immediately can feel unresponsive. There’s an interesting study on this by NNGroup regarding application responsiveness. They determined there are three main thresholds for wait times in an application:
• 0.1 seconds gives the feeling of instantaneous response. • 1 second keeps the user's flow of thought seamless • 10 seconds keeps the user's attention ... After 10 seconds, they start thinking about other things, making it harder to get their brains back on track once the computer finally does respond
*Note: more current research suggests the ceiling for load time is more like 3 seconds before application abandonment occurs *
Wait time is different from time occupied.
Waiting can be excruciating for us humans. And, we spend a good majority of our lives in this very act. But, there are ways to alleviate the pain of waiting, changing their perception, and create a better experience for users.
- Fill the time with something meaningful
- Justify the wait time
- Be transparent about how long they will wait