Mobile First
Responsive Design
Jason Grigsby • @grigs • cloudfour.com
Follow along at @grigs_talks

http://bit.ly/grigs-2013-10-21
The web has always been a balancing act…

p://www.flickr.com/photos/classblog/5136926303
with many competing priorities.

http://www.flickr.com/photos/tudor/4324056624/
Finding that balance is more difficult…

http://www.flickr.com/photos/superfantastic/50088733/
as device diversity increases.
http://www.flickr.com/photos/lyza/7382235106
Responsive web design offers us

for a sensible way to deal with device diversity.
http://www.flickr.com/photos/darrentunnic...
And yet the one question I frequently ask myself is…
Can a one size fits all solution…

http://www.flickr.com/photos/sldghmmr/6041481069
compete with a
tailored experience?
http://www.flickr.com/photos/helloturkeytoe/4932748746/
Important question from many perspectives:
Search engine optimization
Context
Advertising
Performance
PERFORMANCE
People demand fast web sites.

http://www.akamai.com/dl/whitepapers/ecommerce_website_perf_wp.pdf
Slow sites mean real dollars are lost.
Privacy and cookie policy

Log In

Subscribe

Subscribe

Basket

Reports

Contact U...
Top ecommerce sites are 22% slower than last year

http://www.webperformancetoday.com/2013/03/27/top-ecommerce-sites-are-s...
Mobile users don’t care that their network is slow.

http://www.gomez.com/wp-content/downloads/19986_WhatMobileUsersWant_W...
Luke’s fantastic gesture reference: http://www.lukew.com/ff/entry.asp?1071
Many ways to navigate desktop web sites on mobile.

Luke’s fantastic gesture reference: http://www.lukew.com/ff/entry.asp?...
There are no gestures that
can make a web site faster.

http://www.flickr.com/photos/stephenjohnbryde/384095768/
http://www.flickr.com/photos/nathaninsandiego/4829858186/
http://www.flickr.com/photos/wesbrowning/5316400258/
BBG: Before Boston Globe

http://www.flickr.com/photos/69797234@N06/7203485148/
Original Resized K Saved % Saved

Original Resized K Saved % Saved

34.7K

8.1K

26.6K 76.6%

43.4K

8.2K

35.2K 81.1%

39...
Original Resized K Saved % Saved

Original Resized K Saved % Saved

34.7K

8.1K

26.6K 76.6%

43.4K

8.2K

35.2K 81.1%

39...
Original Resized K Saved % Saved

Original Resized K Saved % Saved

34.7K

43.4K

8.1K

26.6K 76.6%

8.2K

35.2K 81.1%

Or...
The resounding answer from the community:

Mobile First Responsive Web Design
Mobile First Responsive Web Design

http://bradfrostweb.com/blog/web/mobile-first-responsive-web-design/
“Awesome. We’ll
devote a chapter to
Mobile First
Responsive Web
Design in our book.”
“Awesome. We’ll
devote a chapter to
Mobile First
Responsive Web
Design in our book.”
Famous last words.
Where are the Mobile First RWDs?
106 sites from mediaqueri.es tested

4%

9%
25%

21%
4%

38%

Mobile is Larger
Same Size
...
Guy Podjarny repeated the experiment
2013: 476 sites from mediaqueri.es tested

http://www.guypo.com/uncategorized/real-wo...
http://www.thefoxisblack.com/2012/10/02/the-design-thinking-behind-the-new-disney-com/
http://www.flickr.com/photos/beautyredefined/2643858323/
http://www.flickr.com/photos/puuikibeach/3654517679
Most responsive web designs are…
Time to pen another fool’s gold post?
http://www.flickr.com/photos/myklroventine/3400040943/
“

Being Responsive from a layout perspective should
not preclude us from being responsive from a
performance and interact...
5

key techniques
for responsible
responsive design
#1

Build Mobile First
Responsive Designs

http://www.flickr.com/photos/auyongcheemeng/95769332/
Different
than Mobile
First Design
Theory

http://www.flickr.com/photos/localcelebrity/4831362933/
Mobile First Responsive Web Design is a
technical approach for responsive designs.

http://bradfrostweb.com/blog/web/mobil...
http://www.flickr.com/photos/gumption/3639682201/
http://www.businessinsider.com/survey-mobile-first-bad-strategy-2012-12
Luke’s Take on Mobile First
Growth

= Opportunity

Constraints

= Focus

Capabilities

= Innovation

http://www.lukew.com/...
How do I make this responsive?
How do I make this responsive?
How do I make this responsive?
http://www.flickr.com/photos/ancphotos_/6728574731
Ok, let’s start from a clean slate

