Your hero images need you: Save the day with HTTP2 image loading / Tobias Baldauf (Akamai...

Post on 06-Jan-2017

82 views 5 download

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