I am currently working on a way for users to generate a file that can vary in size, and this requires a lot of back-end processing before the user can download the file. I currently have a loading icon that appears to signify that the processing is occur. However, I'm finding that many users think the page "freezes" up and they then refresh the page and try again. While I understand the optimal idea would be to reduce load times. This is not always possible.
What would be the best way to communicate with users that loading times can take some time and they should not refresh the page, causing more processing?
Answer
Summarizing your question
- Your website generates a file (size varies) for the users
- The backend takes time to generate that file
- Once the file is generated, the user downloads it
I have a few questions:
- Is it mandatory for the user to check/view the generated file before downloading it?
- Is there a reason why the user has to wait on the same site?
- Is it a file the user has to look at, as it gets generated?
Probable soultions
Scenario 1: The user has to wait on the same site and check the file as it gets generated. Example: Online 3D renders where the user has to cancel the generation if he/she finds something going wrong
In this case,
- Status should be provided like mentioned by Devin.
- Other action elements on the website should be inactive
- A witty engaging message requesting the user not to refresh, and the reason why they should not refresh, should be displayed
- Mention estimated time to complete if possible. This will set the expectation for the user.
Example:
Other elements that can be added, if they don't further slow down the process:
An auto scrolling gallery of relevant pics or user testimonials to keep the user engaged
Another trend these days are to provide 8bit or 16bit games for the users to play. This is followed in a few websites and games. A small game keeps the users engaged when something big loads in the background. Namco, the video game developer, even has a patent on this.
http://venturebeat.com/2014/10/05/interactive-loading-screens/
Scenario 2: The user does not have to wait on the site and he can check the file after it is done. Example: Converting pdf to doc online
In this case,
- Get the mail id of the user
- Let them know the file is getting generated in the backend
- Let them know a link to the completed file will be mailed to them within a specific time
This is a WIN-WIN situation. You don't have to worry about the process overload if users refresh the page. The users don't have to worry about the time they have to spend on the site.
There are a lot of sites that do this. Here is an example https://www.pdftoword.com/
The solution depends on the questions I had asked at first. Please let me know if I have assumed something wrong. Thanks
No comments:
Post a Comment