Reading/Web/Projects/Performance/Lazy loading secondary content

Hypothesis

edit

Certain content doesn't necessarily need to be shipped to the user upfront and sometimes not at all. A good example is the navbox content (this content also is not optimised for mobile but that's a secondary concern and out of scope for this test). We can remove this HTML from the initial page load and lazy load it if and when needed.

Progress

edit

We initially tested doing this on our beta environments.

An expanded version of this test was re-run in production.

As of Wednesday 16th March 2016 (00:11 PST) we experimented with stripping secondary content from HTML to reduce the HTML bytes shipped to users. The results were not conclusive, but they showed a small improvement in fully loaded time. It was not clear on how this impacted the bytes we shipped to users.

Next steps

edit

When it's possible for NavigationTiming to collect bytes shipped we may want to run an A/B test to show the benefits of removal.

Given the small benefits, post images and references changes we may want to revert it and work with the community to get to a place where we can make the navbox template more useful for mobile screens.