SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
Responsive websites.
Toolbox

@appspirina



WARSAW, 29.03.2012
Agenda
 • Feature detection   • Responsive images
 • Media Queries 101   • Micro libraries
 • Viewport Tricks     • jQuery plugins
 • Performance         • Mobile Wordpress
 • CSS frameworks      • Browser testing
PROGRESSIVE
 enhancement
      vs

  PIXEL
  perfection
Source: Justin Avery (CC BY-SA 3.0)




  Interfaces don’t have to
look the same everywhere.
  TV already solved this problem.
“Android WebKit
      is the closest thing to being
the IE6 of mobile development for me.”
      Dion Almaer, A day in the life of Android WebKit dealings




                                        http://www.flickr.com/photos/thebetancourts/899849126/
We know          There are
    features:       constraints:

✦   screen size      ✦   screen size
✦   local storage    ✦   no touch
✦   touch            ✦   poor JavaScript
✦   canvas           ✦   no canvas
✦   SVG              ✦   isMSIE


                                  Hat tip: Yiibu
Feature detect
Media Queries 101

                    http://www.flickr.com/photos/seeminglee/3967329241/
Party like it’s 1998!


<link rel="stylesheet" media="screen, projection" href="normal.css">
<link rel="stylesheet" media="print" href="print.css">


CSS2 media types
CSS3 Media Queries

<link rel="stylesheet" type="text/css"
      href="example.css" media="screen and (color)">




                          Media type          Expression
Better CSS3 Media Queries
Increase maintainability with @import:

 @import url("example.css") screen and (color);




