SlideShare a Scribd company logo
1 of 38
Download to read offline
Progressive Advancement
           in Web8
           (btw- web8 == html5 + css3)
                                          Paul Irish
                                             Isobar
                                         JSConf ’10




Friday, April 23, 2010
Friday, April 23, 2010
Native is better
                 html5 form controls vs UI libraries
                 html5 drag ‘n drop vs draggable()
                 css transitions vs animate()
                 border-radius, border-image, background-size
                 vs using large sprites
                 localStorage vs cookies


Friday, April 23, 2010
SHIM. okay? Shim. not shiv.




Friday, April 23, 2010
hx, ly.
           Printing, too.                     t l
                                               rea




                         www.iecss.com/print-protector   by @jon_neal

Friday, April 23, 2010
now
                                               hx, ly.      htm
           Printing, too.                     t l
                                               rea          mo  l5s
                                                                    hiv
                                                                       in
                                                              der        &
                                                                  niz
                                                                      r!




                         www.iecss.com/print-protector   by @jon_neal

Friday, April 23, 2010
How Ready Is HTML5 & CSS3?




Friday, April 23, 2010
Contenteditable




Friday, April 23, 2010
Friday, April 23, 2010
CSS3 Please!




Friday, April 23, 2010
CSS3 Helpers




                         border-radius.com
Friday, April 23, 2010
CSS3 Helpers




                           border-image.com
                         border-radius.com
Friday, April 23, 2010
But what if there’s no support?




Friday, April 23, 2010
Modernizr
    Making use of tomorrow’s technologies, today!

Friday, April 23, 2010
Friday, April 23, 2010
Feature Detection
                              Just Detect It™




Friday, April 23, 2010
sni
                            ffin
                                g us
                                    era
                                        gent
                                            s ==
                                                = sn
                                                    iffin
                                                         g gl
                                                             ue




Friday, April 23, 2010
Friday, April 23, 2010
Native                    No Native
                 Implementation            Implementation
                 . box {                   .no-borderradius .box {
                    // use border-radius      // maybe less padding?
                 }                         }

                                           if (Modernizr.borderradius == false){
                                               // call up DD_roundies, etc.
                                           }


Friday, April 23, 2010
Native                             No Native
  Implementation                     Implementation
  .boxshadow div {                   .no-boxshadow div {
     box-shadow: 1px 1px 1px #666;      border-bottom: 1px solid #666;
  }                                     border-right: 1px solid #777;
                                     }




Friday, April 23, 2010
// geo-location bridge
          function getLocation(callback){
            if (getLocation.cache) return callback(getLocation.cache);

              if (Modernizr.geolocation) {

                  navigator.geolocation.getCurrentPosition(function(position) {
                    callback(getLocation.cache = {
                       "lat": position.coords.latitude,
                       "lon": position.coords.longitude,
                       "obj": position
                    })
                  });

              } else {

                  $.getScript('//www.google.com/jsapi',function(){
                    callback(getLocation.cache = {
                       "lat": google.loader.ClientLocation.latitude,
                       "lon": google.loader.ClientLocation.longitude,
                       "obj": google.loader.ClientLocation
                    })
                  });
              }
          }
          // usage
          getLocation(function(pos){
            console.log("I'm located at ",pos.lat,' and ',pos.lon);
          });


Friday, April 23, 2010
Friday, April 23, 2010
OM
                              G it
                         onl       ’s
                             y7
                                k!




Friday, April 23, 2010
We got you covered, b.
                 Rounded corners         2D Transformations
                 @font-face fonts        CSS Gradients
                 Canvas                  SVG
                 rgba(), hsla() colors   Geolocation
                 border-image            CSS Columns
                 box-shadow              HTML5 Forms
                 HTML5 Audio & Video     Web Workers
                 CSS Animations          Offline Web Apps
                 CSS Transitions         …


