For an application I'm working on, we have to make a call to a database where everything is tallied up and then displayed to the user. The problem presents itself in load time. Currently, it takes about 8 minutes to get all of the data collected, counted, and sorted which is WAY too long.
Other team members are working on speeding it up, however if it isn't possible because of the sheer amount of data, we'll have to show the user that their data is loading, it's just taking a long time and they can come back soon.
What is the best way to do this? Should text appear after a certain amount of time telling the user what is happening? Currently, we have a loading spinner that looks like the one below (converted to png for UX.SE), but is that sufficient? I feel like the user would think the application stalled.