SlideShare uma empresa Scribd logo
1 de 42
A Crash Course in HTML5
       Sasha Vodnik
Agenda

1.   Where did HTML5 come from?
2.   What’s different in HTML5?
3.   How compatible is HTML5?
4.   What’s around the corner for HTML?
1. Where did HTML5 come from?

• Web Hypertext Application Technology
  Working Group (WHATWG)
 Language   HTML 2   HTML 3   HTML 4    HTML5     future
                              XHTML 1   XHTML5



 HTML
                                        WHATWG   WHATW
                                                 G

 XHTML
2. What’s different in HTML5?
    Semantics         Multimedia        CSS3        3D, Graphics, Effects




 Offline & Storage   Device Access   Connectivity      Performance &
                                                         Integration
Simplified Syntax

  • DOCTYPE
               <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
HTML 4.01      Transitional//EN"
transitional   "http://www.w3.org/TR/html4/loose.dtd">

XHTML 1.1      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
               "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">



HTML5          <!DOCTYPE html>
Simplified Syntax

  • script element
           <script                    <script
HTML 4.01/    type="text/javascript">    type="text/javascript"
XHTML 1.1 …                              src="file.js”>
           </script>                  </script>




HTML5     <script>
          …                          <script src="file.js”>
          </script>                  </script>
Semantic Elements

• Instead of the generic div element, we
  have article, figcaption, figure,
  footer, header, hgroup, nav.
• In general, no different in a browser, but
  opens doors for predictive indexing by
  search engines, making content easier to
  find.
Semantic example
<body>                          <body>
   <div class=“navigation”>        <nav>
      …                               …
   </div>                          </nav>

     <h1>…</h1>                      <h1>…</h1>
     <p class=“tagline”>…</p>        <p class=“tagline”>…</p>

   <div class=“maincontent”>       <article>
      …                               …
   </div>                          </article>
   <div class=“footer”>            <footer>
      …                               …
   </div>                          </footer>
</body>                         </body>
Semantics: Microdata

• A system for adding semantic information
  to specific elements.
• Similar to microformats and RDFa
• Main use case: marking information that
  can show up in Google Rich Snippets
Microdata example
<footer itemtype="http://www.data-vocabulary.org/Organization"
itemscope="itemscope">
  <p id="contact">
    <span itemprop="name">Lakeland Reeds Bed &amp; Breakfast</span>
    <img src="images/flourish.gif" width="16" height="16" alt="" />
    <span itemprop="address" itemscope="itemscope"
      itemtype="http://data-vocabulary.org/Address">
      <span itemprop="street-address">45 Marsh Grass Ln.</span>
      <img src="images/flourish.gif" width="16" height="16" alt="" />
      <span itemprop="locality">Marble</span>,
      <span itemprop="region">MN</span>
      <span itemprop="postal-code">55764</span>
      <img src="images/flourish.gif" width="16" height="16" alt="" />
      <span itemprop="tel">(218) 555-5253</span>
    </span>                                                                           title element
  </p>                                                                                content
</footer>                    Room selection at Lakeland Reeds Bed & Breakfast
                                                                              content marked
                                    Marble, MN - (218) 555-5253
                                                                                          as microdata
                                    Lakeland Reeds Bed & Breakfast offers 4 comfortable
                                    rooms that accommodate from 2 to 5 people. All have          meta element
                                    private baths and views of Twin Lakes.                       content
                                    www.example.com                                       URL

                                  Google rich snippet incorporating microdata
Forms: New input types

• Instead of type="text", you can set the
  type attribute to email, color, range,
  time, date, url, search, number, or
  tel
• No issues with backward compatibility,
  because older browsers assume a value
  of text when they don’t understand the
  type value.
Forms: New input types

• Indispensable for mobile interfaces




  type="email"        type="tel"      type="number"




        type="date"                type="url"
Forms: Native validation

• Add the required attribute to trigger a
  browser-defined error message when the
  field is left blank.
• Use the pattern attribute to specify a
  regular expression that the field value
  must match.
• These only work in browsers that support
  them; continue to back up with a script.
Native validation example
  Field with required attribute

:invalid pseudo-class:
red background




:valid pseudo-class:
green background
CSS3: New color systems

          CSS 2: red green blue (rgb)                                CSS3: red green blue alpha (rgba)
  <div style="background-color: rgb(255,0,0);"></div>       <div   style="background-color:   rgb(243,191,189);"></div>
  <div style="background-color: rgb(0,255,0);"></div>       <div   style="background-color:   rgb(246,143,142);"></div>
  <div style="background-color: rgb(0,0,255);"></div>       <div   style="background-color:   rgb(249,95,94);"></div>
                                                            <div   style="background-color:   rgb(252,47,47);"></div>
                                                            <div   style="background-color:   rgb(255,0,0);"></div>




         CSS3: hue saturation light (hsl)                          CSS3: hue saturation light alpha (hsla)
