SlideShare una empresa de Scribd logo
1 de 104
Modern Browser Support
@meeker

                   Orbitz IDEAS Deep Dive - July 18th, 2012
Alternate Title

How do you build a major website that works for
everyone and I do mean everyone - any browser, any
OS (ok, Linux), small screens, no keyboards, with
cookies blocked, JavaScript disabled, blind,
colorblind, thinks Flash is evil, thinks Silverlight is
worse, uses an old browser, stuck on a slow
connection (so has an iPhone on AT&T), or is using
some new device or browser that no one knew
about yesterday. Oh yeah, and do it while using all
the cool new HTML5 stuff I keep hearing about.
Alternate Title

How do you build a major website that works for
everyone and I do mean everyone - any browser, any
OS (ok, Linux), small screens, no keyboards, with
cookies blocked, JavaScript disabled, blind,
colorblind, thinks Flash is evil, thinks Silverlight is
worse, uses an old browser, stuck on a slow
connection (so has an iPhone on AT&T), or is using
some new device or browser that no one knew
about yesterday. Oh yeah, and do it while using all
the cool new HTML5 stuff I keep hearing about.
Or...
Quirksmode.org
How Many Browsers?
Kindle
Last Week




     W                      M           XP         Vi         iO
         in                  ac                      st         S
              7                                           a




    IE            Sa              IE    Ch         Fi         IE
      9             fa              8      r         re            7
                       r                     om         fo
                        i                      e          x
Release Dates




  6: August 27, 2001
  7: October 18, 2006
  8: March 19, 2009
  9: March 14, 2011
  10: This year, sometime?
Release Dates




   3.6: January 21, 2010
   4: March 22, 2011
   5: June 21, 2011
   ... (6 week release cycle)
   14: June 26, 2012
@_ChromeReleases
So why the change? We have three fundamental
goals in reducing the cycle time:


1. Shorten the release cycle and still get great
features in front of users when they are ready

2. Make the schedule more predictable and easier
to scope

3. Reduce the pressure on engineering to “make”
a release
                                    Chrome Blog
Development Versions
NYT and HTML5
Mozilla
Google: html5rocks.com
Not Google: html5r0cks.com
Opera
Apple
Microsoft
New Elements
New Input Types
CSS3
CSS Selectors
Rounded Corners       Client-Side storage
Gradients             Webworkers
Transitions           Drag and Drop
Animations            Geolocation
Multiple background   Device APIs
Opacity               History Management
Flexbox               Web Timing API
Shadows               Touch Events

                         JavaScript
Battery API
Set the WABAC Machine to...
1993
1994
In '93 to '94, every browser had
its own flavor of HTML. So it was
very difficult to know what you
could put in a Web page and
reliably have most of your
readership see it.

                    -Tim Berners-Lee
Frame   no frame
NCSA_Mosaic/1.0




Mozilla/1.0
1995
Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)
1996




       VS.
1997
Today
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)


Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8pre)
Gecko/20071015 Firefox/2.0.0.7 Navigator/9.0


Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3)
Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)


Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US)
AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4
Safari/533.20.27


Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.17 (KHTML, like Gecko) Chrome/11.0.654.0
Safari/534.17
Opera




 Opera/9.80 (Macintosh; Intel Mac OS X; U; en)
 Presto/2.2.15 Version/10.00
Best viewed in...
"Anyone who slaps a 'this page
is best viewed with Browser X'
label on a Web page appears to
be yearning for the bad old
days, before the Web, when you
had very little chance of reading
a document written on another
computer, another word
processor, or another network."

                    -Tim Berners-Lee
5.0
      Ajax
Mr. Owl, do
websites need to
look exactly the
  same in every
    browser?
http://dowebsitesneedtolookexactlythesameineverybrowser.com
Graceful Degradation
Progressive Enhancement
credit: alistapart.com
Behavior (JavaScript)


 Presentation (CSS)


   Content (HTML)
Benefits

   1. Separation of layers

   2. Phased development

   3. Easier to validate and unit test

   4. Increased reuse of styles and behavior

   5. Forced to focus on core content

   6. Handles errors gracefully
