SlideShare a Scribd company logo
1 of 152
Download to read offline
BUILDING
     ADAPTIVE
     DESIGNS NOW
Aaron Gustafson
@aarongustafson
slideshare.net/AaronGustafson
BROWSERS ARE A
 PAIN IN THE ASS
© Brad Frost
© Brad Frost
“   Just four years ago the majority of our
    visitors saw our website in Internet
    Explorer on a Windows computer on a
    minimum 1,024 pixel wide screen.
    Times have really changed.
               Jason Samuels
               IT Manager,
               National Council on Family Relations
               Source
“   Windows users used to comprise
    93.5% of our web visits. Now that
    percentage is 72.4%. Visitors using a
    Mac have more than tripled.
“   The percentage visiting from a mobile
    device or tablet … was just
    0.1% in 2008. It has since grown
    exponentially,
    200-400% per year,
    to 6.2% today.
“   Four years ago 75.5% of our web
    visitors used Internet Explorer. That
    number has fallen to 37%. Firefox now
    comprises 25.5%, Safari 19.5%, and
    Chrome 15.3%.
“   In the second quarter of 2008
    we detected 71 different
    screen resolutions among our
    visitors. In the first quarter of
    2012 we detected
                        830
LET’S TALK
MOBILE
FIRST OFF
MOBILE
IS NOT THE
BEST WORD
31%                           40%                             21%
                                                                       Out of
        Out of
        home                         Out of home                       home




     69%
       At home
                                    60%
                                      At home
                                                                   79%
                                                                     At home

                     54%         of our daily
 Computer                        media interactions
                              Smartphone                           Tablet



http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
MOBILE IS NOT
            ISOLATED

                   90       %
                                    of people use
                                    multiple screens
                                    sequentially




http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
starting place for online activities

Started on
smartphone
                   65%          63%          65%        47%        59%         66%         56%


                  Searching    Browsing      Shopping   Planning   Managing     Social   Watching an
                   for Info   the Internet    Online      a Trip   Finances   Networking Online Video

  Continued
  on a PC          60%          58%          61%        45%        56%         58%         48%

  Continued
  on a tablet      4%            5%           4%         3%         3%          8%          8%




http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
MOBILE = OPPORTUNITY
Often this is for “spur-of-the-moment” activity
    Often this is for “spur-of-the-moment” activity
                                          Spontaneous vs. Planned Search Search
                                                 Spontaneous vs. Planned




                          20% 20%
                          Planned Planned
                                                                                                                               48% 48%
                                                                                                                               Planned Planned



                         80%80%
                    Spontaneous
                            Spontaneous
                                                                                                                                52% 52%
                                                                                                                            Spontaneous
                                                                                                                                    Spontaneous



                                                      44%44%                                                                                     43%43%
                 of all spontaneous searchessearches
                           of all spontaneous                                                                                         of all spontaneous
                                                                                                                                                of all spontaneous
                     on smartphones were to were to
                               on smartphones                                                                              searchessearches on PCs were to
                                                                                                                                    on PCs were to
                            accomplish a goal a goal
                                      accomplish                                                                                 accomplish a goal a goal
                                                                                                                                         accomplish




   http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
   Base: Total Answering, Follow-Up Occasion (Search) –Occasion (Search)Smartphone (216); Tablet not shown due to smallshown dueQ. Wouldbase consider your use of
                     Base: Total Answering, Follow-Up PC/Laptop (492); – PC/Laptop (492); Smartphone (216); Tablet not base size. to small you size. Q. Would you consider your use of
                                                                                                                                                                                         35
PERCEPTION
PERCEPTION
“   There is no WebKit
    on Mobile
             — Peter-Paul Koch
WebKit vs. Acid3



http://www.quirksmode.org/webkit_mobile.html
“   Surely there’s
    platform
    consistency!?!
            — Any sane individual
“   There is no Android
             — Stephanie Rieger
http://yfrog.com/z/ob5kndj
BUT ANDROID
IS NOT UNIQUE
    IN THIS
THE CULPRITS?
 SCREEN SIZE
THE CULPRITS?
EMBEDDED VIEWS
THE CULPRITS?
BROWSER CHROME
THE CULPRITS?
 ZOOM LEVEL
THE CULPRITS?
 ZOOM LEVEL
 (Ok, this one’s on Android)
6 Billion




              2009 2010                              2011
                  2009               2010                2011
http://mobithinking.com/mobile-marketing-tools/latest-mobile-stats/a#subscribers
OVER 80%
                 OF THESE ARE
 FEATURE PHONES,
       NOT SMARTPHONES

http://developinthecloud.drdobbs.com/author.asp?doc_id=253055&section_id=2280
ESPECIALLY TRUE IN
 DEVELOPING
 COUNTRIES
INTERNET IN KENYA
       MOBILE = 90%

http://www.cck.go.ke/resc/downloads/SECTOR_STATISTICS_REPORT_Q4_11-12.pdf
THE REALITY
“The commoditization of smartphone
 hardware is just the beginning … of a
 huge new wave of cheap devices
 about to invade our lives—a zombie
 apocalypse of electronics, if you will.
                            — Scott Jenson
Um… I think I’ll just
build an iPhone app.
      kthxbye.
NATIVE
  vs.
 WEB
NATIVE
  vs.
 WEB
© Brad Frost
© Brad Frost
WE DON’T KNOW
WE DON’T KNOW
EVEN WHEN
 WE THINK
 WE KNOW,
  WE ARE
 PROBABLY
  WRONG
SO HOW DO WE
    COPE?
PROGRESSIVE
ENHANCEMENT
TECHNOLOGICAL
 RESTRICTIONS
I like an escalator because
an escalator can never break,
it can only become stairs.
             — Mitch Hedberg