<div style="background-color: hsl(0,100%, 50%);"></div>     <div   style="background-color:   hsla(0,100%,50%,0.2);"></div>
<div style="background-color: hsl(120,100%, 50%);"></div>   <div   style="background-color:   hsla(0,100%,50%,0.4);"></div>
<div style="background-color: hsl(240,100%, 50%);"></div>   <div   style="background-color:   hsla(0,100%,50%,0.6);"></div>
                                                            <div   style="background-color:   hsla(0,100%,50%,0.8);"></div>
                                                            <div   style="background-color:   hsla(0,100%,50%,1);"></div>
CSS3: Shadows


           text-shadow: 2px -2px 5px #9393fa;




 box-shadow: 2px -2px 5px 0px rgba(63, 127, 255, 0.5);
CSS3: Rounded corners




          border-radius: 25px;
CSS3: 2D Transforms

• rotate: in degrees or turns
• translate: moves an element up, down,
  left, or right
• skew: changes alignment of one pair of
  edges; creates a non-rectangular
  parallelogram
• scale: >0 and <1 for smaller; >1 for
  larger
rotate transform

  -webkit-transform: rotateX(45deg) rotateY(45deg);
  -moz-transform: rotateX(45deg) rotateY(45deg);
  -o-transform: rotateX(45deg) rotateY(45deg);
  -ms-transform: rotateX(45deg) rotateY(45deg);
  transform: rotateX(45deg) rotateY(45deg);
translate transform

-webkit-transform: translateX(100px) translateY(-100px);
-moz-transform: translateX(100px) translateY(-100px);
-o-transform: translateX(100px) translateY(-100px);
-ms-transform: translateX(100px) translateY(-100px);
transform: translateX(100px) translateY(-100px);
skew transform
    -webkit-transform: skewX(-30deg);
    -moz-transform: skewX(-30deg);
    -o-transform: skewX(-30deg);
    -ms-transform: skewX(-30deg);
    transform: skewX(-30deg);
scale transform
   -webkit-transform: scale(0.5);
   -moz-transform: scale(0.5);
   -o-transform: scale(0.5);
   -ms-transform: scale(0.5);
   transform: scale(0.5);
CSS3: Animations

• transition property
• applies to long list of properties, including
  position, color, font-family
audio &video elements

• Current versions of all major browsers
  support native audio and video playback
• HTML5 includes the audio and video
  elements for browsers that support them,
  but they do nothing in older browsers
  (we’re looking at you, IE6, 7, and 8!)
• track element enables embedding of
  captions
video example

              <object type="application/x-shockwave-flash" data="media/bfly.swf"
              width="320" height="240">
                 <param name="movie" value="media/bfly.swf" />
HTML             <param name="wmode" value="opaque" />
                 <param name="loop" value="false" />
4.01/XHTM        <param name="play" value="false" />
L 1.1            <img src="images/bfly.png" alt="a bush with purple flowers
              covered in dark butterflies" width="320" height="240"
              title="Unfortunately, your browser isn't able to play this video."
              />
              </object>



        <video controls="controls" poster="images/bfly.png" width="320" height="240">
           <source src="media/bfly.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
HTML5      <source src="media/bfly.webm" type='video/webm; codecs="vp8, vorbis"' />
           <source src="media/bfly.ogv" type='video/ogg; codecs="theora, vorbis"' />
           <track kind="subtitles" src="subtitles.vtt" />
        </video>
Robust video example
           <video controls="controls" poster="images/bfly.png" width="320"
           height="240">
              <source src="media/bfly.m4v" type='video/mp4; codecs="avc1.42E01E,
HTML5      mp4a.40.2"' />
              <source src="media/bfly.webm" type='video/webm; codecs="vp8,
with       vorbis"' />
nested        <source src="media/bfly.ogv" type='video/ogg; codecs="theora,
fallback   vorbis"' />
code          <track kind="subtitles" src="subtitles.vtt" />
              <object type="application/x-shockwave-flash" data="media/bfly.swf"
           width="320" height="240">
                 <param name="movie" value="media/bfly.swf" />
                 <param name="wmode" value="opaque" />
                 <param name="loop" value="false" />
                 <param name="play" value="false" />
                 <img src="images/bfly.png" alt="a bush with purple flowers
           covered in dark butterflies" width="320" height="240"
           title="Unfortunately, your browser isn't able to play this video." />
              </object>
           </video>
audio &video in browsers


native video controls




native audio controls
The canvas Element

• creates a space to draw graphics using
  JavaScript




 example from https://developer.mozilla.org/en-US/docs/HTML/Canvas/Tutorial/Basic_usage?redirectlocale=en-US&redirectslug=Canvas_tutorial%2FBasic_usage
App Cache

• Lets developers cache web apps on the
  client side for offline use
Geolocation

              • Provides access to user’s
                location data
              • Canonical example: Google
                Maps
              • With a Google Maps API key, a
                business could include a
                “Directions” link on its website
                that provides directions from
                the user’s location
