SlideShare uma empresa Scribd logo
1 de 71
Building Responsive
 Websites and Apps
 with Drupal
 Dallas Drupal Days 2011




2011.07.09 - Dallas Drupal Days
http://dallasdrupal.org/sessions/building-responsive-websites-and-apps-
drupal
What is Responsive?
‣   Responsive layouts are the original design on the
    web: http://naked.dustindiaz.com/
‣   As screens got bigger, we got pickier about the
    look of a site on the desktop monitor
What is Responsive?
 ‣   Now we deal with these:




Credits: Aaron Stanush
What is Responsive?
 ‣   Now we deal with these:




Credits: Aaron Stanush
What is Responsive?
 ‣   Not to mention these:




Credits: http://j.mp/rethink-mobile
So many browsers




Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
So many browsers
 ‣   Do you really have time to test for and cater to:




Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
So many browsers
 ‣   Do you really have time to test for and cater to:
       ‣   Chrome, Firefox, Safari, Opera, Internet Explorer
           6-7-8-9-10, Symbian, iPhone, iPad, Android
           phones, Android tablets, RIM (Blackberry),
           Windows CE, Windows mobile, Windows Phone
           7, Linux, bada, MeeGo, Brew OS




Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
So many browsers
 ‣   Do you really have time to test for and cater to:
       ‣   Chrome, Firefox, Safari, Opera, Internet Explorer
           6-7-8-9-10, Symbian, iPhone, iPad, Android
           phones, Android tablets, RIM (Blackberry),
           Windows CE, Windows mobile, Windows Phone
           7, Linux, bada, MeeGo, Brew OS
       ‣   ...boo


Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
Forget about...
Forget about...
‣   User-agent detection + Separate mobile theme
Forget about...
‣   User-agent detection + Separate mobile theme
‣   Separate subdomain / path + redirection
Forget about...
‣   User-agent detection + Separate mobile theme
‣   Separate subdomain / path + redirection
‣   External services
Forget about...
‣   User-agent detection + Separate mobile theme
‣   Separate subdomain / path + redirection
‣   External services
‣   These are alternatives, each with strengths and
    weaknesses. We don’t care about them today :)
Go Responsive
Go Responsive
‣   Use the front-end the way it wants to be used —
    as a versatile presentation layer
Go Responsive
‣   Use the front-end the way it wants to be used —
    as a versatile presentation layer
‣   The layout of a website can shift and adapt to
    changes in screen size and device capability
Go Responsive
‣   Use the front-end the way it wants to be used —
    as a versatile presentation layer
‣   The layout of a website can shift and adapt to
    changes in screen size and device capability
‣   CSS3 Media Queries
    JavaScript tools that adapt real-time
    Feature detection
Example




Credits: http://mediaqueri.es
Example




Credits: http://mediaqueri.es
CSS Media Queries




<plug> or check out http://fourkitchens.com </
plug>
CSS Media Queries
 ‣   The spec:        http://www.w3.org/TR/css3-mediaqueries/




<plug> or check out http://fourkitchens.com </
plug>
CSS Media Queries
 ‣   The spec:        http://www.w3.org/TR/css3-mediaqueries/

 ‣   The buzz:         http://www.alistapart.com/articles/responsive-web-design/




<plug> or check out http://fourkitchens.com </
plug>
CSS Media Queries
 ‣   The spec:        http://www.w3.org/TR/css3-mediaqueries/

 ‣   The buzz:         http://www.alistapart.com/articles/responsive-web-design/

 ‣   The hotness:           http://mediaqueri.es




<plug> or check out http://fourkitchens.com </
plug>
Basic Example
<link rel=”stylesheet” href=”this.css”>
Basic Example
<link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”>
Basic Example
 <link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”>




 /* This CSS will always apply - global styles */
 body {padding: 10px; }
 #container {width: 100%; margin: 0; }




