SlideShare a Scribd company logo
#webrebels
3rd Party Footprint
EVALUATING THE PERFORMANCE OF EXTERNAL SCRIPTS
BARBARA BERMES /bbinto
#webrebels
3rd Party Footprint
EVALUATING THE PERFORMANCE OF EXTERNAL SCRIPTS
BARBARA BERMES /bbinto
#webrebels
I live in Toronto, Canada
#webrebels
I love burritos
#webrebels
I’m passionate about
web perf
#webrebels
Let’s get this 3rd party started!
#LDNWebPerf#webrebels
In the strictest sense, anything served to
the client that’s provided by an
organization that’s not the website
provider is considered to be third-party
“
”–Ben Vinegar, Author of “Third-Party Script”
What is a 3rd party script?
#LDNWebPerf#webrebels
Types of 3rd party scripts
Advertising
Tracking and Analytics
Fonts
Social Media
Libraries and Frameworks
#webrebels
What’s the #1 used
3rd Party script?
#LDNWebPerf#webrebels
Stats from Big Query
#webrebels
AKAMAI (FB)
14%
TWITTER
5%
FACEBOOK
10%
GOOGLE
71%
Top 10
#webrebels
Visualize the impact of
3rd party scripts
#webrebels
#webrebels
#webrebels
#webrebels
#webrebels
Foreign content overload
#LDNWebPerf#webrebels
Example: Wired
• Body Level One
• Body Level Two
• Body Level Three
• Body Level Four
• Body Level Five
#webrebels
But what’s the issue?
#LDNWebPerf#webrebels
The Issues and Negative Impacts
Performance

Front-end Single Point of Failure (SPOF) 

Privacy

#LDNWebPerf#webrebels
Potential Solutions
Safe Snippets

Caching and Hosted Libraries

Tools and Initiatives
#webrebels
Performance
#webrebels
- John Hjelmstad

Google I/O 2012 (How we Make JavaScript Widgets Scream)
The value you get out of the widget needs to be
greater than the performance hit you are taking
Rule of Thumb
#webrebels
A user who has to endure an 8-second download delay
spends only 1% of their total viewing time looking at the featured
promotional space on a landing page. 

In contrast, a user who receives instantaneous page rendering
spends 20% of viewing time within the promotional area 



(source: Jakob Nielsen)
“
”
Perception of promotional space
#webrebels
A website without ads?
#LDNWebPerf#webrebels
The performance impact of ads
• Body Level One
• Body Level Two
• Body Level Three
• Body Level Four
• Body Level Five
#webrebels
40%
Using no (client-side) ad code reduced
CBC’s page load time by 40%
<script/>
#webrebels
Monitor foreign
content, constantly!
#LDNWebPerf#webrebels
ArithmeticMeanins
0
2.5
5
7.5
10
10/4/12 10/31/12
Bad 3rd parties (CBC mobile Site)
Smooth sailing
Client-side Ads
Ads turned off
Server-side Ads


Source: Keynote Daily Reports

We noticed a spike
#webrebels
Single point of failure
#LDNWebPerf#webrebels
A single point of failure (SPOF) is a part of a
system that, if it fails, will stop the entire system
from working
–Wikipedia
SPOF
#LDNWebPerf#webrebels
The Offender
It will block rendering anything after this line
#webrebels
Yeah…whatever

3rd providers don’t really go down…
#webrebels
Oh yes, they do!
#webrebels
#webrebels
#webrebels
#webrebels
#webrebels
#webrebels
#webrebels
#webrebels
Title Text
Title Text
#webrebels
#webrebels
The Great Firewall of China
#webrebels
Simulating SPOF
on TechCrunch
#webrebels
#velocityconf
SPOF-O-Matic
#webrebels
#webrebels
SPOF WIRED
Without SPOF
With SPOF: Visually complete 40s
#webrebels
Let’s crash this party
#webrebels
Title Text
Title Text
#webrebels
#webrebels
#velocityconf#webrebels
#velocityconf#webrebels
#webrebels
Initializing 

client-side scripts
#webrebels
Safest (previous) way: 