Web sockets

•   Baked-in replacement for AJAX
•   creates a persistent connection
•   low latency
•   near-realtime
Web Workers

• enables running scripts in the background
• do computation-intensive work without
  affecting interface scripts
• uses the Worker() constructor
3. How compatible is HTML5?

• You can use it now!
• New features in HTML5 were designed not
  to fail in older browsers.
• New elements like video and new input
  types like email won’t break older
  browsers
• BUT you have to ensure any critical
  functionality doesn’t rely on HTML5/CSS3
Browser usage
Research browser statistics for target
audience to determine which browsers you
need to support

    • statcounter.com
    • clicky.com
    • w3counter.com
Browser statistics

• Jan 2013: est. 11-14% of page views
  worldwide on IE7 or IE8
Graceful Degradation

• Test on older browsers you need to
  support
• Notice which parts of your code aren’t
  rendered the same (or at all) in an older
  browser
• Ensure everything you need convey is still
  conveyed in older browsers
Helpful Script Libraries

• Script libraries like modernizr can detect
  whether a browser supports a given
  feature, and let you specify different styling
  in older browsers.
4. What’s the future of HTML?




                  image all over the Internet; attribution not readily apparent
The W3C and WHATWG

• Both groups worked together to shape
  HTML5.
• WHATWG has moved to a continuous,
  rather than iterative, process. Their
  product is now known simply as HTML.
• W3C seems to be sticking with major
  version numbers, planning “HTML.next”.
• Upshot? Unclear, but not a showshopper.
HTML5 vs XHTML

• Some organizations still use XHTML, and
  it remains an active specification.
• HTML5 can be written to conform to
  XHTML specifications, or written more
  simply.
The future is mobile

• Desktop browsers will be with us for a
  while, but mobile web consumption is
  exploding.
• Both HTML5 and CSS3 will likely continue
  to evolve to let developers and users take
  advantage of new possibilities presented
  by mobile, handheld, and touch-enabled
  devices.
HTML5 & CSS3 resources
• caniuse.com
  browser support guide
• quirksmode.org
  browser support guide
• diveintohtml5.info                       HTML5 and CSS3
  free entry-level HTML5 book           Illustrated Introductory


• developers.whatwg.org
  HTML5 specs in an accessible format
• css3.info
  approachable guides to CSS3
  properties and usage
                                           HTML5 and CSS3
                                         Illustrated Complete

Mais conteúdo relacionado

Mais procurados

3. Sql Services 概览
3. Sql Services 概览3. Sql Services 概览
3. Sql Services 概览GaryYoung
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalMediacurrent
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Marc Grabanski
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesDeeptiJava
 
html5 an introduction
html5 an introductionhtml5 an introduction
html5 an introductionvrt-medialab
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and AccessibiityMark Meeker
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pagesNilesh Bafna
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDoris Chen
 
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenBuilding Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenOliver Ochs
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance WebsitesAaron Grogg
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Nicholas Zakas
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)Paul James
 
Using Custom Variables in Google Analytics
Using Custom Variables in Google AnalyticsUsing Custom Variables in Google Analytics
Using Custom Variables in Google AnalyticsAdrian Vender
 
The HTML Beginner Tutorial
The HTML Beginner Tutorial The HTML Beginner Tutorial
The HTML Beginner Tutorial Sukh Sandhu
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?haricot
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
 
Offline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo OfflineOffline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo Offlineguestcb5c22
 

Mais procurados (20)

3. Sql Services 概览
3. Sql Services 概览3. Sql Services 概览
3. Sql Services 概览
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)
 
Professional Css
Professional CssProfessional Css
Professional Css
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes
 
html5 an introduction
html5 an introductionhtml5 an introduction
html5 an introduction
 
03html Css
03html Css03html Css
03html Css
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and Accessibiity
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenBuilding Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
 
Using Custom Variables in Google Analytics
Using Custom Variables in Google AnalyticsUsing Custom Variables in Google Analytics
Using Custom Variables in Google Analytics
 
The HTML Beginner Tutorial
The HTML Beginner Tutorial The HTML Beginner Tutorial
The HTML Beginner Tutorial
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
Offline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo OfflineOffline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo Offline
 

Destaque

屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx
屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx
屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptxetaoux
 
Marionette: the Backbone framework
Marionette: the Backbone frameworkMarionette: the Backbone framework
Marionette: the Backbone frameworkfrontendne
 
Marionette structure with modules
Marionette structure with modulesMarionette structure with modules
Marionette structure with modulesmatt-briggs
 
一淘PPT模板_副本.pptx
一淘PPT模板_副本.pptx一淘PPT模板_副本.pptx
一淘PPT模板_副本.pptxetaoux
 
Perspectives on UX
Perspectives on UXPerspectives on UX
Perspectives on UXSkot Carruth
 