GRACEFUL
DEGRADATION
MODERN
BROWSERS
   OLDER BROWSERS
MODERN
BROWSERS
   OLDER BROWSERS
a dynamic web page can
never break, it can only
become a web page.
PROGRESSIVE
ENHANCEMENT
CONTENT
ACCESSIBILITY
“SPECIAL NEEDS”
“SPECIAL NEEDS”
    CAN BE
  CONTEXTUAL
PROGRESSIVE
GRACEFUL DEGRADATION   ENHANCEMENT
OOOH, SHINY!
PROGRESSIVE
ENHANCEMENT
 ISN’T ABOUT
  BROWSERS
BROWSERS AND
TECHNOLOGIES
 COME AND GO
DON’T LOSE SIGHT
 OF YOUR USERS
Progressive
Graceful Degradation   Enhancement
Responsive
         Web Design



      Progressive
on   Enhancement

           Mobile
            First
User Experience




            NEWER                          OLDER

                          Browser Age




                    Graceful Degradation
User Experience




             BASIC                                     ADVANCED

                       Browser & Device Capabilities




                     Progressive Enhancement
User Experience




             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                            Content
User Experience




                          Semantics
             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                            Content
User Experience




                             Design

                          Semantics
             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                            Content
User Experience




                         Interactivity

                             Design

                          Semantics
             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                            Content
User Experience



                         Accessibility

                         Interactivity

                             Design

                          Semantics
             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                            Content
User Experience



                               ARIA

                          JavaScript

                                CSS

                              HTML
             BASIC                                   ADVANCED

                     Browser & Device Capabilities


                         Text & HTTP
HTML
HTML5

HTML
Microformats
  HTML4
EXAMPLES
BUILDING ADAPTIVE DESIGNS NOW




Semantics 101
 <p>HTML5 introduces several <em>really</em>
 useful elements and a ton of new APIs.</p>


 <p>Please fill out the form below.
 <strong>Note: all fields are required.</strong></p>


 <p>I like to work with markup languages because
 <strong>they are simple and easy to read</strong>.
 They also have that certain <i lang="fr" title="I
 don&#8217;t know what">je ne sais quoi</i>.</p>
BUILDING ADAPTIVE DESIGNS NOW




PE with HTML
 <video poster=”poster.png”>
  <source src=”video.m4v”/>
  <source src=”video.webm”/>
  <source src=”video.ogv”/>
  <img src=”poster.png” alt=””/>
  <ul>
    <li><a href="video.m4v">Download MP4</a></li>
    <li><a href="video.webm">Download WebM</a></li>
    <li><a href="video ogv">Download Ogg</a></li>
  </ul>
 </video>
BUILDING ADAPTIVE DESIGNS NOW




PE with HTML


    <img src=”poster.png” alt=””/>
    <ul>
     <li><a href="video.m4v">Download MP4</a></li>
     <li><a href="video.webm">Download WebM</a></li>
     <li><a href="video ogv">Download Ogg</a></li>
    </ul>
BUILDING ADAPTIVE DESIGNS NOW




PE with HTML
 <input type="date" name="dob"/>


                    I get it!      I don’t get it :-(
BUILDING ADAPTIVE DESIGNS NOW




PE with Microformats
 <section class="vcard">
  <figure>
    <img class="photo" src="aaron-gustafson.jpg" alt=""/>
  </figure>
  <h1 class="fn">Aaron Gustafson</h1>
  …
  <p>Aaron … is <b class="role">Group Manager</b> of the
    <a class="org" href="http://webstandards.org">Web
    Standards Project (WaSP)</a> ….</p>
 </section>
BUILDING ADAPTIVE DESIGNS NOW




PE with HTML & ARIA
 <header role=”banner”>
  <h1><img src="i/logo.png"/></h1>
  <nav role=”navigation”>
   <ol>
     <li><a href="#details">Details</a></li>
     <li><a href="#schedule">Schedule</a></li>
     <li><a href="#instructors">Instructors</a></li>
     <li><a href="#lodging">Lodging</a></li>
     <li><a href="#location">Location</a></li>
   </ol>
  </nav>
 </header>
BUILDING ADAPTIVE DESIGNS NOW




These are the droids you seek
 <span role="button">OK</span>


 <div role="alert">
  <p>Something went wrong.</p>
 </div>


 <div role="alertdialog">
  <p>Something went wrong.</p>
  <img src="x.png" alt="dismiss" role="button" />
 </div>
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors


                                p{
                                  color: red;
                                }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors


                                p{
                                  color: red;
                                }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors


                                p{
                                  color: red;
                                  font-weight: bold;
                                }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors


                                p{
                                  color: red;
                                  font-weight: bold;
                                }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors
 p {
   color: #ccc;
   color: rgba( 0, 0, 0, .5 );
 }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors
 html[lang] p {
   color: #ccc;
   color: rgba( 0, 0, 0, .5 );
 }
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors
 @-moz-document url-prefix() {
   html[lang] p {
     color: #ccc;
     color: rgba( 0, 0, 0, .5 );
   }
 }
#intro {
  /* Basic Layout */
}

/* ... */

body[id=css-zen-garden] #intro {
 /* Advanced Layout */
}
#intro {
  /* Basic Layout */
}

/* ... */

[foo], #intro {
  /* Advanced Layout */
}
BUILDING ADAPTIVE DESIGNS NOW




Parsing errors
 @media screen, print, refrigerator {
   /* IE will get these rules */
 }
BUILDING ADAPTIVE DESIGNS NOW




@Media blocks
 @media screen {
   /* Styles for screen media only */
 }
BUILDING ADAPTIVE DESIGNS NOW




