SlideShare a Scribd company logo
1 of 34
Musketeers.me




                 Responsive
                Development
           Kevin Bruce of Musketeers.me
Who Am I?




                       Designer
                       Developer

       Musketeers.me
2
Where I Work




       Musketeers.me
3
Musketeers.me




              THE Question:
      Is a responsive site the best
          way to go for my site?
Options




                                                                        iPhone

                                                          Camera
                                                         Compass
                                                    Accelerometer
                                                      Geolocation

     Full Responsive Site   Dedicated Mobile Site      Native Application



         Musketeers.me
5
Full Responsive Site


    Benefits

    • One Codebase

    • Same html file serves all devices

    Drawbacks

    • Not completely tailored to any device

    • Unless you have a process in place, it can take as much time to write
      as a separate mobile site




         Musketeers.me
6
Dedicated Mobile Site


    Benefits

    • Cater to mobile content needs like Location and contact info

    • Can concentrate on touch-based UI

    Drawbacks

    • Completely separate codebase and content to maintain

    • Studies have shown that a separate “paired-down” site pisses people
      off.




         Musketeers.me
7
Native Mobile App


    Benefits

    • Native access to device hardware

    • Interface is more responsive

    Drawbacks

    • Development cost is high to write and maintain

    • At least two mobile Operating Systems to write for




         Musketeers.me
8
My Own Personal Decision-Makers


                             Dedicated           Native
     Responsive Site
                             Mobile Site       Application
    • Information         • Shopping Cart   • Full Web
      Website                                 Application
                          • Login-Based
    • Light Interactive     Website         • Giant Shopping
      Website                                 Cart




          Musketeers.me
9
Musketeers.me




                Responsive Design
In a Nutshell




        flexible grid layouts that respond to the size of your
                     browser window (viewport).

         Musketeers.me
11
Flexible Grid is the Key to Responsive Design


        A flexible grid is made up of fluid columns and rows
              that use ems and percentages for setting
          width, height, font-size, image and media sizes.




         Musketeers.me
12
Media Queries



      Media Queries are a CSS3 feature that was introduced into the modern
      browser. It is a series of “break points” based on your browser window
      (or “viewport”) size.

      Your browser only uses the styles within the breakpoint that matches
      your viewport size. Of course, it also uses styles outside of any
      breakpoints as well.




          Musketeers.me
13
Media Queries



      1. Use the @import rule to import styles from other style sheets:

      <div id=”google_whitespace”
         style=”@import url(style600min.css) screen and (min-width: 600px);”>
      </div>




          Musketeers.me
14
Media Queries



      2. Put media queries directly in the style sheet.
         This is the most common approach.
      @media screen and (min-width: 400px) and (orientation: portrait) {
              #nav li {
                  float: right;
              }
         }
      @media screen and (min-width: 800px) {
            #nav li {
               float: left;
              }
         }




           Musketeers.me
15
Media Queries



      3. Include a query in a linked style sheet’s media attribute:

      <link rel="stylesheet"
          type="text/css"
          media="screen and (max-device-width: 800px)" href="style800.css" />




          Musketeers.me
16
Mobile First

                 style.css

                                 Depending on who you talk
      body { … }
                                 to, mobile-first is the way to go.
       @media only screen
       and (min-width: 200px)
                                 Design for mobile, serve the mobile
       mobile                    breakpoints first and then
                                 progressively enhance from there for
       @media only screen
       and (min-width: 1020px)   larger viewports.
       tablet
                                 Use “min-width” breakpoints so the
       @media only screen and    larger screens inherit styles from the
       (min-width: 1450px)       smaller viewport break points, in
       desktop                   effect, cascading up.


            Musketeers.me
17
Mobile Content First


     The important take-away from mobile-first is “content-first.”

     Distill your message down to the essentials!

     Start with the content you would show in your mobile view and add in the
     Design cruff from there.

     Also, write semantic markup!




          Musketeers.me
18
Musketeers.me




         Responsive Development
Server Side Help

     Server side is an alternate, powerful tool to help support
     your responsive front end strategy.


     User Agent Detection can tell you if a device is using a mobile
     browser, as well as “The IE.”




          Musketeers.me
20
Server Side Help

     Server Side User Agent Detection can help your responsive
     front end strategy. With it, your code can help mobile and
     tablet pages by:
     • Compacting javascript and styles, insert them directly into
       the html page and serve them as one document, lessening
       the server trips.




          Musketeers.me
