SlideShare a Scribd company logo
1 of 36
Practical 
Responsive 
Images 
http://unsplash.com/
A picture is worth a thousand words… 
http://unsplash.com/ 
…but the cost is much greater
The cost of images 
http://en.wikipedia.org/wiki/Wikipedia:Size_comparisons 
198,000 Words 
http://httparchive.org/interesting.php?a=All&l=Jul%2015%202014 
1165kB 
Images 
Average Bytes per Page by 
Content Type (July 2014): 
If 1kB is 1024 ASCII characters 
6 chars/word 
An estimated average word length 
is five characters, plus a space, 
(1165kB * 1024) / 6 = ~198, 800 
(including HTML) 
(of a total: 1850kB) 
50-60 
img requests 
per page 
Average image 
size for JPEG 
was 30kB
The cost of images 
Pride and Prejudice 
apparently contains 
122,000 words 
http://www.searchlit.org/novels/460.php
The Value of Images 
“Pictures have the power to create an emotional response 
in the audience, which is worth its weight in gold. An image 
can also communicate instantly, as our brain can interpret 
them much quicker than text.” 
http://www.thoughtmechanics.com/the-importance-of-images-in-web-design/ 
! 
thoughtmechanics.com 
“If I’d have to pick one single thing that 
would sell a product online, it’s images.” 
! 
Peep Laja (Conversion Coach)
The Value of Images 
Articles with images get 94% more total views 
Headshots of customer service reps on a web 
page can boost conversion rates by 20% 
In an ecommerce site, 67% of consumers say the 
quality of a product image is “very important” in 
selecting and purchasing a product 
Including a Photo and a video in a press 
release increases views by over 45% 
60% of consumers are more likely to 
consider or contact a business when an 
image shows up in local search results 
http://www.jeremysaid.com/the-jaw-dropping-effect-that-images-can-have-on-your-conversion-rates/ 
http://www.jeffbullas.com/2012/05/28/6-powerful-reasons-why-you-should-include-images-in-your-marketing-infographic/
Images are powerful 
In some studies 
10-15x 
more viewers look at 
and engage with the 
content when the 
model is looking or 
gesturing towards it
Images are powerful 
In some studies 
10-15x 
more viewers look at 
and engage with the 
content when the 
model is looking or 
gesturing towards it 
http://thinkeyetracking.com/2009/06/cuing-customers-to-look-at-your-key-messages/ Photo courtesy of Christian Hambly
Since first proposed in 1993, 
the <img > tag has remained 
mostly unchanged…. 
! 
…whereas the rest of the web-world 
change quite a bit!
The first ever website. 
http://info.cern.ch/hypertext/WWW/TheProject.html 
Publish date: 
August 6, 1991
In 1996 
The closest you can 
experience this 
today is probably 
! 
Hotel WiFi 
Text was pretty popular… 
56kbps = 7kBps 1850kB would take 265 second = 4.5 minutes
Raster image options 
Background-images via CSS 
background-image: url('../images/header_800px.jpg'); 
@include mq($M){ 
background-image: url('../images/header_1400px.jpg'); 
} 
} 
*Stu Robson's media query mixin 
.banner{ 
Foreground images at 100% 
! 
.item_visuals img{ 
width: 100%; 
} 
……does nothing for payload.
…use alternatives 
to raster images 
if you can……. 
! 
SVG! 
! 
icon fonts 
http://icomoon.io/
Javascript Image Replacement 
using <noscript>, custom data- attributes and .insertAfter($(this)) 
<noscript data-imageid=‘bag.jpg’ data-small-imageid=‘bag_small.jpg’ data-large-imageid=‘bag_large.jpg’> 
<img src=‘bag_small.jpg’ alt='Bag' /> 
http://allbs.co.uk/2012/05/11/responsive-images-intro/ 
! 
</noscript> 
<script> 
! 
var areawidth = $(window).width(); 
var widthDownTosmall = 600; 
var widthUpToLarge = 1100; 
! 
$('noscript[data-imageid]').each(function(){ 
var imageBase=“image/path"; 
var imageid = $(this).attr("data-imageid"); 
var imageSmall = $(this).attr("data-small-imageid"); 
var imageLarge = $(this).attr("data-large-imageid"); 
if (areawidth <= widthDownTosmall) {imageid = imageSmall; } 
if (areawidth >= widthUpToLarge) {imageid = imageLarge; } 
$('<img src="' + imageBase + imageid + '"/>').insertAfter($(this)); 
}); 
</script>
Enter our heroes: 
<picture> 
srcset attribute
Responsive Images Community Group 
http://responsiveimages.org/
Nitty gritty 
! 
<picture> 
<source media="(min-width: 40em)" srcset="apple-big.jpg 1x, apple-big-hd.jpg 2x"> 
<source srcset="apple-small.jpg 1x, apple-small-hd.jpg 2x"> 
<img src="apple-fallback.jpg" alt="How do you like them apples?"> 
</picture> 
<img src="apple-fallback.jpg" 
srcset="apple-big.jpg 1000w, apple-med.jpg 640w, apple-small.jpg 320w" 
sizes="(min-width: 40em) 50vw, 100vw" 
alt="How do you like them apples?" />
(As of : June 11th ‘14) 
Progress 
(As of : August 17th ‘14) 
http://responsiveimages.org/
Can I Use 
(As of : Aug 16th 2014) 
http://caniuse.com/#search=picture http://caniuse.com/#search=srcset
How to enable 
chrome://flags/#enable-experimental- 
web-platform-features 
Firefox Nightly 
Tools > Web Developer > 
Developer Toolbar 
Chrome Canary
picturefill 
A responsive image polyfill. 
For today, and future-legacy-browsers 
http://scottjehl.github.io/picturefill/ 
<script> 
document.createElement( "picture" ); 
</script> 
<script src="picturefill.js" async></script> 
Developed and maintained by Filament Group
• grab a copy of picturefill.js 
• Use the <picture> element 
(never go back) 
<picture> 
<!--[if IE 9]><video style="display: none;”><![endif]--> 
<source srcset="/image1_big.jpg" media="(min-width: 1000px)"> 
<source srcset="/image1_medium.jpg" media="(min-width: 800px)"> 
<source srcset="/image_small.jpg"> 
<!--[if IE 9]></video><![endif]--> 
<img srcset="/image_fallback.jpg alt="context"> 
</picture> 
Try it today
Use Case 1: breakpoint optimised images (retina/pixel ratio) 
media="(min-width: 1000px)" 
media="(min-width: 400px)" 
srcset="/image1_big.jpg" 
srcset=“/image1_small.jpg" 
http://responsiveimag.es/Practical_Example_1.html
Use Case 2: Crop to point of interest (Art Direction) 
http://responsiveimag.es/Practical_Example_2.html
Use Case 2: Crop to point of interest (Art Direction)
Use Case 3: Device Orientation 
srcset="landscape_variant.jpg" media="(min-width: 
400px) and (orientation: landscape)" 
srcset="portrait_variant.jpg" media="(min-width: 
400px) and (orientation: portrait)" 
http://responsiveimag.es/Practical_Example_3.html
Use Case 4: Image type : webp/svg 
<picture> 
<type="image/webp" srcset="images/lilypad_600.webp" /> 
<img src="images/lilypad_600.jpg" alt="Lily pad" /> 
</picture>
Use Case 5: vw 
<img 
src=“Apple_fallback.jpg” alt="How do you like them Apples?" 
sizes="(min-width: 640px) 50vw, 100vw" 
srcset=“Apple_200.jpg 200w, 
Apple_400.jpg 400w, 
Apple_600.jpg 600w, 
Apple_800.jpg 800w, 
Apple_1200.jpg 1200w" /> 
</div> 
Viewport width 
If width ≥ 640px then use 50vw 
! 
i.e. Calculations use 50% of width 
50% 
Within the fluid context of responsive websites, 
the restrictive nature of the <img> element, and 
lack of CSS controls for foreground images, has 
not been the elephant in the room. It's just been 
the elephant that we couldn't agree what to do 
with….
Where do we get all those image variants? 
(scaling / CDN) 
Batch Statics 
v 
Server-side 
image manipulation 
Build Your Own 
v 
SaaS
Dynamic Imaging Systems 
At-request-time image variants: 
Control width, quality, sharpening…. 
! 
image.jpg?w=400&qlt=70&unsharp=0,1,1,7
Combining the two 
<picture> 
<!--[if IE 9]><video style="display: none;"><![endif]--> 
<source srcset="http://images.amplience.com/i/benco/Apple_Row2.jpg? 
w=1400&qlt=80&unsharp=0,1,1,7" media="(min-width: 1200px)"> 
<source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? 
w=1200&qlt=80&unsharp=0,1,1,7" media="(min-width: 1050px)"> 
<source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? 
pcrop=700,0,2500,800&w=950&qlt=80&unsharp=0,1,1,7" media="(min-width: 850px)"> 
<source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? 
pcrop=1300,0,1900,800&w=850&qlt=80&unsharp=0,1,1,7" media="(min-width: 600px)"> 
<source srcset=“http://images.amplience.com/i/benco/Red_And_Green_Apples2.jpg? 
w=600&qlt=80&unsharp=0,1,1,7"> 
<!--[if IE 9]></video><![endif]--> 
<img srcset="http://images.amplience.com/i/benco/Apple2.jpg?w=600&qlt=80" 
alt="How do you like them Apples?"> 
</picture>
Combining the two 
<img 
src="http://images.amplience.com/i/benco/Apple2.jpg?w=400&qlt=80" 
Viewport width 
50% 
Within the fluid context of responsive websites, 
the restrictive nature of the <img> element, and 
lack of CSS controls for foreground images, has 
not been the elephant in the room. It's just been 
the elephant that we couldn't agree what to do 
with…. 
alt="How do you like them Apples?" 
sizes="(min-width: 640px) 50vw, 100vw" 
srcset="http://images.amplience.com/i/benco/Apple_Row2.jpg?w=200&qlt=80&unsharp=0,1,1,7 200w, 
http://images.amplience.com/i/benco/Apple_Row2.jpg?w=400&qlt=80&unsharp=0,1,1,7 400w, 
http://images.amplience.com/i/benco/Apple_Row2.jpg?w=600&qlt=80&unsharp=0,1,1,7 600w, 
http://images.amplience.com/i/benco/Apple_Row2.jpg?w=800&qlt=80&unsharp=0,1,1,7 800w, 
http://images.amplience.com/i/benco/Apple_Row2.jpg?w=1200&qlt=80&unsharp=0,1,1,7 1200w" /> 
! 
</div>
One last thing….
AngularJS 
<body> 
<img src=“Apple.jpg" picture-assetid="Apple_Row2" 
alt="How do you like them apples?"/> 
</body> 
angular.module('components', []) 
.directive('pictureAssetid', function(){ 
return { 
restrict: 'A', 
replace:true, 
transclude: true, 
scope : { 
caption: '@', 
pictureAssetid: '@' 
}, 
templateUrl: 'partials/image-picture.html' 
} 
}) 
! 
angular.module('HelloApp', ['components']) 
<picture> 
<!--[if IE 9]><video style="display: none;"><![endif]--> 
<source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=1400&qlt=80&unsharp=0,1,1,7" media="(min-width: 1000px)"> 
<source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=800&qlt=80&unsharp=0,1,1,7" media="(min-width: 800px)"> 
<source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=600&qlt=80&unsharp=0,1,1,7"> 
<!--[if IE 9]></video><![endif]--> 
<img srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=400&qlt=80" > 
</picture>
<picture> 
/ 
srcset 
Dynamic 
Imaging 
System 
Practical 
Responsive 
Images 
+ =
http://responsiveimag.es 
@bseymour 
Thank you

