Do not block the main thread!
Long requests to external systems such as storage, databases, hardware, and networks have always been difficult to handle from a user experience point of view. For programmers, it is easy to simply run the long request and, when finished (after seconds, minutes, or hours), inform the user that their data is there. However, we should think 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 and unblock the app. After a few seconds, either the operating system itself will close the app, or the user will push the Home
button to close the app and then, usually, uninstall it. Yes, user experience is one of the most important things on a mobile. Just as with a desktop, the user experience should be of primary importance, but what I want to emphasize is while on a desktop, you may have patient users because...