I’m going to describe an event that happens hundreds of times a day on every internet user’s screen and, chances are, this event is so normal and hum-drum that you haven’t even considered it until now.
Every single time you click a link in Chrome – every time – your browser navigates to your chosen web location and then proceeds to load in the content of that page. Because Chrome wants to feel fast and responsive, it takes you to the location first and then loads in the page info.
This split-second delay between landing on a site and seeing the content load is known to many as the “white flash.” Go ahead. Click this link. Or this one. You’ll see the page arrive all white and then begin to quickly load the content afterwards. Other browsers like Firefox choose to load the page content first and then make the jump to that page, making things feel a bit delayed while removing the “white flash.”
This behavior is so normal and so expected that most of us don’t even register that it is happening. However, if you navigate around any native application for any amount of time on your phone or Chromebook, you quickly realize this isn’t an issue and as websites and web apps move closer to native app-like performance, this odd “white flash” behavior feels out of place.
Change Is Coming
According to this bug report found by 9to5Google, Google is working on a fix for this by allowing pages to be loaded before actually painting the result in the browser. The work to make all this happen is just got a new flag assigned to the effort, so it stands to reason that we should see an early version of this relatively soon. We’ve been able to find the flag in the Dev Channel, but it doesn’t do anything just yet.
According to the official Plan and Design Doc from the bug report, here is the problem and ideal solution according to Google:
What: Navigations in Chrome between two pages that are of the same origin should have a seamless and fast default navigation experience with no flashes of white/solid-color background between old and new content.
Why: Make same-origin navigations have UX that is as nice as those possible in a single-page web app. A prime example is navigation between AMP pages. This improves UX quality and reduces incentive for sites to use single-page app patterns instead of navigation; the latter is generally better for indexing and linkable web content.
It looks like we might get the best of both worlds pretty soon with this update and change coming to Chrome, and as the web continues to move towards a more robust and capable platform for app deployment, this is great news.