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
1
340
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
Tweet
Share
More Decks by Jonathan Klein
See All by Jonathan Klein
Cognitive Biases in Engineering Organizations - Craft Conf
jklein
15
340
Demystifying SPDY and HTTP/2
jklein
1
550
Demystifying SPDY and HTTP/2
jklein
2
990
Cognitive Biases in Engineering Organizations
jklein
4
1.9k
Composer: From Beginner to Expert
jklein
1
820
Upgrading the Web: Boston Web Performance Meetup
jklein
1
250
Upgrading the Web: Driving Support For New Standards
jklein
1
750
Northeastern Lunch and Learn
jklein
0
200
Profiling PHP With XHProf
jklein
1
970
Other Decks in Technology
See All in Technology
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.1k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
いざ、BSC討伐の旅
nikinusu
2
780
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
140
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
660
Featured
See All Featured
KATA
mclloyd
29
14k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Statistics for Hackers
jakevdp
796
220k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Embracing the Ebb and Flow
colly
84
4.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Gamification - CAS2011
davidbonilla
80
5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
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