More Related Content

Viewers also liked

Royal Public School, Haridwar
Royal Public School, HaridwarRoyal Public School, Haridwar
Royal Public School, HaridwarLimeLox
 
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGN
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGNIDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGN
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGNIBGTV
 
Comunicación en Medios Sociales de la Web
Comunicación en Medios Sociales de la WebComunicación en Medios Sociales de la Web
Comunicación en Medios Sociales de la WebPablo Capurro
 
Boletin electronico 1
Boletin electronico 1Boletin electronico 1
Boletin electronico 1Sipnology
 
Direct Plan (Spanish)
Direct Plan (Spanish)Direct Plan (Spanish)
Direct Plan (Spanish)goldbex34
 
Citrix HDX como integrarlo con Microsoft Lync
Citrix HDX como integrarlo con Microsoft LyncCitrix HDX como integrarlo con Microsoft Lync
Citrix HDX como integrarlo con Microsoft LyncJavier Sanchez Alcazar
 
TECNICAS DE INFORMACION Y COMUNICACION
TECNICAS DE INFORMACION Y COMUNICACIONTECNICAS DE INFORMACION Y COMUNICACION
TECNICAS DE INFORMACION Y COMUNICACIONJim Reyes
 
Programa Fiestas de El Bonillo 2013
Programa Fiestas de El Bonillo 2013Programa Fiestas de El Bonillo 2013
Programa Fiestas de El Bonillo 2013Albacete
 