http://www.flickr.com/photos/salendron/5569020488/
What would the mobile version look like?
What would the mobile version look like?
What would the mobile version look like?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
How does that map to desktop design?
Can this desktop version be better using what
we’ve learned from the mobile version?
Mobile
First
This is why Mobile First thinking is so powerful even on
projects that are currently implemented on the deskt...
Mobile First Responsive Web Design is a
technical approach for responsive designs.

http://bradfrostweb.com/blog/web/mobil...
Reorder media queries so cascade
goes from small to large screens
/* Wider viewports/higher resolutions (e.g. desktop)
@me...
“

The absence of support for media queries
is in fact the first media query.
—Bryan Rieger, Yiibu
IE8 and below don’t
support media queries.
What do you see if your browser
doesn’t support media queries?
Desktop First Responsive Web
Design = Desktop Fallback
Mobi...
IE conditional comments
<link rel="stylesheet" type="text/css" href="taps.css" />
<link rel="stylesheet" type="text/css" h...
IE conditional comments
<link rel="stylesheet" type="text/css" href="taps.css" />
<link rel="stylesheet" type="text/css" h...
#2
Keep CSS
images in
their place
http://www.flickr.com/photos/lintmachine/2306383943/
Images with display:none are still downloaded

@media screen and (max-width:480px) {
[Other CSS rules are here]
.header {d...
http://timkadlec.com/2012/04/media-query-asset-downloading-results/
Images scoped within media queries
<div	
  id="test5"></div>
@media	
  all	
  and	
  (min-­‐width:	
  601px)	
  {
	
  	
  ...
display:none on parent element
<div	
  id="test3">
	
  	
  	
  	
  <div></div>
</div>
#test3	
  div	
  {
	
  	
  	
  	
  b...
Image override with a media query
<div	
  id="test4"></div>
#test4	
  {
	
  	
  	
  	
  background-­‐image:url('images/
te...
#3

Conditionally load JS based on
screen size and capabilities

http://www.flickr.com/photos/lyza/7382255242/
Hiding content with display:none does not
prevent it from downloading.
<iframe id="map" width="300" height="300" framebord...
In JS, use matchMedia() or a polyfill for it to test a media query

https://github.com/paulirish/matchMedia.js
AJAX Include Pattern
Use AJAX to bring more content into the page as the viewport width gets bigger

<a	
  href="articles/...
Behavioral Breakpoints
#4

Deliver different size <IMG>s
at different screen sizes

http://www.flickr.com/photos/kk/230544325/
One SRC to rule all images
n
r labels on the Og
There are 16 bee at use an img ta
h
Tap Now page tr the Bensons Bubbler.
l...
Two most common use cases
https://www.flickr.com/photos/whitehouse/8491445521
Resolution Switching
Includes high-density (retina) images.

https://www.flickr.com/photos/whitehouse/8491445521
http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Art direction

http://www.flickr.com/photos/barackobamadotcom/5795228030/
Not simply cropping
Art direction: Images with text
Search

Features
New Arrivals
Show Off Tees
Backpacks
Tech Toys
2/$30 & 2/$40 PINK Favorit...
No good solutions
Things are still moving forward on a standardsbased approach for responsive images.

http://www.flickr.com/photos/johnlamb/...
New proposed standards

<picture>

srcset
Too early to use any of them

src-n
Picturefill JavaScript Library
<div	
  data-­‐picture	
  data-­‐alt="A	
  giant	
  stone	
  face	
  at	
  The	
  Bayon	
  ...
#5

Handle high-density
images carefully
A single image on multiple screens
Image Resolution
2000000

1818x1024
1861632

1500000

1000000

960x541
519360

500000
320x181
57920

0

Blackberry Curve

...
Image Resolution
2000000

1818x1024
1861632

er
g

1500000

4%
1

ig
b

,2
3

1000000

960x541
519360

500000
320x181
5792...
JPEG Compressed (k)
200
172

150

100
80
63

50
22
12

0

Blackberry Curve

iPhone

iPhone Retina

Macbook

Macbook Retina
JPEG Compressed (k)
200
172

150

er
g

3%
43
1,

100

ig
b

80
63

50
22
12

0

Blackberry Curve

iPhone

iPhone Retina

...
Downloads both standard and retina images

Apple.com as an
anti-pattern
The total size of the
page goes from
502.90K to 2....
If possible, use CSS for now
@media	
  screen	
  and	
  (-­‐webkit-­‐device-­‐pixel-­‐ratio:	
  1)	
  {
/*	
  Image	
  for...
Picturefill User Preference Branch

https://github.com/scottjehl/picturefill/tree/user-prefs
Compressive images?

http://blog.netvlies.nl/design-interactie/retina-revolution/
Responsive Video
How do you provide the right video codec?

http://www.longtailvideo.com/html5/
Multiple sources with Flash Fallback
<video	
  width="640"	
  height="360"	
  controls>
	
   <!-­‐-­‐	
  MP4	
  must	
  be...
How do you maintain the aspect ratio?
• This is mostly a problem if you’re embedding video
from a third party site. If you...
How do you send right resolution and bitrate?
How do you send right resolution and bitrate?

http://www.longtailvideo.com/html5/
You will need a video streaming service.
Why spend so much time on images?
Images are 61% of the average page

Source: httparchive.org
If I could dream up my ideal
solution for images…

http://www.flickr.com/photos/fuzzylittlemanpeach/4633972431/
Eights guidelines and one immutable rule
#1

Use vector-based images or
font icons whenever you can
Home

App

Icon Packs

Font CDN

Demo

Documentation

Blog

About

IcoMoon
Custom Built and Crisp Icon Fonts, Done Right

...
Grumpicon.com based on Grunticon

What Is This

Issues?
/'
//
. //
|//7
/' " 
.
. .
| (

_ _ - -_
| '._ '
__ _/
'-'

_ __
...
#2

Encourage people to upload the
highest quality source possible
#3

Provide an automatic image
resizing and compression service
#4

Images can be resized to any
size with URL parameters

Example from Sencha IO SRC. Define height, width or both.
<img
...
“

“Save for the Web” should be a thing of the past.
—@adamdbradley
#5

Provide automated output
of PictureFill or alternative

<div	
  data-­‐picture	
  data-­‐alt="A	
  giant	
  stone	
  f...
Responsive Images Markup Function
templates contain breakpoint information
{
"source":"/source.jpg",
"breakpoints":	
  [
{...
#6

Provide a way to override resized
images for art direction needs
#7

Integrate image compression
best practices
jpegtran or jpegoptim
OptiPNG or PNGOUT
far future expires headers

learn f...
#8

Bonus: Detect support for WebP
image format and use it

The average WebP file size is 25% - 34% smaller
compared to JP...
#!

The only rule for your responsive
images implementation.
#!

The only rule for your responsive
images implementation.

Plan for the fact that it will be
deprecated. Make it easy t...
It’s three years later. Let’s revisit
the my original question.
Can a one size fits all solution…

http://www.flickr.com/photos/theyoungthousands/4025421438
compete with
a tailored experience?
http://www.flickr.com/photos/fronx/2862975043
http://www.flickr.com/photos/haddadi/5971508861

Or will it always be TOO BIG?
Unlikely responsive design will
ever be as fast as something
crafted specifically for a device.

http://www.flickr.com/phot...
But web
design is a
balancing
act.
http://www.flickr.com/photos/kalexanderson/6266452817
And performance
is just one factor.
For most projects, responsive design
can be fast enough to make sense…

Flickr: Uploaded February 11, 2007 by hawridger
if we do the extra work
to make mobile first
responsive designs.
Thank You!
Special thanks to Scott Jehl, Guy Podjarny, and all of the Flickr users sharing under creative commons.
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
Upcoming SlideShare
Loading in...5
×

Mobile First Responsive Web Design — BD Conf Oct 2013

9,431

Published on

Published in: Technology, Business
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,431
On Slideshare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
133
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Mobile First Responsive Web Design — BD Conf Oct 2013

  1. 1. Mobile First Responsive Design Jason Grigsby • @grigs • cloudfour.com
  2. 2. Follow along at @grigs_talks http://bit.ly/grigs-2013-10-21
  3. 3. The web has always been a balancing act… p://www.flickr.com/photos/classblog/5136926303
  4. 4. with many competing priorities. http://www.flickr.com/photos/tudor/4324056624/
  5. 5. Finding that balance is more difficult… http://www.flickr.com/photos/superfantastic/50088733/
  6. 6. as device diversity increases. http://www.flickr.com/photos/lyza/7382235106
  7. 7. Responsive web design offers us for a sensible way to deal with device diversity. http://www.flickr.com/photos/darrentunnicliff/4232232092/
  8. 8. And yet the one question I frequently ask myself is…
  9. 9. Can a one size fits all solution… http://www.flickr.com/photos/sldghmmr/6041481069
  10. 10. compete with a tailored experience? http://www.flickr.com/photos/helloturkeytoe/4932748746/
  11. 11. Important question from many perspectives: Search engine optimization Context Advertising Performance
  12. 12. PERFORMANCE
  13. 13. People demand fast web sites. http://www.akamai.com/dl/whitepapers/ecommerce_website_perf_wp.pdf
  14. 14. Slow sites mean real dollars are lost. Privacy and cookie policy Log In Subscribe Subscribe Basket Reports Contact Us Training Events i am looking for... Jobs Blog More Browse by topic Home / Blog 67% of consumers cite slow websites as the main cause of basket abandonment by David Moth Tweet 236 06 December 2012 11:40 3 8 comments Like 14 Daily Pulse Newsletter Get our free Daily Pulse Newsletter to keep informed about the latest news and insights in Digital Marketing. Register for our free Daily Pulse Print Share 20 Everyone hates slow loading websites, and a new survey highlights just how damaging a slow site can be to the user experience. The study by Brand Perfect found that two thirds of UK consumers (67%) cite slow loading times as the main reason they would abandon an online purchase. It’s a topic we’ve looked at in more detail in our post 'Site speed: case studies, tips and tools for improving your conversion rate', with stats showing that slow loading websites are losing businesses up to £1.73bn a year. ADVERTISE HERE »
  15. 15. Top ecommerce sites are 22% slower than last year http://www.webperformancetoday.com/2013/03/27/top-ecommerce-sites-are-slower-than-they-were-last-year/
  16. 16. Mobile users don’t care that their network is slow. http://www.gomez.com/wp-content/downloads/19986_WhatMobileUsersWant_Wp.pdf
  17. 17. Luke’s fantastic gesture reference: http://www.lukew.com/ff/entry.asp?1071
  18. 18. Many ways to navigate desktop web sites on mobile. Luke’s fantastic gesture reference: http://www.lukew.com/ff/entry.asp?1071
  19. 19. There are no gestures that can make a web site faster. http://www.flickr.com/photos/stephenjohnbryde/384095768/
  20. 20. http://www.flickr.com/photos/nathaninsandiego/4829858186/
  21. 21. http://www.flickr.com/photos/wesbrowning/5316400258/
  22. 22. BBG: Before Boston Globe http://www.flickr.com/photos/69797234@N06/7203485148/
  23. 23. Original Resized K Saved % Saved Original Resized K Saved % Saved 34.7K 8.1K 26.6K 76.6% 43.4K 8.2K 35.2K 81.1% 39.0K 8.4K 30.6K 78.4% 26.0K 6.6K 19.4K 74.6% 30.5K 6.7K 23.8K 78.0% 34.7K 7.8K 26.9K 77.5%
  24. 24. Original Resized K Saved % Saved Original Resized K Saved % Saved 34.7K 8.1K 26.6K 76.6% 43.4K 8.2K 35.2K 81.1% 39.0K 8.4K 30.6K 78.4% 26.0K 6.6K 19.4K 74.6% 30.5K 6.7K 23.8K 78.0% 34.7K 7.8K 26.9K 77.5%
  25. 25. Original Resized K Saved % Saved Original Resized K Saved % Saved 34.7K 43.4K 8.1K 26.6K 76.6% 8.2K 35.2K 81.1% Original Resized K Saved % Saved 39.0K 8.4K 30.6K 78.4% 26.0K 6.6K 19.4K 74.6% Total 208.3K 45.8K 162.5K 78.0% 30.5K 6.7K 23.8K 78.0% 34.7K 7.8K 26.9K 77.5%
  26. 26. The resounding answer from the community: Mobile First Responsive Web Design
  27. 27. Mobile First Responsive Web Design http://bradfrostweb.com/blog/web/mobile-first-responsive-web-design/
  28. 28. “Awesome. We’ll devote a chapter to Mobile First Responsive Web Design in our book.”
  29. 29. “Awesome. We’ll devote a chapter to Mobile First Responsive Web Design in our book.” Famous last words.
  30. 30. Where are the Mobile First RWDs? 106 sites from mediaqueri.es tested 4% 9% 25% 21% 4% 38% Mobile is Larger Same Size Less than 10% Savings 11 to 50% Savings 51% to 100% Savings Greater than 100% Savings http://blog.cloudfour.com/where-are-the-mobile-first-responsive-web-designs/
  31. 31. Guy Podjarny repeated the experiment 2013: 476 sites from mediaqueri.es tested http://www.guypo.com/uncategorized/real-world-rwd-performance-take-2/
  32. 32. http://www.thefoxisblack.com/2012/10/02/the-design-thinking-behind-the-new-disney-com/
  33. 33. http://www.flickr.com/photos/beautyredefined/2643858323/
  34. 34. http://www.flickr.com/photos/puuikibeach/3654517679
  35. 35. Most responsive web designs are…
  36. 36. Time to pen another fool’s gold post? http://www.flickr.com/photos/myklroventine/3400040943/
  37. 37. “ Being Responsive from a layout perspective should not preclude us from being responsive from a performance and interaction perspective. —Scott Jehl https://twitter.com/scottjehl/status/243025352069349377
  38. 38. 5 key techniques for responsible responsive design
  39. 39. #1 Build Mobile First Responsive Designs http://www.flickr.com/photos/auyongcheemeng/95769332/
  40. 40. Different than Mobile First Design Theory http://www.flickr.com/photos/localcelebrity/4831362933/
  41. 41. Mobile First Responsive Web Design is a technical approach for responsive designs. http://bradfrostweb.com/blog/web/mobile-first-responsive-web-design/
  42. 42. http://www.flickr.com/photos/gumption/3639682201/
  43. 43. http://www.businessinsider.com/survey-mobile-first-bad-strategy-2012-12
  44. 44. Luke’s Take on Mobile First Growth = Opportunity Constraints = Focus Capabilities = Innovation http://www.lukew.com/ff/entry.asp?933
  45. 45. How do I make this responsive?
  46. 46. How do I make this responsive?
  47. 47. How do I make this responsive?
  48. 48. http://www.flickr.com/photos/ancphotos_/6728574731
  49. 49. Ok, let’s start from a clean slate http://www.flickr.com/photos/salendron/5569020488/
  50. 50. What would the mobile version look like?
  51. 51. What would the mobile version look like?
  52. 52. What would the mobile version look like?
  53. 53. How does that map to desktop design?
  54. 54. How does that map to desktop design?
  55. 55. How does that map to desktop design?
  56. 56. How does that map to desktop design?
  57. 57. How does that map to desktop design?
  58. 58. How does that map to desktop design?
  59. 59. How does that map to desktop design?
  60. 60. How does that map to desktop design?
  61. 61. How does that map to desktop design?
  62. 62. How does that map to desktop design?
  63. 63. How does that map to desktop design?
  64. 64. How does that map to desktop design?
  65. 65. How does that map to desktop design?
  66. 66. How does that map to desktop design?
  67. 67. Can this desktop version be better using what we’ve learned from the mobile version?
  68. 68. Mobile First This is why Mobile First thinking is so powerful even on projects that are currently implemented on the desktop.
  69. 69. Mobile First Responsive Web Design is a technical approach for responsive designs. http://bradfrostweb.com/blog/web/mobile-first-responsive-web-design/
  70. 70. Reorder media queries so cascade goes from small to large screens /* Wider viewports/higher resolutions (e.g. desktop) @media screen and (min-width:481px) { [Desktop layout rules here] } /* Mobile/lower-resolution devices */ @media screen and (max-width:480px) { [Mobile layout rules here] } */ e the mobile media query block Mov ry. above the desktop media quesure By doing this, we’re making S is the cascading effect of CSfirst consistent with our mobile oach. progressive enhancement appr Keep basic styles outside of media queries.
  71. 71. “ The absence of support for media queries is in fact the first media query. —Bryan Rieger, Yiibu
  72. 72. IE8 and below don’t support media queries.
  73. 73. What do you see if your browser doesn’t support media queries? Desktop First Responsive Web Design = Desktop Fallback Mobile First Responsive Web Design = Mobile Fallback
  74. 74. IE conditional comments <link rel="stylesheet" type="text/css" href="taps.css" /> <link rel="stylesheet" type="text/css" href="layout.css" media="all and (min-width: 481px)"> <!--[if (lt IE 9)&(!IEMobile)]> <link rel="stylesheet" type="text/css" href="layout.css" media="all" /> <![endif]--> The conditional comment repeats the line above it ensuring desktop IE sees our layout.css file.
  75. 75. IE conditional comments <link rel="stylesheet" type="text/css" href="taps.css" /> <link rel="stylesheet" type="text/css" href="layout.css" media="all and (min-width: 481px)"> <!--[if (lt IE 9)&(!IEMobile)]> <link rel="stylesheet" type="text/css" href="layout.css" media="all" /> <![endif]--> The conditional comment repeats the line above it ensuring desktop IE sees our layout.css file. or use Respond.js (a media query polyfill for IE)
  76. 76. #2 Keep CSS images in their place http://www.flickr.com/photos/lintmachine/2306383943/
  77. 77. Images with display:none are still downloaded @media screen and (max-width:480px) { [Other CSS rules are here] .header {display:none;} } ing it aps.jpg file is 440.7K mak The t the largest file on the page.
  78. 78. http://timkadlec.com/2012/04/media-query-asset-downloading-results/
  79. 79. Images scoped within media queries <div  id="test5"></div> @media  all  and  (min-­‐width:  601px)  {        #test5  {                background-­‐ image:url('images/test5-­‐ desktop.png');                width:200px;                height:75px;        } } @media  all  and  (max-­‐width:  600px)  {        #test5  {                background-­‐ image:url('images/test5-­‐ mobile.png');                width:200px;                height:75px;        } } http://timkadlec.com/2012/04/media-query-asset-downloading-results/
  80. 80. display:none on parent element <div  id="test3">        <div></div> </div> #test3  div  {        background-­‐image:url('images/ test3.png');        width:200px;        height:75px; } @media  all  and  (max-­‐width:  600px)   {        #test3  {                display:none;        } } http://timkadlec.com/2012/04/media-query-asset-downloading-results/
  81. 81. Image override with a media query <div  id="test4"></div> #test4  {        background-­‐image:url('images/ test4-­‐desktop.png');        width:200px;        height:75px; } @media  all  and  (max-­‐width:  600px)  {        #test4  {                background-­‐image:url('images/ test4-­‐mobile.png');        } } http://timkadlec.com/2012/04/media-query-asset-downloading-results/
  82. 82. #3 Conditionally load JS based on screen size and capabilities http://www.flickr.com/photos/lyza/7382255242/
  83. 83. Hiding content with display:none does not prevent it from downloading. <iframe id="map" width="300" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com..."></iframe> This single iframe causes 47 files to be downloaded! Extremely long URL abbreviated @media screen and (max-width:480px) { . . . re many more rules There a in the css file. #map {display:none;} } The iframe has an id of map. This rule hides the Google Maps iframe by setting the display to none.
  84. 84. In JS, use matchMedia() or a polyfill for it to test a media query https://github.com/paulirish/matchMedia.js
  85. 85. AJAX Include Pattern Use AJAX to bring more content into the page as the viewport width gets bigger <a  href="articles/latest/"            data-­‐append="articles/latest/fragment"            data-­‐media="(min-­‐width:  30em)">          Latest  Articles </a> https://github.com/filamentgroup/Ajax-Include-Pattern/
  86. 86. Behavioral Breakpoints
  87. 87. #4 Deliver different size <IMG>s at different screen sizes http://www.flickr.com/photos/kk/230544325/
  88. 88. One SRC to rule all images n r labels on the Og There are 16 bee at use an img ta h Tap Now page tr the Bensons Bubbler. like this one fo Despite the need for multiple versions of this image depending on the screen size, HTML only allows one value for the src. <img src="brews_images/bensons_bubbler.jpg" alt="Bensons Bubbler">
  89. 89. Two most common use cases
  90. 90. https://www.flickr.com/photos/whitehouse/8491445521
  91. 91. Resolution Switching Includes high-density (retina) images. https://www.flickr.com/photos/whitehouse/8491445521
  92. 92. http://www.flickr.com/photos/barackobamadotcom/5795228030/
  93. 93. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  94. 94. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  95. 95. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  96. 96. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  97. 97. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  98. 98. Art direction http://www.flickr.com/photos/barackobamadotcom/5795228030/
  99. 99. Not simply cropping
  100. 100. Art direction: Images with text Search Features New Arrivals Show Off Tees Backpacks Tech Toys 2/$30 & 2/$40 PINK Favorites Spin the Panty Wheel Tops All Tops Hoodies & Crews Tees & Tanks Bottoms All Bottoms Sweats Shorts Yoga PINK Loves Yoga Panties 5/$26 Styles 3/$33 Styles Shop by Style Bras All Bras Bandeaus & Bralettes 2/$42 Wear Everywhere Bras Bras 101 Swim Sign In Account Get Email Español Shopping Bag
  101. 101. No good solutions
  102. 102. Things are still moving forward on a standardsbased approach for responsive images. http://www.flickr.com/photos/johnlamb/2576062549/
  103. 103. New proposed standards <picture> srcset Too early to use any of them src-n
  104. 104. Picturefill JavaScript Library <div  data-­‐picture  data-­‐alt="A  giant  stone  face  at  The  Bayon  temple  in  Angkor  Thom,   Cambodia">        <div  data-­‐src="small.jpg"></div>        <div  data-­‐src="medium.jpg"  data-­‐media="(min-­‐width:  400px)"></div>        <div  data-­‐src="large.jpg"  data-­‐media="(min-­‐width:  800px)"></div>        <div  data-­‐src="extralarge.jpg"  data-­‐media="(min-­‐width:  1000px)"></div>                <!-­‐-­‐  Fallback  content  for  non-­‐JS  browsers.    -­‐-­‐>        <noscript>                <img  src="small.jpg"  alt="A  giant  stone  face  at  The  Bayon                  temple  in  Angkor  Thom,  Cambodia">        </noscript> </div> https://github.com/scottjehl/picturefill
  105. 105. #5 Handle high-density images carefully
  106. 106. A single image on multiple screens
  107. 107. Image Resolution 2000000 1818x1024 1861632 1500000 1000000 960x541 519360 500000 320x181 57920 0 Blackberry Curve 909x512 iPhone Retina Macbook 465408 480x271 130080 iPhone Macbook Retina
  108. 108. Image Resolution 2000000 1818x1024 1861632 er g 1500000 4% 1 ig b ,2 3 1000000 960x541 519360 500000 320x181 57920 0 Blackberry Curve 909x512 iPhone Retina Macbook 465408 480x271 130080 iPhone Macbook Retina
  109. 109. JPEG Compressed (k) 200 172 150 100 80 63 50 22 12 0 Blackberry Curve iPhone iPhone Retina Macbook Macbook Retina
  110. 110. JPEG Compressed (k) 200 172 150 er g 3% 43 1, 100 ig b 80 63 50 22 12 0 Blackberry Curve iPhone iPhone Retina Macbook Macbook Retina
  111. 111. Downloads both standard and retina images Apple.com as an anti-pattern The total size of the page goes from 502.90K to 2.13MB when the retina versions of images are downloaded. http://blog.cloudfour.com/how-apple-com-will-serve-retina-images-to-new-ipads/
  112. 112. If possible, use CSS for now @media  screen  and  (-­‐webkit-­‐device-­‐pixel-­‐ratio:  1)  { /*  Image  for  normal  displays.  */ #main  { background-­‐image:  url(dog.jpg); } } @media  screen  and  (-­‐webkit-­‐min-­‐device-­‐pixel-­‐ratio:  2)  { /*  Image  for  high  resolution  displays.  */ #main  { background-­‐image:  (dog-­‐hi-­‐res.jpg); } }
  113. 113. Picturefill User Preference Branch https://github.com/scottjehl/picturefill/tree/user-prefs
  114. 114. Compressive images? http://blog.netvlies.nl/design-interactie/retina-revolution/
  115. 115. Responsive Video
  116. 116. How do you provide the right video codec? http://www.longtailvideo.com/html5/
  117. 117. Multiple sources with Flash Fallback <video  width="640"  height="360"  controls>   <!-­‐-­‐  MP4  must  be  first  for  iPad!  -­‐-­‐>   <source  src="__VIDEO__.MP4"  type="video/mp4"  /><!-­‐-­‐  Safari  /  iOS  video        -­‐-­‐>   <source  src="__VIDEO__.OGV"  type="video/ogg"  /><!-­‐-­‐  Firefox  /  Opera  /  Chrome10  -­‐-­‐>   <!-­‐-­‐  fallback  to  Flash:  -­‐-­‐>   <object  width="640"  height="360"  type="application/x-­‐shockwave-­‐flash"   data="__FLASH__.SWF">     <param  name="movie"  value="__FLASH__.SWF"  />     <param  name="flashvars"   value="controlbar=over&amp;image=__POSTER__.JPG&amp;file=__VIDEO__.MP4"  />     <img  src="__VIDEO__.JPG"  width="640"  height="360"  alt="__TITLE__"              title="No  video  playback  capabilities,  please  download  the  video  below"  />   </object> </video> <p>   <strong>Download  Video:</strong>   Closed  Format:   <a  href="__VIDEO__.MP4">"MP4"</a>   Open  Format:  <a  href="__VIDEO__.OGV">"Ogg"</a> </p> http://camendesign.com/code/video_for_everybody
  118. 118. How do you maintain the aspect ratio? • This is mostly a problem if you’re embedding video from a third party site. If you are using your own video, it is not usually an issue. • For third party video, FitVid.js is a good place to start. • For your own video, the only trick is making sure you’re not changing the proportions of the video element as the page resizes.
  119. 119. How do you send right resolution and bitrate?
  120. 120. How do you send right resolution and bitrate? http://www.longtailvideo.com/html5/
  121. 121. You will need a video streaming service.
  122. 122. Why spend so much time on images?
  123. 123. Images are 61% of the average page Source: httparchive.org
  124. 124. If I could dream up my ideal solution for images… http://www.flickr.com/photos/fuzzylittlemanpeach/4633972431/
  125. 125. Eights guidelines and one immutable rule
  126. 126. #1 Use vector-based images or font icons whenever you can
  127. 127. Home App Icon Packs Font CDN Demo Documentation Blog About IcoMoon Custom Built and Crisp Icon Fonts, Done Right IcoMoon App Premium Icons Font CDN Browse 3800+ Free Vector Icons 1200+ Vector Icons & Counting Serve Custom-Built Fonts Import Your Own Vectors to Make Fonts Handcrafted on a 16×16 grid Powered by Amazon Web Services Generate Custom & Crisp Icon Fonts Generate CSS Sprites with any size or color Basic Glyph Editing Several Different Formats Optimized for Icon Fonts Free Updates Easily Update Your Icon Fonts Production (Cached) Links Starting at $1.60/Month
  128. 128. Grumpicon.com based on Grunticon What Is This Issues? /' // . // |//7 /' " . . . | ( _ _ - -_ | '._ ' __ _/ '-' _ __ // _/ | | || | / / | / |VV ||--__________/-||-/| || || || || { } { } { }{ } Drag & Drop ur SVGs on the Grumpicon plz.
  129. 129. #2 Encourage people to upload the highest quality source possible
  130. 130. #3 Provide an automatic image resizing and compression service
  131. 131. #4 Images can be resized to any size with URL parameters Example from Sencha IO SRC. Define height, width or both. <img src="http://src.sencha.io/320/http:// sencha.com/files/u.jpg" alt="My constrained image" />
  132. 132. “ “Save for the Web” should be a thing of the past. —@adamdbradley
  133. 133. #5 Provide automated output of PictureFill or alternative <div  data-­‐picture  data-­‐alt="A  giant  stone  face  at  The  Bayon  temple  in  Angkor  Thom,   Cambodia">        <div  data-­‐src="small.jpg"></div>        <div  data-­‐src="medium.jpg"  data-­‐media="(min-­‐width:  400px)"></div>        <div  data-­‐src="large.jpg"  data-­‐media="(min-­‐width:  800px)"></div>        <div  data-­‐src="extralarge.jpg"  data-­‐media="(min-­‐width:  1000px)"></div>                <!-­‐-­‐  Fallback  content  for  non-­‐JS  browsers.    -­‐-­‐>        <noscript>                <img  src="small.jpg"  alt="A  giant  stone  face  at  The  Bayon                  temple  in  Angkor  Thom,  Cambodia">        </noscript> </div>
  134. 134. Responsive Images Markup Function templates contain breakpoint information { "source":"/source.jpg", "breakpoints":  [ {  "max-­‐width":"30em","pixel-­‐density":1,"width":360px},   {  "max-­‐width":"30em","pixel-­‐density":2,"width":720px}, {  "max-­‐width":"30em","pixel-­‐density":1,"width":800px}, {  "max-­‐width":"30em","pixel-­‐density":2,"width":1600px}, {  "pixel-­‐density":1,"width":800px}, {  "pixel-­‐density":2,"width":1600px}, ] } Sample s yntax. Do n’t get hung up on details. Responsive Images Markup Function PictureFill  Markup Markup f or all ima ges can be ch anged in o ne spot.
  135. 135. #6 Provide a way to override resized images for art direction needs
  136. 136. #7 Integrate image compression best practices jpegtran or jpegoptim OptiPNG or PNGOUT far future expires headers learn from mod_pagespeed or use it
  137. 137. #8 Bonus: Detect support for WebP image format and use it The average WebP file size is 25% - 34% smaller compared to JPEG file size. WebP compresses 34% better than libpng, and 26% better than pngout for loseless images.
  138. 138. #! The only rule for your responsive images implementation.
  139. 139. #! The only rule for your responsive images implementation. Plan for the fact that it will be deprecated. Make it easy to change.
  140. 140. It’s three years later. Let’s revisit the my original question.
  141. 141. Can a one size fits all solution… http://www.flickr.com/photos/theyoungthousands/4025421438
  142. 142. compete with a tailored experience? http://www.flickr.com/photos/fronx/2862975043
  143. 143. http://www.flickr.com/photos/haddadi/5971508861 Or will it always be TOO BIG?
  144. 144. Unlikely responsive design will ever be as fast as something crafted specifically for a device. http://www.flickr.com/photos/quarenta/3256329577
  145. 145. But web design is a balancing act. http://www.flickr.com/photos/kalexanderson/6266452817
  146. 146. And performance is just one factor.
  147. 147. For most projects, responsive design can be fast enough to make sense… Flickr: Uploaded February 11, 2007 by hawridger
  148. 148. if we do the extra work to make mobile first responsive designs.
  149. 149. Thank You! Special thanks to Scott Jehl, Guy Podjarny, and all of the Flickr users sharing under creative commons.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×