Progress and usability
Imagine that you have a microwave oven that has no window and makes no sound. The only way to interact with it, is a by pressing a button labeled cook. As absurd as this device sounds, it's what many software users are faced with—there's no indication of progress. Is the microwave cooking anything? If so, how do we know when it will be done?
Well, one way to improve the microwave situation is to add sound. This way, the user gets feedback after pressing the cook button. So, we've overcome one hurdle, but the user is still left guessing—where's my food? Before we go out of business, we had better add some sort of progress measurement display. A timer! Brilliant!
In all seriousness, it's not that UI programmers don't understand the basic principles of this usability concern; it's just that we have a stuff to get done and this sort of thing simply slips through the cracks in terms of priority. In React Native, there are components for giving the user indeterminate progress...