@Media blocks+
 @media only screen and (max-width:450px) {
   /* Styles for screen media when browser
      is 450px wide or below */
 }
BUILDING ADAPTIVE DESIGNS NOW




Don’t do this
 @media
   screen and (min-device-width:1024px)
          and (max-width:989px),
   screen and (max-device-width:480px),
   screen and (max-device-width:480px)
          and (orientation:landscape),
   screen and (min-device-width:481px)
          and (orientation:portrait) {
   /* Layout for narrower desktop (below 990px)
      or
      iPhone running iOS 3 (or equivalent)
      or
      iPhone running iOS 4 (or equivalent) in “landscape” view
      or
      iPad (or equivalent) in “portrait” view */
 }
BUILDING ADAPTIVE DESIGNS NOW




Mobile First w/ media queries
 /* Universal Layout */

 @media screen {
   /* Styles for all screens */
 }

 @media only screen and (min-width:481px) {
   /* Styles for all screens 480px+ width */
 }

 @media only screen and (min-width:754px) {
   /* Styles for all screens 754px+ width */
 }
http://is.gd/lazyloading_demo
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript




 <input class="tweet-counter" value="140" disabled="disabled">
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript




 <span id="chars_left_notice" class="numeric">
  <strong id="status-field-char-counter"
        class="char-counter">140</strong>
 </span>
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript




 <span class="tweet-counter">140
  <b class="hidden"> characters remaining</b></span>


 .hidden {
   position: absolute;
   left: 999em;
 }
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript




 <span class="tweet-counter">maximum of 140 characters</span>



 <span class="tweet-counter">140
  <b class="hidden"> characters remaining</b></span>
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA




 <span aria-live="polite" aria-atomic="true"
       class="tweet-counter">140<b class="hidden">
       characters remaining</b></span>
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
BUILDING ADAPTIVE DESIGNS NOW




Complex interfaces
BUILDING ADAPTIVE DESIGNS NOW




Traditional approach
 <h1>Pumpkin Pie</h1>
 <div class="container">
  <div class="section">
    <h2>Overview</h2>
    <img src="pie.jpg" alt="">
    <p>Whether you're hosting a festive party or a casual
    get-together with friends, our Pumpkin Pie will make
    entertaining easy!</p>
    <!-- ... -->
  </div>
  <!-- ... -->
  <ul class="tabs">
    <li><a href="#">Overview</a></li>
    <li><a href="#">Ingredients</a></li>
    <li><a href="#">Directions</a></li>
    <li><a href="#">Nutrition</a></li>
  </ul>
 </div>
BUILDING ADAPTIVE DESIGNS NOW




Cleaner approach
 <h1>Pumpkin Pie</h1>
 <div class="tabbed-interface">
  <h2>Overview</h2>
  <img src="pie.jpg" alt="" />
  <p>Whether you're hosting a festive party or a casual
  get-together with friends, our Pumpkin Pie will make
  entertaining easy!</p>
  <!-- ... -->
  <h2>Ingredients</h2>
  <ul>
    <li>1 (9<abbr title="inch">in</abbr>) unbaked deep
       dish pie crust</li>
    <li> cup white sugar</li>
    <!-- ... -->
  </ul>
  <h2>Directions</h2>
  <!-- ... -->
 </div>
BUILDING ADAPTIVE DESIGNS NOW




Cleaner approach
 <h1>Pumpkin Pie</h1>
 <div class="tabbed-interface">
  <h2>Overview</h2>
  <img src="pie.jpg" alt="" />
  <p>Whether you're hosting a festive party or a casual
  get-together with friends, our Pumpkin Pie will make
  entertaining easy!</p>
  <!-- ... -->
  <h2>Ingredients</h2>
  <ul>
    <li>1 (9<abbr title="inch">in</abbr>) unbaked deep
       dish pie crust</li>
    <li> cup white sugar</li>
    <!-- ... -->
  </ul>
  <h2>Directions</h2>
  <!-- ... -->
 </div>
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
BUILDING ADAPTIVE DESIGNS NOW




Widget logic


                                Page
BUILDING ADAPTIVE DESIGNS NOW




Widget logic


                                Page




                                JS?
BUILDING ADAPTIVE DESIGNS NOW




Widget logic


                                Page




                                JS?    No
BUILDING ADAPTIVE DESIGNS NOW




Widget logic



                Split                 Page
           the content &
            make some
                tabs


                                      JS?
                                Yes          No
BUILDING ADAPTIVE DESIGNS NOW




On DOM ready
 <h1>Pumpkin Pie</h1>
 <div class="tabbed-interface TabInterface-enabled">
  <section>
    <h2>Overview</h2>
    <img src="pie.jpg" alt="">
    <p>Whether you're hosting a festive party or a casual
    get-together with friends, our Pumpkin Pie will make
    entertaining easy!</p>
    <!-- ... -->
  </section>
  <!-- ... -->
  <ul class="tabs">
    <li><a href="#">Overview</a></li>
    <li><a href="#">Ingredients</a></li>
    <li><a href="#">Directions</a></li>
    <li><a href="#">Nutrition</a></li>
  </ul>
 </div>
BUILDING ADAPTIVE DESIGNS NOW




Adaptive UI
 <div class="tabbed-interface" data-tab-threshold="800">

    <h2>Overview</h2>
    <!-- … -->

    <h2>Ingredients</h2>
    <!-- … -->

    <h2>Directions</h2>
    <!-- … -->

    <h2>Nutrition</h2>
    <!-- … -->

   </div>
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic


                                Page
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic


                                Page




                                JS?
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic


                                Page




                                JS?    No
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic


                                      Page




                                      JS?
                                Yes          No
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic


                                           Page




                                           JS?
                                     Yes          No
                                No
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic
           Split
      the content &
       make some
           tabs
                                           Page




                                           JS?
                                     Yes          No
                       Yes      No
