SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
DRAWING THE LINE WITH BROWSER COMPATIBILITY
Jake Smith
ConFoo - March 10, 2010




                          http://joind.in/1285
Who are you and who
 is your audience?


       http://joind.in/1285
Demographics




 •   Is your potential user “tech savvy”?

 •   Users with disabilities?

     •   Color blindness or other motor skill deficiencies




                        http://joind.in/1285
Technology Driving
 Browser Support


      http://joind.in/1285
Netbook Revolution



 •   2009 Year of the netbook

 •   Nvidia ION makes video playback amazing

 •   Flash Player 10.1 provides better netbook support

 •   Modern OS (Windows 7 and Linux) = less IE6/WIN
     XP



                      http://joind.in/1285
Enter the Chrome



 •   Brand Recognition

 •   Chrome will be pre-installed on Sony PCs

 •   Everyone knows google, so they trust Google

 •   Chrome already taken more market share than
     Safari



                      http://joind.in/1285
IE 6, Why can’t I quit
        you?


        http://joind.in/1285
IE 6 in the wild



 •   School Networks

 •   Large Companies

 •   Older Demographic

 •   Windows XP




                       http://joind.in/1285
Common issues




 •   Double Margin

 •   Float Container

 •   Hover Buttons




                       http://joind.in/1285
Double Margin




 •   Any margin applied to floated elements

 •   Solution - display: inline;




                        http://joind.in/1285
Float Container




 •   Element breaks containment, overflow: hidden/
     auto is not enough

 •   Solution - float: left the containing element




                       http://joind.in/1285
Float Container (before)




                 http://joind.in/1285
Float Container (HTML/CSS)




                http://joind.in/1285
Float Container (After)




                 http://joind.in/1285
Hover Buttons



 •   When an “<a>” is in the hover state, and set to
     display: block; and the containing “<li>” is floated
     you have to hover over the link and not the entire
     block element.

 •   Solution: set containing <li> to position: relative; or
     display: inline-block;




                        http://joind.in/1285
IE 6 Techniques and
        Tips


       http://joind.in/1285
Proper Doctype




 •   Proper Doctype keeps you from Quirks mode

 •   Quirks mode can wreak havoc on layouts

     •   Element width




                         http://joind.in/1285
Quirks Mode Diagram




Quirks Mode Doctype: http://css.maxdesign.com.au/listamatic/about-boxmodel.htm

                                                  http://joind.in/1285
CSS Framework



    http://joind.in/1285
Reset



 •   Many available CSS Resets:

     •   Eric Meyer Reset (Most Popular)

     •   YUI CSS Reset

     •   Many more...




                         http://joind.in/1285
Helpers




          http://joind.in/1285
Slice View




             http://joind.in/1285
IE Conditionals vs. CSS
        hacks


         http://joind.in/1285
CSS Hacks



            •     _ hack for IE 6 and below

            •     * hack for IE 7 and below

            •     !important for modern browsers

            •     Most common hack reset * {}



Browser Render Hacks: http://centricle.com/ref/css/filters/

                                                     http://joind.in/1285
IE Conditionals




 •   Specifically target version of Internet Explorer

 •   Extra HTTP Request




                       http://joind.in/1285
IE Conditionals (Example)




                http://joind.in/1285
Browser tools



           •     IE7.js, by Dean Edwards

           •     DD_Belated

           •     IE Tester (IE 5.5 - IE 8)

           •     Developer Window (Webkit) & Firebug (Firefox)

           •     Expression Web SuperPreview
IE7.js: http://code.google.com/p/ie7-js/
DD_Belated: http://www.dillerdesign.com/experiment/DD_belatedPNG/
IE Tester: http://www.my-debugbar.com/wiki/IETester/HomePage
Expression Web SuperPreview: http://expression.microsoft.com/en-us/dd565874.aspx
                                                  http://joind.in/1285
Additional Browser Tool




                http://joind.in/1285
Build a strategy, not an
     after thought


         http://joind.in/1285
Cost Benefit


 •   Analyze current view trends

 •   Define aspects of site that must function identical
     regardless of browser

     •   Present/Prepare estimate on Browser Testing/
         Development separate from “Development/
         Production” time.

     •   Navigation should always be accessible NO
         MATTER WHAT (Mobile, IE, etc)


                       http://joind.in/1285
