How long would you prompt the user with an indicator before showing a connection error? On the one hand a mobile user doesn't like waiting forever until the indicator disappears. On the other hand a request can take quite long when there is a poor network connection... How long do you let the user wait in worst case?
It's hard to answer such question without knowing the typical response time. Users are fairly accustomed to wait a few seconds when using mobile devices whilst on mobile networks.
This famous post, while applicable to websites, suggests that after 10 seconds users 'lose it'. Could be used as a rough guideline.
Put the user in control (be user-oriented)
There are two principle ways you can improve usability with regards to this issue:
I don't think there is a clear answer here, you can answer it very easy with "it depends".
You might have to consider the following things:
Personally if the timeout is between 10 - 15s I will consider it a normal latency, if it is 20s or more, I will most likely quit the app.
We always think "Mr" or Mrs" average is using an App.
Suppose you were asked to apply accessibility standards to your app based on a few more users that has cognitive challenges or impaired vision...that creates another user Persona that would have to accommodate those demographics and alter potential security risks (when increased time is modified to suit their needs).
Given the above persona is "slow" to input data but will eventually complete task (if time was allotted for them), then what does 42 seconds vs 3 minutes means to them? How does suggested timeouts/sessions apply? And what is the solution as a value of time to accommodate this persona?
For UX purposes, one would have to re-visit the:
Now that devices operating on various wireless networks have all sorts of dependencies that would affect performance (i.e. threshold with Device speed, resources required to complete a query, OS support, missing optimization on non-native apps, the end users'network, bandwidth device is limited to, persona settings on the device itself, etc) we run into slapping more time to waiting on a response from the device or its app. I only tackled Accessibility as being a variable.