Do not use these in conjunction!
Basic Example
 <link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”>




 /* This CSS will always apply - global styles */
 body {padding: 10px; }
 #container {width: 100%; margin: 0; }

 /* This CSS will only apply when the window is 960px or greater */
 @media screen and (min-width: 960px) {
   body {padding: 0; }
   #container {width: 960px; margin: 0 auto; }
 }




Do not use these in conjunction!
cool, but...
cool, but...
‣   IE 8 and below do not recognize media queries
    (weep not, more on this later)
cool, but...
‣   IE 8 and below do not recognize media queries
    (weep not, more on this later)

‣   Don’t just pop open your existing stylesheets, wrap
    them in queries, and call it a day
cool, but...
‣   IE 8 and below do not recognize media queries
    (weep not, more on this later)

‣   Don’t just pop open your existing stylesheets, wrap
    them in queries, and call it a day
‣   We need to mentally remove the line between
    mobile and desktop...
cool, but...
‣   IE 8 and below do not recognize media queries
    (weep not, more on this later)

‣   Don’t just pop open your existing stylesheets, wrap
    them in queries, and call it a day
‣   We need to mentally remove the line between
    mobile and desktop...
‣   ...but don’t freak out.
    They’re just differently sized screens.
Mobile First Approach




http://j.mp/rethink-mobile
Mobile First Approach
 ‣   aka Progressive Enhancement




http://j.mp/rethink-mobile
Mobile First Approach
 ‣   aka Progressive Enhancement
 ‣   Read, re-read, and bookmark (game changer)
     http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu




http://j.mp/rethink-mobile
Mobile First Approach
 ‣   aka Progressive Enhancement
 ‣   Read, re-read, and bookmark (game changer)
     http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu




http://j.mp/rethink-mobile
Progressive CSS




http://j.mp/rethink-mobile
Progressive CSS
 ‣   No media query support is a media query




http://j.mp/rethink-mobile
Progressive CSS
 ‣   No media query support is a media query
 ‣   Target the least capable browser first




http://j.mp/rethink-mobile
Progressive CSS
 ‣   No media query support is a media query
 ‣   Target the least capable browser first
 ‣   Query for more functional browsers




http://j.mp/rethink-mobile
Progressive CSS
 ‣   No media query support is a media query
 ‣   Target the least capable browser first
 ‣   Query for more functional browsers
 ‣   More compatible than when you start with desktop
     styles and filter “down” to mobile version




http://j.mp/rethink-mobile
Feature Detection




http://www.modernizr.com/
Feature Detection
‣   Not just limited to screen size




http://www.modernizr.com/
Feature Detection
‣   Not just limited to screen size
‣   Modernizr tests for the specific features you need




http://www.modernizr.com/
Feature Detection
‣   Not just limited to screen size
‣   Modernizr tests for the specific features you need
‣   More reliable than user-agent detection




http://www.modernizr.com/
Feature Detection
‣   Not just limited to screen size
‣   Modernizr tests for the specific features you need
‣   More reliable than user-agent detection
‣   Modular and lightweight, pick your tests:
    http://www.modernizr.com/download/




http://www.modernizr.com/
Drupal Modules
Drupal Modules
‣   Responsive Images: http://drupal.org/project/responsive_images
    Mobile-first images
Drupal Modules
‣   Responsive Images: http://drupal.org/project/responsive_images
    Mobile-first images

‣   Modernizr: http://drupal.org/project/modernizr
    Modernizr integration
Drupal Modules
‣   Responsive Images: http://drupal.org/project/responsive_images
    Mobile-first images

‣   Modernizr: http://drupal.org/project/modernizr
    Modernizr integration

‣   Semantic Views: http://drupal.org/project/semanticviews
    Allows you to clean up your Views output sans templates
Drupal Modules
‣   Responsive Images: http://drupal.org/project/responsive_images
    Mobile-first images

‣   Modernizr: http://drupal.org/project/modernizr
    Modernizr integration