Gigaset QV830 Tablet User Guide
Gigaset QV830 Tablet User GuideGigaset QV830 Tablet User Guide
Gigaset QV830 Tablet User GuideTelephones Online
 
Triptico+Desaladora+Campo+De+Dalias
Triptico+Desaladora+Campo+De+DaliasTriptico+Desaladora+Campo+De+Dalias
Triptico+Desaladora+Campo+De+Daliasguestb2983f3
 
Instalación y Configuración de ITALC2.0
Instalación y Configuración de ITALC2.0Instalación y Configuración de ITALC2.0
Instalación y Configuración de ITALC2.0ed_adolfo
 
FOTONOVELA - A CARTEIRA - MACHADO DE ASSIS
FOTONOVELA - A CARTEIRA - MACHADO DE ASSISFOTONOVELA - A CARTEIRA - MACHADO DE ASSIS
FOTONOVELA - A CARTEIRA - MACHADO DE ASSISAMTELLES
 
Suelo Bamboo Moso
Suelo Bamboo Moso Suelo Bamboo Moso
Suelo Bamboo Moso Pavireli
 
Beauty plan - Cosmetica certificata Halal
Beauty plan - Cosmetica certificata HalalBeauty plan - Cosmetica certificata Halal
Beauty plan - Cosmetica certificata HalalRita Rizzi
 