视觉风格篇__android客户端设计研究系列.pptx
视觉风格篇__android客户端设计研究系列.pptx视觉风格篇__android客户端设计研究系列.pptx
视觉风格篇__android客户端设计研究系列.pptxetaoux
 

Destaque (6)

屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx
屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx
屏幕的热区与控件的触击尺寸_为触屏手机而设计系列报告_.pptx
 
Marionette: the Backbone framework
Marionette: the Backbone frameworkMarionette: the Backbone framework
Marionette: the Backbone framework
 
Marionette structure with modules
Marionette structure with modulesMarionette structure with modules
Marionette structure with modules
 
一淘PPT模板_副本.pptx
一淘PPT模板_副本.pptx一淘PPT模板_副本.pptx
一淘PPT模板_副本.pptx
 
Perspectives on UX
Perspectives on UXPerspectives on UX
Perspectives on UX
 
视觉风格篇__android客户端设计研究系列.pptx
视觉风格篇__android客户端设计研究系列.pptx视觉风格篇__android客户端设计研究系列.pptx
视觉风格篇__android客户端设计研究系列.pptx
 

Semelhante a Course Tech 2013, Sasha Vodnik, A Crash Course in HTML5

It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrMichael Enslow
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & FriendsRemy Sharp
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopShoshi Roberts
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucksTim Wright
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3Jamshid Hashimi
 
Training Html5 -CSS3 New things
Training Html5 -CSS3 New thingsTraining Html5 -CSS3 New things
Training Html5 -CSS3 New thingsJimmy Campos
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An OverviewNagendra Um
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)Christopher Schmitt
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebGeorge Kanellopoulos
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) betaKirk Yamamoto
 

Semelhante a Course Tech 2013, Sasha Vodnik, A Crash Course in HTML5 (20)

Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Html5
Html5Html5
Html5
 
HTML5 - A Whirlwind tour
HTML5 - A Whirlwind tourHTML5 - A Whirlwind tour
HTML5 - A Whirlwind tour
 
HTML5
HTML5HTML5
HTML5
 
HTML5, the new buzzword
HTML5, the new buzzwordHTML5, the new buzzword
HTML5, the new buzzword
 
Html forfood
Html forfoodHtml forfood
Html forfood
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
HTML5: Introduction
HTML5: IntroductionHTML5: Introduction
HTML5: Introduction
 
HTML 5 & CSS 3
HTML 5 & CSS 3HTML 5 & CSS 3
HTML 5 & CSS 3
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3
 
Training Html5 -CSS3 New things
Training Html5 -CSS3 New thingsTraining Html5 -CSS3 New things
Training Html5 -CSS3 New things
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The Nextweb
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) beta
 

Mais de Cengage Learning

Discovering History Through Digital Newspaper Collection
Discovering History Through Digital Newspaper CollectionDiscovering History Through Digital Newspaper Collection
Discovering History Through Digital Newspaper CollectionCengage Learning
 
Are Your Students Ready for Lab?
Are Your Students Ready for Lab?Are Your Students Ready for Lab?
Are Your Students Ready for Lab?Cengage Learning
 
5 Course Design Tips to Increase Engagement and Outcomes
5 Course Design Tips to Increase Engagement and Outcomes5 Course Design Tips to Increase Engagement and Outcomes
5 Course Design Tips to Increase Engagement and OutcomesCengage Learning
 
The Journey to Digital: Incorporating Technology to Strengthen Critical Minds
 The Journey to Digital: Incorporating Technology to Strengthen Critical Minds The Journey to Digital: Incorporating Technology to Strengthen Critical Minds
The Journey to Digital: Incorporating Technology to Strengthen Critical MindsCengage Learning
 
Google Drive Plus TexQuest Equals a Match Made in Research Heaven
Google Drive Plus TexQuest Equals a Match Made in Research HeavenGoogle Drive Plus TexQuest Equals a Match Made in Research Heaven
Google Drive Plus TexQuest Equals a Match Made in Research HeavenCengage Learning
 
Improving Time Management: Tips that Will Help College Students Start the Yea...
Improving Time Management: Tips that Will Help College Students Start the Yea...Improving Time Management: Tips that Will Help College Students Start the Yea...
Improving Time Management: Tips that Will Help College Students Start the Yea...Cengage Learning
 
Mind Tap Open Trial Cengage Learning
Mind Tap Open Trial Cengage LearningMind Tap Open Trial Cengage Learning
Mind Tap Open Trial Cengage LearningCengage Learning
 
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...Cengage Learning
 
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 Initiative
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 InitiativeTaming the Digital Tiger: Implementing a Successful Digital or 1:1 Initiative
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 InitiativeCengage Learning
 
Decimal and Fraction Jeopardy - A Game for Developmental Math
Decimal and Fraction Jeopardy - A Game for Developmental MathDecimal and Fraction Jeopardy - A Game for Developmental Math
Decimal and Fraction Jeopardy - A Game for Developmental MathCengage Learning
 