BUILDING ADAPTIVE DESIGNS NOW




Adaptive widget logic
           Split
      the content &
       make some
           tabs
                                                  Page

                                LIVE

                                                  JS?
                                            Yes          No
                       Yes             No
                                                              Untab (if
                                                              tabbed)
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA




                                role="application"
                                aria-activedescendant="folder-1"
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
                                role="tablist"
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
               role="tab"
               aria-selected="true"
               aria-controls="folder-1"
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
                                role="tab"
                                aria-selected="false"
                                aria-controls="folder-4"
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA




                                role="tabpanel"
                                aria-hidden="false"
                                aria-labelledby="folder-1-tab"
BUILDING ADAPTIVE DESIGNS NOW




PE with JavaScript & ARIA
ARIA

JavaScript

   CSS

  HTML

Text & HTTP
THANK YOU!
http://readlists.com/7d414b24/
Building Adaptive Designs Now
                        by Aaron Gustafson
                         @AaronGustafson
                         Further reading:
                 http://adaptivewebdesign.info
                  http://blog.easy-designs.net
              http://mobilewebbestpractices.com
                         Slides available at
              http://slideshare.net/AaronGustafson
               This presentation is licensed under
                       Creative Commons
          Attribution-Noncommercial-Share Alike 3.0
                 except where otherwise noted

                    flickr Photo Credits
 http://www.flickr.com/photos/aarongustafson/galleries/72157629846428745/

More Related Content

Similar to Building Adaptive Designs Now [UI17]

2012 Breakthrough Austin : Collective
2012 Breakthrough Austin : Collective2012 Breakthrough Austin : Collective
2012 Breakthrough Austin : CollectiveiMedia Connection
 
"Connected home" - aplikacja dla domu i biznesu
"Connected home" - aplikacja dla domu i biznesu"Connected home" - aplikacja dla domu i biznesu
"Connected home" - aplikacja dla domu i biznesuBiznes to Rozmowy
 
Google ipsos mobile_internet_smartphone_adoption_insights_2011
Google ipsos mobile_internet_smartphone_adoption_insights_2011Google ipsos mobile_internet_smartphone_adoption_insights_2011
Google ipsos mobile_internet_smartphone_adoption_insights_2011Carlos Zapata
 
Breakfast &amp; Brains, September 2012- Guy Phillipson
Breakfast &amp; Brains, September 2012- Guy PhillipsonBreakfast &amp; Brains, September 2012- Guy Phillipson
Breakfast &amp; Brains, September 2012- Guy PhillipsonBrainient
 
Ten Big Trends in Ten Short Minutes
Ten Big Trends in Ten Short MinutesTen Big Trends in Ten Short Minutes
Ten Big Trends in Ten Short MinutesLocal Social Summit
 
Cashing in on the Smartphone Gaming Boom
Cashing in on the Smartphone Gaming BoomCashing in on the Smartphone Gaming Boom
Cashing in on the Smartphone Gaming BoomElastic Path
 
Google presentation on Get Mo
Google presentation on Get MoGoogle presentation on Get Mo
Google presentation on Get MoDigital Leaders
 
Mobile Marketing to the Rural Sector
Mobile Marketing to the Rural SectorMobile Marketing to the Rural Sector
Mobile Marketing to the Rural SectorBrent Williams
 
Understanding the Mobile Consumer
Understanding the Mobile Consumer Understanding the Mobile Consumer
Understanding the Mobile Consumer Hank Mondaca
 
our_mobile_planet_us_en
our_mobile_planet_us_enour_mobile_planet_us_en
our_mobile_planet_us_enWu Nengyong
 
Mobile Marketing USA
Mobile Marketing USAMobile Marketing USA
Mobile Marketing USAVasco Marques
 
Статистика використання смартфонів від Google
Статистика використання смартфонів від GoogleСтатистика використання смартфонів від Google
Статистика використання смартфонів від GoogleДіма Леонов
 
State of SoLoMo by Greg Sterling - SIMposium 2012
State of SoLoMo by Greg Sterling - SIMposium 2012State of SoLoMo by Greg Sterling - SIMposium 2012
State of SoLoMo by Greg Sterling - SIMposium 2012SIM Partners
 
Vol1: Managing The Hype - The Reality of Mobile in Canada - Appendix
Vol1: Managing The Hype - The Reality of Mobile in Canada - AppendixVol1: Managing The Hype - The Reality of Mobile in Canada - Appendix
Vol1: Managing The Hype - The Reality of Mobile in Canada - AppendixDelvinia
 
Our mobile planet_australia_en
Our mobile planet_australia_enOur mobile planet_australia_en
Our mobile planet_australia_enStephen Mayer
 
Australia smartphone penetration rate (2012)
Australia smartphone penetration rate (2012) Australia smartphone penetration rate (2012)
Australia smartphone penetration rate (2012) Kevin Kim
 
Understanding The Canadian Mobile Consumer In 2012
Understanding The Canadian Mobile Consumer In 2012Understanding The Canadian Mobile Consumer In 2012
Understanding The Canadian Mobile Consumer In 2012Barry Macdonald
 
Mobile planet canada
Mobile planet canadaMobile planet canada
Mobile planet canadasyaiham
 

Similar to Building Adaptive Designs Now [UI17] (20)

Mobile Marketing UK
Mobile Marketing UKMobile Marketing UK
Mobile Marketing UK
 
2012 Breakthrough Austin : Collective
2012 Breakthrough Austin : Collective2012 Breakthrough Austin : Collective
2012 Breakthrough Austin : Collective
 