21
Server Side Help

     Server Side User Agent Detection can help your responsive
     front end strategy. With it, your code can help mobile and
     tablet pages by:
     • Compacting javascript and styles, insert them directly into
       the html page and serve them as one document, lessening
       the server trips.
     • Server touch-based javascript for touch devices and omit
       unneeded code.




          Musketeers.me
22
Server Side Help

     Server Side User Agent Detection can help your responsive
     front end strategy. With it, your code can help mobile and
     tablet pages by:
     • Compacting javascript and styles, insert them directly into
       the html page and serve them as one document, lessening
       the server trips.
     • Server touch-based javascript for touch devices and omit
       unneeded code.
     • Embed images with Data URIs for mobile (http://css-
       tricks.com/data-uris/).



          Musketeers.me
23
Server Side Help

     Server Side User Agent Detection can help your responsive
     front end strategy. With it, your code can help mobile and
     tablet pages by:
     • Compacting javascript and styles, insert them directly into
       the html page and serve them as one document, lessening
       the server trips.
     • Server touch-based javascript for touch devices and omit
       unneeded code.
     • Embed images with Data URIs for mobile (http://css-
       tricks.com/data-uris/).
     • Serve correctly sized images for the device.

          Musketeers.me
24
Musketeers.me




                The IE
State of IEEEEEEE

                         • IE 6: it sucks, but government still has a lot of
                           internal systems that only work on it, so…
                         • IE 7: Sucks less, but few rely on it for internal
                           systems (see IE 6)
                         • IE 8: really a step in the right direction, but it
                           doesn’t support media queries or html5… and
                           many CSS3 features.
                         • IE 9: This is the big improvement! Standards
                           compliant… sort of (it’s all relative, isn’t it?).
                           HTML5, media queries- all good!
                         • IE 10: reported to be awesome with web
                           standards (really!)… and sooo many people
                           don’t have it yet.
         Musketeers.me