Game it up! Introducing Game Based Learning for Developmental Math
Game it up! Introducing Game Based Learning for Developmental MathGame it up! Introducing Game Based Learning for Developmental Math
Game it up! Introducing Game Based Learning for Developmental MathCengage Learning
 
Overcoming Textbook Fatigue
Overcoming Textbook FatigueOvercoming Textbook Fatigue
Overcoming Textbook FatigueCengage Learning
 
Adult Student Success: How Does Awareness Correlate to Program Completion?
Adult Student Success: How Does Awareness Correlate to Program Completion?Adult Student Success: How Does Awareness Correlate to Program Completion?
Adult Student Success: How Does Awareness Correlate to Program Completion?Cengage Learning
 
You're responsible for teaching, and your students are resonsible for learnin...
You're responsible for teaching, and your students are resonsible for learnin...You're responsible for teaching, and your students are resonsible for learnin...
You're responsible for teaching, and your students are resonsible for learnin...Cengage Learning
 
What is the Impact of the New Standard on the Intermediate Accounting Course?
What is the Impact of the New Standard on the Intermediate Accounting Course?What is the Impact of the New Standard on the Intermediate Accounting Course?
What is the Impact of the New Standard on the Intermediate Accounting Course?Cengage Learning
 
The ABCs Approach to Goal Setting and Implementation
The ABCs Approach to Goal Setting and ImplementationThe ABCs Approach to Goal Setting and Implementation
The ABCs Approach to Goal Setting and ImplementationCengage Learning
 
Competency-based Education: Out with the new, in with the old?
Competency-based Education: Out with the new, in with the old? Competency-based Education: Out with the new, in with the old?
Competency-based Education: Out with the new, in with the old? Cengage Learning
 
Student-to-Student Learning, Powered by FlashNotes
Student-to-Student Learning, Powered by FlashNotes Student-to-Student Learning, Powered by FlashNotes
Student-to-Student Learning, Powered by FlashNotes Cengage Learning
 
Creating Career Success: A Flexible Plan for the World of Work
Creating Career Success: A Flexible Plan for the World of WorkCreating Career Success: A Flexible Plan for the World of Work
Creating Career Success: A Flexible Plan for the World of WorkCengage Learning
 
Preparing Students for Career Success
Preparing Students for Career Success Preparing Students for Career Success
Preparing Students for Career Success Cengage Learning
 

Mais de Cengage Learning (20)

Discovering History Through Digital Newspaper Collection
Discovering History Through Digital Newspaper CollectionDiscovering History Through Digital Newspaper Collection
Discovering History Through Digital Newspaper Collection
 
Are Your Students Ready for Lab?
Are Your Students Ready for Lab?Are Your Students Ready for Lab?
Are Your Students Ready for Lab?
 
5 Course Design Tips to Increase Engagement and Outcomes
5 Course Design Tips to Increase Engagement and Outcomes5 Course Design Tips to Increase Engagement and Outcomes
5 Course Design Tips to Increase Engagement and Outcomes
 
The Journey to Digital: Incorporating Technology to Strengthen Critical Minds
 The Journey to Digital: Incorporating Technology to Strengthen Critical Minds The Journey to Digital: Incorporating Technology to Strengthen Critical Minds
The Journey to Digital: Incorporating Technology to Strengthen Critical Minds
 
Google Drive Plus TexQuest Equals a Match Made in Research Heaven
Google Drive Plus TexQuest Equals a Match Made in Research HeavenGoogle Drive Plus TexQuest Equals a Match Made in Research Heaven
Google Drive Plus TexQuest Equals a Match Made in Research Heaven
 
Improving Time Management: Tips that Will Help College Students Start the Yea...
Improving Time Management: Tips that Will Help College Students Start the Yea...Improving Time Management: Tips that Will Help College Students Start the Yea...
Improving Time Management: Tips that Will Help College Students Start the Yea...
 
Mind Tap Open Trial Cengage Learning
Mind Tap Open Trial Cengage LearningMind Tap Open Trial Cengage Learning
Mind Tap Open Trial Cengage Learning
 
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...
Getting Started with Enhanced WebAssign 8/11/15 Presented by: Mike Lafreniere...
 
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 Initiative
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 InitiativeTaming the Digital Tiger: Implementing a Successful Digital or 1:1 Initiative
Taming the Digital Tiger: Implementing a Successful Digital or 1:1 Initiative
 
Decimal and Fraction Jeopardy - A Game for Developmental Math
Decimal and Fraction Jeopardy - A Game for Developmental MathDecimal and Fraction Jeopardy - A Game for Developmental Math
Decimal and Fraction Jeopardy - A Game for Developmental Math
 
Game it up! Introducing Game Based Learning for Developmental Math
Game it up! Introducing Game Based Learning for Developmental MathGame it up! Introducing Game Based Learning for Developmental Math
Game it up! Introducing Game Based Learning for Developmental Math
 
Overcoming Textbook Fatigue
Overcoming Textbook FatigueOvercoming Textbook Fatigue
Overcoming Textbook Fatigue
 
