We do not control everything in a custom application. I’ve had situations where people say they prefer the loading experience of no-code apps to use loaders instead of skeleton views. Loaders are great because we cannot always predict how long it’s going to take for information to load. It depends on the user’s region, their internet speed, the device they’re using, the time of day, and even the number of people using the app or making changes at the same time. A loader gives users something to hold on to while they wait. With a skeleton view, people might not be sure whether the page is still loading or if an error has occurred. So the loader reassures them that the system is still working and encourages them to stay on the screen while the information loads, because we cannot always tell exactly how long that process will take.