Lies, Damn Lies and Statistics



 •   Statistics are skewed/manipulated

     •   IE 6 is as low as 6% and as high as 20%

 •   Research your product/client current stats and/or
     target market

     •   Initial research will be paid off by further reach
         to clients



                         http://joind.in/1285
Client Awareness



     http://joind.in/1285
Inform early and often




 •   Consult the client on current browser trends

 •   Inform them of possible inconsistencies in
     antiquated browsers

 •   Set/Manage Expectations




                      http://joind.in/1285
Have Tech Specification in contracts




 •   Browsers Supported

 •   Surcharge and/or possible timeline increases




                      http://joind.in/1285
CSS 3 and HTML 5



     http://joind.in/1285
HTML 5 Video



   http://joind.in/1285
HTML 5 Video vs Flash



 •   CPU Usage

     •   Who does it effect? Mobile, Netbook and Nettop

 •   No full screen support for HTML 5

 •   Zero support for Internet Explorer

 •   Supported in Mobile Browsers



                       http://joind.in/1285
HTML 5 Video Detection




Dive Into HTML 5 - Detect: http://diveintohtml5.org/detect.html
Modernizr: http://www.modernizr.com/
                                                    http://joind.in/1285
Vimeo Flash 10 (Macbook Pro in Safari)




                http://joind.in/1285
Vimeo Flash 10 (Netbook in Safari)




                http://joind.in/1285
Vimeo HTML 5 (Macbook Pro in Safari)




                http://joind.in/1285
Vimeo HTML 5 (Netbook in Safari)




                http://joind.in/1285
@font-face (CSS3)



           •     Renders perfect in all measurements

           •     EOT, OTF, SVG fonts

           •     Legal issues
                •     You may use this font for Font-Face embedding, but only if you put a link to www.exljbris.nl on
                      your page and/or put this notice /* A font by Jos Buivenga (exljbris) -> www.exljbris.com */ in
                      your CSS file as near as possible to the piece of code that declares the Font-Face embedding of
                      this font.




Delicious Font EULA: http://www.josbuivenga.demon.nl/eula.html

                                                    http://joind.in/1285
Font Stacks




            •     Quicker production turnaround

            •     Example: font-family: "Lucida Grande", "Lucida Sans
                  Unicode", "Lucida Sans", Verdana, Tahoma, sans-
                  serif;



Popular Font Stacks: http://www.awayback.com/revised-font-stack/
Installed Font Matrix: http://media.24ways.org/2007/17/fontmatrix.html
                                                     http://joind.in/1285
Graceful Degradation/Progressive
Enhancement




 •   RGBA

     •   Background vs background-color

 •   Border Radius




                       http://joind.in/1285
RGBA Example




               http://joind.in/1285
CSS3 - Media Queries


           •    [max/min]-[width/height]

           •    Media Types: screen, print, handheld, projection,
                braille, speech

           •    Three ways to implement: import, link and CSS

           •    Handheld interpreted by older mobile phones

           •    Current smart phones (iPhone/Android) utilize
                “screen”

W3C Media Queries: http://www.w3.org/TR/css3-mediaqueries/

                                                http://joind.in/1285
CSS Queries Example (CSS)




                http://joind.in/1285
CSS Queries (HTML)




               http://joind.in/1285
Mobile Browsers



     http://joind.in/1285
The grass is greener in
     mobile land


         http://joind.in/1285
Driving browsers Webkit




 •   iPhone, Android and soon Blackberry phones
     utilize Webkit browsers




                     http://joind.in/1285
Google Voice mobile/web application




            •     Google vs. Apple APP store

            •     HTML 5/CSS3 mobile “Google Voice”




Google Voice: http://m.google.com/voice

                                          http://joind.in/1285
Google Voice (HTML5/CSS3)




               http://joind.in/1285
Mobile Apps give you more control



           •     Less environment concerns

           •     Objective C (iPhone), Java (Android) and WebOS
                 (Pre)

                •     Titanium (Appcelerator), build apps with web
                      technology



