I like the idea of using a “skeleton screen” also for a starting page that’s loading. We actually have a concept of this already, but strictly for topics. You can find a really long topic and test it yourself:
@eviltrout do you think there’s a way we could reuse that for an initial page load?
Hmmm, maybe we could sneak a loader animation into the placeholders themselves somehow? Like one of the mock text bars going from left to right as if to finish the paragraph. Ideally you’d never notice it until you run into a longer page load.
No I’m not suggesting that right now. Long term I would love something like FastBoot but as you pointed out it’s a lot of work.
I think we can live with longer loading times for now – Discourse is the type of App people spend a long time using once it’s loaded, unlike a lot of content sites – it’s not hurting us much right now to load a little longer.
In the future as we switch the asset pipeline to something else, we can look at ember engines and splitting our app into smaller chunks that will help tremendously.
Agree with @codinghorror even if a loader/animation like the Linkedin one, is actuallty very fast to implement.
Nevertheless we could still have Flash of Unstyled Content.
That doesn’t dipend from the loader image or technique but mostly by the loading time.
Is there an easy way to show the loader just if the loading time is above 1.5 seconds or so? I think so.
But from @eviltrout words, i understood he would prefer to postponed this issue and speed up the loading time instead (at one point in the near future).
The splash is generated by Android automatically and we have no control over it.
I agre with @eviltrout that we can wait a bit on this, we got much faster last year (brotli, smaller payloads, HTTP/2, latest EmberJS) and will probably get more speed this year (Chrome new JS runtime, HTTP/2 Push).