26
IE retrofits

     IE 8 and below can usually be taught html5 and media queries
     with the help of a couple of javascripts:
     1. Modernizer.js teaches pre-HTML5 browsers to see the new
        HTML5 tags as block elements.
        (http://modernizr.com)
     2. Respond.js teaches IE what media queries are and how to
        use them.
        (https://github.com/scottjehl/Respond)




          Musketeers.me
27
Musketeers.me




    What can we do with a mobile
              device?
Hardware We Can Access Varies




                                         iPhone   Android

                               Camera
                              Compass
                         Accelerometer
                           Geolocation



         Musketeers.me
29
Hardware We Can Access Varies

     HTML5 standards opened up access to much of device
     hardware. And more and broader support is coming.
     • Solid support for the accelerometer and GPS in both iOS and
       Android.
     • Access to the GPU (WebGL) and audio hardware (Web Audio
       API).
     • Access to the camera (HTML Media Capture) is a very new
       feature and has full support in Android 3.0 and limited
       support in iOS6 Safari and Chrome.




          Musketeers.me
30
Are we there yet?


                         Facebook’s stint with an html5 app
                         was universally panned. The roars of
                         applause were deafening when the
                         native app was released.


                         So… no, you shouldn’t try to imitate a
                         native app with responsive design.
                         You will most likely fail.




         Musketeers.me
31
However…


     The one thing Facebook did accomplish was the responsive
     site was a good test case. Responsive Design is good
     prototype for the native app.


     …provided you don’t drive them away in the process.


     Slap “Beta” on it!




          Musketeers.me
32
Good Resources


     MOBILE-FIRST
     http://www.html5rocks.com/en/mobile/responsivedesign/
     A NON-RESPONSIVE APPROACH TO BUILDING CROSS-DEVICE WEBAPPS
     http://www.html5rocks.com/en/mobile/cross-device/
     CAPTURING AUDIO & VIDEO IN HTML5
     http://www.html5rocks.com/en/tutorials/getusermedia/intro/
     CREATING A MOBILE-FIRST RESPONSIVE WEB DESIGN
     http://www.html5rocks.com/en/mobile/responsivedesign/
     CONDITIONAL LOADING FOR RESPONSIVE DESIGN
     http://24ways.org/2011/conditional-loading-for-responsive-designs



          Musketeers.me
33
Thank You



                           Personal Site: kevinbruce.com

                        Professional Site: musketeers.me

                                   Blog: neutralgood.net

                                Twitter: @kevinbruce

                               Rate me: https://joind.in/6866




        Musketeers.me
34

More Related Content

What's hot

Responsive Web Design using ZURB Foundation
Responsive Web Design using ZURB FoundationResponsive Web Design using ZURB Foundation
Responsive Web Design using ZURB FoundationSolTech, Inc.
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisFuture Insights
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for BeginnersD'arce Hess
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014Suzanne Dergacheva
 
Getting started with CSS frameworks using Zurb foundation
Getting started with CSS frameworks using Zurb foundationGetting started with CSS frameworks using Zurb foundation
Getting started with CSS frameworks using Zurb foundationMelanie Archer
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDavid Burns
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarSuzanne Dergacheva
 
Lesson 07 WordPress part 1
Lesson 07   WordPress part 1Lesson 07   WordPress part 1
Lesson 07 WordPress part 1Angelina Njegus
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupJer Clarke
 
Intro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteIntro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteTom McCracken
 
Webnet Presentation
Webnet PresentationWebnet Presentation
Webnet PresentationTrish Roque
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseySuzanne Dergacheva
 
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeCreating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeAcquia
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Centurydreamwidth
 
Build Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensBuild Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensAcquia
 
Leah Root DeSano Portfolio Web Design Wordpress Print Design Joomla
Leah Root DeSano Portfolio Web Design Wordpress Print Design JoomlaLeah Root DeSano Portfolio Web Design Wordpress Print Design Joomla
Leah Root DeSano Portfolio Web Design Wordpress Print Design JoomlaLeah Root -DeSano
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenJapo Domingo
 

What's hot (20)

Responsive Web Design using ZURB Foundation
Responsive Web Design using ZURB FoundationResponsive Web Design using ZURB Foundation
Responsive Web Design using ZURB Foundation
 
Emkane RCC wp qs
Emkane RCC wp qsEmkane RCC wp qs
Emkane RCC wp qs
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for Beginners
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014
 
Getting started with CSS frameworks using Zurb foundation
Getting started with CSS frameworks using Zurb foundationGetting started with CSS frameworks using Zurb foundation
Getting started with CSS frameworks using Zurb foundation
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs Panels
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
 
W pthemes
W pthemesW pthemes
W pthemes
 
Lesson 07 WordPress part 1
Lesson 07   WordPress part 1Lesson 07   WordPress part 1
Lesson 07 WordPress part 1
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
 
Intro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteIntro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own Website
 
Webnet Presentation
Webnet PresentationWebnet Presentation
Webnet Presentation
 
Ui and ux principles
Ui and ux principlesUi and ux principles
Ui and ux principles
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New Jersey
 
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeCreating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Century
 
Build Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensBuild Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal Gardens
 
Leah Root DeSano Portfolio Web Design Wordpress Print Design Joomla
Leah Root DeSano Portfolio Web Design Wordpress Print Design JoomlaLeah Root DeSano Portfolio Web Design Wordpress Print Design Joomla
Leah Root DeSano Portfolio Web Design Wordpress Print Design Joomla
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
 

Similar to Responsive Development (ZendCon 2012)

CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oiljameswillweb
 
There Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web DesignThere Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web DesignChris Love
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Chris Love
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Tirthesh Ganatra
 
Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016iMOBDEV Technologies Pvt. Ltd.
 
Responsive web design
Responsive web designResponsive web design
Responsive web designZeeshan Khan
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development LandscapeAmbert Ho
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practicesmintersam
 
Responsive web designing
Responsive web designingResponsive web designing
Responsive web designingAanand Bohara
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJulia Vi
 
Native is easy. Web is essential.
Native is easy. Web is essential.Native is easy. Web is essential.
Native is easy. Web is essential.Jason Grigsby
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
 
Responsive web design
Responsive web designResponsive web design
Responsive web designChris Love
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereChris Love
 
Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Frédéric Harper
 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceZoe Gillenwater
 

Similar to Responsive Development (ZendCon 2012) (20)

CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
 
There Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web DesignThere Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web Design
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)
 
Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016
 
Mobile web development
Mobile web development Mobile web development
Mobile web development
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web Design
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
Responsive web designing
Responsive web designingResponsive web designing
Responsive web designing
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Native is easy. Web is essential.
Native is easy. Web is essential.Native is easy. Web is essential.
Native is easy. Web is essential.
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experience
 
Web Programming Assignment
Web Programming AssignmentWeb Programming Assignment
Web Programming Assignment
 

More from Kevin Bruce

Design for Developers SunshinePHP 2017
Design for Developers  SunshinePHP 2017Design for Developers  SunshinePHP 2017
Design for Developers SunshinePHP 2017Kevin Bruce
 
News From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechNews From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechKevin Bruce
 
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
 
Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5Kevin Bruce
 
Building html5 sites that don't suck
Building html5 sites that don't suck Building html5 sites that don't suck
Building html5 sites that don't suck Kevin Bruce
 
Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5Kevin Bruce
 

More from Kevin Bruce (6)

Design for Developers SunshinePHP 2017
Design for Developers  SunshinePHP 2017Design for Developers  SunshinePHP 2017
Design for Developers SunshinePHP 2017
 
News From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechNews From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End Tech
 
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
 
Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5
 
Building html5 sites that don't suck
Building html5 sites that don't suck Building html5 sites that don't suck
Building html5 sites that don't suck
 
Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5
 

Recently uploaded

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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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 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
 
"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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 

Recently uploaded (20)

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!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
"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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Responsive Development (ZendCon 2012)

  • 1. Musketeers.me Responsive Development Kevin Bruce of Musketeers.me
  • 2. Who Am I? Designer Developer Musketeers.me 2
  • 3. Where I Work Musketeers.me 3
  • 4. Musketeers.me THE Question: Is a responsive site the best way to go for my site?
  • 5. Options iPhone Camera Compass Accelerometer Geolocation Full Responsive Site Dedicated Mobile Site Native Application Musketeers.me 5
  • 6. Full Responsive Site Benefits • One Codebase • Same html file serves all devices Drawbacks • Not completely tailored to any device • Unless you have a process in place, it can take as much time to write as a separate mobile site Musketeers.me 6
  • 7. Dedicated Mobile Site Benefits • Cater to mobile content needs like Location and contact info • Can concentrate on touch-based UI Drawbacks • Completely separate codebase and content to maintain • Studies have shown that a separate “paired-down” site pisses people off. Musketeers.me 7
  • 8. Native Mobile App Benefits • Native access to device hardware • Interface is more responsive Drawbacks • Development cost is high to write and maintain • At least two mobile Operating Systems to write for Musketeers.me 8
  • 9. My Own Personal Decision-Makers Dedicated Native Responsive Site Mobile Site Application • Information • Shopping Cart • Full Web Website Application • Login-Based • Light Interactive Website • Giant Shopping Website Cart Musketeers.me 9
  • 10. Musketeers.me Responsive Design
  • 11. In a Nutshell flexible grid layouts that respond to the size of your browser window (viewport). Musketeers.me 11
  • 12. Flexible Grid is the Key to Responsive Design A flexible grid is made up of fluid columns and rows that use ems and percentages for setting width, height, font-size, image and media sizes. Musketeers.me 12
  • 13. Media Queries Media Queries are a CSS3 feature that was introduced into the modern browser. It is a series of “break points” based on your browser window (or “viewport”) size. Your browser only uses the styles within the breakpoint that matches your viewport size. Of course, it also uses styles outside of any breakpoints as well. Musketeers.me 13
  • 14. Media Queries 1. Use the @import rule to import styles from other style sheets: <div id=”google_whitespace” style=”@import url(style600min.css) screen and (min-width: 600px);”> </div> Musketeers.me 14
  • 15. Media Queries 2. Put media queries directly in the style sheet. This is the most common approach. @media screen and (min-width: 400px) and (orientation: portrait) { #nav li { float: right; } } @media screen and (min-width: 800px) { #nav li { float: left; } } Musketeers.me 15
  • 16. Media Queries 3. Include a query in a linked style sheet’s media attribute: <link rel="stylesheet" type="text/css" media="screen and (max-device-width: 800px)" href="style800.css" /> Musketeers.me 16
  • 17. Mobile First style.css Depending on who you talk body { … } to, mobile-first is the way to go. @media only screen and (min-width: 200px) Design for mobile, serve the mobile mobile breakpoints first and then progressively enhance from there for @media only screen and (min-width: 1020px) larger viewports. tablet Use “min-width” breakpoints so the @media only screen and larger screens inherit styles from the (min-width: 1450px) smaller viewport break points, in desktop effect, cascading up. Musketeers.me 17
  • 18. Mobile Content First The important take-away from mobile-first is “content-first.” Distill your message down to the essentials! Start with the content you would show in your mobile view and add in the Design cruff from there. Also, write semantic markup! Musketeers.me 18
  • 19. Musketeers.me Responsive Development
  • 20. Server Side Help Server side is an alternate, powerful tool to help support your responsive front end strategy. User Agent Detection can tell you if a device is using a mobile browser, as well as “The IE.” Musketeers.me 20
  • 21. Server Side Help Server Side User Agent Detection can help your responsive front end strategy. With it, your code can help mobile and tablet pages by: • Compacting javascript and styles, insert them directly into the html page and serve them as one document, lessening the server trips. Musketeers.me 21
  • 22. Server Side Help Server Side User Agent Detection can help your responsive front end strategy. With it, your code can help mobile and tablet pages by: • Compacting javascript and styles, insert them directly into the html page and serve them as one document, lessening the server trips. • Server touch-based javascript for touch devices and omit unneeded code. Musketeers.me 22
  • 23. Server Side Help Server Side User Agent Detection can help your responsive front end strategy. With it, your code can help mobile and tablet pages by: • Compacting javascript and styles, insert them directly into the html page and serve them as one document, lessening the server trips. • Server touch-based javascript for touch devices and omit unneeded code. • Embed images with Data URIs for mobile (http://css- tricks.com/data-uris/). Musketeers.me 23
  • 24. Server Side Help Server Side User Agent Detection can help your responsive front end strategy. With it, your code can help mobile and tablet pages by: • Compacting javascript and styles, insert them directly into the html page and serve them as one document, lessening the server trips. • Server touch-based javascript for touch devices and omit unneeded code. • Embed images with Data URIs for mobile (http://css- tricks.com/data-uris/). • Serve correctly sized images for the device. Musketeers.me 24
  • 25. Musketeers.me The IE
  • 26. State of IEEEEEEE • IE 6: it sucks, but government still has a lot of internal systems that only work on it, so… • IE 7: Sucks less, but few rely on it for internal systems (see IE 6) • IE 8: really a step in the right direction, but it doesn’t support media queries or html5… and many CSS3 features. • IE 9: This is the big improvement! Standards compliant… sort of (it’s all relative, isn’t it?). HTML5, media queries- all good! • IE 10: reported to be awesome with web standards (really!)… and sooo many people don’t have it yet. Musketeers.me 26
  • 27. IE retrofits IE 8 and below can usually be taught html5 and media queries with the help of a couple of javascripts: 1. Modernizer.js teaches pre-HTML5 browsers to see the new HTML5 tags as block elements. (http://modernizr.com) 2. Respond.js teaches IE what media queries are and how to use them. (https://github.com/scottjehl/Respond) Musketeers.me 27
  • 28. Musketeers.me What can we do with a mobile device?
  • 29. Hardware We Can Access Varies iPhone Android Camera Compass Accelerometer Geolocation Musketeers.me 29
  • 30. Hardware We Can Access Varies HTML5 standards opened up access to much of device hardware. And more and broader support is coming. • Solid support for the accelerometer and GPS in both iOS and Android. • Access to the GPU (WebGL) and audio hardware (Web Audio API). • Access to the camera (HTML Media Capture) is a very new feature and has full support in Android 3.0 and limited support in iOS6 Safari and Chrome. Musketeers.me 30
  • 31. Are we there yet? Facebook’s stint with an html5 app was universally panned. The roars of applause were deafening when the native app was released. So… no, you shouldn’t try to imitate a native app with responsive design. You will most likely fail. Musketeers.me 31
  • 32. However… The one thing Facebook did accomplish was the responsive site was a good test case. Responsive Design is good prototype for the native app. …provided you don’t drive them away in the process. Slap “Beta” on it! Musketeers.me 32
  • 33. Good Resources MOBILE-FIRST http://www.html5rocks.com/en/mobile/responsivedesign/ A NON-RESPONSIVE APPROACH TO BUILDING CROSS-DEVICE WEBAPPS http://www.html5rocks.com/en/mobile/cross-device/ CAPTURING AUDIO & VIDEO IN HTML5 http://www.html5rocks.com/en/tutorials/getusermedia/intro/ CREATING A MOBILE-FIRST RESPONSIVE WEB DESIGN http://www.html5rocks.com/en/mobile/responsivedesign/ CONDITIONAL LOADING FOR RESPONSIVE DESIGN http://24ways.org/2011/conditional-loading-for-responsive-designs Musketeers.me 33
  • 34. Thank You Personal Site: kevinbruce.com Professional Site: musketeers.me Blog: neutralgood.net Twitter: @kevinbruce Rate me: https://joind.in/6866 Musketeers.me 34