Titanium Appcelerator: http://www.appcelerator.com/

                                                      http://joind.in/1285
HTML 5 Geolocation



 •   Not quite to a browser near you, Firefox 3.5+ only

 •   Not officially HTML 5, governed by “Geolocation
     Working Group”

 •   iPhone and Android 2.0 only supported mobile
     devices




                      http://joind.in/1285
HTML 5 Geolocation - Firefox 3.6




HTML 5 Geolocation Demo: http://html5demos.com/geo

                                               http://joind.in/1285
HTML 5 Geolocation - Firefox 3.6




HTML 5 Geolocation Demo: http://html5demos.com/geo

                                               http://joind.in/1285
HTML 5 Geolocation - iPhone (Safari)




HTML 5 Geolocation Demo: http://html5demos.com/geo

                                               http://joind.in/1285
Questions? Concerns? Confusion?




           http://joind.in/1285
Thanks For Listening
Contact Information
Email: jsmith@clickhere.com
Twitter: @jakefolio
IRC: #phpc & #dallasphp



Please Post Feedback
http://joind.in/1285




                              http://joind.in/1285

Mais conteúdo relacionado

Mais procurados

NewBCamp09: Turning your design into a WordPress Theme
NewBCamp09: Turning your design into a WordPress ThemeNewBCamp09: Turning your design into a WordPress Theme
NewBCamp09: Turning your design into a WordPress ThemeAdam Darowski
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Todd Zaki Warfel
 
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective,  Ajax ...The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective,  Ajax ...
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...Nicole Sullivan
 
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Patrick Lauke
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Themecertainstrings
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事Sofish Lin
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSSAndy Budd
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrMichael Enslow
 
Progressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryProgressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryTodd Zaki Warfel
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSZoe Gillenwater
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web designStephen Pollard
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introductiondynamis
 
Web Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp CopenhagenWeb Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp CopenhagenMark Wubben
 

Mais procurados (20)

NewBCamp09: Turning your design into a WordPress Theme
NewBCamp09: Turning your design into a WordPress ThemeNewBCamp09: Turning your design into a WordPress Theme
NewBCamp09: Turning your design into a WordPress Theme
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3
 
Documento
DocumentoDocumento
Documento
 
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective,  Ajax ...The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective,  Ajax ...
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...
 
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Theme
 
LESS
LESSLESS
LESS
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSS
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web design
 
Chapter4
Chapter4Chapter4
Chapter4
 
Chapter3
Chapter3Chapter3
Chapter3
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
Html5 ux london
Html5 ux londonHtml5 ux london
Html5 ux london
 
Progressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryProgressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQuery
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSS
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web design
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
 
HTML CSS & Javascript
HTML CSS & JavascriptHTML CSS & Javascript
HTML CSS & Javascript
 
Web Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp CopenhagenWeb Typography with sIFR 3 at Drupalcamp Copenhagen
Web Typography with sIFR 3 at Drupalcamp Copenhagen
 

Semelhante a Drawing the Line with Browser Compatibility

HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareRomin Irani
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010Ignacio Coloma
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Adam Dunford
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebBerg Brandt
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelalShub
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101FITC
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from SingaporeSteve Gill
 
The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5Todd Anglin
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)Performics.Convonix
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High PerformanceAmjad Rafique
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesDigitally
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & FeaturesDave Ross
 

Semelhante a Drawing the Line with Browser Compatibility (20)

HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
 
Frontend State of the union
Frontend State of the unionFrontend State of the union
Frontend State of the union
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the Web
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelal
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 
The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress Themes
 
Html5
Html5Html5
Html5
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
 

Último

"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
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"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
 
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
 
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
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 

Último (20)

