In recent work, I came across a problem when designing a loading page for an App. Other coworkers suggested adding a cancel button on the loading page so users can cancel loading when they don't want to wait anymore (2 in the pic). But in my opinion, even when loading large contents, users still don't need a cancel button in the loading page (1 in the pic). If loading can't be done due to network conditions, after a certain amount of time we can prompt the user to try again or cancel (3 in the pic). What do you guys think?
You should never add functionality that the user doesn't need / isn't going to use, as it adds complexity and increases maintenance. So let's look at whether a cancel button adds value to your application.
During loading, is the device stuck on the loading page, or can the user switch to another application?
Does the loading operation use up device resources such that it might impair other functionality (other applications).
Is any of the functionality in the application usable if your loading operation fails / is canceled?
The user will require an option to cancel if
they are stuck looking at the loading page until it times out, with no option to go do something else / switch application.
canceling the loading operation will free up resources needed elsewhere.
there is other functionality in the app that they want to get at quickly, which doesn't require this loading operation to complete.
I agree that cancelling the loading of the content of a page seems useless if the users stay on the page. However, load times can be very frustrating if the connection is bad and being able to go back to the previous page/view seems logic. (Mobile) browser enable the user to go back one page/view. What a frustrating timespan is, differs form user to user. Jakob Nielsen provides some guidelines: http://www.nngroup.com/articles/website-response-times/.
Maybe, instead of cancelling the load, provide the user with a back-button. This way, he can escape the loading-screen when it's taking too long without ending up with a useless screen.