Viewers also liked (20)

Royal Public School, Haridwar
Royal Public School, HaridwarRoyal Public School, Haridwar
Royal Public School, Haridwar
 
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGN
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGNIDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGN
IDEAL DECOR - "Spectacolul Contrastelor" OPEN SPACE DESIGN
 
Comunicación en Medios Sociales de la Web
Comunicación en Medios Sociales de la WebComunicación en Medios Sociales de la Web
Comunicación en Medios Sociales de la Web
 
Boletin electronico 1
Boletin electronico 1Boletin electronico 1
Boletin electronico 1
 
Direct Plan (Spanish)
Direct Plan (Spanish)Direct Plan (Spanish)
Direct Plan (Spanish)
 
Citrix HDX como integrarlo con Microsoft Lync
Citrix HDX como integrarlo con Microsoft LyncCitrix HDX como integrarlo con Microsoft Lync
Citrix HDX como integrarlo con Microsoft Lync
 
Certified Experte IT-Governance & Strategie 2013
Certified Experte IT-Governance & Strategie 2013Certified Experte IT-Governance & Strategie 2013
Certified Experte IT-Governance & Strategie 2013
 
TECNICAS DE INFORMACION Y COMUNICACION
TECNICAS DE INFORMACION Y COMUNICACIONTECNICAS DE INFORMACION Y COMUNICACION
TECNICAS DE INFORMACION Y COMUNICACION
 
Programa Fiestas de El Bonillo 2013
Programa Fiestas de El Bonillo 2013Programa Fiestas de El Bonillo 2013
Programa Fiestas de El Bonillo 2013
 
Sobre campañas electorales en Twitter
Sobre campañas electorales en TwitterSobre campañas electorales en Twitter
Sobre campañas electorales en Twitter
 
Ficha de Sistematización Valle del Colca, Marcelo Uribe Diplomado DT-IC 2013
Ficha de Sistematización Valle del Colca, Marcelo Uribe Diplomado DT-IC 2013Ficha de Sistematización Valle del Colca, Marcelo Uribe Diplomado DT-IC 2013
Ficha de Sistematización Valle del Colca, Marcelo Uribe Diplomado DT-IC 2013
 
Gigaset QV830 Tablet User Guide
Gigaset QV830 Tablet User GuideGigaset QV830 Tablet User Guide
Gigaset QV830 Tablet User Guide
 
Deshielo fencyt
Deshielo   fencytDeshielo   fencyt
Deshielo fencyt
 
Toma tierra.pararrayo
Toma tierra.pararrayoToma tierra.pararrayo
Toma tierra.pararrayo
 
UMBRACULO DE LA VEJEZ / PFG / Memoria
UMBRACULO DE LA VEJEZ / PFG / MemoriaUMBRACULO DE LA VEJEZ / PFG / Memoria
UMBRACULO DE LA VEJEZ / PFG / Memoria
 
Triptico+Desaladora+Campo+De+Dalias
Triptico+Desaladora+Campo+De+DaliasTriptico+Desaladora+Campo+De+Dalias
Triptico+Desaladora+Campo+De+Dalias
 
Instalación y Configuración de ITALC2.0
Instalación y Configuración de ITALC2.0Instalación y Configuración de ITALC2.0
Instalación y Configuración de ITALC2.0
 
FOTONOVELA - A CARTEIRA - MACHADO DE ASSIS
FOTONOVELA - A CARTEIRA - MACHADO DE ASSISFOTONOVELA - A CARTEIRA - MACHADO DE ASSIS
FOTONOVELA - A CARTEIRA - MACHADO DE ASSIS
 
Suelo Bamboo Moso
Suelo Bamboo Moso Suelo Bamboo Moso
Suelo Bamboo Moso
 
