Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Upgrading the Web - Driving Support For New Sta...
Search
Jonathan Klein
November 15, 2013
Technology
450
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Upgrading the Web - Driving Support For New Standards
I gave this talk at Velocity London 2013.
Slides and links available at jkle.in/upgrade
Jonathan Klein
November 15, 2013
More Decks by Jonathan Klein
See All by Jonathan Klein
Cognitive Biases in Engineering Organizations - Craft Conf
jklein
15
520
Demystifying SPDY and HTTP/2
jklein
1
690
Demystifying SPDY and HTTP/2
jklein
2
1.2k
Cognitive Biases in Engineering Organizations
jklein
4
2k
Composer: From Beginner to Expert
jklein
1
1.1k
Upgrading the Web: Boston Web Performance Meetup
jklein
1
350
Upgrading the Web: Driving Support For New Standards
jklein
1
870
Northeastern Lunch and Learn
jklein
0
300
Profiling PHP With XHProf
jklein
1
1.1k
Other Decks in Technology
See All in Technology
AI時代の強いチームの作り方
yuukiyo
17
9.1k
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
780
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
2
230
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
340
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
700
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
190
Pavlokで始める電撃駆動開発
sgrsn
0
130
システム監視入門
grimoh
5
770
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
590
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
8
1.9k
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
160
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
The Spectacular Lies of Maps
axbom
PRO
1
880
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
We Are The Robots
honzajavorek
0
290
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The untapped power of vector embeddings
frankvandijk
2
1.8k
Building Adaptive Systems
keathley
44
3.1k
How to make the Groovebox
asonas
2
2.3k
The browser strikes back
jonoalderson
0
1.4k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Transcript
Upgrading the Web Driving Support For New Standards Velocity London
2013 Jonathan Klein @jonathanklein Friday, November 15, 13
Slides, Links jkle.in/upgrade Friday, November 15, 13
About Me Friday, November 15, 13
About Me • Performance Engineer At Etsy Friday, November 15,
13
About Me • Performance Engineer At Etsy • I write
the Etsy Site Performance Reports Friday, November 15, 13
About Me • Performance Engineer At Etsy • I write
the Etsy Site Performance Reports • Organize Boston Web Perf Meetup Group Friday, November 15, 13
Etsy Stats Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
A Story Friday, November 15, 13
A Story From the Future Friday, November 15, 13
Friday, November 15, 13
http://goo.gl/Uj3w9y Friday, November 15, 13
Things You Learned Friday, November 15, 13
Things You Learned • Hop Hints Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints Friday,
November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
What Should You Implement? Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
HTTP Origin/Hop Hints Friday, November 15, 13
HTTP Origin/Hop Hints • IETF Draft Friday, November 15, 13
HTTP Origin/Hop Hints • IETF Draft • HTTP Response Header
Friday, November 15, 13
HTTP Origin/Hop Hints • IETF Draft • HTTP Response Header
•OH: a,b=6,c Friday, November 15, 13
HTTP Origin/Hop Hints • IETF Draft • HTTP Response Header
•OH: a,b=6,c • Tells the browser about server capabilities Friday, November 15, 13
HTTP Origin/Hop Hints Friday, November 15, 13
HTTP Origin/Hop Hints • Small Request Headers Friday, November 15,
13
HTTP Origin/Hop Hints • Small Request Headers • Relative Referers
Friday, November 15, 13
HTTP Origin/Hop Hints • Small Request Headers • Relative Referers
• Omitting Cookies Friday, November 15, 13
HTTP Origin/Hop Hints • Small Request Headers • Relative Referers
• Omitting Cookies • Sharing Connections Friday, November 15, 13
HTTP Origin/Hop Hints • Small Request Headers • Relative Referers
• Omitting Cookies • Sharing Connections • Pipeline Depth Friday, November 15, 13
Reduce Header Size Friday, November 15, 13
Optimize Transfer Friday, November 15, 13
No Content Changes Friday, November 15, 13
Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Client Hints Friday, November 15, 13
Client Hints • IETF Draft Friday, November 15, 13
Client Hints • IETF Draft • HTTP Request Header Friday,
November 15, 13
Client Hints • IETF Draft • HTTP Request Header •CH-DPR:
2.0 Friday, November 15, 13
Client Hints • IETF Draft • HTTP Request Header •CH-DPR:
2.0 • Tells the server about browser capabilities Friday, November 15, 13
Friday, November 15, 13
Will Also Specify Height/Width Friday, November 15, 13
Simplifies Markup Friday, November 15, 13
Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
WebP Friday, November 15, 13
WebP • New image format from Google Friday, November 15,
13
WebP • New image format from Google • 25-34% smaller
than JPEG Friday, November 15, 13
WebP • New image format from Google • 25-34% smaller
than JPEG • Lossless Option Friday, November 15, 13
WebP • New image format from Google • 25-34% smaller
than JPEG • Lossless Option • Alpha Transparency Friday, November 15, 13
WebP • New image format from Google • 25-34% smaller
than JPEG • Lossless Option • Alpha Transparency • Growing adoption Friday, November 15, 13
Friday, November 15, 13
Now We Are Getting Somewhere... Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Key Stats First Run Bytes 576KB Start Render 932ms Speed
Index 1269ms Friday, November 15, 13
Brief Aside: Speed Index Friday, November 15, 13
Friday, November 15, 13
Convert JPEGs to WebP Friday, November 15, 13
Friday, November 15, 13
Key Stats First Run WebP Difference Bytes 576KB 387KB -33%
Start Render 932ms 1019ms +9% Speed Index 1269ms 1278ms <1% Friday, November 15, 13
Friday, November 15, 13
Its Future is Uncertain Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Challenges with WebP Friday, November 15, 13
Challenges with WebP • Worse shareability Friday, November 15, 13
Challenges with WebP • Worse shareability • Increased decoding time
Friday, November 15, 13
Challenges with WebP • Worse shareability • Increased decoding time
• Controversial studies around quality/size Friday, November 15, 13
Challenges with WebP • Worse shareability • Increased decoding time
• Controversial studies around quality/size • No progressive decoding (yet) Friday, November 15, 13
Still a Big Bandwidth Win Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
SPDY/HTTP 2.0 Friday, November 15, 13
SPDY/HTTP 2.0 • Next version of HTTP Friday, November 15,
13
SPDY/HTTP 2.0 • Next version of HTTP • HTTP Multiplexing
Friday, November 15, 13
SPDY/HTTP 2.0 • Next version of HTTP • HTTP Multiplexing
• Header Compression Friday, November 15, 13
SPDY/HTTP 2.0 • Next version of HTTP • HTTP Multiplexing
• Header Compression • Prioritization Friday, November 15, 13
SPDY/HTTP 2.0 • Next version of HTTP • HTTP Multiplexing
• Header Compression • Prioritization • Wide support Friday, November 15, 13
Friday, November 15, 13
No More... Friday, November 15, 13
No More... • Domain Sharding Friday, November 15, 13
No More... • Domain Sharding • Spriting Images Friday, November
15, 13
No More... • Domain Sharding • Spriting Images • Concatenating
Files Friday, November 15, 13
No More... • Domain Sharding • Spriting Images • Concatenating
Files • DataURIs Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Slides, Links jkle.in/upgrade Friday, November 15, 13
Let’s See it in Action Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Before SPDY Friday, November 15, 13
After SPDY Friday, November 15, 13
Key Stats First Run SPDY/ HTTP 2.0 Difference Bytes 387KB
387KB - Start Render 1019ms 972ms -5% Speed Index 1278ms 1108ms -14% Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
Sites Using SPDY Today Friday, November 15, 13
Sites Using SPDY Today • Most (all?) Google Properties Friday,
November 15, 13
Sites Using SPDY Today • Most (all?) Google Properties •
Facebook Friday, November 15, 13
Sites Using SPDY Today • Most (all?) Google Properties •
Facebook • Twitter Friday, November 15, 13
Sites Using SPDY Today • Most (all?) Google Properties •
Facebook • Twitter • You? Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Pre-fetching • Fetch assets for next page • Speeds up
navigation <link rel="prefetch" href="/foo.css"> Friday, November 15, 13
WebPagetest Script logData 0 navigate https://velocity.jkle.in logData 1 navigate https://velocity.jkle.in/product.html
Friday, November 15, 13
Friday, November 15, 13
Key Stats First Run Bytes 85KB Speed Index 479ms CSS
Files 2 JS Files 6 Friday, November 15, 13
Prefetch <link rel="prefetch" href="/prestashop/themes/default/css/product.css"> <link rel="prefetch" href="/prestashop/js/jquery/plugins/fancybox/jquery.fancybox.css"> <link rel="prefetch" href="/prestashop/js/jquery/plugins/fancybox/jquery.fancybox.js">
<link rel="prefetch" href="/prestashop/js/jquery/plugins/jquery.idTabs.js"> <link rel="prefetch" href="/prestashop/js/jquery/plugins/jquery.scrollTo.js"> <link rel="prefetch" href="/prestashop/js/jquery/plugins/jquery.serialScroll.js"> <link rel="prefetch" href="/prestashop/themes/default/js/tools.js"> <link rel="prefetch" href="/prestashop/themes/default/js/product.js"> Friday, November 15, 13
Friday, November 15, 13
Key Stats First Run Pre-fetching Difference Bytes 85KB 50KB -40%
Speed Index 479ms 290ms -40% CSS Files 2 0 -100% JS Files 6 0 -100% Friday, November 15, 13
Friday, November 15, 13
Things You Learned • Hop Hints • Client Hints •
WebP • SPDY/HTTP 2.0 • Pre-fetching Friday, November 15, 13
Browser Support Friday, November 15, 13
Friday, November 15, 13
These Are Still Good Options Friday, November 15, 13
Convincing CDNs Would Be HUGE Friday, November 15, 13
Action Steps Friday, November 15, 13
Action Steps • Implement as much as you can Friday,
November 15, 13
Action Steps • Implement as much as you can •
Speak/blog about challenges Friday, November 15, 13
Action Steps • Implement as much as you can •
Speak/blog about challenges • Ask your CDN for support Friday, November 15, 13
Action Steps • Implement as much as you can •
Speak/blog about challenges • Ask your CDN for support • Report bugs Friday, November 15, 13
Let’s Upgrade The Web Friday, November 15, 13
Thanks! Friday, November 15, 13
@jonathanklein
[email protected]
www.etsy.com/careers Get in Touch Friday, November 15, 13