Adult Student Success: How Does Awareness Correlate to Program Completion?
Adult Student Success: How Does Awareness Correlate to Program Completion?Adult Student Success: How Does Awareness Correlate to Program Completion?
Adult Student Success: How Does Awareness Correlate to Program Completion?
 
You're responsible for teaching, and your students are resonsible for learnin...
You're responsible for teaching, and your students are resonsible for learnin...You're responsible for teaching, and your students are resonsible for learnin...
You're responsible for teaching, and your students are resonsible for learnin...
 
What is the Impact of the New Standard on the Intermediate Accounting Course?
What is the Impact of the New Standard on the Intermediate Accounting Course?What is the Impact of the New Standard on the Intermediate Accounting Course?
What is the Impact of the New Standard on the Intermediate Accounting Course?
 
The ABCs Approach to Goal Setting and Implementation
The ABCs Approach to Goal Setting and ImplementationThe ABCs Approach to Goal Setting and Implementation
The ABCs Approach to Goal Setting and Implementation
 
Competency-based Education: Out with the new, in with the old?
Competency-based Education: Out with the new, in with the old? Competency-based Education: Out with the new, in with the old?
Competency-based Education: Out with the new, in with the old?
 
Student-to-Student Learning, Powered by FlashNotes
Student-to-Student Learning, Powered by FlashNotes Student-to-Student Learning, Powered by FlashNotes
Student-to-Student Learning, Powered by FlashNotes
 
Creating Career Success: A Flexible Plan for the World of Work
Creating Career Success: A Flexible Plan for the World of WorkCreating Career Success: A Flexible Plan for the World of Work
Creating Career Success: A Flexible Plan for the World of Work
 
Preparing Students for Career Success
Preparing Students for Career Success Preparing Students for Career Success
Preparing Students for Career Success
 