Dynamic script tag
(to cover most of the browsers)
#webrebels
http://www.phpied.com/social-button-bffs/
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Title Text
Asynchronous Loading
#webrebels
Before
#webrebels
5 seconds 25 seconds
#webrebels
#webrebels
After
#webrebels
AFTER
5 seconds
#webrebels
#webrebels
#webrebels
The Future
#LDNWebPerf#webrebels
Async or Defer JS
#LDNWebPerf#webrebels
Async or Defer JS
#LDNWebPerf#webrebels
Async and Defer JS
#LDNWebPerf#webrebels
Protect yourself with the help of tools
Ad-hoc browser tools

Continuous integration and deployment tools

#webrebels
Caching?
Don’t always rely on it!
#LDNWebPerf#webrebels
30min
3 min
Cache Policies
20 min
30 min
1 hr
20 min
#webrebels
What about hosted libraries?
#LDNWebPerf#webrebels
Pages using Google CDN

(Top Alexa Websites)
0%
0.25%
0.5%
Jan '11 Jan '13 Jan '13 Jan '14 Jan '15
11%
17%
26%
37%
47%
Percentage
Google Hosted Libraries
PAGES USING GOOGLE
LIBRARIES API
52%
48%
#LDNWebPerf#webrebels
Anywhere?
Don’t just copy and paste
#webrebels
SPOF Alert!
#webrebels
Don’t do this….
#webrebels
Rather do this: Silent Fail
#webrebels
Source: May 2015, Big Query result on jQuery from Google CDNs
Google’s hostest jQuery fragmentation
OTHER
30%
1.4.2
5%1.11.0
6%1.8.2
6%
1.11.1
7%
1.9.1
8%
1.8.3
8%
1.10.2
8%
1.7.1
10%
1.7.2
12%
#webrebels
So, whats the verdict:
Hosted Libraries or not?
#webrebels
Privacy
#webrebels
Title Texthttps://developers.facebook.com/docs/plugins/like-button/
#webrebels
Title Text
What they don’t really tell you that they maybe….

track the visited website, your IP, and more….????

Did you agree to that?
#webrebels
Open Source Initiatives
and Resources
#webrebels
Privacy Hero heise’s
Opt-in Solution
#webrebels
#webrebels
#velocityconf
#LDNWebPerf#webrebels
Measuring 3rd party content on your site
Navigation Timing API

Resource Timing API
#webrebels
0
120
240
Jan '14 Feb '14 Mar '14 Apr '14 May '14 Jun '14 Jul '14 May '15
82 86 86
99
130
157
168
232
Fastly Optimizely
Instagram Cedexis Twitter TypeKit
CDNPlanet Walmart Tumblr Disqus

Adoption of Timing-Allow-Origin
Header (Top Alexa Websites)
#webrebels
Title Text
jsmanners
#webrebels
#webrebels
Title Text
https://github.com/triblondon/
Contribute on Github!
#webrebels
Next time before
you copy and paste
#LDNWebPerf#webrebels
• Refuse 3rd party content that doesn’t provide async
options or is not minified
• Put the risk in the SLA (uptime etc.)
• Review jsmanners
• Educate other (junior) developers
• Test it via navigation and resource timing where applicable
What to do as a Publisher & Developer
#LDNWebPerf#webrebels
• Ask for server-side options
• Evaluate tag managers
• Investigate hosted libraries (if no own CDN is available)
• Monitor, monitor, ….and monitor
• Evaluate the need of the script with marketing and
sales
What to do as a Publisher & Developer
#LDNWebPerf#webrebels
What to do as a Script Provider
• Provide non-blocking code samples and snippets
• Educate developers, and verify the integration of
your script (proof-check)
#webrebels
The Party’s Over
Thank you
#webrebels
Questions?
bit.ly/webrebels
Shameless Plug: I wrote a book 

“Lean Websites” (SitePoint)
Release: end of May 2015

More Related Content

PDF
Third Party Footprint: Evaluating the Performance of External Scripts
PDF
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS
ODP
AMC2014 Demystifying Mass Emailing with Free and Open Source Software
PDF
SunShine PHP
PDF
With great power comes great responsibility - Microsoft Canada Open Source co...
PDF
Make your website ux rock
PDF
第4回WordBenchしずおか
PDF
Web trends to watch in 2015
Third Party Footprint: Evaluating the Performance of External Scripts
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS
AMC2014 Demystifying Mass Emailing with Free and Open Source Software
SunShine PHP
With great power comes great responsibility - Microsoft Canada Open Source co...
Make your website ux rock
第4回WordBenchしずおか
Web trends to watch in 2015

What's hot (6)