Friday, April 23, 2010
We got you covered, b.
                 Rounded corners         2D Transformations   webGL
                 @font-face fonts        CSS Gradients        SMIL
                 Canvas                  SVG                  hashchange event
                 rgba(), hsla() colors   Geolocation          localStorage
                 border-image            CSS Columns          sessionStorage
                 box-shadow              HTML5 Forms          postMessage
                 HTML5 Audio &           Web Workers          html5 drag ‘n drop
                 Video
                                         Offline Web Apps      web sql database
                 CSS Animations
                 CSS Transitions



Friday, April 23, 2010
We got you covered, b.
                 Rounded corners         2D Transformations   webGL
                 @font-face fonts        CSS Gradients        SMIL
                 Canvas                  SVG                  hashchange event
                 rgba(), hsla() colors   Geolocation          localStorage
                 border-image            CSS Columns          sessionStorage
                 box-shadow              HTML5 Forms          postMessage
                 HTML5 Audio &
                 Video
                                         Steal me!
                                         Web Workers          html5 drag ‘n drop
                                         Offline Web Apps      web sql database
                 CSS Animations
                 CSS Transitions



Friday, April 23, 2010
Modernizr
                 http://modernizr.com
                         @modernizr




                                        Yah, it’s open source. Fork it, baby.


Friday, April 23, 2010
dowebsitesneedtolookexactlythesameineverybrowser.com


Friday, April 23, 2010
dowebsitesneedtobeexperiencedexactlythesameineverybrowser.com


Friday, April 23, 2010
ishtml5readyyet.com


Friday, April 23, 2010
UP !
                           HU T wrong.
                         S   y   ou ’re



                         ishtml5readyyet.com


Friday, April 23, 2010
Your mother does
                          NOT find a website
                         she likes the look of,
                          and then opens it
                           another browser.

                                   ~Andy Clarke (@malarkey)




Friday, April 23, 2010
A Performance Policy

                           2 truths
           1. Both you and the client want the most
              responsive experience possible.
           2. Everything added to the page slows it
              down.



Friday, April 23, 2010
A Performance Policy
                 During IA, IxD and visual design
                         communicate impact of design decisions


                 Tell the client all browsers will not have the same
                 experience
                         It’s not worthwhile to have feature parity
                         Stop in the name of love
                         Drop in the name of performance

Friday, April 23, 2010
What would you prefer me to do?

                    Spend my time hacking around issues in
                   older technologies like Internet Explorer 6
                                       or
                  would you like that time spent making the
                     site look the best that it can on better
                     desktop browsers, as well as on the
                   iPhone, iPod Touch, iPad, Blackberry and a
                     whole host of other mobile devices?
                                            ~Andy Clarke (@malarkey)


Friday, April 23, 2010
When performance is poor
            There are three options:


            1. Redevelop the code

            2. Drop the feature

            3. Redesign approach of the UI


Friday, April 23, 2010
Friday, April 23, 2010
Me:
                         http://paulirish.com
                               @paul_irish




Friday, April 23, 2010

More Related Content

Similar to Progressive Advancement in Web8

Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSSChris Mills
 
Introduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector GraphicsIntroduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector Graphicsdylanks
 
Introduction to Raphaël
Introduction to RaphaëlIntroduction to Raphaël
Introduction to RaphaëlSencha
 
Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Kyle Meyer
 
CSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonCSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonJen Simmons
 
xfiles sharing
xfiles sharingxfiles sharing
xfiles sharingBobby Chen
 
Creating Lifelike Designs with CSS3
Creating Lifelike Designs with CSS3Creating Lifelike Designs with CSS3
Creating Lifelike Designs with CSS3Meagan Fisher
 
Web Standards @ Opera Talk Oslo
Web Standards @ Opera Talk OsloWeb Standards @ Opera Talk Oslo
Web Standards @ Opera Talk OsloZi Bin Cheah
 
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010Guillaume Laforge
 
Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & TouchTim Wright
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXLuis Bermudez
 

Similar to Progressive Advancement in Web8 (20)

Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSS
 
Introduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector GraphicsIntroduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector Graphics
 
Introduction to Raphaël
Introduction to RaphaëlIntroduction to Raphaël
Introduction to Raphaël
 
Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010
 
CSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonCSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp Boston
 
Stephanie Rewis - css-startech
Stephanie Rewis -  css-startechStephanie Rewis -  css-startech
Stephanie Rewis - css-startech
 
HTML5 - A Whirlwind tour
HTML5 - A Whirlwind tourHTML5 - A Whirlwind tour
HTML5 - A Whirlwind tour
 
Utahjs D3
Utahjs D3Utahjs D3
Utahjs D3
 
xfiles sharing
xfiles sharingxfiles sharing
xfiles sharing
 
Creating Lifelike Designs with CSS3
Creating Lifelike Designs with CSS3Creating Lifelike Designs with CSS3
Creating Lifelike Designs with CSS3
 
Web Standards @ Opera Talk Oslo
Web Standards @ Opera Talk OsloWeb Standards @ Opera Talk Oslo
Web Standards @ Opera Talk Oslo
 
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010
Implementing Groovy Domain-Specific Languages - S2G Forum - Munich 2010
 
Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & Touch
 
GWT Plus HTML 5
GWT Plus HTML 5GWT Plus HTML 5
GWT Plus HTML 5
 
10 simulation
10 simulation10 simulation
10 simulation
 
10 simulation
10 simulation10 simulation
10 simulation
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDX
 
Node.js and Ruby
Node.js and RubyNode.js and Ruby
Node.js and Ruby
 
OWC 2012 (Open Web Camp)
OWC 2012 (Open Web Camp)OWC 2012 (Open Web Camp)
OWC 2012 (Open Web Camp)
 

More from Paul Irish

webfonts & @font-face :: in brief
webfonts & @font-face :: in briefwebfonts & @font-face :: in brief
webfonts & @font-face :: in briefPaul Irish
 
Squeezing The Best Out Of Webfonts
Squeezing The Best Out Of WebfontsSqueezing The Best Out Of Webfonts
Squeezing The Best Out Of WebfontsPaul Irish
 
Employing Custom Fonts
Employing Custom FontsEmploying Custom Fonts
Employing Custom FontsPaul Irish
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionPaul Irish
 
Practical Design Solutions from Japan
Practical Design Solutions from JapanPractical Design Solutions from Japan
Practical Design Solutions from JapanPaul Irish
 
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Paul Irish
 

More from Paul Irish (6)

webfonts & @font-face :: in brief
webfonts & @font-face :: in briefwebfonts & @font-face :: in brief
webfonts & @font-face :: in brief
 
Squeezing The Best Out Of Webfonts
Squeezing The Best Out Of WebfontsSqueezing The Best Out Of Webfonts
Squeezing The Best Out Of Webfonts
 
Employing Custom Fonts
Employing Custom FontsEmploying Custom Fonts
Employing Custom Fonts
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
 
Practical Design Solutions from Japan
Practical Design Solutions from JapanPractical Design Solutions from Japan
Practical Design Solutions from Japan
 
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
 