"Connected home" - aplikacja dla domu i biznesu
"Connected home" - aplikacja dla domu i biznesu"Connected home" - aplikacja dla domu i biznesu
"Connected home" - aplikacja dla domu i biznesu
 
Google ipsos mobile_internet_smartphone_adoption_insights_2011
Google ipsos mobile_internet_smartphone_adoption_insights_2011Google ipsos mobile_internet_smartphone_adoption_insights_2011
Google ipsos mobile_internet_smartphone_adoption_insights_2011
 
Breakfast &amp; Brains, September 2012- Guy Phillipson
Breakfast &amp; Brains, September 2012- Guy PhillipsonBreakfast &amp; Brains, September 2012- Guy Phillipson
Breakfast &amp; Brains, September 2012- Guy Phillipson
 
Ten Big Trends in Ten Short Minutes
Ten Big Trends in Ten Short MinutesTen Big Trends in Ten Short Minutes
Ten Big Trends in Ten Short Minutes
 
Cashing in on the Smartphone Gaming Boom
Cashing in on the Smartphone Gaming BoomCashing in on the Smartphone Gaming Boom
Cashing in on the Smartphone Gaming Boom
 
Google presentation on Get Mo
Google presentation on Get MoGoogle presentation on Get Mo
Google presentation on Get Mo
 
Mobile Marketing to the Rural Sector
Mobile Marketing to the Rural SectorMobile Marketing to the Rural Sector
Mobile Marketing to the Rural Sector
 
Understanding the Mobile Consumer
Understanding the Mobile Consumer Understanding the Mobile Consumer
Understanding the Mobile Consumer
 
our_mobile_planet_us_en
our_mobile_planet_us_enour_mobile_planet_us_en
our_mobile_planet_us_en
 
Mobile Marketing USA
Mobile Marketing USAMobile Marketing USA
Mobile Marketing USA
 
Статистика використання смартфонів від Google
Статистика використання смартфонів від GoogleСтатистика використання смартфонів від Google
Статистика використання смартфонів від Google
 
Our mobile planet_us_en
Our mobile planet_us_enOur mobile planet_us_en
Our mobile planet_us_en
 
State of SoLoMo by Greg Sterling - SIMposium 2012
State of SoLoMo by Greg Sterling - SIMposium 2012State of SoLoMo by Greg Sterling - SIMposium 2012
State of SoLoMo by Greg Sterling - SIMposium 2012
 
Vol1: Managing The Hype - The Reality of Mobile in Canada - Appendix
Vol1: Managing The Hype - The Reality of Mobile in Canada - AppendixVol1: Managing The Hype - The Reality of Mobile in Canada - Appendix
Vol1: Managing The Hype - The Reality of Mobile in Canada - Appendix
 
Our mobile planet_australia_en
Our mobile planet_australia_enOur mobile planet_australia_en
Our mobile planet_australia_en
 
Australia smartphone penetration rate (2012)
Australia smartphone penetration rate (2012) Australia smartphone penetration rate (2012)
Australia smartphone penetration rate (2012)
 
Understanding The Canadian Mobile Consumer In 2012
Understanding The Canadian Mobile Consumer In 2012Understanding The Canadian Mobile Consumer In 2012
Understanding The Canadian Mobile Consumer In 2012
 
Mobile planet canada
Mobile planet canadaMobile planet canada
Mobile planet canada
 

More from Aaron Gustafson

Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Aaron Gustafson
 
Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Aaron Gustafson
 
Designing the Conversation [Beyond Tellerrand 2019]
Designing the Conversation [Beyond Tellerrand 2019]Designing the Conversation [Beyond Tellerrand 2019]
Designing the Conversation [Beyond Tellerrand 2019]Aaron Gustafson
 
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Aaron Gustafson
 
Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Aaron Gustafson
 
Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Aaron Gustafson
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Aaron Gustafson
 
Conversational Semantics for the Web [CascadiaJS 2018]
Conversational Semantics for the Web [CascadiaJS 2018]Conversational Semantics for the Web [CascadiaJS 2018]
Conversational Semantics for the Web [CascadiaJS 2018]Aaron Gustafson
 
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Aaron Gustafson
 
PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]Aaron Gustafson
 
Designing the Conversation [Concatenate 2018]
Designing the Conversation [Concatenate 2018]Designing the Conversation [Concatenate 2018]
Designing the Conversation [Concatenate 2018]Aaron Gustafson
 
Designing the Conversation [Accessibility DC 2018]
Designing the Conversation [Accessibility DC 2018]Designing the Conversation [Accessibility DC 2018]
Designing the Conversation [Accessibility DC 2018]Aaron Gustafson
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Aaron Gustafson
 
The Web Should Just Work for Everyone
The Web Should Just Work for EveryoneThe Web Should Just Work for Everyone
The Web Should Just Work for EveryoneAaron Gustafson
 
Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Aaron Gustafson
 
Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Aaron Gustafson
 
Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Aaron Gustafson
 
Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Aaron Gustafson
 
Designing the Conversation [Paris Web 2017]
Designing the Conversation [Paris Web 2017]Designing the Conversation [Paris Web 2017]
Designing the Conversation [Paris Web 2017]Aaron Gustafson
 
Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Aaron Gustafson
 

More from Aaron Gustafson (20)

Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]
 
Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]
 
Designing the Conversation [Beyond Tellerrand 2019]
Designing the Conversation [Beyond Tellerrand 2019]Designing the Conversation [Beyond Tellerrand 2019]
Designing the Conversation [Beyond Tellerrand 2019]
 
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
 
Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?
 
Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]
 
Conversational Semantics for the Web [CascadiaJS 2018]
Conversational Semantics for the Web [CascadiaJS 2018]Conversational Semantics for the Web [CascadiaJS 2018]
Conversational Semantics for the Web [CascadiaJS 2018]
 
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
 
PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]
 