‣   Semantic Views: http://drupal.org/project/semanticviews
    Allows you to clean up your Views output sans templates

‣   Responder: http://drupal.org/sandbox/rupl/1104416
    Force module stylesheets into mobile-first approach
Drupal Themes
‣   Omega: http://drupal.org/project/omega
‣   Flex: http://drupal.org/sandbox/zachattack/1104458
Useful Libraries
Useful Libraries
‣   Respond.js - For I       ncapabl   E browsers
    https://github.com/scottjehl/Respond
Useful Libraries
‣   Respond.js - For I       ncapabl   E browsers
    https://github.com/scottjehl/Respond

‣   Responsive-Images - Bandwidth savings for smaller
    screens
    https://github.com/filamentgroup/Responsive-Images
Useful Libraries
‣   Respond.js - For I       ncapabl   E browsers
    https://github.com/scottjehl/Respond

‣   Responsive-Images - Bandwidth savings for smaller
    screens
    https://github.com/filamentgroup/Responsive-Images

‣   Adapt.js - JavaScript alternative to media queries.
    Built upon 960 Grid System
    https://github.com/nathansmith/adapt
Front-end Performance




http://www.webperformancetoday.com/2011/04/20/
desktop-vs-mobile-web-page-load-speed/
Front-end Performance
‣   Up to 97% of perceived mobile response time
    depends on the front-end... really




http://www.webperformancetoday.com/2011/04/20/
desktop-vs-mobile-web-page-load-speed/
Front-end Performance
‣   Up to 97% of perceived mobile response time
    depends on the front-end... really
‣   Your super-stack might serve requests quickly, but
    if you don’t request quickly, it still seems slow.




http://www.webperformancetoday.com/2011/04/20/
desktop-vs-mobile-web-page-load-speed/
Front-end Performance
Front-end Performance
‣   Cache HTML, internal and external if possible
Front-end Performance
‣   Cache HTML, internal and external if possible
‣   Optimize CSS/JS
Front-end Performance
‣   Cache HTML, internal and external if possible
‣   Optimize CSS/JS
‣   Move $scripts to the bottom of your templates
Front-end Performance
‣   Cache HTML, internal and external if possible
‣   Optimize CSS/JS
‣   Move $scripts to the bottom of your templates
‣   Use responsive images, data URIs, and/or sprites
Check your Work
Check your Work
Check your Work


‣   YSlow
    http://developer.yahoo.com/yslow/
Check your Work


‣   YSlow
    http://developer.yahoo.com/yslow/

‣   Page Speed
    http://code.google.com/speed/page-speed/docs/extension.html
Thank You!
 chris@fourkitchens.com
 twitter.com/rupl
 http://drupal.org/user/411999



2011.07.09 - Dallas Drupal Days
http://dallasdrupal.org/sessions/building-responsive-websites-and-apps-drupal
All content in this presentation, except where noted otherwise, is Creative Commons Attribution-
ShareAlike 3.0 licensed and copyright 2011 Four Kitchens, LLC.

Mais conteúdo relacionado

Mais procurados

A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes backChristian Heilmann
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmetBrad Frost
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Christian Heilmann
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptChristian Heilmann
 
Responsive web design
Responsive web designResponsive web design
Responsive web designRuss Weakley
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st CenturyMateusz Kwasniewski
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React지수 윤
 
Practical guide for front-end development for django devs
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devsDavidson Fellipe
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!Rudy Rigot
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web DesignMelanie Burger
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016Christian Heilmann
 
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Mateusz Kwasniewski
 
JavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteJavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteChristian Heilmann
 
The Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideThe Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideAdobe
 
Responsive Navigation Patterns, UX and Guidelines
Responsive Navigation Patterns, UX and GuidelinesResponsive Navigation Patterns, UX and Guidelines
Responsive Navigation Patterns, UX and GuidelinesPeter Rozek
 
