The Pinterest Engineering team recently posted a piece on Medium about user growth, an experiment they ran and how they achieved a banner 2016 with performance improvements.
With social media platforms, or any platform tbh, growth will always be front and centre. For the ubiquitous Pinterest - the colossal catalog of creative, this is certainly top of mind. In 2015, they achieved some notable growth via mobile, but to their dissatisfaction, this was achieved via disagreeable hacks and shortcuts.
In their research, they zeroed in on a few metrics like navigationStart and domComplete - part of the navigation timing API - to figure out what needed to be parsed a touch more. Of the higher priorities was user perceived wait time, and the need to track which images were loading and were loaded, above the fold.
Learning: Create the right metric to track your progress and focus on big impact changes first. - @PintertestEng
The engineering team also took a three tiered approach to optimizations: front-end, network and back-end.
By looking at synthetic test results we quickly realized that our pages required a lot of bandwidth to load. This is especially problematic in some international markets with older network infrastructures. To solve for this, we started down the path of becoming much more granular about what we load. - @PintertestEng
They went on to highlight some more changes made, some with design implications:
We also took another look at which images were requested, with an eye on whether they’re needed at all and whether we’re fetching the optimal size. These two optimizations together yielded a 60 percent reduction in the number of bytes needed to display a page. - @PintertestEng
Rounding off many additional performance updates were SEO experiments which were run on pages. In the end, results from rebuilding for performance yielded the following:
- 40 percent decrease in Pinner wait time
- 15 percent increase in SEO traffic
- 15 percent increase in conversion rate to signup
The details? You can read the entire post here on Medium.