Course Tech 2013, Sasha Vodnik, A Crash Course in HTML5

  • 1. A Crash Course in HTML5 Sasha Vodnik
  • 2. Agenda 1. Where did HTML5 come from? 2. What’s different in HTML5? 3. How compatible is HTML5? 4. What’s around the corner for HTML?
  • 3. 1. Where did HTML5 come from? • Web Hypertext Application Technology Working Group (WHATWG) Language HTML 2 HTML 3 HTML 4 HTML5 future XHTML 1 XHTML5 HTML WHATWG WHATW G XHTML
  • 4. 2. What’s different in HTML5? Semantics Multimedia CSS3 3D, Graphics, Effects Offline & Storage Device Access Connectivity Performance & Integration
  • 5. Simplified Syntax • DOCTYPE <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 HTML 4.01 Transitional//EN" transitional "http://www.w3.org/TR/html4/loose.dtd"> XHTML 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> HTML5 <!DOCTYPE html>
  • 6. Simplified Syntax • script element <script <script HTML 4.01/ type="text/javascript"> type="text/javascript" XHTML 1.1 … src="file.js”> </script> </script> HTML5 <script> … <script src="file.js”> </script> </script>
  • 7. Semantic Elements • Instead of the generic div element, we have article, figcaption, figure, footer, header, hgroup, nav. • In general, no different in a browser, but opens doors for predictive indexing by search engines, making content easier to find.
  • 8. Semantic example <body> <body> <div class=“navigation”> <nav> … … </div> </nav> <h1>…</h1> <h1>…</h1> <p class=“tagline”>…</p> <p class=“tagline”>…</p> <div class=“maincontent”> <article> … … </div> </article> <div class=“footer”> <footer> … … </div> </footer> </body> </body>
  • 9. Semantics: Microdata • A system for adding semantic information to specific elements. • Similar to microformats and RDFa • Main use case: marking information that can show up in Google Rich Snippets
  • 10. Microdata example <footer itemtype="http://www.data-vocabulary.org/Organization" itemscope="itemscope"> <p id="contact"> <span itemprop="name">Lakeland Reeds Bed &amp; Breakfast</span> <img src="images/flourish.gif" width="16" height="16" alt="" /> <span itemprop="address" itemscope="itemscope" itemtype="http://data-vocabulary.org/Address"> <span itemprop="street-address">45 Marsh Grass Ln.</span> <img src="images/flourish.gif" width="16" height="16" alt="" /> <span itemprop="locality">Marble</span>, <span itemprop="region">MN</span> <span itemprop="postal-code">55764</span> <img src="images/flourish.gif" width="16" height="16" alt="" /> <span itemprop="tel">(218) 555-5253</span> </span> title element </p> content </footer> Room selection at Lakeland Reeds Bed & Breakfast content marked Marble, MN - (218) 555-5253 as microdata Lakeland Reeds Bed & Breakfast offers 4 comfortable rooms that accommodate from 2 to 5 people. All have meta element private baths and views of Twin Lakes. content www.example.com URL Google rich snippet incorporating microdata
  • 11. Forms: New input types • Instead of type="text", you can set the type attribute to email, color, range, time, date, url, search, number, or tel • No issues with backward compatibility, because older browsers assume a value of text when they don’t understand the type value.
  • 12. Forms: New input types • Indispensable for mobile interfaces type="email" type="tel" type="number" type="date" type="url"
  • 13. Forms: Native validation • Add the required attribute to trigger a browser-defined error message when the field is left blank. • Use the pattern attribute to specify a regular expression that the field value must match. • These only work in browsers that support them; continue to back up with a script.
  • 14. Native validation example Field with required attribute :invalid pseudo-class: red background :valid pseudo-class: green background
  • 15. CSS3: New color systems CSS 2: red green blue (rgb) CSS3: red green blue alpha (rgba) <div style="background-color: rgb(255,0,0);"></div> <div style="background-color: rgb(243,191,189);"></div> <div style="background-color: rgb(0,255,0);"></div> <div style="background-color: rgb(246,143,142);"></div> <div style="background-color: rgb(0,0,255);"></div> <div style="background-color: rgb(249,95,94);"></div> <div style="background-color: rgb(252,47,47);"></div> <div style="background-color: rgb(255,0,0);"></div> CSS3: hue saturation light (hsl) CSS3: hue saturation light alpha (hsla) <div style="background-color: hsl(0,100%, 50%);"></div> <div style="background-color: hsla(0,100%,50%,0.2);"></div> <div style="background-color: hsl(120,100%, 50%);"></div> <div style="background-color: hsla(0,100%,50%,0.4);"></div> <div style="background-color: hsl(240,100%, 50%);"></div> <div style="background-color: hsla(0,100%,50%,0.6);"></div> <div style="background-color: hsla(0,100%,50%,0.8);"></div> <div style="background-color: hsla(0,100%,50%,1);"></div>
  • 16. CSS3: Shadows text-shadow: 2px -2px 5px #9393fa; box-shadow: 2px -2px 5px 0px rgba(63, 127, 255, 0.5);
  • 17. CSS3: Rounded corners border-radius: 25px;
  • 18. CSS3: 2D Transforms • rotate: in degrees or turns • translate: moves an element up, down, left, or right • skew: changes alignment of one pair of edges; creates a non-rectangular parallelogram • scale: >0 and <1 for smaller; >1 for larger
  • 19. rotate transform -webkit-transform: rotateX(45deg) rotateY(45deg); -moz-transform: rotateX(45deg) rotateY(45deg); -o-transform: rotateX(45deg) rotateY(45deg); -ms-transform: rotateX(45deg) rotateY(45deg); transform: rotateX(45deg) rotateY(45deg);
  • 20. translate transform -webkit-transform: translateX(100px) translateY(-100px); -moz-transform: translateX(100px) translateY(-100px); -o-transform: translateX(100px) translateY(-100px); -ms-transform: translateX(100px) translateY(-100px); transform: translateX(100px) translateY(-100px);
  • 21. skew transform -webkit-transform: skewX(-30deg); -moz-transform: skewX(-30deg); -o-transform: skewX(-30deg); -ms-transform: skewX(-30deg); transform: skewX(-30deg);
  • 22. scale transform -webkit-transform: scale(0.5); -moz-transform: scale(0.5); -o-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5);
  • 23. CSS3: Animations • transition property • applies to long list of properties, including position, color, font-family
  • 24. audio &video elements • Current versions of all major browsers support native audio and video playback • HTML5 includes the audio and video elements for browsers that support them, but they do nothing in older browsers (we’re looking at you, IE6, 7, and 8!) • track element enables embedding of captions
  • 25. video example <object type="application/x-shockwave-flash" data="media/bfly.swf" width="320" height="240"> <param name="movie" value="media/bfly.swf" /> HTML <param name="wmode" value="opaque" /> <param name="loop" value="false" /> 4.01/XHTM <param name="play" value="false" /> L 1.1 <img src="images/bfly.png" alt="a bush with purple flowers covered in dark butterflies" width="320" height="240" title="Unfortunately, your browser isn't able to play this video." /> </object> <video controls="controls" poster="images/bfly.png" width="320" height="240"> <source src="media/bfly.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> HTML5 <source src="media/bfly.webm" type='video/webm; codecs="vp8, vorbis"' /> <source src="media/bfly.ogv" type='video/ogg; codecs="theora, vorbis"' /> <track kind="subtitles" src="subtitles.vtt" /> </video>
  • 26. Robust video example <video controls="controls" poster="images/bfly.png" width="320" height="240"> <source src="media/bfly.m4v" type='video/mp4; codecs="avc1.42E01E, HTML5 mp4a.40.2"' /> <source src="media/bfly.webm" type='video/webm; codecs="vp8, with vorbis"' /> nested <source src="media/bfly.ogv" type='video/ogg; codecs="theora, fallback vorbis"' /> code <track kind="subtitles" src="subtitles.vtt" /> <object type="application/x-shockwave-flash" data="media/bfly.swf" width="320" height="240"> <param name="movie" value="media/bfly.swf" /> <param name="wmode" value="opaque" /> <param name="loop" value="false" /> <param name="play" value="false" /> <img src="images/bfly.png" alt="a bush with purple flowers covered in dark butterflies" width="320" height="240" title="Unfortunately, your browser isn't able to play this video." /> </object> </video>
  • 27. audio &video in browsers native video controls native audio controls
  • 28. The canvas Element • creates a space to draw graphics using JavaScript example from https://developer.mozilla.org/en-US/docs/HTML/Canvas/Tutorial/Basic_usage?redirectlocale=en-US&redirectslug=Canvas_tutorial%2FBasic_usage
  • 29. App Cache • Lets developers cache web apps on the client side for offline use
  • 30. Geolocation • Provides access to user’s location data • Canonical example: Google Maps • With a Google Maps API key, a business could include a “Directions” link on its website that provides directions from the user’s location
  • 31. Web sockets • Baked-in replacement for AJAX • creates a persistent connection • low latency • near-realtime
  • 32. Web Workers • enables running scripts in the background • do computation-intensive work without affecting interface scripts • uses the Worker() constructor
  • 33. 3. How compatible is HTML5? • You can use it now! • New features in HTML5 were designed not to fail in older browsers. • New elements like video and new input types like email won’t break older browsers • BUT you have to ensure any critical functionality doesn’t rely on HTML5/CSS3
  • 34. Browser usage Research browser statistics for target audience to determine which browsers you need to support • statcounter.com • clicky.com • w3counter.com
  • 35. Browser statistics • Jan 2013: est. 11-14% of page views worldwide on IE7 or IE8
  • 36. Graceful Degradation • Test on older browsers you need to support • Notice which parts of your code aren’t rendered the same (or at all) in an older browser • Ensure everything you need convey is still conveyed in older browsers
  • 37. Helpful Script Libraries • Script libraries like modernizr can detect whether a browser supports a given feature, and let you specify different styling in older browsers.
  • 38. 4. What’s the future of HTML? image all over the Internet; attribution not readily apparent
  • 39. The W3C and WHATWG • Both groups worked together to shape HTML5. • WHATWG has moved to a continuous, rather than iterative, process. Their product is now known simply as HTML. • W3C seems to be sticking with major version numbers, planning “HTML.next”. • Upshot? Unclear, but not a showshopper.
  • 40. HTML5 vs XHTML • Some organizations still use XHTML, and it remains an active specification. • HTML5 can be written to conform to XHTML specifications, or written more simply.
  • 41. The future is mobile • Desktop browsers will be with us for a while, but mobile web consumption is exploding. • Both HTML5 and CSS3 will likely continue to evolve to let developers and users take advantage of new possibilities presented by mobile, handheld, and touch-enabled devices.
  • 42. HTML5 & CSS3 resources • caniuse.com browser support guide • quirksmode.org browser support guide • diveintohtml5.info HTML5 and CSS3 free entry-level HTML5 book Illustrated Introductory • developers.whatwg.org HTML5 specs in an accessible format • css3.info approachable guides to CSS3 properties and usage HTML5 and CSS3 Illustrated Complete

