fast and responsive images (velocity)

18
Fast & Responsive Images O'Reilly Velocity NY September 17, 2014

Upload: sergey-chernyshev

Post on 22-Nov-2014

386 views

Category:

Technology


1 download

DESCRIPTION

Responsive design is taking the world by a storm and every team is converting their site to be on mobile or preparing to do that soon. Few people however realize performance implications of this new approach to web development and one of the issues is images which represent more then 60% of all network payload and can congest wireless networks with data unnecessary for display on naturally smaller screens than desktop. This issue gave birth to various Responsive Images techniques which are used to display “just right” size of the image for user’s device. There are several aspects of the issue that need to be considered, from formats and resolutions to content management and implementation code. When done wrong, performance can degrade much worse then original “desktop” approach, but with a few key features implemented right, can reduce payload size dramatically providing improved user experience.

TRANSCRIPT

Page 1: Fast and responsive images (velocity)

Fast & ResponsiveImages

O'Reilly Velocity NY September 17, 2014

Page 2: Fast and responsive images (velocity)

Sergey Chernyshev

Organize NY Web Perf

Tech. Dir. Web Sys. & App. Dev. at truTV / Turner

@SergeyChe

SergeyChernyshev.com

Page 3: Fast and responsive images (velocity)

Responsive Design & Images

May 25, 2010 http://alistapart.com/article/responsive-web-design/

Page 4: Fast and responsive images (velocity)

Image Responsiveness

Size

"Art direction"

Format / Encoding

Bandwidth

Page 5: Fast and responsive images (velocity)

Size in Pixels (resolution)

Size in Kb

on the wire

in memory + decoding

"Why we need responsive images" part I & part II by @TKadlec

1920px 320px

Page 6: Fast and responsive images (velocity)

Size in Pixels (density)Multiply by 1 - 3x

Kindle Fire HDX - 2560x1600

iPhone 6 - 1704x960

iPhone 5 - 1136x640

iPad 3, 4, Air - 2048x1536

MacBook Pro Retina - 2880x1800

http://dpi.lv/ - DPI Love by Lea Verou

Page 7: Fast and responsive images (velocity)

Art Direction

Page 8: Fast and responsive images (velocity)

Encoding: JPEG compression

Lossy: 1-100 quality setting

Lossless: removes metadata

100% 90% 80% 70% 60%

50% 40% 30% 20% 10%

100% 90% 80% 70% 60%

50% 40% 30% 20% 10%

Page 9: Fast and responsive images (velocity)

Encoding: Best Format

JPEG

WebP Chrome23+ Opera 12.1+

JPEG XR IE10+

PNG

Gif -> PNG

PNG -> JPEG

SVG

Web Site Optimization With Browser-Specific Image Formats calendar.perfplanet.com

Page 10: Fast and responsive images (velocity)

BandwidthVary compression level

Requires bandwidth detection

Just plain hard

Progressive JPEGs FTW!by @PatMeenan

Alternative: use progressive JPEG

Page 11: Fast and responsive images (velocity)

Integration: CMS Workflow

Edit Optimize Deploy

Page 12: Fast and responsive images (velocity)

Integration: Image ServiceAdaptive Images

https://github.com/MattWilcox/Adaptive-Images

SenchaSRC, LiquidPixels

<img src="http://src.sencha.io/320/200/http://a.com/b.jpg" width="320" height="200" >

Page 13: Fast and responsive images (velocity)

<picture>, srcset, sizes

Now part of HTML spec

In upcoming Chrome, Firefox and Opera, "under consideration" in IE

Page 14: Fast and responsive images (velocity)

On The Page<?php img('/path/to/original.jpg') ?>

8 Guidelines and 1 Rule for Responsive Images http://blog.cloudfour.com/8-guidelines-and-1-rule-for-responsive-images/

Picturefill v2 by Scott Jehlhttps://github.com/scottjehl/picturefill

Page 15: Fast and responsive images (velocity)

Integration: Automationmod_pagespeed / ngx_pagespeed filters

• rewrite_images

• inline_images

• recompress_images

• convert_gif_to_png, convert_png_to_jpeg

FEO from Akamai, Radware and others

Page 16: Fast and responsive images (velocity)

0.000

0.400

0.800

1.200

1.600

Small Medium Large

1.454

1.233

0.407

Homepage Image Sizes (Mb)

Page 17: Fast and responsive images (velocity)

0.000

1.000

2.000

3.000

4.000

Small Medium Large Source

3.818

1.4541.233

0.407

Homepage Image Sizes (Mb)

Page 18: Fast and responsive images (velocity)

Thank you!

Sergey Chernyshev !

@SergeyChe !

@PerfPlanet !

[email protected]