1
2
1
2
1




3
2
1




3   4
2
1




3   4       5
Core




Enhanced
Enhanced
Enhanced
Enhanced
Core
Core   Enhanced
Blackberry




             Presentation (CSS)


              Content (HTML)
Netscape 3




             Content (HTML)
Netscape 3
Lynx
Progressive Enhancement




         Behavior (JavaScript)


          Presentation (CSS)


            Content (HTML)
IE7




      Good (CSS)      Good (JS)


            Content (HTML)
IE9




      Better (CSS)


      Good (CSS)       Good (JS)


             Content (HTML)
What did you just see?
IE 7   IE 9
Safari
CSS3
 -moz-border-radius: 5px;
 -webkit-border-radius: 5px;
 border-radius: 5px;




                                                 The “old” Way
       <span><span><span><span>/* button code */</span></span></span></span>


                   x 100 buttons on PKG200
Firefox

                          Best (JS)


      Better (CSS)       Better (JS)


          Good (CSS)      Good (JS)


                Content (HTML)
Local Storage
Chrome

     Best (CSS)       Best (JS)


     Better (CSS)    Better (JS)


     Good (CSS)       Good (JS)


            Content (HTML)
Feature Detection




                    function supports_geolocation() {
                      return 'geolocation' in navigator;
                    }
Geolocation
Future Friendly

    Best (CSS)      Best (JS)


   Better (CSS)    Better (JS)


    Good (CSS)      Good (JS)


          Content (HTML)
Battery API
Touch/Swipe Events
Graded Browser Support
3 Grade Levels

Grading the experience,
not the browser.
A Grade

Fully supported
Fully tested
Top level experience
Decided by traffic numbers
Not feature /pixel parity
X Grade
Unknown browsers
Not significant traffic
Assume will work

Depends on feature detection and
graceful degradation

Get more traffic? Move to A
Get complaints? Move to C
C Grade

Known browsers
Not significant traffic
Know major issues in CSS or JS

Delivered Core experience
NCSA_Mosaic/1.0




Mozilla/1.0
Graded Browser Support
 Desktop A Grade
IE 6
IE 7
IE 8
IE 9
Firefox 3.6
Firefox Latest
Chrome Latest
Safari OSX 4+
Safari iOS
Graded Browser Support
 Desktop A Grade
IE 6 Moved to C
IE 7
IE 8
IE 9
Firefox 3.6
Firefox Latest
Chrome Latest
Safari OSX 4+
Safari iOS
IE6
IE6
Graded Browser Support
 Desktop A Grade
IE 6 Moved to C
IE 7
IE 8
IE 9
Firefox 3.6 Moved to X
Firefox Latest
Chrome Latest
Safari OSX 4+
Safari iOS
Future Friendly




                  credit: LukeW
Learn More...
Learn More...




                abookapart.com
Photo Credits

  http://www.flickr.com/photos/61056899@N06/5751301741/
  http://www.flickr.com/photos/mako_side_b/2897963567/
  http://www.flickr.com/photos/lauro/237784837/
  http://www.flickr.com/photos/voxpelli/2954947277/
  http://www.flickr.com/photos/slazebni/137659913/
  http://www.flickr.com/photos/octavaria/5674960372/
  http://www.flickr.com/photos/rheaney/4397863376/
  http://www.flickr.com/photos/dullhunk/5449218572/

Más contenido relacionado

Destacado

Accessing iArabix for ArabiXia Students
Accessing iArabix for ArabiXia StudentsAccessing iArabix for ArabiXia Students
Accessing iArabix for ArabiXia Students
FKAD
 
CMU_Agenda Item Proposal
CMU_Agenda Item ProposalCMU_Agenda Item Proposal
CMU_Agenda Item Proposal
Bryant Lewis
 

Destacado (14)

Accessing iArabix for ArabiXia Students
Accessing iArabix for ArabiXia StudentsAccessing iArabix for ArabiXia Students
Accessing iArabix for ArabiXia Students
 