Notas do Editor

  1. Show code, replace a few divs with semantics
  2. Show code, replace a few divs with semantics
  3. Add Figures N-6 and N-7 to this slideOr maybe show restaurant info for San Diego?
  4. Add images of mobile keyboards displayed for email (@ and . And .com) and tel (number pad) values
  5. demo with Mozilla thimble or CSS3generator.comyou can use any color systemhoriz length vertical length blur radius (spread) color
  6. http://www.westciv.com/tools/3Dtransforms/index.html
  7. http://www.westciv.com/tools/3Dtransforms/index.htmlcan also use rotate(x,y)
  8. http://www.westciv.com/tools/3Dtransforms/index.htmlcan also use translate(x,y)
  9. http://www.westciv.com/tools/3Dtransforms/index.htmlcan also use translate(x,y)
  10. http://www.westciv.com/tools/3Dtransforms/index.htmlcan also use translate(x,y)
  11. show demo on http://css3.bradshawenterprises.com/transitions/
  12. Show code for an old embedded video, then show newer code for video element
  13. Show code for an old embedded video, then show newer code for video element
  14. Show code for an old embedded video, then show newer code for video element
  15. Show code for an old embedded video, then show newer code for video element
  16. show http://www.google.com/doodles/alexander-calders-113th-birthday as demo of awesomeness possible
  17. talk about IE6-based corporate environments vs latest/greatest browsers for high-tech focused websites
  18. Show a Lakeland Reeds page in IE7 and Safari
  19. This code usesmodernizr to detect whether a user’s browser supports the placeholder attribute for the input element. If not, this script generates placeholder text using JavaScript.
  20. Show a graph of market share/usage of mobile browsers and call out the older ones?