Do not block the main thread!
Long requests to external systems such as storage, databases, hardware, and network have always been difficult to handle from a user experience point of view. For the programmers, it is simple to run the long request and when finished (after seconds, minutes, or hours), inform the user that their data are there. However, we should care about user experience, even more in the mobile world.
Getting ready
If your app runs a long-running request and the UI is frozen, the user might think that something is going wrong and start to tap here and there to try to unblock the app. After some seconds, if not the operating system itself, the user will push the Home button to close your app and then, usually, uninstall it. Yes, the user experience is one of the most important things on the mobile. Consider that, also on a desktop, the user experience should be of primary importance, but what I want to emphasize is this: while on desktop you may have patient users because they...