CMU_Agenda Item Proposal
CMU_Agenda Item ProposalCMU_Agenda Item Proposal
CMU_Agenda Item Proposal
 
Analyst 3 Preview
Analyst 3 PreviewAnalyst 3 Preview
Analyst 3 Preview
 
Лендинги от создания до прибыли
Лендинги от создания до прибылиЛендинги от создания до прибыли
Лендинги от создания до прибыли
 
業務系エンジニアがIoTに触れて感じた事
業務系エンジニアがIoTに触れて感じた事業務系エンジニアがIoTに触れて感じた事
業務系エンジニアがIoTに触れて感じた事
 
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
 
#TesterbhiCoder - Every Tester should get into coding - Selenium automation
#TesterbhiCoder - Every Tester should get into coding - Selenium automation#TesterbhiCoder - Every Tester should get into coding - Selenium automation
#TesterbhiCoder - Every Tester should get into coding - Selenium automation
 
クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!
 
Ginとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebAppGinとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebApp
 
Five year plans of India:Goals and Achievements
Five year plans of India:Goals and AchievementsFive year plans of India:Goals and Achievements
Five year plans of India:Goals and Achievements
 
Stpr presentation
Stpr presentationStpr presentation
Stpr presentation
 
Webtechnologien Grundlagen und Auswahl geeigneter Web Rahmenwerke
Webtechnologien Grundlagen und Auswahl geeigneter Web RahmenwerkeWebtechnologien Grundlagen und Auswahl geeigneter Web Rahmenwerke
Webtechnologien Grundlagen und Auswahl geeigneter Web Rahmenwerke
 
Как запустить рекламную кампанию?
Как запустить рекламную кампанию?Как запустить рекламную кампанию?
Как запустить рекламную кампанию?
 
IoTを擬人化してみた そして巨大化してみる
IoTを擬人化してみた そして巨大化してみるIoTを擬人化してみた そして巨大化してみる
IoTを擬人化してみた そして巨大化してみる
 

Similar a Modern Browser Support

Designing with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & EfficientlyDesigning with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & Efficiently
Zoe Gillenwater
 
Progressive enhancement - Bridging the gap between CSS2 and CSS3
Progressive enhancement - Bridging the gap between CSS2 and CSS3Progressive enhancement - Bridging the gap between CSS2 and CSS3
Progressive enhancement - Bridging the gap between CSS2 and CSS3
Zohar Arad
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
Ravi Raj
 

Similar a Modern Browser Support (20)

Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Flourish2011
Flourish2011Flourish2011
Flourish2011
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
 
Designing with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & EfficientlyDesigning with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & Efficiently
 
Smart phone development
Smart phone developmentSmart phone development
Smart phone development
 
CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3 CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
 
Edge of the Web
Edge of the WebEdge of the Web
Edge of the Web
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 
Progressive enhancement - Bridging the gap between CSS2 and CSS3
Progressive enhancement - Bridging the gap between CSS2 and CSS3Progressive enhancement - Bridging the gap between CSS2 and CSS3
Progressive enhancement - Bridging the gap between CSS2 and CSS3
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 
Ie9 overview
Ie9 overviewIe9 overview
Ie9 overview
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010
 
XTech May 2008
XTech May 2008XTech May 2008
XTech May 2008
 
HTML5 Canvas Performance optimization
HTML5 Canvas Performance optimizationHTML5 Canvas Performance optimization
HTML5 Canvas Performance optimization
 
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
 BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
 

Más de Mark Meeker

Más de Mark Meeker (7)

Simplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style GuideSimplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style Guide
 
Open and Accessible UI
Open and Accessible UIOpen and Accessible UI
Open and Accessible UI
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and Accessibiity
 
Coding the UI
Coding the UICoding the UI
Coding the UI
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
Introduction to Front End Engineering
Introduction to Front End EngineeringIntroduction to Front End Engineering
Introduction to Front End Engineering
 
Microformats: The What, Where, Why and How
Microformats: The What, Where, Why and HowMicroformats: The What, Where, Why and How
Microformats: The What, Where, Why and How
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Modern Browser Support