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.