How to build a website... the accessible way
How to build a website... the accessible wayHow to build a website... the accessible way
How to build a website... the accessible wayIsabel Brison
 
Responsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en OplossingenResponsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en OplossingenThemePartner
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoBrad Frost
 

Mais procurados (20)

A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes back
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React
 
Practical guide for front-end development for django devs
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devs
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 
Responsive design
Responsive designResponsive design
Responsive design
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016
 
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
 
JavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteJavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynote
 
The Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideThe Adobe Legal Department Style Guide
The Adobe Legal Department Style Guide
 
Responsive Navigation Patterns, UX and Guidelines
Responsive Navigation Patterns, UX and GuidelinesResponsive Navigation Patterns, UX and Guidelines
Responsive Navigation Patterns, UX and Guidelines
 
How to build a website... the accessible way
How to build a website... the accessible wayHow to build a website... the accessible way
How to build a website... the accessible way
 
Responsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en OplossingenResponsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en Oplossingen
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
 

Destaque

Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Four Kitchens
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef CookbookFour Kitchens
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typographyFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Four Kitchens
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fontsFour Kitchens
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websitesFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Four Kitchens
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbookFour Kitchens
 
Open-source and no-cost tools for collaboration
Open-source and no-cost tools for collaborationOpen-source and no-cost tools for collaboration
Open-source and no-cost tools for collaborationFour Kitchens
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Four Kitchens
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Four Kitchens
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Four Kitchens
 
Drupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemDrupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemFour Kitchens
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)Four Kitchens
 
TIC MAGAZINE Edition N°07
TIC MAGAZINE Edition N°07TIC MAGAZINE Edition N°07
TIC MAGAZINE Edition N°07TIC MAGAZINE
 

Destaque (20)

Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef Cookbook
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typography
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fonts
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websites
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbook
 
Open-source and no-cost tools for collaboration
Open-source and no-cost tools for collaborationOpen-source and no-cost tools for collaboration
Open-source and no-cost tools for collaboration
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
 
Drupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemDrupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid system
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
 
TIC MAGAZINE Edition N°07
TIC MAGAZINE Edition N°07TIC MAGAZINE Edition N°07
TIC MAGAZINE Edition N°07
 

Semelhante a Building Responsive Websites and Apps with Drupal

Mobile drupal
Mobile drupalMobile drupal
Mobile drupalrupl
 
Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Chris Mills
 
An Introduction to Responsive Design
An Introduction to Responsive DesignAn Introduction to Responsive Design
An Introduction to Responsive DesignValtech UK
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveChris Mills
 
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 #BigD12touchtitans
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. ToolboxWojtek Zając
 
Responsive web design
Responsive web designResponsive web design
Responsive web designpsophy
 
Responsive Web Design_2013
Responsive Web Design_2013Responsive Web Design_2013
Responsive Web Design_2013Achieve Internet
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Thomas Carney
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style councilChris Mills
 
Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Clarissa Peterson
 
Active Web Development
Active Web DevelopmentActive Web Development
Active Web DevelopmentDivya Manian
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web DesignMike Wilcox
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyoneChris Mills
 
Performance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled SoilPerformance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled SoilFresh Tilled Soil
 
When responsive web design meets the real world
When responsive web design meets the real worldWhen responsive web design meets the real world
When responsive web design meets the real worldJason Grigsby
 
Why Customers Love Responsive Design (And You Should Too!)
Why Customers Love Responsive Design (And You Should Too!)Why Customers Love Responsive Design (And You Should Too!)
Why Customers Love Responsive Design (And You Should Too!)BrightEdge
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Frédéric Harper
 

Semelhante a Building Responsive Websites and Apps with Drupal (20)

Mobile drupal
Mobile drupalMobile drupal
Mobile drupal
 
Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Optimizing content for the "mobile web"
Optimizing content for the "mobile web"
 
RWD
RWDRWD
RWD
 