"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
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"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
 
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
 
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
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Drawing the Line with Browser Compatibility

  • 1. DRAWING THE LINE WITH BROWSER COMPATIBILITY Jake Smith ConFoo - March 10, 2010 http://joind.in/1285
  • 2. Who are you and who is your audience? http://joind.in/1285
  • 3. Demographics • Is your potential user “tech savvy”? • Users with disabilities? • Color blindness or other motor skill deficiencies http://joind.in/1285
  • 4. Technology Driving Browser Support http://joind.in/1285
  • 5. Netbook Revolution • 2009 Year of the netbook • Nvidia ION makes video playback amazing • Flash Player 10.1 provides better netbook support • Modern OS (Windows 7 and Linux) = less IE6/WIN XP http://joind.in/1285
  • 6. Enter the Chrome • Brand Recognition • Chrome will be pre-installed on Sony PCs • Everyone knows google, so they trust Google • Chrome already taken more market share than Safari http://joind.in/1285
  • 7. IE 6, Why can’t I quit you? http://joind.in/1285
  • 8. IE 6 in the wild • School Networks • Large Companies • Older Demographic • Windows XP http://joind.in/1285
  • 9. Common issues • Double Margin • Float Container • Hover Buttons http://joind.in/1285
  • 10. Double Margin • Any margin applied to floated elements • Solution - display: inline; http://joind.in/1285
  • 11. Float Container • Element breaks containment, overflow: hidden/ auto is not enough • Solution - float: left the containing element http://joind.in/1285
  • 12. Float Container (before) http://joind.in/1285
  • 13. Float Container (HTML/CSS) http://joind.in/1285
  • 14. Float Container (After) http://joind.in/1285
  • 15. Hover Buttons • When an “<a>” is in the hover state, and set to display: block; and the containing “<li>” is floated you have to hover over the link and not the entire block element. • Solution: set containing <li> to position: relative; or display: inline-block; http://joind.in/1285
  • 16. IE 6 Techniques and Tips http://joind.in/1285
  • 17. Proper Doctype • Proper Doctype keeps you from Quirks mode • Quirks mode can wreak havoc on layouts • Element width http://joind.in/1285
  • 18. Quirks Mode Diagram Quirks Mode Doctype: http://css.maxdesign.com.au/listamatic/about-boxmodel.htm http://joind.in/1285
  • 19. CSS Framework http://joind.in/1285
  • 20. Reset • Many available CSS Resets: • Eric Meyer Reset (Most Popular) • YUI CSS Reset • Many more... http://joind.in/1285
  • 21. Helpers http://joind.in/1285
  • 22. Slice View http://joind.in/1285
  • 23. IE Conditionals vs. CSS hacks http://joind.in/1285
  • 24. CSS Hacks • _ hack for IE 6 and below • * hack for IE 7 and below • !important for modern browsers • Most common hack reset * {} Browser Render Hacks: http://centricle.com/ref/css/filters/ http://joind.in/1285
  • 25. IE Conditionals • Specifically target version of Internet Explorer • Extra HTTP Request http://joind.in/1285
  • 26. IE Conditionals (Example) http://joind.in/1285
  • 27. Browser tools • IE7.js, by Dean Edwards • DD_Belated • IE Tester (IE 5.5 - IE 8) • Developer Window (Webkit) & Firebug (Firefox) • Expression Web SuperPreview IE7.js: http://code.google.com/p/ie7-js/ DD_Belated: http://www.dillerdesign.com/experiment/DD_belatedPNG/ IE Tester: http://www.my-debugbar.com/wiki/IETester/HomePage Expression Web SuperPreview: http://expression.microsoft.com/en-us/dd565874.aspx http://joind.in/1285
  • 28. Additional Browser Tool http://joind.in/1285
  • 29. Build a strategy, not an after thought http://joind.in/1285
  • 30. Cost Benefit • Analyze current view trends • Define aspects of site that must function identical regardless of browser • Present/Prepare estimate on Browser Testing/ Development separate from “Development/ Production” time. • Navigation should always be accessible NO MATTER WHAT (Mobile, IE, etc) http://joind.in/1285
  • 31. Lies, Damn Lies and Statistics • Statistics are skewed/manipulated • IE 6 is as low as 6% and as high as 20% • Research your product/client current stats and/or target market • Initial research will be paid off by further reach to clients http://joind.in/1285
  • 32. Client Awareness http://joind.in/1285
  • 33. Inform early and often • Consult the client on current browser trends • Inform them of possible inconsistencies in antiquated browsers • Set/Manage Expectations http://joind.in/1285
  • 34. Have Tech Specification in contracts • Browsers Supported • Surcharge and/or possible timeline increases http://joind.in/1285
  • 35. CSS 3 and HTML 5 http://joind.in/1285
  • 36. HTML 5 Video http://joind.in/1285
  • 37. HTML 5 Video vs Flash • CPU Usage • Who does it effect? Mobile, Netbook and Nettop • No full screen support for HTML 5 • Zero support for Internet Explorer • Supported in Mobile Browsers http://joind.in/1285
  • 38. HTML 5 Video Detection Dive Into HTML 5 - Detect: http://diveintohtml5.org/detect.html Modernizr: http://www.modernizr.com/ http://joind.in/1285
  • 39. Vimeo Flash 10 (Macbook Pro in Safari) http://joind.in/1285
  • 40. Vimeo Flash 10 (Netbook in Safari) http://joind.in/1285
  • 41. Vimeo HTML 5 (Macbook Pro in Safari) http://joind.in/1285
  • 42. Vimeo HTML 5 (Netbook in Safari) http://joind.in/1285
  • 43. @font-face (CSS3) • Renders perfect in all measurements • EOT, OTF, SVG fonts • Legal issues • You may use this font for Font-Face embedding, but only if you put a link to www.exljbris.nl on your page and/or put this notice /* A font by Jos Buivenga (exljbris) -> www.exljbris.com */ in your CSS file as near as possible to the piece of code that declares the Font-Face embedding of this font. Delicious Font EULA: http://www.josbuivenga.demon.nl/eula.html http://joind.in/1285
  • 44. Font Stacks • Quicker production turnaround • Example: font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans- serif; Popular Font Stacks: http://www.awayback.com/revised-font-stack/ Installed Font Matrix: http://media.24ways.org/2007/17/fontmatrix.html http://joind.in/1285
  • 45. Graceful Degradation/Progressive Enhancement • RGBA • Background vs background-color • Border Radius http://joind.in/1285
  • 46. RGBA Example http://joind.in/1285
  • 47. CSS3 - Media Queries • [max/min]-[width/height] • Media Types: screen, print, handheld, projection, braille, speech • Three ways to implement: import, link and CSS • Handheld interpreted by older mobile phones • Current smart phones (iPhone/Android) utilize “screen” W3C Media Queries: http://www.w3.org/TR/css3-mediaqueries/ http://joind.in/1285
  • 48. CSS Queries Example (CSS) http://joind.in/1285
  • 49. CSS Queries (HTML) http://joind.in/1285
  • 50. Mobile Browsers http://joind.in/1285
  • 51. The grass is greener in mobile land http://joind.in/1285
  • 52. Driving browsers Webkit • iPhone, Android and soon Blackberry phones utilize Webkit browsers http://joind.in/1285
  • 53. Google Voice mobile/web application • Google vs. Apple APP store • HTML 5/CSS3 mobile “Google Voice” Google Voice: http://m.google.com/voice http://joind.in/1285
  • 54. Google Voice (HTML5/CSS3) http://joind.in/1285
  • 55. Mobile Apps give you more control • Less environment concerns • Objective C (iPhone), Java (Android) and WebOS (Pre) • Titanium (Appcelerator), build apps with web technology Titanium Appcelerator: http://www.appcelerator.com/ http://joind.in/1285
  • 56. HTML 5 Geolocation • Not quite to a browser near you, Firefox 3.5+ only • Not officially HTML 5, governed by “Geolocation Working Group” • iPhone and Android 2.0 only supported mobile devices http://joind.in/1285
  • 57. HTML 5 Geolocation - Firefox 3.6 HTML 5 Geolocation Demo: http://html5demos.com/geo http://joind.in/1285
  • 58. HTML 5 Geolocation - Firefox 3.6 HTML 5 Geolocation Demo: http://html5demos.com/geo http://joind.in/1285
  • 59. HTML 5 Geolocation - iPhone (Safari) HTML 5 Geolocation Demo: http://html5demos.com/geo http://joind.in/1285
  • 60. Questions? Concerns? Confusion? http://joind.in/1285
  • 61. Thanks For Listening Contact Information Email: jsmith@clickhere.com Twitter: @jakefolio IRC: #phpc & #dallasphp Please Post Feedback http://joind.in/1285 http://joind.in/1285