Post on 06-Jan-2017
transcript
Your Hero Images
Need You!Save the Day with
HTTP2 Image Loading
1 / 75 — tbaldauf@akamai.com
Tobias Baldauf@tbaldauf
tbaldauf@akamai.com
2 / 75 — tbaldauf@akamai.com
3 / 75 — tbaldauf@akamai.com
4 / 75 — tbaldauf@akamai.com
Show Images
FasterThan Ever
5 / 75 — tbaldauf@akamai.com
Render Meaningful Content With
25%Image Data Sent
6 / 75 — tbaldauf@akamai.com
7 / 75 — tbaldauf@akamai.com
ref. http://httparchive.org/trends.php?s=All&minlabel=Mar+15+2014&maxlabel=Mar+15+2016#bytesImg&reqImg 8 / 75 — tbaldauf@akamai.com
9 / 75 — tbaldauf@akamai.com
What Can We Do?
10 / 75 — tbaldauf@akamai.com
Get compressin'!
11 / 75 — tbaldauf@akamai.com
Compress
Aggressively
12 / 75 — tbaldauf@akamai.com
Ship Right Format
13 / 75 — tbaldauf@akamai.com
Automate Quality
14 / 75 — tbaldauf@akamai.com
Still a Heavy Load :(
15 / 75 — tbaldauf@akamai.com
We need a new form of
Aggressive Delivery!
16 / 75 — tbaldauf@akamai.com
Enter HTTP2
17 / 75 — tbaldauf@akamai.com
Thanks to Clay Smith (https://twitter.com/smithclay) for this beauty! 18 / 75 — tbaldauf@akamai.com
kudos to my team mate Lukasz Czerpak, @lukaszczerpak 19 / 75 — tbaldauf@akamai.com
kudos to my team mate Lukasz Czerpak, @lukaszczerpak 20 / 75 — tbaldauf@akamai.com
21 / 75 — tbaldauf@akamai.com
H2 Constraints
22 / 75 — tbaldauf@akamai.com
Ingredient #1
H2 Multiplexing
23 / 75 — tbaldauf@akamai.com
Progressive JPEGs
24 / 75 — tbaldauf@akamai.com
Sequential JPEG Progressive JPEG
Images taken from http://www.pixelstech.net/article/1374757887-Use-progressive-JPEG-to-improve-user-experience 25 / 75 — tbaldauf@akamai.com
Scan Layers
26 / 75 — tbaldauf@akamai.com
Default Scan Layers
Thanks to Frédéric Kayser for creating 'jsk': http://encode.ru/threads/1800-JSK-JPEG-Scan-Killer-progressive-JPEG-explained-in-slowmo 27 / 75 — tbaldauf@akamai.com
Org Cb
Y Cr28 / 75 — tbaldauf@akamai.com
29 / 75 — tbaldauf@akamai.com
30 / 75 — tbaldauf@akamai.com
31 / 75 — tbaldauf@akamai.com
Can We Go ...
Even Faster?
32 / 75 — tbaldauf@akamai.com
33 / 75 — tbaldauf@akamai.com
34 / 75 — tbaldauf@akamai.com
1
35 / 75 — tbaldauf@akamai.com
2
36 / 75 — tbaldauf@akamai.com
3
37 / 75 — tbaldauf@akamai.com
4
38 / 75 — tbaldauf@akamai.com
5
39 / 75 — tbaldauf@akamai.com
Ingredient #2
Progressive JPEGs
40 / 75 — tbaldauf@akamai.com
How
FASTIs this Mixture?
41 / 75 — tbaldauf@akamai.com
What defines
FAST?
42 / 75 — tbaldauf@akamai.com
Speed Index
43 / 75 — tbaldauf@akamai.com
ref. Pat Meenan, http://www.slideshare.net/patrickmeenan/measuring-the-visual-experience-of-website-performance 44 / 75 — tbaldauf@akamai.com
ref. Pat Meenan, http://www.slideshare.net/patrickmeenan/measuring-the-visual-experience-of-website-performance 45 / 75 — tbaldauf@akamai.com
ref. Pat Meenan, http://www.slideshare.net/patrickmeenan/measuring-the-visual-experience-of-website-performance 46 / 75 — tbaldauf@akamai.com
Site A displays
7.4x fasterthan Site B
more info at https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index 47 / 75 — tbaldauf@akamai.com
Baseline Sequentialvs.
Progressive JPEGson HTTP1.1
48 / 75 — tbaldauf@akamai.com
49 / 75 — tbaldauf@akamai.com
50 / 75 — tbaldauf@akamai.com
51 / 75 — tbaldauf@akamai.com
Progressive JPEGsvs.
Optimized pJPEGson HTTP1.1
52 / 75 — tbaldauf@akamai.com
53 / 75 — tbaldauf@akamai.com
54 / 75 — tbaldauf@akamai.com
55 / 75 — tbaldauf@akamai.com
Baseline Sequentialvs.
Progressive JPEGs
on HTTP2
56 / 75 — tbaldauf@akamai.com
57 / 75 — tbaldauf@akamai.com
58 / 75 — tbaldauf@akamai.com
59 / 75 — tbaldauf@akamai.com
Progressive JPEGsvs.
Optimized Progressive JPEGs
on HTTP2
60 / 75 — tbaldauf@akamai.com
61 / 75 — tbaldauf@akamai.com
62 / 75 — tbaldauf@akamai.com
Optimized pJPEGs on HTTP2 yield a
6% Speed Index Gain
63 / 75 — tbaldauf@akamai.com
What about
HTTP2 Server Push?
64 / 75 — tbaldauf@akamai.com
// Prioritize a progressive JPEG's metadata and scan levels// with minimal 'calm' => maximum priority<img src="img/jpeg_opJPEG/tba/00001.jpg?bil=0!0">
// Create a cumulative cascade of 'calm'// for a progressive JPEG's metadata and scan levels// Each new value is added to the sum, lowering priority per scan layer <img src="img/jpeg_opJPEG/tba/00001.jpg?bil=0!100,50,20">
65 / 75 — tbaldauf@akamai.com
66 / 75 — tbaldauf@akamai.com
67 / 75 — tbaldauf@akamai.com
68 / 75 — tbaldauf@akamai.com
69 / 75 — tbaldauf@akamai.com
70 / 75 — tbaldauf@akamai.com
Progressive Images+
HTTP2=
Win
71 / 75 — tbaldauf@akamai.com
Scan Layer Manipulation=
Better Speed Index
72 / 75 — tbaldauf@akamai.com
HTTP2 Server Push+
Optimized Scan Layers=
Awesomesauce
73 / 75 — tbaldauf@akamai.com
THANKS!
74 / 75 — tbaldauf@akamai.com
Tobias Baldauf@tbaldauf
tbaldauf@akamai.com
75 / 75 — tbaldauf@akamai.com