An Introduction to Responsive Design
An Introduction to Responsive DesignAn Introduction to Responsive Design
An Introduction to Responsive Design
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
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 websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Responsive Web Design_2013
Responsive Web Design_2013Responsive Web Design_2013
Responsive Web Design_2013
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
 
Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Introduction to Responsive Design v.2
Introduction to Responsive Design v.2
 
Active Web Development
Active Web DevelopmentActive Web Development
Active Web Development
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone
 
Performance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled SoilPerformance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled Soil
 
When responsive web design meets the real world
When responsive web design meets the real worldWhen responsive web design meets the real world
When responsive web design meets the real world
 
Why Customers Love Responsive Design (And You Should Too!)
Why Customers Love Responsive Design (And You Should Too!)Why Customers Love Responsive Design (And You Should Too!)
Why Customers Love Responsive Design (And You Should Too!)
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
 

Mais de Four Kitchens

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyFour Kitchens
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Four Kitchens
 
PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Four Kitchens
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Four Kitchens
 

Mais de Four Kitchens (12)

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMS
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websites
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case Study
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Teaching Drupal
Teaching DrupalTeaching Drupal
Teaching Drupal
 
Big Websites
Big WebsitesBig Websites
Big Websites
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
 
PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)
 
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Building Responsive Websites and Apps with Drupal

  • 1. Building Responsive Websites and Apps with Drupal Dallas Drupal Days 2011 2011.07.09 - Dallas Drupal Days http://dallasdrupal.org/sessions/building-responsive-websites-and-apps- drupal
  • 2. What is Responsive? ‣ Responsive layouts are the original design on the web: http://naked.dustindiaz.com/ ‣ As screens got bigger, we got pickier about the look of a site on the desktop monitor
  • 3. What is Responsive? ‣ Now we deal with these: Credits: Aaron Stanush
  • 4. What is Responsive? ‣ Now we deal with these: Credits: Aaron Stanush
  • 5. What is Responsive? ‣ Not to mention these: Credits: http://j.mp/rethink-mobile
  • 6. So many browsers Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
  • 7. So many browsers ‣ Do you really have time to test for and cater to: Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
  • 8. So many browsers ‣ Do you really have time to test for and cater to: ‣ Chrome, Firefox, Safari, Opera, Internet Explorer 6-7-8-9-10, Symbian, iPhone, iPad, Android phones, Android tablets, RIM (Blackberry), Windows CE, Windows mobile, Windows Phone 7, Linux, bada, MeeGo, Brew OS Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
  • 9. So many browsers ‣ Do you really have time to test for and cater to: ‣ Chrome, Firefox, Safari, Opera, Internet Explorer 6-7-8-9-10, Symbian, iPhone, iPad, Android phones, Android tablets, RIM (Blackberry), Windows CE, Windows mobile, Windows Phone 7, Linux, bada, MeeGo, Brew OS ‣ ...boo Credits: http://en.wikipedia.org/wiki/Mobile_operating_system
  • 11. Forget about... ‣ User-agent detection + Separate mobile theme
  • 12. Forget about... ‣ User-agent detection + Separate mobile theme ‣ Separate subdomain / path + redirection
  • 13. Forget about... ‣ User-agent detection + Separate mobile theme ‣ Separate subdomain / path + redirection ‣ External services
  • 14. Forget about... ‣ User-agent detection + Separate mobile theme ‣ Separate subdomain / path + redirection ‣ External services ‣ These are alternatives, each with strengths and weaknesses. We don’t care about them today :)
  • 16. Go Responsive ‣ Use the front-end the way it wants to be used — as a versatile presentation layer
  • 17. Go Responsive ‣ Use the front-end the way it wants to be used — as a versatile presentation layer ‣ The layout of a website can shift and adapt to changes in screen size and device capability
  • 18. Go Responsive ‣ Use the front-end the way it wants to be used — as a versatile presentation layer ‣ The layout of a website can shift and adapt to changes in screen size and device capability ‣ CSS3 Media Queries JavaScript tools that adapt real-time Feature detection
  • 21. CSS Media Queries <plug> or check out http://fourkitchens.com </ plug>
  • 22. CSS Media Queries ‣ The spec: http://www.w3.org/TR/css3-mediaqueries/ <plug> or check out http://fourkitchens.com </ plug>
  • 23. CSS Media Queries ‣ The spec: http://www.w3.org/TR/css3-mediaqueries/ ‣ The buzz: http://www.alistapart.com/articles/responsive-web-design/ <plug> or check out http://fourkitchens.com </ plug>
  • 24. CSS Media Queries ‣ The spec: http://www.w3.org/TR/css3-mediaqueries/ ‣ The buzz: http://www.alistapart.com/articles/responsive-web-design/ ‣ The hotness: http://mediaqueri.es <plug> or check out http://fourkitchens.com </ plug>
  • 26. Basic Example <link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”>
  • 27. Basic Example <link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”> /* This CSS will always apply - global styles */ body {padding: 10px; } #container {width: 100%; margin: 0; } Do not use these in conjunction!
  • 28. Basic Example <link rel=”stylesheet” href=”this.css” media=”(min-width: 960px)”> /* This CSS will always apply - global styles */ body {padding: 10px; } #container {width: 100%; margin: 0; } /* This CSS will only apply when the window is 960px or greater */ @media screen and (min-width: 960px) { body {padding: 0; } #container {width: 960px; margin: 0 auto; } } Do not use these in conjunction!
  • 30. cool, but... ‣ IE 8 and below do not recognize media queries (weep not, more on this later)
  • 31. cool, but... ‣ IE 8 and below do not recognize media queries (weep not, more on this later) ‣ Don’t just pop open your existing stylesheets, wrap them in queries, and call it a day
  • 32. cool, but... ‣ IE 8 and below do not recognize media queries (weep not, more on this later) ‣ Don’t just pop open your existing stylesheets, wrap them in queries, and call it a day ‣ We need to mentally remove the line between mobile and desktop...
  • 33. cool, but... ‣ IE 8 and below do not recognize media queries (weep not, more on this later) ‣ Don’t just pop open your existing stylesheets, wrap them in queries, and call it a day ‣ We need to mentally remove the line between mobile and desktop... ‣ ...but don’t freak out. They’re just differently sized screens.
  • 35. Mobile First Approach ‣ aka Progressive Enhancement http://j.mp/rethink-mobile
  • 36. Mobile First Approach ‣ aka Progressive Enhancement ‣ Read, re-read, and bookmark (game changer) http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu http://j.mp/rethink-mobile
  • 37. Mobile First Approach ‣ aka Progressive Enhancement ‣ Read, re-read, and bookmark (game changer) http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu http://j.mp/rethink-mobile
  • 39. Progressive CSS ‣ No media query support is a media query http://j.mp/rethink-mobile
  • 40. Progressive CSS ‣ No media query support is a media query ‣ Target the least capable browser first http://j.mp/rethink-mobile
  • 41. Progressive CSS ‣ No media query support is a media query ‣ Target the least capable browser first ‣ Query for more functional browsers http://j.mp/rethink-mobile
  • 42. Progressive CSS ‣ No media query support is a media query ‣ Target the least capable browser first ‣ Query for more functional browsers ‣ More compatible than when you start with desktop styles and filter “down” to mobile version http://j.mp/rethink-mobile
  • 44. Feature Detection ‣ Not just limited to screen size http://www.modernizr.com/
  • 45. Feature Detection ‣ Not just limited to screen size ‣ Modernizr tests for the specific features you need http://www.modernizr.com/
  • 46. Feature Detection ‣ Not just limited to screen size ‣ Modernizr tests for the specific features you need ‣ More reliable than user-agent detection http://www.modernizr.com/
  • 47. Feature Detection ‣ Not just limited to screen size ‣ Modernizr tests for the specific features you need ‣ More reliable than user-agent detection ‣ Modular and lightweight, pick your tests: http://www.modernizr.com/download/ http://www.modernizr.com/
  • 49. Drupal Modules ‣ Responsive Images: http://drupal.org/project/responsive_images Mobile-first images
  • 50. Drupal Modules ‣ Responsive Images: http://drupal.org/project/responsive_images Mobile-first images ‣ Modernizr: http://drupal.org/project/modernizr Modernizr integration
  • 51. Drupal Modules ‣ Responsive Images: http://drupal.org/project/responsive_images Mobile-first images ‣ Modernizr: http://drupal.org/project/modernizr Modernizr integration ‣ Semantic Views: http://drupal.org/project/semanticviews Allows you to clean up your Views output sans templates
  • 52. Drupal Modules ‣ Responsive Images: http://drupal.org/project/responsive_images Mobile-first images ‣ Modernizr: http://drupal.org/project/modernizr Modernizr integration ‣ Semantic Views: http://drupal.org/project/semanticviews Allows you to clean up your Views output sans templates ‣ Responder: http://drupal.org/sandbox/rupl/1104416 Force module stylesheets into mobile-first approach
  • 53. Drupal Themes ‣ Omega: http://drupal.org/project/omega ‣ Flex: http://drupal.org/sandbox/zachattack/1104458
  • 55. Useful Libraries ‣ Respond.js - For I ncapabl E browsers https://github.com/scottjehl/Respond
  • 56. Useful Libraries ‣ Respond.js - For I ncapabl E browsers https://github.com/scottjehl/Respond ‣ Responsive-Images - Bandwidth savings for smaller screens https://github.com/filamentgroup/Responsive-Images
  • 57. Useful Libraries ‣ Respond.js - For I ncapabl E browsers https://github.com/scottjehl/Respond ‣ Responsive-Images - Bandwidth savings for smaller screens https://github.com/filamentgroup/Responsive-Images ‣ Adapt.js - JavaScript alternative to media queries. Built upon 960 Grid System https://github.com/nathansmith/adapt
  • 59. Front-end Performance ‣ Up to 97% of perceived mobile response time depends on the front-end... really http://www.webperformancetoday.com/2011/04/20/ desktop-vs-mobile-web-page-load-speed/
  • 60. Front-end Performance ‣ Up to 97% of perceived mobile response time depends on the front-end... really ‣ Your super-stack might serve requests quickly, but if you don’t request quickly, it still seems slow. http://www.webperformancetoday.com/2011/04/20/ desktop-vs-mobile-web-page-load-speed/
  • 62. Front-end Performance ‣ Cache HTML, internal and external if possible
  • 63. Front-end Performance ‣ Cache HTML, internal and external if possible ‣ Optimize CSS/JS
  • 64. Front-end Performance ‣ Cache HTML, internal and external if possible ‣ Optimize CSS/JS ‣ Move $scripts to the bottom of your templates
  • 65. Front-end Performance ‣ Cache HTML, internal and external if possible ‣ Optimize CSS/JS ‣ Move $scripts to the bottom of your templates ‣ Use responsive images, data URIs, and/or sprites
  • 68. Check your Work ‣ YSlow http://developer.yahoo.com/yslow/
  • 69. Check your Work ‣ YSlow http://developer.yahoo.com/yslow/ ‣ Page Speed http://code.google.com/speed/page-speed/docs/extension.html
  • 70. Thank You! chris@fourkitchens.com twitter.com/rupl http://drupal.org/user/411999 2011.07.09 - Dallas Drupal Days http://dallasdrupal.org/sessions/building-responsive-websites-and-apps-drupal
  • 71. All content in this presentation, except where noted otherwise, is Creative Commons Attribution- ShareAlike 3.0 licensed and copyright 2011 Four Kitchens, LLC.

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n