PPTX
How to Survive the Google Earthquake - Cyrus Shepard
PDF
BuddyPress v4
PDF
Content Strategy Triage: Who lives? Who dies? Who do you fight to save?
PDF
The Nuts and Bolts of Twitter
PDF
Sistrix - SEO Do's and Don't
PPT
Rachel meyer sfima 2017
How to Survive the Google Earthquake - Cyrus Shepard
BuddyPress v4
Content Strategy Triage: Who lives? Who dies? Who do you fight to save?
The Nuts and Bolts of Twitter
Sistrix - SEO Do's and Don't
Rachel meyer sfima 2017
Ad

Viewers also liked (8)

PPT
Using Social Commerce/Group Buying websites for Art Organisations
PPTX
17 - Livebookings Presentation Noah Conference 2011
PPTX
Cheap hotels - 10 gadgets that help you survive them
PPT
Graphic Digital Design Slide
PDF
Gift card & voucher week 2012 results slideshare
PPTX
Group Buying Website Feasibility Study
PDF
Social Media strategy - the rise of social apponomics
PPT
The Power of Deals - Groupon business case exposed
Using Social Commerce/Group Buying websites for Art Organisations
17 - Livebookings Presentation Noah Conference 2011
Cheap hotels - 10 gadgets that help you survive them
Graphic Digital Design Slide
Gift card & voucher week 2012 results slideshare
Group Buying Website Feasibility Study
Social Media strategy - the rise of social apponomics
The Power of Deals - Groupon business case exposed
Ad

Similar to 3rd Party Footprint @ Webrebels (20)

PDF
This is the web platform
PPTX
Web Performance the base for DevOps?! - Webperf Meetup Atlanta
PDF
Stapling and patching the web of now - ForwardJS3, San Francisco
PDF
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
PDF
SearchLove Boston 2018 - Emily Grossman - The Marketer’s Guide to Performance...
PPTX
emily-grossman-website-to-webapp-searchlove-final-170611163500.pptx
PPTX
This is a slideshow that is properly titled
PDF
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
PPTX
Conversionista : Conversion manager course - Stockholm 20 march 2013
PDF
Data Driven DevOps
PDF
Frontend Development The Ultimate Guide Sufyan Bin Uzayr
PDF
Common SEO Mistakes During Site Relaunches, Redesigns, Migrations (2018)
PPT
Keyword Research In A (Not Provided) World
PPTX
Guide to actionable speed audits; getting your developer to work with you
PPTX
LIve Landing Page Audit
PPTX
20 free SEO Tools you should be using - 20180829
PDF
Responsive Design
PDF
Are you there Page Experience? It's me, DevTools
PDF
Are you there Page Experience? It's Me, DevTools.
PPTX
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
This is the web platform
Web Performance the base for DevOps?! - Webperf Meetup Atlanta
Stapling and patching the web of now - ForwardJS3, San Francisco
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove Boston 2018 - Emily Grossman - The Marketer’s Guide to Performance...
emily-grossman-website-to-webapp-searchlove-final-170611163500.pptx
This is a slideshow that is properly titled
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
Conversionista : Conversion manager course - Stockholm 20 march 2013
Data Driven DevOps
Frontend Development The Ultimate Guide Sufyan Bin Uzayr
Common SEO Mistakes During Site Relaunches, Redesigns, Migrations (2018)
Keyword Research In A (Not Provided) World
Guide to actionable speed audits; getting your developer to work with you
LIve Landing Page Audit
20 free SEO Tools you should be using - 20180829
Responsive Design
Are you there Page Experience? It's me, DevTools
Are you there Page Experience? It's Me, DevTools.
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...

More from Barbara Bermes (9)

PDF
Cheat Sheet to a Lean Website
PDF
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
PDF
The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation
PDF
The CBC on a diet - Slimming down for a whole nation
PDF
Smartphones in Today's World
PDF
Building Energy-Efficient Websites
PDF
Developing for Mobile Web
PDF
Business Analysis - Essentials
PDF
Mobile Web Performance - Velocity 2011
Cheat Sheet to a Lean Website
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation
The CBC on a diet - Slimming down for a whole nation
Smartphones in Today's World
Building Energy-Efficient Websites
Developing for Mobile Web
Business Analysis - Essentials
Mobile Web Performance - Velocity 2011

3rd Party Footprint @ Webrebels