Beauty plan - Cosmetica certificata Halal
Beauty plan - Cosmetica certificata HalalBeauty plan - Cosmetica certificata Halal
Beauty plan - Cosmetica certificata Halal
 

Similar to Practical Responsive Images : from Breaking Borders

Ben Seymour "Practical Responsive Images"
Ben Seymour "Practical Responsive Images"Ben Seymour "Practical Responsive Images"
Ben Seymour "Practical Responsive Images"Digital Henley
 
Practical Responsive Images : MK Geek Night
Practical Responsive Images : MK Geek NightPractical Responsive Images : MK Geek Night
Practical Responsive Images : MK Geek NightBen Seymour
 
Responsive Images in the Real World - presented at JavaScript Open 2015
Responsive Images in the Real World - presented at JavaScript Open 2015Responsive Images in the Real World - presented at JavaScript Open 2015
Responsive Images in the Real World - presented at JavaScript Open 2015Morten Rand-Hendriksen
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
Responsive images, an html 5.1 standard
Responsive images, an html 5.1 standardResponsive images, an html 5.1 standard
Responsive images, an html 5.1 standardAndrea Verlicchi
 
[rwdsummit] Adaptive Images in Responsive Web Design
[rwdsummit] Adaptive Images in Responsive Web Design[rwdsummit] Adaptive Images in Responsive Web Design
[rwdsummit] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Delivering Responsive Images
Delivering Responsive Images Delivering Responsive Images
Delivering Responsive Images Cloudinary
 
Asset Redux - Front end performance on Rails (Phil Nash)
Asset Redux - Front end performance on Rails (Phil Nash)Asset Redux - Front end performance on Rails (Phil Nash)
Asset Redux - Front end performance on Rails (Phil Nash)Future Insights
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
 
Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?Jason Grigsby
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Webmikeleeme
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup EvolvedBilly Hylton
 
Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.GaziAhsan
 
Next Steps in Responsive Design
Next Steps in Responsive DesignNext Steps in Responsive Design
Next Steps in Responsive DesignJustin Avery
 
[funka] Adaptive Images in Responsive Web Design
[funka] Adaptive Images in Responsive Web Design[funka] Adaptive Images in Responsive Web Design
[funka] Adaptive Images in Responsive Web DesignChristopher Schmitt
 

Similar to Practical Responsive Images : from Breaking Borders (20)

Ben Seymour "Practical Responsive Images"
Ben Seymour "Practical Responsive Images"Ben Seymour "Practical Responsive Images"
Ben Seymour "Practical Responsive Images"
 
Practical Responsive Images : MK Geek Night
Practical Responsive Images : MK Geek NightPractical Responsive Images : MK Geek Night
Practical Responsive Images : MK Geek Night
 
Responsive Images in the Real World - presented at JavaScript Open 2015
Responsive Images in the Real World - presented at JavaScript Open 2015Responsive Images in the Real World - presented at JavaScript Open 2015
Responsive Images in the Real World - presented at JavaScript Open 2015
 
Responsive and Fast
Responsive and FastResponsive and Fast
Responsive and Fast
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Responsive images
Responsive imagesResponsive images
Responsive images
 
Responsive images, an html 5.1 standard
Responsive images, an html 5.1 standardResponsive images, an html 5.1 standard
Responsive images, an html 5.1 standard
 
[rwdsummit] Adaptive Images in Responsive Web Design
[rwdsummit] Adaptive Images in Responsive Web Design[rwdsummit] Adaptive Images in Responsive Web Design
[rwdsummit] Adaptive Images in Responsive Web Design
 
Delivering Responsive Images
Delivering Responsive Images Delivering Responsive Images
Delivering Responsive Images
 
Asset Redux - Front end performance on Rails (Phil Nash)
Asset Redux - Front end performance on Rails (Phil Nash)Asset Redux - Front end performance on Rails (Phil Nash)
Asset Redux - Front end performance on Rails (Phil Nash)
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup Evolved
 
Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.
 
Rwd slidedeck
Rwd slidedeckRwd slidedeck
Rwd slidedeck
 
Next Steps in Responsive Design
Next Steps in Responsive DesignNext Steps in Responsive Design
Next Steps in Responsive Design
 
[funka] Adaptive Images in Responsive Web Design
[funka] Adaptive Images in Responsive Web Design[funka] Adaptive Images in Responsive Web Design
[funka] Adaptive Images in Responsive Web Design
 

More from Ben Seymour

How Was Your Weekend?
How Was Your Weekend?How Was Your Weekend?
How Was Your Weekend?Ben Seymour
 
