Third Party Footprint: Evaluating the Performance of External Scripts
-
Upload
barbara-bermes -
Category
Technology
-
view
382 -
download
3
description
Transcript of Third Party Footprint: Evaluating the Performance of External Scripts
![Page 1: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/1.jpg)
Third Party FootprintBarbara Bermes
![Page 2: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/2.jpg)
#velocityconf
3RD PARTY FOOTPRINT
BARBARA BERMES | @BBINTO
EVALUATING THE PERFORMANCE OF EXTERNAL SCRIPTS
![Page 3: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/3.jpg)
#velocityconf
I LIVE IN TORONTO, CANADA
![Page 4: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/4.jpg)
#velocityconf
I LOVE BURRITOS
#VELOCITYBURRITO
![Page 5: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/5.jpg)
#velocityconf
I’M PASSIONATE ABOUT WEB PERF
![Page 6: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/6.jpg)
#velocityconf
LET’S GET THIS PARTY STARTED
![Page 7: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/7.jpg)
#velocityconf
–Ben Vinegar, Author of “Third-Party Script”
“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”
![Page 8: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/8.jpg)
#velocityconf
TYPES OF 3RD PARTY SCRIPTSAdvertising Tracking and Analytics Fonts Social Media Libraries and Frameworks
![Page 9: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/9.jpg)
#velocityconf
WHAT’S THE #1 USED 3RD PARTY SCRIPT?
![Page 10: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/10.jpg)
#velocityconf
STATS FROM BIG QUERY
#velocityconf
![Page 11: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/11.jpg)
#velocityconf
STATS FROM BIG QUERY
#velocityconf
16%
22%62%
Google Facebook Twitter
![Page 12: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/12.jpg)
#velocityconf
31%
34.5
%38
%
2011 2013 2014
32%
36%
38%
DISTRIBUTION OF 3RD PARTY SCRIPTS VS. 1ST PARTY
#velocityconf
Source: http://bigqueri.es/t/what-is-the-distribution-of-1st-party-vs-3rd-party-resources/100
Perc
enta
ge
![Page 13: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/13.jpg)
#velocityconf
VISUALIZE THE IMPACT OF 3RD PARTY SCRIPTS
![Page 14: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/14.jpg)
#velocityconf
![Page 15: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/15.jpg)
#velocityconf
![Page 16: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/16.jpg)
#velocityconf
![Page 17: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/17.jpg)
#velocityconf
FOREIGN CONTENT OVERLOAD!
![Page 18: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/18.jpg)
#velocityconf
EXAMPLE: WIRED
#velocityconf
![Page 19: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/19.jpg)
#velocityconf
BUT WHAT’S THE ISSUE?
![Page 20: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/20.jpg)
#velocityconf
THE ISSUES AND NEGATIVE IMPACTS
PerformanceFront-end Single Point of Failure (SPOF) Privacy
![Page 21: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/21.jpg)
#velocityconf
POTENTIAL SOLUTIONS
Safe Snippets Caching and Hosted Libraries Tools and Initiatives
![Page 22: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/22.jpg)
#velocityconf
PERFORMANCE
![Page 23: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/23.jpg)
#velocityconf
- John HjelmstadGoogle I/O 2012 (How we Make JavaScript Widgets Scream)
RULE OF THUMB
value(widget) > perf_hit(widget) The value you get out of the widget needs to be greater than the performance hit you are taking
![Page 24: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/24.jpg)
#velocityconf
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
![Page 25: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/25.jpg)
#velocityconf
A WEBSITE WITHOUT ADS???
![Page 26: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/26.jpg)
#velocityconf
THE PERFORMANCE IMPACT OF ADS
#velocityconf
![Page 27: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/27.jpg)
#velocityconf
Using no (client-side) ad code reduced CBC’s page load time by 40%
40%
<script/>
![Page 28: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/28.jpg)
#velocityconf
MONITOR FOREIGN CONTENT. CONSTANTLY!
![Page 29: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/29.jpg)
#velocityconf
Arit
hmet
ic M
ean
in s
0
2.5
5
7.5
10
10/4/12 10/31/12
BAD 3RD PARTIES (CBC TOUCH SITE)
Smooth sailing
Client-side Ads
Ads turned offServer-side Ads
Source: Keynote Daily Reports
We noticed a spike
#velocityconf
![Page 30: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/30.jpg)
#velocityconf
SINGLE POINT OF FAILURE
![Page 31: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/31.jpg)
#velocityconf
A single point of failure (SPOF) is a part of a system that, if it fails, will stop the entire system from working
–Wikipedia
![Page 32: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/32.jpg)
#velocityconf
THE OFFENDER
It will block rendering anything after this line
![Page 33: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/33.jpg)
#velocityconf
YEAH….WHATEVER
3RD PROVIDERS DON’T REALLY GO DOWN…
![Page 34: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/34.jpg)
#velocityconf
OH YES. THEY DO!
![Page 35: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/35.jpg)
#velocityconf#velocityconf
![Page 36: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/36.jpg)
#velocityconf#velocityconf
![Page 37: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/37.jpg)
#velocityconf#velocityconf
![Page 38: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/38.jpg)
#velocityconf#velocityconf
![Page 39: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/39.jpg)
#velocityconf#velocityconf
![Page 40: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/40.jpg)
#velocityconf#velocityconf
![Page 41: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/41.jpg)
#velocityconf#velocityconf
![Page 42: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/42.jpg)
#velocityconf#velocityconf
![Page 43: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/43.jpg)
#velocityconf
THE GREAT FIREWALL OF CHINA
![Page 44: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/44.jpg)
#velocityconf
SIMULATING SPOF ON TECHCRUNCH
![Page 45: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/45.jpg)
#velocityconf
![Page 46: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/46.jpg)
#velocityconf
SPOF-O-Matic
#velocityconf
![Page 47: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/47.jpg)
#velocityconf#velocityconf
![Page 48: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/48.jpg)
#velocityconf
SPOF WIRED
Without SPOFWith SPOF: Visually complete 40s
![Page 49: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/49.jpg)
#velocityconf
LET’S CRASH THE PARTY
![Page 50: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/50.jpg)
#velocityconf#velocityconf
![Page 51: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/51.jpg)
#velocityconf
![Page 52: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/52.jpg)
#velocityconf#velocityconf
![Page 53: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/53.jpg)
#velocityconf#velocityconf
![Page 54: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/54.jpg)
#velocityconf
INITIALIZING CLIENT-SIDE SCRIPTS
![Page 55: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/55.jpg)
#velocityconf
SAFEST (PREVIOUS) WAY: DYNAMIC SCRIPT TAG
(to cover most of the browsers)
![Page 56: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/56.jpg)
#velocityconf
ASYNCHRONOUS LOADING
http://www.phpied.com/social-button-bffs/
![Page 57: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/57.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 58: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/58.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 59: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/59.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 60: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/60.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 61: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/61.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 62: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/62.jpg)
#velocityconf
ASYNCHRONOUS LOADING
![Page 63: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/63.jpg)
#velocityconf
BEFORE
![Page 64: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/64.jpg)
#velocityconf
5 seconds 25 seconds
![Page 65: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/65.jpg)
#velocityconf
AFTER
![Page 66: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/66.jpg)
#velocityconf
AFTER5 seconds
![Page 67: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/67.jpg)
#velocityconf
![Page 68: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/68.jpg)
#velocityconf
THE FUTURE
![Page 69: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/69.jpg)
#velocityconf
ASYNC OR DEFER JS
![Page 70: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/70.jpg)
#velocityconf
ASYNC OR DEFER JS
![Page 71: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/71.jpg)
#velocityconf
ASYNC AND DEFER JS
//suggested by W3C
![Page 72: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/72.jpg)
#velocityconf
PROTECT YOURSELF WITH THE HELP OF TOOLS
Ad-hoc browser tools Continuous integration & deployment tools
![Page 73: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/73.jpg)
#velocityconf
CACHING?Don’t always rely on it!
![Page 74: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/74.jpg)
#velocityconf
CACHE POLICIES
30min.
30 min
12 hrs
20 min
1 hr
336 hrs
no cache
1 hr
3 min
#velocityconf
![Page 75: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/75.jpg)
#velocityconf
WHAT ABOUT HOSTED LIBRARIES?
![Page 76: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/76.jpg)
#velocityconf
GOOGLE HOSTED LIBRARIES
#velocityconf
Pages using Google CDN(Top Alexa Websites)
0%
0.2%
0.4%
Jan '11 Jan '13 Jan '13 Jan '14
11%
17%
26%
37%
Perc
enta
ge
![Page 77: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/77.jpg)
#velocityconf
DON’T JUST COPY AND PASTE
#velocityconf
Anywhere?
![Page 78: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/78.jpg)
#velocityconf
SPOF ALERT
![Page 79: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/79.jpg)
#velocityconf
DON’T DO THIS….
![Page 80: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/80.jpg)
#velocityconf
RATHER DO THIS: SILENTLY FAIL
![Page 81: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/81.jpg)
#velocityconf
GOOGLE’S HOSTED JQUERY FRAGMENTATION
Source: Aug 2014, Big Query result on jQuery from Google CDNs #velocityconf
![Page 82: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/82.jpg)
#velocityconf
SO, WHATS THE VERDICT: HOSTED LIBRARIES OR NOT?
![Page 83: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/83.jpg)
#velocityconf
PRIVACY
![Page 84: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/84.jpg)
#velocityconf
https://developers.facebook.com/docs/plugins/like-button/
![Page 85: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/85.jpg)
#velocityconf
What they don’t really tell you that they maybe….track the visited website, your IP, and more….????Did you agree to that?
![Page 86: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/86.jpg)
#velocityconf
OPEN SOURCE INITIATIVES AND RESOURCES
![Page 87: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/87.jpg)
#velocityconf
PRIVACY HERO HEISE’S OPT-IN SOLUTION
![Page 88: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/88.jpg)
#velocityconf#velocityconf
![Page 89: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/89.jpg)
#velocityconf
3RD PARTY PERF HEROES PHILIP TELLIS & STOYAN STEFANOV
![Page 90: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/90.jpg)
#velocityconf#velocityconf
![Page 91: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/91.jpg)
#velocityconf
MEASURING 3RD PARTY CONTENT ON YOUR SITE
Navigation timing APIResource timing API
![Page 92: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/92.jpg)
#velocityconf
0
85
170
Jan '14 Feb '14 Mar '14 Apr '14 May '14 Jun '14 Jul '14
82 86 8699
130
157168
ADOPTION OF TIMING-ALLOW-ORIGIN HEADER (TOP ALEX WEBSITES)
#velocityconf
Facebook Google
Akamai Disqus Typekit Optimizely
Cedexis Twitter
CDNPlanet Walmart
![Page 93: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/93.jpg)
#velocityconf
JSMANNERS
![Page 94: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/94.jpg)
#velocityconf#velocityconf
![Page 95: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/95.jpg)
#velocityconf
CONTRIBUTE ON GITHUB!https://github.com/triblondon/thirdpartysla
#velocityconf
![Page 96: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/96.jpg)
#velocityconf
NEXT TIME BEFORE YOU COPY AND PASTE
![Page 97: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/97.jpg)
#velocityconf
WHAT TO DO AS A PUBLISHER & DEVELOPER
• 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
![Page 98: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/98.jpg)
#velocityconf
• 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
![Page 99: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/99.jpg)
#velocityconf
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)
![Page 100: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/100.jpg)
#velocityconf
THE PARTY’S OVER THANK YOU
![Page 101: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/101.jpg)
#velocityconf
SHAMELESS PLUG I’m writing a book: Lean Websites (SitePoint)
VELOCITY OFFICE HOUR 2pm Table 1 (Sponsor Pavilion)
bit.ly/velocityconf14-3rdpartyQUESTIONS?
![Page 102: Third Party Footprint: Evaluating the Performance of External Scripts](https://reader034.fdocuments.in/reader034/viewer/2022042613/546e9ba3af795985298b580b/html5/thumbnails/102.jpg)
#velocityconf
BUT WHEN TO USE WHAT NOW?