Save HTTP requests:

 @media screen and (color) {
     body { background: #f00; }
 }
max/min
                -width or
                -device-width?

✦   former updates on orientation change, latter doesn’t
✦   only max/min-width will be visible in desktop browser
Detect high DPI screens
Just retina display:

<link rel="stylesheet"
      media="only screen and (-webkit-min-device-pixel-ratio: 2)"
      type="text/css" href="highdpi.css" />
“Remove iPhone from ass.”
                PPK, The iPhone obsession



                       http://www.flickr.com/photos/redux/5065152716/
Detect high DPI screens
 Saves HTTP request, non-iOS-specific:

 @media
 only screen   and   (-webkit-min-device-pixel-ratio: 1.5),
 only screen   and   (-o-min-device-pixel-ratio: 3/2),
 only screen   and   (min--moz-device-pixel-ratio: 1.5),
 only screen   and   (min-device-pixel-ratio: 1.5) {
   /* Styles   */
 }
Detect iPad orientation

<link rel="stylesheet"
      media="all and (orientation: landscape)"
      href="landscape.css">


<link rel="stylesheet"
      media="all and (orientation: portrait)"
      href="portrait.css">
Test it!
 • Screenfly
 • Responsive Design
  Testing

 • Responsive Design
  Test Bookmarklet
Browser support



— caniuse.com
Need support
 for IE6-8?
respond.js
https://github.com/scottjehl/Respond
Viewport Tricks

                  http://www.flickr.com/photos/neilkrug/3934372897/
Viewport demystified
<meta name="viewport" content="width=device-width, initial-scale=1.0">




width=500                Custom width setting


minimum-scale=1.0        Prevents from zooming out


maximum-scale=1.0        Prevents from zooming in. Useful with forms

user-scalable=no         Use cautiously. Mostly for mobile-specific designs
Hey girl,


when I see you,
my iPhone
gets 2x initial zoom
Home screen icon

<link rel="apple-touch-icon" href="apple-touch-icon.png">



                pported by Andr oid 2.1+, too!
             su
Home screen icon
iOS adds by default:

• Rounded corners
                       <link rel="apple-touch-icon-precomposed"

• Drop shadow                href="apple-touch-icon-precomposed.png">


• Reflective shine
                          prevents addition of iO
                                                      S effects
Home screen icon
  144 × 144              iPad ‘Retina’ display

  114 × 114              iPhone ‘Retina’ display

   72 × 72               iPad, iPad 2

   57 × 57               non-Retina iOS and others


 Complete snippet:

 http://mathiasbynens.be/notes/touch-icons
Hiding address bar
 After adding as a bookmark:

 <meta name="apple-mobile-web-app-capable" content="yes">




 Cross-browser solution:

  https://github.com/scottjehl/Hide-Address-Bar
iOS viewport scaling bug




     Portrait      Landscape
iOS viewport scaling bug fix
  if (navigator.userAgent.match(/iPhone/i) ||
  navigator.userAgent.match(/iPad/i)) {
    var viewportmeta = document.querySelector('meta
  [name="viewport"]');
    if (viewportmeta) {
      viewportmeta.content = 'width=device-width, minimum-scale=1.0,
  maximum-scale=1.0';
      document.body.addEventListener('gesturestart', function() {
        viewportmeta.content = 'width=device-width, minimum-
  scale=0.25, maximum-scale=1.6';
      }, false);
    }
  }


  — http://adactio.com/journal/4470/
Performance




              http://www.flickr.com/photos/frinky/2548934532/
Mobile first, stupid!
Decrease dependencies
Load resources conditionally
The Boston Globe used the following methodology:



       ASSETS                             DESIGN
        depend on                         depends on
        screen                              window
      dimensions                          dimensions
Optimize performance
 ✦   Mobile perf bookmarklet
 ✦   YSlow for mobile bookmarklet
Use CSS Data URL generators
or… built-in editor tools
(e.g. implemented in Sublime)
Mobile-friendly frameworks
                       http://www.flickr.com/photos/dunechaser/3385957841/
Develop your own!




Starbucks style guide:
http://www.starbucks.com/static/reference/styleguide/
6 takes to responsive images




                        http://www.flickr.com/photos/mightyboybrian/3457507731/
max-
       width:
      100%;
Doesn’t provide resources optimization
lowsrc
Defined as obsolete in HTML5
   Needs 2 http requests
Standard
JavaScript
replacement

Uses up the most resources
1px
                    gif

Relies on JS for displaying content. Poor idea.
data-highsrc

  developed by Filament Group
     used on Boston Globe
Adaptive-images.com
by Matt Wilcox




 ✦   PHP solution
 ✦   quick to set up
 ✦   doesn’t work with CDNs
Micro libraries




                  http://www.flickr.com/photos/lrargerich/4999906554/
jQuery Plugins




                 http://www.flickr.com/photos/vidyo/6109749573/
Wordpress goes mobile

                        http://www.flickr.com/photos/andivszf/5306544164/
1. Complete plugins
✦   WPTouch
✦   Wordpress Mobile Pack
✦   MobilePress




                            WPTouch plugin used on
                            Stephen Fry’s website
2. Responsive themes
✦   Twenty ten fully responsive
    equivalent available
✦   List of responsive themes
    at Free Themes Directory grows constantly
✦   Lots of responsive premium themes
    on Forest, WooThemes and Themify




                                                http://responsivetwentyten.com/
3. Theme switchers

Theme switchers usually base on user agent sniffing
to serve users separate WordPress theme.

 ✦   Wordpress Mobile Pack
 ✦   Mobile Smart
 ✦   Device Theme Switcher
4. Responsive design helpers

✦   Mobble
                      if (is_mobile()) {
✦   Dropdown Menus       echo "Dude, you rock."
                      }
✦   WP Fluid Images
Browser Testing




                  http://www.flickr.com/photos/blakespot/6860486028/
There are
             38 to solve your
                EMULATORS  *
                                        99

                 P R O B LEMS
* http://www.mobilexweb.com/emulators
Testing on
REAL
DEVICES
is crucial.
Building your pool of devices
 ✦   Analyze your website’s traffic
 ✦   Review the local platform landscape
 ✦   Check against device-specific factors
     (form, screen size, performance, DPI)
 ✦   Compare with project-specific factors
     (location-based?)



— Stephanie Rieger,
http://stephanierieger.com/strategies-for-choosing-test-devices/
Thanks!

                                          Q&A


Wojtek Zając (@theanxy)
                                                    This work is licensed
http://www.slideshare.net/wojciechzajac                under a Creative
                                                    Commons Attribution
                                                    3.0 Unported License
Credit where it’s due
Based on the brilliant research and works by:
• Scott Jehl           • Matt Wilcox            • Yiibu.com
• Patrick H. Lauke     • Brad Frost
• Russ Weakley         • Rachel McCollin
& others.


First slide photo: http://www.flickr.com/photos/johnmcnab/5758738799/
Stephanie Rieger: http://www.flickr.com/photos/29022619@N03/6116794697/

Weitere ähnliche Inhalte

Was ist angesagt?

New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
Matt Carver
 
The Browser Wars and Google's Chrome Sword
The Browser Wars and Google's Chrome SwordThe Browser Wars and Google's Chrome Sword
The Browser Wars and Google's Chrome Sword
Alex Marsh
 

Was ist angesagt? (19)

Photo Sharing In Advising
Photo Sharing In AdvisingPhoto Sharing In Advising
Photo Sharing In Advising
 
Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Design
 
New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...
 
Responsive Design & Mobile First
Responsive Design & Mobile FirstResponsive Design & Mobile First
Responsive Design & Mobile First
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Responsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzwordResponsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzword
 
New and Emerging Technologies Listing
New and Emerging Technologies ListingNew and Emerging Technologies Listing
New and Emerging Technologies Listing
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13
 
TPR4
TPR4TPR4
TPR4
 
Going Fast on the Mobile Web
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile Web
 
5 single page application principles developers need to know
5 single page application principles developers need to know5 single page application principles developers need to know
5 single page application principles developers need to know
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Design+Performance
Design+PerformanceDesign+Performance
Design+Performance
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013
 
The Browser Wars and Google's Chrome Sword
The Browser Wars and Google's Chrome SwordThe Browser Wars and Google's Chrome Sword
The Browser Wars and Google's Chrome Sword
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 

Andere mochten auch (6)

HTML5 i mikroformaty dla pragmatyków
HTML5 i mikroformaty dla pragmatykówHTML5 i mikroformaty dla pragmatyków
HTML5 i mikroformaty dla pragmatyków
 
HTML5 and microformats for pragmatists
HTML5 and microformats for pragmatistsHTML5 and microformats for pragmatists
HTML5 and microformats for pragmatists
 
[PL] Rozpocznij karierę... Dzisiaj!
[PL] Rozpocznij karierę... Dzisiaj![PL] Rozpocznij karierę... Dzisiaj!
[PL] Rozpocznij karierę... Dzisiaj!
 
Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)
 
Font embedding for the web
Font embedding for the webFont embedding for the web
Font embedding for the web
 
Top Mistakes in Web Accessibility
Top Mistakes in Web AccessibilityTop Mistakes in Web Accessibility
Top Mistakes in Web Accessibility
 

Ähnlich wie Responsive websites. Toolbox

Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
touchtitans
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012
Thomas Carney
 
Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
Four Kitchens
 

Ähnlich wie Responsive websites. Toolbox (20)

Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
Responsive design
Responsive designResponsive design
Responsive design
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)
 