Making The Most Of Your Fears
Making The Most Of Your Fears Making The Most Of Your Fears
Making The Most Of Your Fears Ben Seymour
 
Has responsive had it's day? : Amplience Customer Day 2014
Has responsive had it's day? : Amplience Customer Day 2014Has responsive had it's day? : Amplience Customer Day 2014
Has responsive had it's day? : Amplience Customer Day 2014Ben Seymour
 
Are you sitting comfortably : MKGN
Are you sitting comfortably : MKGNAre you sitting comfortably : MKGN
Are you sitting comfortably : MKGNBen Seymour
 
Are you sitting comfortably?
Are you sitting comfortably?Are you sitting comfortably?
Are you sitting comfortably?Ben Seymour
 
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 20147 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014Ben Seymour
 
Dynamic Media and Responsive Web Design
Dynamic Media and Responsive Web DesignDynamic Media and Responsive Web Design
Dynamic Media and Responsive Web DesignBen Seymour
 
Adobe Summit EMEA 2012 : 16706 Optimise Mobile Experience
Adobe Summit EMEA 2012 : 16706 Optimise Mobile ExperienceAdobe Summit EMEA 2012 : 16706 Optimise Mobile Experience
Adobe Summit EMEA 2012 : 16706 Optimise Mobile ExperienceBen Seymour
 

More from Ben Seymour (8)

How Was Your Weekend?
How Was Your Weekend?How Was Your Weekend?
How Was Your Weekend?
 
Making The Most Of Your Fears
Making The Most Of Your Fears Making The Most Of Your Fears
Making The Most Of Your Fears
 
Has responsive had it's day? : Amplience Customer Day 2014
Has responsive had it's day? : Amplience Customer Day 2014Has responsive had it's day? : Amplience Customer Day 2014
Has responsive had it's day? : Amplience Customer Day 2014
 
Are you sitting comfortably : MKGN
Are you sitting comfortably : MKGNAre you sitting comfortably : MKGN
Are you sitting comfortably : MKGN
 
Are you sitting comfortably?
Are you sitting comfortably?Are you sitting comfortably?
Are you sitting comfortably?
 
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 20147 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014
7 Customer Experience Tips for eCommerce : Qubit Bright Sparks : 29th April 2014
 
Dynamic Media and Responsive Web Design
Dynamic Media and Responsive Web DesignDynamic Media and Responsive Web Design
Dynamic Media and Responsive Web Design
 
Adobe Summit EMEA 2012 : 16706 Optimise Mobile Experience
Adobe Summit EMEA 2012 : 16706 Optimise Mobile ExperienceAdobe Summit EMEA 2012 : 16706 Optimise Mobile Experience
Adobe Summit EMEA 2012 : 16706 Optimise Mobile Experience
 

Recently uploaded

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 

Recently uploaded (20)

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 