Designing the Conversation [Concatenate 2018]
Designing the Conversation [Concatenate 2018]Designing the Conversation [Concatenate 2018]
Designing the Conversation [Concatenate 2018]
 
Designing the Conversation [Accessibility DC 2018]
Designing the Conversation [Accessibility DC 2018]Designing the Conversation [Accessibility DC 2018]
Designing the Conversation [Accessibility DC 2018]
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]
 
The Web Should Just Work for Everyone
The Web Should Just Work for EveryoneThe Web Should Just Work for Everyone
The Web Should Just Work for Everyone
 
Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]
 
Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]
 
Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2
 
Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1
 
Designing the Conversation [Paris Web 2017]
Designing the Conversation [Paris Web 2017]Designing the Conversation [Paris Web 2017]
Designing the Conversation [Paris Web 2017]
 
Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]
 

Recently uploaded

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"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
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"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
 
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...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
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
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Building Adaptive Designs Now [UI17]

  • 1. BUILDING ADAPTIVE DESIGNS NOW Aaron Gustafson @aarongustafson slideshare.net/AaronGustafson
  • 2. BROWSERS ARE A PAIN IN THE ASS
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 14. Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1,024 pixel wide screen. Times have really changed. Jason Samuels IT Manager, National Council on Family Relations Source
  • 15. Windows users used to comprise 93.5% of our web visits. Now that percentage is 72.4%. Visitors using a Mac have more than tripled.
  • 16. The percentage visiting from a mobile device or tablet … was just 0.1% in 2008. It has since grown exponentially, 200-400% per year, to 6.2% today.
  • 17. Four years ago 75.5% of our web visitors used Internet Explorer. That number has fallen to 37%. Firefox now comprises 25.5%, Safari 19.5%, and Chrome 15.3%.
  • 18. In the second quarter of 2008 we detected 71 different screen resolutions among our visitors. In the first quarter of 2012 we detected 830
  • 20. FIRST OFF MOBILE IS NOT THE BEST WORD
  • 21. 31% 40% 21% Out of Out of home Out of home home 69% At home 60% At home 79% At home 54% of our daily Computer media interactions Smartphone Tablet http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
  • 22. MOBILE IS NOT ISOLATED 90 % of people use multiple screens sequentially http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
  • 23. starting place for online activities Started on smartphone 65% 63% 65% 47% 59% 66% 56% Searching Browsing Shopping Planning Managing Social Watching an for Info the Internet Online a Trip Finances Networking Online Video Continued on a PC 60% 58% 61% 45% 56% 58% 48% Continued on a tablet 4% 5% 4% 3% 3% 8% 8% http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html
  • 24. MOBILE = OPPORTUNITY Often this is for “spur-of-the-moment” activity Often this is for “spur-of-the-moment” activity Spontaneous vs. Planned Search Search Spontaneous vs. Planned 20% 20% Planned Planned 48% 48% Planned Planned 80%80% Spontaneous Spontaneous 52% 52% Spontaneous Spontaneous 44%44% 43%43% of all spontaneous searchessearches of all spontaneous of all spontaneous of all spontaneous on smartphones were to were to on smartphones searchessearches on PCs were to on PCs were to accomplish a goal a goal accomplish accomplish a goal a goal accomplish http://googlemobileads.blogspot.co.uk/2012/08/navigating-new-multi-screen-world.html Base: Total Answering, Follow-Up Occasion (Search) –Occasion (Search)Smartphone (216); Tablet not shown due to smallshown dueQ. Wouldbase consider your use of Base: Total Answering, Follow-Up PC/Laptop (492); – PC/Laptop (492); Smartphone (216); Tablet not base size. to small you size. Q. Would you consider your use of 35
  • 27. There is no WebKit on Mobile — Peter-Paul Koch
  • 29. Surely there’s platform consistency!?! — Any sane individual
  • 30. There is no Android — Stephanie Rieger
  • 32. BUT ANDROID IS NOT UNIQUE IN THIS
  • 37. THE CULPRITS? ZOOM LEVEL (Ok, this one’s on Android)
  • 38. 6 Billion 2009 2010 2011 2009 2010 2011 http://mobithinking.com/mobile-marketing-tools/latest-mobile-stats/a#subscribers
  • 39. OVER 80% OF THESE ARE FEATURE PHONES, NOT SMARTPHONES http://developinthecloud.drdobbs.com/author.asp?doc_id=253055&section_id=2280
  • 40. ESPECIALLY TRUE IN DEVELOPING COUNTRIES
  • 41. INTERNET IN KENYA MOBILE = 90% http://www.cck.go.ke/resc/downloads/SECTOR_STATISTICS_REPORT_Q4_11-12.pdf
  • 43.
  • 44.
  • 45. “The commoditization of smartphone hardware is just the beginning … of a huge new wave of cheap devices about to invade our lives—a zombie apocalypse of electronics, if you will. — Scott Jenson
  • 46. Um… I think I’ll just build an iPhone app. kthxbye.
  • 47. NATIVE vs. WEB
  • 48. NATIVE vs. WEB
  • 52.
  • 54. EVEN WHEN WE THINK WE KNOW, WE ARE PROBABLY WRONG
  • 55. SO HOW DO WE COPE?
  • 58. I like an escalator because an escalator can never break, it can only become stairs. — Mitch Hedberg
  • 60. MODERN BROWSERS OLDER BROWSERS
  • 61. MODERN BROWSERS OLDER BROWSERS
  • 62.
  • 63. a dynamic web page can never break, it can only become a web page.
  • 64.
  • 65.
  • 66.
  • 69.
  • 72. “SPECIAL NEEDS” CAN BE CONTEXTUAL
  • 73.
  • 78. DON’T LOSE SIGHT OF YOUR USERS
  • 80. Responsive Web Design Progressive on Enhancement Mobile First
  • 81. User Experience NEWER OLDER Browser Age Graceful Degradation
  • 82. User Experience BASIC ADVANCED Browser & Device Capabilities Progressive Enhancement
  • 83. User Experience BASIC ADVANCED Browser & Device Capabilities Content
  • 84. User Experience Semantics BASIC ADVANCED Browser & Device Capabilities Content
  • 85. User Experience Design Semantics BASIC ADVANCED Browser & Device Capabilities Content
  • 86. User Experience Interactivity Design Semantics BASIC ADVANCED Browser & Device Capabilities Content
  • 87. User Experience Accessibility Interactivity Design Semantics BASIC ADVANCED Browser & Device Capabilities Content
  • 88. User Experience ARIA JavaScript CSS HTML BASIC ADVANCED Browser & Device Capabilities Text & HTTP
  • 89. HTML
  • 92.
  • 93. BUILDING ADAPTIVE DESIGNS NOW Semantics 101 <p>HTML5 introduces several <em>really</em> useful elements and a ton of new APIs.</p> <p>Please fill out the form below. <strong>Note: all fields are required.</strong></p> <p>I like to work with markup languages because <strong>they are simple and easy to read</strong>. They also have that certain <i lang="fr" title="I don&#8217;t know what">je ne sais quoi</i>.</p>
  • 94. BUILDING ADAPTIVE DESIGNS NOW PE with HTML <video poster=”poster.png”> <source src=”video.m4v”/> <source src=”video.webm”/> <source src=”video.ogv”/> <img src=”poster.png” alt=””/> <ul> <li><a href="video.m4v">Download MP4</a></li> <li><a href="video.webm">Download WebM</a></li> <li><a href="video ogv">Download Ogg</a></li> </ul> </video>
  • 95. BUILDING ADAPTIVE DESIGNS NOW PE with HTML <img src=”poster.png” alt=””/> <ul> <li><a href="video.m4v">Download MP4</a></li> <li><a href="video.webm">Download WebM</a></li> <li><a href="video ogv">Download Ogg</a></li> </ul>
  • 96. BUILDING ADAPTIVE DESIGNS NOW PE with HTML <input type="date" name="dob"/> I get it! I don’t get it :-(
  • 97. BUILDING ADAPTIVE DESIGNS NOW PE with Microformats <section class="vcard"> <figure> <img class="photo" src="aaron-gustafson.jpg" alt=""/> </figure> <h1 class="fn">Aaron Gustafson</h1> … <p>Aaron … is <b class="role">Group Manager</b> of the <a class="org" href="http://webstandards.org">Web Standards Project (WaSP)</a> ….</p> </section>
  • 98.
  • 99.
  • 100.
  • 101. BUILDING ADAPTIVE DESIGNS NOW PE with HTML & ARIA <header role=”banner”> <h1><img src="i/logo.png"/></h1> <nav role=”navigation”> <ol> <li><a href="#details">Details</a></li> <li><a href="#schedule">Schedule</a></li> <li><a href="#instructors">Instructors</a></li> <li><a href="#lodging">Lodging</a></li> <li><a href="#location">Location</a></li> </ol> </nav> </header>
  • 102. BUILDING ADAPTIVE DESIGNS NOW These are the droids you seek <span role="button">OK</span> <div role="alert"> <p>Something went wrong.</p> </div> <div role="alertdialog"> <p>Something went wrong.</p> <img src="x.png" alt="dismiss" role="button" /> </div>
  • 103. BUILDING ADAPTIVE DESIGNS NOW Parsing errors p{ color: red; }
  • 104. BUILDING ADAPTIVE DESIGNS NOW Parsing errors p{ color: red; }
  • 105. BUILDING ADAPTIVE DESIGNS NOW Parsing errors p{ color: red; font-weight: bold; }
  • 106. BUILDING ADAPTIVE DESIGNS NOW Parsing errors p{ color: red; font-weight: bold; }
  • 107. BUILDING ADAPTIVE DESIGNS NOW Parsing errors p { color: #ccc; color: rgba( 0, 0, 0, .5 ); }
  • 108. BUILDING ADAPTIVE DESIGNS NOW Parsing errors html[lang] p { color: #ccc; color: rgba( 0, 0, 0, .5 ); }
  • 109. BUILDING ADAPTIVE DESIGNS NOW Parsing errors @-moz-document url-prefix() { html[lang] p { color: #ccc; color: rgba( 0, 0, 0, .5 ); } }
  • 110. #intro { /* Basic Layout */ } /* ... */ body[id=css-zen-garden] #intro { /* Advanced Layout */ }
  • 111. #intro { /* Basic Layout */ } /* ... */ [foo], #intro { /* Advanced Layout */ }
  • 112. BUILDING ADAPTIVE DESIGNS NOW Parsing errors @media screen, print, refrigerator { /* IE will get these rules */ }
  • 113.
  • 114. BUILDING ADAPTIVE DESIGNS NOW @Media blocks @media screen { /* Styles for screen media only */ }
  • 115. BUILDING ADAPTIVE DESIGNS NOW @Media blocks+ @media only screen and (max-width:450px) { /* Styles for screen media when browser is 450px wide or below */ }
  • 116. BUILDING ADAPTIVE DESIGNS NOW Don’t do this @media screen and (min-device-width:1024px) and (max-width:989px), screen and (max-device-width:480px), screen and (max-device-width:480px) and (orientation:landscape), screen and (min-device-width:481px) and (orientation:portrait) { /* Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in “landscape” view or iPad (or equivalent) in “portrait” view */ }
  • 117. BUILDING ADAPTIVE DESIGNS NOW Mobile First w/ media queries /* Universal Layout */ @media screen { /* Styles for all screens */ } @media only screen and (min-width:481px) { /* Styles for all screens 480px+ width */ } @media only screen and (min-width:754px) { /* Styles for all screens 754px+ width */ }
  • 119. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript
  • 120. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript <input class="tweet-counter" value="140" disabled="disabled">
  • 121. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript <span id="chars_left_notice" class="numeric"> <strong id="status-field-char-counter" class="char-counter">140</strong> </span>
  • 122. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript <span class="tweet-counter">140 <b class="hidden"> characters remaining</b></span> .hidden { position: absolute; left: 999em; }
  • 123. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript <span class="tweet-counter">maximum of 140 characters</span> <span class="tweet-counter">140 <b class="hidden"> characters remaining</b></span>
  • 124. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA <span aria-live="polite" aria-atomic="true" class="tweet-counter">140<b class="hidden"> characters remaining</b></span>
  • 125. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA
  • 126. BUILDING ADAPTIVE DESIGNS NOW Complex interfaces
  • 127. BUILDING ADAPTIVE DESIGNS NOW Traditional approach <h1>Pumpkin Pie</h1> <div class="container"> <div class="section"> <h2>Overview</h2> <img src="pie.jpg" alt=""> <p>Whether you're hosting a festive party or a casual get-together with friends, our Pumpkin Pie will make entertaining easy!</p> <!-- ... --> </div> <!-- ... --> <ul class="tabs"> <li><a href="#">Overview</a></li> <li><a href="#">Ingredients</a></li> <li><a href="#">Directions</a></li> <li><a href="#">Nutrition</a></li> </ul> </div>
  • 128. BUILDING ADAPTIVE DESIGNS NOW Cleaner approach <h1>Pumpkin Pie</h1> <div class="tabbed-interface"> <h2>Overview</h2> <img src="pie.jpg" alt="" /> <p>Whether you're hosting a festive party or a casual get-together with friends, our Pumpkin Pie will make entertaining easy!</p> <!-- ... --> <h2>Ingredients</h2> <ul> <li>1 (9<abbr title="inch">in</abbr>) unbaked deep dish pie crust</li> <li> cup white sugar</li> <!-- ... --> </ul> <h2>Directions</h2> <!-- ... --> </div>
  • 129. BUILDING ADAPTIVE DESIGNS NOW Cleaner approach <h1>Pumpkin Pie</h1> <div class="tabbed-interface"> <h2>Overview</h2> <img src="pie.jpg" alt="" /> <p>Whether you're hosting a festive party or a casual get-together with friends, our Pumpkin Pie will make entertaining easy!</p> <!-- ... --> <h2>Ingredients</h2> <ul> <li>1 (9<abbr title="inch">in</abbr>) unbaked deep dish pie crust</li> <li> cup white sugar</li> <!-- ... --> </ul> <h2>Directions</h2> <!-- ... --> </div>
  • 130. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA
  • 131. BUILDING ADAPTIVE DESIGNS NOW Widget logic Page
  • 132. BUILDING ADAPTIVE DESIGNS NOW Widget logic Page JS?
  • 133. BUILDING ADAPTIVE DESIGNS NOW Widget logic Page JS? No
  • 134. BUILDING ADAPTIVE DESIGNS NOW Widget logic Split Page the content & make some tabs JS? Yes No
  • 135. BUILDING ADAPTIVE DESIGNS NOW On DOM ready <h1>Pumpkin Pie</h1> <div class="tabbed-interface TabInterface-enabled"> <section> <h2>Overview</h2> <img src="pie.jpg" alt=""> <p>Whether you're hosting a festive party or a casual get-together with friends, our Pumpkin Pie will make entertaining easy!</p> <!-- ... --> </section> <!-- ... --> <ul class="tabs"> <li><a href="#">Overview</a></li> <li><a href="#">Ingredients</a></li> <li><a href="#">Directions</a></li> <li><a href="#">Nutrition</a></li> </ul> </div>
  • 136. BUILDING ADAPTIVE DESIGNS NOW Adaptive UI <div class="tabbed-interface" data-tab-threshold="800"> <h2>Overview</h2> <!-- … --> <h2>Ingredients</h2> <!-- … --> <h2>Directions</h2> <!-- … --> <h2>Nutrition</h2> <!-- … --> </div>
  • 137. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Page
  • 138. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Page JS?
  • 139. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Page JS? No
  • 140. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Page JS? Yes No
  • 141. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Page JS? Yes No No
  • 142. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Split the content & make some tabs Page JS? Yes No Yes No
  • 143. BUILDING ADAPTIVE DESIGNS NOW Adaptive widget logic Split the content & make some tabs Page LIVE JS? Yes No Yes No Untab (if tabbed)
  • 144. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA role="application" aria-activedescendant="folder-1"
  • 145. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA role="tablist"
  • 146. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA role="tab" aria-selected="true" aria-controls="folder-1"
  • 147. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA role="tab" aria-selected="false" aria-controls="folder-4"
  • 148. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA role="tabpanel" aria-hidden="false" aria-labelledby="folder-1-tab"
  • 149. BUILDING ADAPTIVE DESIGNS NOW PE with JavaScript & ARIA
  • 150. ARIA JavaScript CSS HTML Text & HTTP
  • 152. Building Adaptive Designs Now by Aaron Gustafson @AaronGustafson Further reading: http://adaptivewebdesign.info http://blog.easy-designs.net http://mobilewebbestpractices.com Slides available at http://slideshare.net/AaronGustafson This presentation is licensed under Creative Commons Attribution-Noncommercial-Share Alike 3.0 except where otherwise noted flickr Photo Credits http://www.flickr.com/photos/aarongustafson/galleries/72157629846428745/