Proactive Responsive Design
Proactive Responsive DesignProactive Responsive Design
Proactive Responsive Design
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design
 
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
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
 
An Introduction to Responsive Design
An Introduction to Responsive DesignAn Introduction to Responsive Design
An Introduction to Responsive Design
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Responsive websites. Toolbox

  • 2. Agenda • Feature detection • Responsive images • Media Queries 101 • Micro libraries • Viewport Tricks • jQuery plugins • Performance • Mobile Wordpress • CSS frameworks • Browser testing
  • 3. PROGRESSIVE enhancement vs PIXEL perfection
  • 4. Source: Justin Avery (CC BY-SA 3.0) Interfaces don’t have to look the same everywhere. TV already solved this problem.
  • 5. “Android WebKit is the closest thing to being the IE6 of mobile development for me.” Dion Almaer, A day in the life of Android WebKit dealings http://www.flickr.com/photos/thebetancourts/899849126/
  • 6. We know There are features: constraints: ✦ screen size ✦ screen size ✦ local storage ✦ no touch ✦ touch ✦ poor JavaScript ✦ canvas ✦ no canvas ✦ SVG ✦ isMSIE Hat tip: Yiibu
  • 8.
  • 9. Media Queries 101 http://www.flickr.com/photos/seeminglee/3967329241/
  • 10. Party like it’s 1998! <link rel="stylesheet" media="screen, projection" href="normal.css"> <link rel="stylesheet" media="print" href="print.css"> CSS2 media types
  • 11. CSS3 Media Queries <link rel="stylesheet" type="text/css" href="example.css" media="screen and (color)"> Media type Expression
  • 12. Better CSS3 Media Queries Increase maintainability with @import: @import url("example.css") screen and (color); Save HTTP requests: @media screen and (color) { body { background: #f00; } }
  • 13. max/min -width or -device-width? ✦ former updates on orientation change, latter doesn’t ✦ only max/min-width will be visible in desktop browser
  • 14. Detect high DPI screens Just retina display: <link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="highdpi.css" />
  • 15. “Remove iPhone from ass.” PPK, The iPhone obsession http://www.flickr.com/photos/redux/5065152716/
  • 16. Detect high DPI screens Saves HTTP request, non-iOS-specific: @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { /* Styles */ }
  • 17. Detect iPad orientation <link rel="stylesheet" media="all and (orientation: landscape)" href="landscape.css"> <link rel="stylesheet" media="all and (orientation: portrait)" href="portrait.css">
  • 18. Test it! • Screenfly • Responsive Design Testing • Responsive Design Test Bookmarklet
  • 20. Need support for IE6-8? respond.js https://github.com/scottjehl/Respond
  • 21. Viewport Tricks http://www.flickr.com/photos/neilkrug/3934372897/
  • 22. Viewport demystified <meta name="viewport" content="width=device-width, initial-scale=1.0"> width=500 Custom width setting minimum-scale=1.0 Prevents from zooming out maximum-scale=1.0 Prevents from zooming in. Useful with forms user-scalable=no Use cautiously. Mostly for mobile-specific designs
  • 23. Hey girl, when I see you, my iPhone gets 2x initial zoom
  • 24. Home screen icon <link rel="apple-touch-icon" href="apple-touch-icon.png"> pported by Andr oid 2.1+, too! su
  • 25. Home screen icon iOS adds by default: • Rounded corners <link rel="apple-touch-icon-precomposed" • Drop shadow href="apple-touch-icon-precomposed.png"> • Reflective shine prevents addition of iO S effects
  • 26. Home screen icon 144 × 144 iPad ‘Retina’ display 114 × 114 iPhone ‘Retina’ display 72 × 72 iPad, iPad 2 57 × 57 non-Retina iOS and others Complete snippet: http://mathiasbynens.be/notes/touch-icons
  • 27. Hiding address bar After adding as a bookmark: <meta name="apple-mobile-web-app-capable" content="yes"> Cross-browser solution: https://github.com/scottjehl/Hide-Address-Bar
  • 28. iOS viewport scaling bug Portrait Landscape
  • 29. iOS viewport scaling bug fix if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) { var viewportmeta = document.querySelector('meta [name="viewport"]'); if (viewportmeta) { viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0'; document.body.addEventListener('gesturestart', function() { viewportmeta.content = 'width=device-width, minimum- scale=0.25, maximum-scale=1.6'; }, false); } } — http://adactio.com/journal/4470/
  • 30. Performance http://www.flickr.com/photos/frinky/2548934532/
  • 33. Load resources conditionally The Boston Globe used the following methodology: ASSETS DESIGN depend on depends on screen window dimensions dimensions
  • 34. Optimize performance ✦ Mobile perf bookmarklet ✦ YSlow for mobile bookmarklet
  • 35. Use CSS Data URL generators or… built-in editor tools (e.g. implemented in Sublime)
  • 36. Mobile-friendly frameworks http://www.flickr.com/photos/dunechaser/3385957841/
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. Develop your own! Starbucks style guide: http://www.starbucks.com/static/reference/styleguide/
  • 43. 6 takes to responsive images http://www.flickr.com/photos/mightyboybrian/3457507731/
  • 44. max- width: 100%; Doesn’t provide resources optimization
  • 45. lowsrc Defined as obsolete in HTML5 Needs 2 http requests
  • 47. 1px gif Relies on JS for displaying content. Poor idea.
  • 48. data-highsrc developed by Filament Group used on Boston Globe
  • 49. Adaptive-images.com by Matt Wilcox ✦ PHP solution ✦ quick to set up ✦ doesn’t work with CDNs
  • 50. Micro libraries http://www.flickr.com/photos/lrargerich/4999906554/
  • 51.
  • 52.
  • 53.
  • 54. jQuery Plugins http://www.flickr.com/photos/vidyo/6109749573/
  • 55.
  • 56.
  • 57.
  • 58.
  • 59. Wordpress goes mobile http://www.flickr.com/photos/andivszf/5306544164/
  • 60. 1. Complete plugins ✦ WPTouch ✦ Wordpress Mobile Pack ✦ MobilePress WPTouch plugin used on Stephen Fry’s website
  • 61. 2. Responsive themes ✦ Twenty ten fully responsive equivalent available ✦ List of responsive themes at Free Themes Directory grows constantly ✦ Lots of responsive premium themes on Forest, WooThemes and Themify http://responsivetwentyten.com/
  • 62. 3. Theme switchers Theme switchers usually base on user agent sniffing to serve users separate WordPress theme. ✦ Wordpress Mobile Pack ✦ Mobile Smart ✦ Device Theme Switcher
  • 63. 4. Responsive design helpers ✦ Mobble if (is_mobile()) { ✦ Dropdown Menus echo "Dude, you rock." } ✦ WP Fluid Images
  • 64. Browser Testing http://www.flickr.com/photos/blakespot/6860486028/
  • 65.
  • 66.
  • 67. There are 38 to solve your EMULATORS * 99 P R O B LEMS * http://www.mobilexweb.com/emulators
  • 68.
  • 70. Building your pool of devices ✦ Analyze your website’s traffic ✦ Review the local platform landscape ✦ Check against device-specific factors (form, screen size, performance, DPI) ✦ Compare with project-specific factors (location-based?) — Stephanie Rieger, http://stephanierieger.com/strategies-for-choosing-test-devices/
  • 71. Thanks! Q&A Wojtek Zając (@theanxy) This work is licensed http://www.slideshare.net/wojciechzajac under a Creative Commons Attribution 3.0 Unported License
  • 72. Credit where it’s due Based on the brilliant research and works by: • Scott Jehl • Matt Wilcox • Yiibu.com • Patrick H. Lauke • Brad Frost • Russ Weakley • Rachel McCollin & others. First slide photo: http://www.flickr.com/photos/johnmcnab/5758738799/ Stephanie Rieger: http://www.flickr.com/photos/29022619@N03/6116794697/