Practical Responsive Images : from Breaking Borders

  • 1. Practical Responsive Images http://unsplash.com/
  • 2. A picture is worth a thousand words… http://unsplash.com/ …but the cost is much greater
  • 3. The cost of images http://en.wikipedia.org/wiki/Wikipedia:Size_comparisons 198,000 Words http://httparchive.org/interesting.php?a=All&l=Jul%2015%202014 1165kB Images Average Bytes per Page by Content Type (July 2014): If 1kB is 1024 ASCII characters 6 chars/word An estimated average word length is five characters, plus a space, (1165kB * 1024) / 6 = ~198, 800 (including HTML) (of a total: 1850kB) 50-60 img requests per page Average image size for JPEG was 30kB
  • 4. The cost of images Pride and Prejudice apparently contains 122,000 words http://www.searchlit.org/novels/460.php
  • 5. The Value of Images “Pictures have the power to create an emotional response in the audience, which is worth its weight in gold. An image can also communicate instantly, as our brain can interpret them much quicker than text.” http://www.thoughtmechanics.com/the-importance-of-images-in-web-design/ ! thoughtmechanics.com “If I’d have to pick one single thing that would sell a product online, it’s images.” ! Peep Laja (Conversion Coach)
  • 6. The Value of Images Articles with images get 94% more total views Headshots of customer service reps on a web page can boost conversion rates by 20% In an ecommerce site, 67% of consumers say the quality of a product image is “very important” in selecting and purchasing a product Including a Photo and a video in a press release increases views by over 45% 60% of consumers are more likely to consider or contact a business when an image shows up in local search results http://www.jeremysaid.com/the-jaw-dropping-effect-that-images-can-have-on-your-conversion-rates/ http://www.jeffbullas.com/2012/05/28/6-powerful-reasons-why-you-should-include-images-in-your-marketing-infographic/
  • 7. Images are powerful In some studies 10-15x more viewers look at and engage with the content when the model is looking or gesturing towards it
  • 8. Images are powerful In some studies 10-15x more viewers look at and engage with the content when the model is looking or gesturing towards it http://thinkeyetracking.com/2009/06/cuing-customers-to-look-at-your-key-messages/ Photo courtesy of Christian Hambly
  • 9. Since first proposed in 1993, the <img > tag has remained mostly unchanged…. ! …whereas the rest of the web-world change quite a bit!
  • 10. The first ever website. http://info.cern.ch/hypertext/WWW/TheProject.html Publish date: August 6, 1991
  • 11. In 1996 The closest you can experience this today is probably ! Hotel WiFi Text was pretty popular… 56kbps = 7kBps 1850kB would take 265 second = 4.5 minutes
  • 12. Raster image options Background-images via CSS background-image: url('../images/header_800px.jpg'); @include mq($M){ background-image: url('../images/header_1400px.jpg'); } } *Stu Robson's media query mixin .banner{ Foreground images at 100% ! .item_visuals img{ width: 100%; } ……does nothing for payload.
  • 13. …use alternatives to raster images if you can……. ! SVG! ! icon fonts http://icomoon.io/
  • 14. Javascript Image Replacement using <noscript>, custom data- attributes and .insertAfter($(this)) <noscript data-imageid=‘bag.jpg’ data-small-imageid=‘bag_small.jpg’ data-large-imageid=‘bag_large.jpg’> <img src=‘bag_small.jpg’ alt='Bag' /> http://allbs.co.uk/2012/05/11/responsive-images-intro/ ! </noscript> <script> ! var areawidth = $(window).width(); var widthDownTosmall = 600; var widthUpToLarge = 1100; ! $('noscript[data-imageid]').each(function(){ var imageBase=“image/path"; var imageid = $(this).attr("data-imageid"); var imageSmall = $(this).attr("data-small-imageid"); var imageLarge = $(this).attr("data-large-imageid"); if (areawidth <= widthDownTosmall) {imageid = imageSmall; } if (areawidth >= widthUpToLarge) {imageid = imageLarge; } $('<img src="' + imageBase + imageid + '"/>').insertAfter($(this)); }); </script>
  • 15. Enter our heroes: <picture> srcset attribute
  • 16. Responsive Images Community Group http://responsiveimages.org/
  • 17. Nitty gritty ! <picture> <source media="(min-width: 40em)" srcset="apple-big.jpg 1x, apple-big-hd.jpg 2x"> <source srcset="apple-small.jpg 1x, apple-small-hd.jpg 2x"> <img src="apple-fallback.jpg" alt="How do you like them apples?"> </picture> <img src="apple-fallback.jpg" srcset="apple-big.jpg 1000w, apple-med.jpg 640w, apple-small.jpg 320w" sizes="(min-width: 40em) 50vw, 100vw" alt="How do you like them apples?" />
  • 18. (As of : June 11th ‘14) Progress (As of : August 17th ‘14) http://responsiveimages.org/
  • 19. Can I Use (As of : Aug 16th 2014) http://caniuse.com/#search=picture http://caniuse.com/#search=srcset
  • 20. How to enable chrome://flags/#enable-experimental- web-platform-features Firefox Nightly Tools > Web Developer > Developer Toolbar Chrome Canary
  • 21. picturefill A responsive image polyfill. For today, and future-legacy-browsers http://scottjehl.github.io/picturefill/ <script> document.createElement( "picture" ); </script> <script src="picturefill.js" async></script> Developed and maintained by Filament Group
  • 22. • grab a copy of picturefill.js • Use the <picture> element (never go back) <picture> <!--[if IE 9]><video style="display: none;”><![endif]--> <source srcset="/image1_big.jpg" media="(min-width: 1000px)"> <source srcset="/image1_medium.jpg" media="(min-width: 800px)"> <source srcset="/image_small.jpg"> <!--[if IE 9]></video><![endif]--> <img srcset="/image_fallback.jpg alt="context"> </picture> Try it today
  • 23. Use Case 1: breakpoint optimised images (retina/pixel ratio) media="(min-width: 1000px)" media="(min-width: 400px)" srcset="/image1_big.jpg" srcset=“/image1_small.jpg" http://responsiveimag.es/Practical_Example_1.html
  • 24. Use Case 2: Crop to point of interest (Art Direction) http://responsiveimag.es/Practical_Example_2.html
  • 25. Use Case 2: Crop to point of interest (Art Direction)
  • 26. Use Case 3: Device Orientation srcset="landscape_variant.jpg" media="(min-width: 400px) and (orientation: landscape)" srcset="portrait_variant.jpg" media="(min-width: 400px) and (orientation: portrait)" http://responsiveimag.es/Practical_Example_3.html
  • 27. Use Case 4: Image type : webp/svg <picture> <type="image/webp" srcset="images/lilypad_600.webp" /> <img src="images/lilypad_600.jpg" alt="Lily pad" /> </picture>
  • 28. Use Case 5: vw <img src=“Apple_fallback.jpg” alt="How do you like them Apples?" sizes="(min-width: 640px) 50vw, 100vw" srcset=“Apple_200.jpg 200w, Apple_400.jpg 400w, Apple_600.jpg 600w, Apple_800.jpg 800w, Apple_1200.jpg 1200w" /> </div> Viewport width If width ≥ 640px then use 50vw ! i.e. Calculations use 50% of width 50% Within the fluid context of responsive websites, the restrictive nature of the <img> element, and lack of CSS controls for foreground images, has not been the elephant in the room. It's just been the elephant that we couldn't agree what to do with….
  • 29. Where do we get all those image variants? (scaling / CDN) Batch Statics v Server-side image manipulation Build Your Own v SaaS
  • 30. Dynamic Imaging Systems At-request-time image variants: Control width, quality, sharpening…. ! image.jpg?w=400&qlt=70&unsharp=0,1,1,7
  • 31. Combining the two <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="http://images.amplience.com/i/benco/Apple_Row2.jpg? w=1400&qlt=80&unsharp=0,1,1,7" media="(min-width: 1200px)"> <source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? w=1200&qlt=80&unsharp=0,1,1,7" media="(min-width: 1050px)"> <source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? pcrop=700,0,2500,800&w=950&qlt=80&unsharp=0,1,1,7" media="(min-width: 850px)"> <source srcset=“http://images.amplience.com/i/benco/Apple_Row2.jpg? pcrop=1300,0,1900,800&w=850&qlt=80&unsharp=0,1,1,7" media="(min-width: 600px)"> <source srcset=“http://images.amplience.com/i/benco/Red_And_Green_Apples2.jpg? w=600&qlt=80&unsharp=0,1,1,7"> <!--[if IE 9]></video><![endif]--> <img srcset="http://images.amplience.com/i/benco/Apple2.jpg?w=600&qlt=80" alt="How do you like them Apples?"> </picture>
  • 32. Combining the two <img src="http://images.amplience.com/i/benco/Apple2.jpg?w=400&qlt=80" Viewport width 50% Within the fluid context of responsive websites, the restrictive nature of the <img> element, and lack of CSS controls for foreground images, has not been the elephant in the room. It's just been the elephant that we couldn't agree what to do with…. alt="How do you like them Apples?" sizes="(min-width: 640px) 50vw, 100vw" srcset="http://images.amplience.com/i/benco/Apple_Row2.jpg?w=200&qlt=80&unsharp=0,1,1,7 200w, http://images.amplience.com/i/benco/Apple_Row2.jpg?w=400&qlt=80&unsharp=0,1,1,7 400w, http://images.amplience.com/i/benco/Apple_Row2.jpg?w=600&qlt=80&unsharp=0,1,1,7 600w, http://images.amplience.com/i/benco/Apple_Row2.jpg?w=800&qlt=80&unsharp=0,1,1,7 800w, http://images.amplience.com/i/benco/Apple_Row2.jpg?w=1200&qlt=80&unsharp=0,1,1,7 1200w" /> ! </div>
  • 34. AngularJS <body> <img src=“Apple.jpg" picture-assetid="Apple_Row2" alt="How do you like them apples?"/> </body> angular.module('components', []) .directive('pictureAssetid', function(){ return { restrict: 'A', replace:true, transclude: true, scope : { caption: '@', pictureAssetid: '@' }, templateUrl: 'partials/image-picture.html' } }) ! angular.module('HelloApp', ['components']) <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=1400&qlt=80&unsharp=0,1,1,7" media="(min-width: 1000px)"> <source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=800&qlt=80&unsharp=0,1,1,7" media="(min-width: 800px)"> <source srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=600&qlt=80&unsharp=0,1,1,7"> <!--[if IE 9]></video><![endif]--> <img srcset="http://images.amplience.com/i/benco/{{pictureAssetid}}.jpg?w=400&qlt=80" > </picture>
  • 35. <picture> / srcset Dynamic Imaging System Practical Responsive Images + =