SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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...
 

Plus 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
 

Plus 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)
 

Dernier

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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...Miguel Araújo
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 FresherRemote DBA Services
 
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 Scriptwesley chun
 

Dernier (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 

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.

Notes de l'éditeur

  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