One of the things I inevitably have to deal with at each site I visit is the idea that Selenium scripts are slow. Sure, they are slower than unit tests, but a lot of the perceived slowness is due to all the other stuff the page is trying to load. First, you don’t need that in the automation environment — so build into the app a way to turn it off. Second, if you are loading them, the speed must be considered. And at no point should the user’s experience be impacted.
Here are some podcasts I had lying around on page load speed that I hoped would be better. But I have notes on them now so a-publishing they will go.
Mitigating Advertising Impact on Page Performance
- Ismail Elshareef
- IT Conversations version of the talk. How I listened to it, but you likely want to watch the video to see the code.
- Blog post on the Edmunds site on the stuff discussed.
- ‘We want to have control over our assets…’
- Wrote their own JS loader, which they are to open source, but I can’t find it.
- Seperate the loading of your page from the loading of the ads/3rd party stuff
- Delay loading the ads a long as possible
- Work with Business to explain the benefits of late loading. If the customer is engaged in the content they are not going to go away by the time the ad loads.
- By delaying the loading of ads, they were able to speed up the entire page load time including the ads
- Do not mess with ad internals
- Solve the engagement problem, you solve the loading problem
- Saw their click-through rate increase
Display Ads and Page Performance
- Tony Ralph (which was at Yahoo during this talk, but has leapt to Google)
- Monitor the speed of your ad networks
- And their ads
- Ad Load Performance Best Practices
- The creatives’ primary goal is not performance
- Maybe the value of this [slow ad] had value in the context of its displayed page
- Do not treat ads an afterthought. Don’t build pages with the ‘this black box is where an ad will go’.
- Give front-end people the tools and guidelines to work with
- Publisher guardrails – quarantine ads
- If an ad takes too long (of course you are monitoring them), backfill the content with a static local one
Worldwide Inventory of Last-mile Bandwidths & Network Latencies
- Aladdin Nassar
- CSI – Client Side Performance
- Onclick handler on every event in the Hotmail site which starts a timer that stops at various events
- Once you get the data, you get have to analyze it. Which can be harder than getting the data.
- Also inject headers for the backend as well so they can merge the client and server side information for a whole picture of the performance.
- There comes a point that adding any more bandwidth in a country does not improve speed
- Look for biases in your data.