Recently uploaded

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Progressive Advancement in Web8

  • 1. Progressive Advancement in Web8 (btw- web8 == html5 + css3) Paul Irish Isobar JSConf ’10 Friday, April 23, 2010
  • 3. Native is better html5 form controls vs UI libraries html5 drag ‘n drop vs draggable() css transitions vs animate() border-radius, border-image, background-size vs using large sprites localStorage vs cookies Friday, April 23, 2010
  • 4. SHIM. okay? Shim. not shiv. Friday, April 23, 2010
  • 5. hx, ly. Printing, too. t l rea www.iecss.com/print-protector by @jon_neal Friday, April 23, 2010
  • 6. now hx, ly. htm Printing, too. t l rea mo l5s hiv in der & niz r! www.iecss.com/print-protector by @jon_neal Friday, April 23, 2010
  • 7. How Ready Is HTML5 & CSS3? Friday, April 23, 2010
  • 11. CSS3 Helpers border-radius.com Friday, April 23, 2010
  • 12. CSS3 Helpers border-image.com border-radius.com Friday, April 23, 2010
  • 13. But what if there’s no support? Friday, April 23, 2010
  • 14. Modernizr Making use of tomorrow’s technologies, today! Friday, April 23, 2010
  • 16. Feature Detection Just Detect It™ Friday, April 23, 2010
  • 17. sni ffin g us era gent s == = sn iffin g gl ue Friday, April 23, 2010
  • 19. Native No Native Implementation Implementation . box { .no-borderradius .box { // use border-radius // maybe less padding? } } if (Modernizr.borderradius == false){ // call up DD_roundies, etc. } Friday, April 23, 2010
  • 20. Native No Native Implementation Implementation .boxshadow div { .no-boxshadow div { box-shadow: 1px 1px 1px #666; border-bottom: 1px solid #666; } border-right: 1px solid #777; } Friday, April 23, 2010
  • 21. // geo-location bridge function getLocation(callback){ if (getLocation.cache) return callback(getLocation.cache); if (Modernizr.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { callback(getLocation.cache = { "lat": position.coords.latitude, "lon": position.coords.longitude, "obj": position }) }); } else { $.getScript('//www.google.com/jsapi',function(){ callback(getLocation.cache = { "lat": google.loader.ClientLocation.latitude, "lon": google.loader.ClientLocation.longitude, "obj": google.loader.ClientLocation }) }); } } // usage getLocation(function(pos){ console.log("I'm located at ",pos.lat,' and ',pos.lon); }); Friday, April 23, 2010
  • 23. OM G it onl ’s y7 k! Friday, April 23, 2010
  • 24. We got you covered, b. Rounded corners 2D Transformations @font-face fonts CSS Gradients Canvas SVG rgba(), hsla() colors Geolocation border-image CSS Columns box-shadow HTML5 Forms HTML5 Audio & Video Web Workers CSS Animations Offline Web Apps CSS Transitions … Friday, April 23, 2010
  • 25. We got you covered, b. Rounded corners 2D Transformations webGL @font-face fonts CSS Gradients SMIL Canvas SVG hashchange event rgba(), hsla() colors Geolocation localStorage border-image CSS Columns sessionStorage box-shadow HTML5 Forms postMessage HTML5 Audio & Web Workers html5 drag ‘n drop Video Offline Web Apps web sql database CSS Animations CSS Transitions Friday, April 23, 2010
  • 26. We got you covered, b. Rounded corners 2D Transformations webGL @font-face fonts CSS Gradients SMIL Canvas SVG hashchange event rgba(), hsla() colors Geolocation localStorage border-image CSS Columns sessionStorage box-shadow HTML5 Forms postMessage HTML5 Audio & Video Steal me! Web Workers html5 drag ‘n drop Offline Web Apps web sql database CSS Animations CSS Transitions Friday, April 23, 2010
  • 27. Modernizr http://modernizr.com @modernizr Yah, it’s open source. Fork it, baby. Friday, April 23, 2010
  • 31. UP ! HU T wrong. S y ou ’re ishtml5readyyet.com Friday, April 23, 2010
  • 32. Your mother does NOT find a website she likes the look of, and then opens it another browser. ~Andy Clarke (@malarkey) Friday, April 23, 2010
  • 33. A Performance Policy 2 truths 1. Both you and the client want the most responsive experience possible. 2. Everything added to the page slows it down. Friday, April 23, 2010
  • 34. A Performance Policy During IA, IxD and visual design communicate impact of design decisions Tell the client all browsers will not have the same experience It’s not worthwhile to have feature parity Stop in the name of love Drop in the name of performance Friday, April 23, 2010
  • 35. What would you prefer me to do? Spend my time hacking around issues in older technologies like Internet Explorer 6 or would you like that time spent making the site look the best that it can on better desktop browsers, as well as on the iPhone, iPod Touch, iPad, Blackberry and a whole host of other mobile devices? ~Andy Clarke (@malarkey) Friday, April 23, 2010
  • 36. When performance is poor There are three options: 1. Redevelop the code 2. Drop the feature 3. Redesign approach of the UI Friday, April 23, 2010
  • 38. Me: http://paulirish.com @paul_irish Friday, April 23, 2010