SlideShare une entreprise Scribd logo
1  sur  108
Télécharger pour lire hors ligne
HTML 5: The Future of the
                         Web
                                Tim Wright | csskarma.com | @csskarma




Friday, July 23, 2010                                               1
A Brief Introduction
              •         University of Southern California Web Services

              •         CSSKarma

              •         Smashing Magazine & SitePoint


                             csskarma.com/presentations/penn




Friday, July 23, 2010                                                    2
The Goal.




Friday, July 23, 2010               3
What we’ll cover
                        •   What is it?

                        •   Living in the past

                        •   Debunking some rumors

                        •   New Attributes & Elements

                        •   Audio & Video APIs




Friday, July 23, 2010                                   4
What else we’ll cover
                        •   Forms

                        •   Accessibility

                        •   Geolocation

                        •   HTML 5 Storage & sockets

                        •   Browser & Device Support

                        •   Current Events


Friday, July 23, 2010                                  5
HTML 5 = Markup + JS APIs




Friday, July 23, 2010               6
Quick History
                  1991 - Informal HTML        1998 - CSS 2

                  1994 - HTML 2               2000 - XHTML 1

                  1996 - CSS 1 & JavaScript   2002 - Tableless designs

                  1997 - HTML 4               2005 - Ajax

                                              2009 - HTML 5




Friday, July 23, 2010                                                    7
Is HTML 5 Ready?




                                 via ishtml5readyyet.com




Friday, July 23, 2010                                      8
The real scoop
                  •     Last call for a working draft: Oct. 2009

                  •     Candidate recommendation: 2012

                        •   finished spec

                  •     Proposed recommendation: 2022

                        •   2 browsers with full implementation



                                                                   via adactio.com
Friday, July 23, 2010                                                            9
Browser-based usage




Friday, July 23, 2010                         10
Let’s dig around...




Friday, July 23, 2010                         11
What has changed
                              ...everything is lighter




Friday, July 23, 2010                                    12
<!DOCTYPE html>
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
                      Transitional//EN" "http://www.w3.org/TR/
                        xhtml1/DTD/xhtml1-transitional.dtd">


                          •   Why not html5?

                          •   Technically optional




Friday, July 23, 2010                                              13
<meta charset=”utf-8”>
              HTML 4.01
              <meta http-equiv=”Content-Type” content=”text/
              html; charset=utf-8”>

              XHTML 1.0
              <meta http-equiv="Content-Type" content="text/
              html; charset=utf-8" />




                                                               via adactio.com
Friday, July 23, 2010                                                        14
Script & Style
                  Before:
                  <script type=”text/javascript”></script>
                  <style type=”text/css”></style>



                  After:
                  <script></script>
                  <style></style>




Friday, July 23, 2010                                        15
Link relations
                        • <link rel=”icon”
                        • <link rel=”prefetch”
                        • <link rel=”pingback”
                        • <a rel=”external”
                        • <a rel=”tag”




Friday, July 23, 2010                            16
Notable changes
                        Block-level anchors

                        Presentational elements like <i>, <b>,
                        <cite> & <small> redefined




Friday, July 23, 2010                                            17
What was removed
                        Annoying elements: <font>, <big>
                        (but not small), <center>,
                        <frame>, <acronym>

                        Weird attributes we don’t use: bgcolor,
                        axis, border, summary




                                                                  via adactio.com
Friday, July 23, 2010                                                           18
Markup freedom
            <li class="foo">Hello world</li>
            <img src="barf.jpg" alt="picture of vomit" />

            <li class=foo>Hello world
            <img src=barf.jpg alt=picture of vomit>

            <LI CLASS="foo">Hello world</LI>
            <IMG SRC="barf.jpg" ALT="picture of vomit">

            <li class=foo>Hello world</li>
            <img src=foo alt=bar>




                                                            via adactio.com
Friday, July 23, 2010                                                     19
New...building robust applications
                             Attributes



Friday, July 23, 2010                                        20
Editing content

                        <div contentEditable=”true”></div>




Friday, July 23, 2010                                        21
Spellcheck

                        <div spellcheck=”true”></div>




Friday, July 23, 2010                                   22
Hiding elements
                          <div hidden></div>




Friday, July 23, 2010                          23
Easy drag and drop
                         <div draggable=”true”></div>




                 document.addEventListener('dragstart',
                 function(event) {
                    alert(‘drag started’);
                 }, false);




Friday, July 23, 2010                                     24
Microdata
          <section class="vcard" id="hCard-Ricardo-
          Montalban" itemscope="itemscope"
          itemtype="http://www.data-vocabulary.org/
          Person">

          <p itemprop=”name” class=”fn”>Ricardo
          Montalban</p>

          <p itemprop=”nickname” class=”nickname”>Ricky</
          p>

          </section>




Friday, July 23, 2010                                       25
Embedding data-*
       <section data-latitude=”38.254” data-
       longitude=”85.72”>
           [ content ]
       </section>


       Data for the application to consume




Friday, July 23, 2010                          26
Structural Elements
                                ...some new semantics




Friday, July 23, 2010                                   27
Sectioning content
                        <header
                        <footer
                        <nav
                        <aside
                        <section
                        <article
                        <hgroup




Friday, July 23, 2010                          28
<header> & <footer>
                        <header>
                          <h1>Awesome web site</h1>
                        </header>

                        <footer>
                          <p>some site information</p>
                        </footer>




Friday, July 23, 2010                                    29
<nav>
            <nav>
            <ul>
                        <li><a href=”/”>Home</li>
                        <li><a href=”/about”>About</li>
                        <li><a href=”/contact”>Contact</li>
            </ul>
            </nav>




Friday, July 23, 2010                                         30
<aside>
                        <aside>
                          <p>This is content related to the
                          main content, maybe related links of
                          a pull-quote?</p>
                        </aside>




Friday, July 23, 2010                                            31
<section> vs. <div>
                        <section>
                          <p>Contributes to the overall outline
                          of the page & related content</p>
                        </section>




Friday, July 23, 2010                                             32
<article> & <hgroup>
                        <article>
                          <hgroup>
                              <h1>How to skin a cat</h1>
                              <h2>By Jimmy Rollins</h2>
                          </hgroup>
                          <h3>Buy a knife</h3>
                          <p>The article here</p>
                        </article>




Friday, July 23, 2010                                      33
Text-level semantics
                        <figure
                        <figcaption
                        <mark
                        <time
                        <progress




Friday, July 23, 2010                           34
<figure> & <figcaption>
                <figure>
                <img src=”fungi.png” alt=”shower mold”>
                <figcaption>
                  <p>This is mold in my shower, it’s
                  gross</p>
                </figcaption>
                </figure>




Friday, July 23, 2010                                     35
<time> & <mark>
                <time datetime=”13:15”>1:15pm EDT</time>

                This is a <mark>search term</mark>
                highlighter




Friday, July 23, 2010                                      36
<progress>
                Your file is <progress>50%</progress>
                uploaded




Friday, July 23, 2010                                   37
Audio & Video APIs
                              ...filetype matters, apparently




Friday, July 23, 2010                                           38
Audio
                        <audio src=”hey_jude.ogg”>




Friday, July 23, 2010                                39
Audio
         <audio src=”hey_jude.ogg” controls autoplay
         preload>




Friday, July 23, 2010                                  40
Audio
       <audio controls autoplay loop preload=”off”>
           <src=”hey_jude.mp3”> /* webkit */
           <src=”hey_jude.ogg”> /* gecko */
           Your browser stinks   /* jerks */
       </audio>




                        http://media.io/


Friday, July 23, 2010                                 41
Video
       <video controls autoplay poster=”titlescreen.jpg”>
            <src=”monkey.ogv”>
            <src=”monkey.mp4”>
            Your browser still stinks
       </video>




Friday, July 23, 2010                                       42
Fallbacks
                        <video controls autoplay>
                            <src=”monkey.ogv”>
                            <src=”monkey.mp4”>
                             [ flash fallback ]
                             [ text fallback ]
                        </video>


                        Mobile solution?




Friday, July 23, 2010                               43
A/V Controls (play)
                           <p id=”play”>Play</p>




Friday, July 23, 2010                              44
A/V Controls (play)
                        var video = $('#video');
                        var play = $('#play');

                        play.click(function(){
                            if (video.paused == false) {
                                 video.pause();
                                 $(this).text(‘play’);
                             } else {
                                 video.play();
                                 $(this).text(‘pause’);
                             }
                        });




Friday, July 23, 2010                                      45
A/V Controls
                        Let’s see one:
                        http://www.broken-links.com/tests/video/




Friday, July 23, 2010                                              46
HTML...inputs & validation
                              5 Forms



Friday, July 23, 2010                                47
Labeling attributes
            <input      type=”email”>
            <input      type=”url” placeholder=”http://”>
            <input      type=”number” step=”2” min=”10” max=”50”>
            <input      type=”color”>
            <input      type=”range”>
            <input      type=”date”>
            <input      type=”search” autocomplete=”off”>




Friday, July 23, 2010                                               48
More attr & validation
                <input type=”search”>


                <input type=”text” autofocus required>
                             document.getElementById(“q”).focus();




Friday, July 23, 2010                                                49
Custom inputs
                   <input type=”zip” pattern=”regex pattern”
                             required name=”zip”>




Friday, July 23, 2010                                          50
Let’s see one
                        http://www.csskarma.com/lab/demomachine/




Friday, July 23, 2010                                              51
Degradation & Benefits
                        Degrades to a text box

                        Increased usability & conversion rates

                        Easier styling with attribute selectors

                        Easy validation & less spam



Friday, July 23, 2010                                             52
Accessibility
                             Built-in vs. Bolt-on




Friday, July 23, 2010                               53
Built-in accessibility
                        header, footer, nav, article, aside




Friday, July 23, 2010                                         54
Bolt-on accessibility
   <header role=”banner”>
   <ul role=”menu”>
   <li role=”menuitem”>
   <article role=”main”>
   <aside role=”complementary”>
   <footer role=”contentinfo”>




Friday, July 23, 2010                           55
Bolt-on accessibility
          <section aria-atomic=”true” aria-live=”polite”>

          <input aria-required=”true”>


          *HTML5 valid*


                           http://reader.usc.edu/dev/



Friday, July 23, 2010                                       56
I wanna use...menow!
                                     it too



Friday, July 23, 2010                          57
Class names
                        <div class=”header”></div>

                        <div class=”article”></div>

                        <div class=”aside”></div>

                        <div class=”footer”></div>




Friday, July 23, 2010                                 58
Styles
                        article, aside, details, figure,
                        footer, header, hgroup, nav, section {
                          display: block;
                        }




Friday, July 23, 2010                                            59
CreateElement
             <script>
                  document.createElement(‘header’);
                  document.createElement(‘nav’);
                  document.createElement(‘section’);
                  document.createElement(‘article’);
                  document.createElement(‘footer’);
             </script>




Friday, July 23, 2010                                  60
HTML Shiv       by: Remy Sharp
       <!--[if IE]>
       <script src="http://html5shiv.googlecode.com/
       svn/trunk/html5.js">
       </script>
       <![endif]-->




                        http://html5shiv.googlecode.com/svn/trunk/html5.js

Friday, July 23, 2010                                                        61
Server-side JavaScript
                        •   Jaxer

                        •   Creating element in the DOM




Friday, July 23, 2010                                     62
Moving forward
                  Options for moving forward

                  •     doctype & aria roles

                  •     doctype -> class names -> aria roles

                  •     doctype -> new elements -> aria roles

                  •     Client-side JS

                  •     Server-side JS


Friday, July 23, 2010                                           63
The New kids will love it
                             ...the
                                    Web



Friday, July 23, 2010                               64
Old <head>
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//
     EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
     transitional.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml" lang="en"
     xml:lang="en">
     <head>
     <meta http-equiv="Content-Type" content="text/html;
     charset=utf-8" />
     <meta name="description" content="html 5 demo" />
     <meta name="keywords" content="example, web site, html5" />
     <title>Title</title>
     <link rel="icon" href="favicon.ico" type="image/x-icon" />
     <link href="website.css" rel="stylesheet" type="text/css"
     media="all" />
     <script type=”text/javascript” src=”website.js”></script>
     </head>



Friday, July 23, 2010                                              65
New <head>
     <!DOCTYPE html>
     <html lang=”en”>
     <head>
     <meta charset=”utf-8”>
     <meta name=”description” content=”html 5 demo”>
     <meta name=”keywords” content=”example, website, html5”>

     <title>Title</title>
     <link rel=”icon” href=”favicon.ico”>
     <link rel=”preftech” href=”nextpage.html”>
     <link href=”website.css” rel=”stylesheet” media=”all”>
     <script src=”website.js”></script>

     </head>




Friday, July 23, 2010                                           66
Old <body>
     <body>
     <div id=”header”><h1><a href=”/”>Site Title</a></
     h1></div>
     <div id=”nav”>
     <ul>
          <li><a href=”/about”>About</a></li>
     </ul>
     </div>
     <div id=”content”></div>
     <div id=”sidebar”></div>
     <div id=”footer”></div>
     </body>




Friday, July 23, 2010                                    67
New <body>
     <body>
     <header role=”banner”><h1><a href=”/”>Site Title</a></
     h1></header>
     <nav>
         <ul role=”menu”>
             <li role=”menuitem”><a href=”#”>About</a></li>
         </ul>
     </nav>
     <article role=”main”></article>
     <aside role=”complimentary”></aside>
     <footer role=”contentinfo”></footer>
     </body>




Friday, July 23, 2010                                         68
Old <form>
     <form action=”” method=”post”>
     <label for=”name”>Name</label>
     <input type=”text” name=”name” id=”name”/>

     <label for=”email”>E-mail</label>
     <input type=”text” name=”email” id=”email”/>

     <label for=”url”>URL</label>
     <input type=”text” name=”url” id=”url”/>

     <button type=”submit”>Submit</button>
     </form>




Friday, July 23, 2010                               69
New <form>
     <form action=”” method=”post”>
     <label for=”name”>Name</label>
     <input type=”text” name=”name” id=”name” required autofocus>

     <label for=”email”>E-mail</label>
     <input type=”email” name=”email” id=”email” required>

     <label for=”url”>URL</label>
     <input type=”url” name=”url” id=”url” placeholder=”http://”
     required>

     <button type=”submit”>Submit</button>
     </form>




Friday, July 23, 2010                                               70
Old <video> (?)
     <object width="640" height="385"><param name="movie"
     value="video.swf"></param><param
     name="allowFullScreen" value="true"></param><param
     name="allowscriptaccess" value="always"></
     param><embed src="video.swf" type="application/x-
     shockwave-flash" allowscriptaccess="always"
     allowfullscreen="true" width="640" height="385"></
     embed></object>




Friday, July 23, 2010                                       71
New <video>
          <video src=”video.mp4” controls preload>




Friday, July 23, 2010                                72
What does clean mean?
                        •   Reduced page weight

                        •   Speed & Responsiveness

                        •   Higher conversions

                        •   Better usability

                        •   Happy users

                        •   Device development


Friday, July 23, 2010                                73
New JavaScript
                             ...and Ninja-like qualities




Friday, July 23, 2010                                      74
New JavaScript
                Finding elements by class (DOM API)
                document.getElementbyClassname(“skipmenu”);

                Finding elements by CSS syntax (selectors API)
                document.querySelectorAll(“#nav ul > li”);

                document.querySelector(“:hover”);



                <li class=foo>Hello world</li>
                <img src=foo alt=bar>




Friday, July 23, 2010                                            75
classList API
           var element = $(‘div’);

           element.classList.add(‘class-name’);
           element.classList.remove(‘class-name’);
           element.classList.toggle(‘class-name’);




                                                     via davidwalsh.name
Friday, July 23, 2010                                                 76
Geolocationbut still way cool
                        Not actually HTML5,




Friday, July 23, 2010                                   77
Data Sources
                          • GPS
                          • Cellular Network
                          • IP




Friday, July 23, 2010                          78
Information
                        •   Latitude
                        •   Longitude
                        •   Accuracy
                        •   Altitude
                        •   Altitude Accuracy
                        •   Heading
                        •   Timestamp
                        •   Speed




Friday, July 23, 2010                           79
Privacy




Friday, July 23, 2010             80
Getting the data
           function youAreHere(position){
              var youAreHere = {
                   latitude          : position.coords.latitude,
                   longitude         : position.coords.longitude,
                   accuracy          : position.coords.accuracy, // meters
                   speed             : position.coords.speed, // mps
                   altitude          : position.coords.altitude,
                   altitudeAccuracy : position.coords.altitudeAccuracy,
                   heading           : position.coords.heading, // degrees
                   timestamp         : position.timestamp
              };
           }




Friday, July 23, 2010                                                        81
Error Handling
           function geoErrors(error){
              if(error.code === 1){
                 $('ul').html('<li>Data not shared by user</li>');
              } else if(error.code === 2){
                 $('ul').html('<li>Data not available for some reason</li>');
              } else if(error.code === 3){
                 $('ul').html('<li>Connection timed out</li>');
              } else if(error.code === 0){
                 $('ul').html('<li>Something else happened</li>');
              }
           }




Friday, July 23, 2010                                                           82
Usage
           if(navigator.geolocation){
                    navigator.geolocation.getCurrentPosition(youAreHere,
              geoErrors,
                 {
                 enableHighAccuracy: true, // increases load time
                 maximumAge:60000, // 10 mins
                 timeout:0 // check the cache first
                 });
           }




Friday, July 23, 2010                                                      83
Let’s see one
                        http://www.csskarma.com/lab/html5/geo/




Friday, July 23, 2010                                            84
Great examples




Friday, July 23, 2010                    85
Storage & Sockets
                                ..set it and forget it




Friday, July 23, 2010                                    86
Local Storage
                         • Persistent to the browser
                         • Super cookies




Friday, July 23, 2010                                  87
Local Storage (setting)
                        var edit = document.getElementById('edit');
                        !
                        $(edit).blur(function() {
                        ! localStorage.setItem('todoData',
                        this.innerHTML);
                        });




Friday, July 23, 2010                                                 88
Local Storage (getting)
                    if ( localStorage.getItem('todoData') ) {
                      edit.innerHTML = localStorage.getItem
                      ('todoData');
                    }




Friday, July 23, 2010                                           89
Local Storage (forgetting)
       <p><a href=”#clear” id=”clear”>Clear storage</a></p>


       $('#clear').click(function(){
       ! ! localStorage.clear();
       ! ! location.reload(true);
       ! ! return false;
       ! });




Friday, July 23, 2010                                         90
Local Storage (demo)
                        http://www.csskarma.com/lab/html5/localstorage/

                             Using:
                             contentEditable=”true”
                             localStorage.setItem()
                             localStorage.getItem()
                             localStorage.clear()




Friday, July 23, 2010                                                     91
Web Sockets
       Bi-directional, full-duplex communications channels,
       over a single TCP socket, designed to be implemented
       in Web browsers and Web servers.

       http://dev.w3.org/html5/websockets/




Friday, July 23, 2010                                         92
Support



Friday, July 23, 2010             93
Active browsers




Friday, July 23, 2010                     94
Browser support
                             CanIUse.com




                              HTML5test.com



Friday, July 23, 2010                         95
Modern mobile devices




Friday, July 23, 2010                           96
Effects on mobile




Friday, July 23, 2010                       97
Current Events



Friday, July 23, 2010                    98
WebM video format
           High-quality open video format

           YouTube for compression over ogg (.ogv)

           IE9, Chrome, Firefox & Opera support

           WebM converter -> mirovideoconverter.com



Friday, July 23, 2010                                 99
New <track> Element



Friday, July 23, 2010                         100
Resources



Friday, July 23, 2010               101
Resources
                        •   webmproject.org

                        •   HTML5Doctor.com

                        •   HTML5gallery.com

                        •   data-vocabulary.org

                        •   WHATWG.org

                        •   HTML5 for Designers


Friday, July 23, 2010                             102
What we covered
                        •   What is it?

                        •   Living in the past

                        •   Debunking some rumors

                        •   New Attributes & Elements

                        •   Audio & Video APIs




Friday, July 23, 2010                                   103
What we covered (cont.)
                        •   Forms

                        •   Accessibility

                        •   Geolocation

                        •   HTML 5 Storage & sockets

                        •   Browser & Device Support

                        •   Current Events


Friday, July 23, 2010                                  104
Steal my work




                        csskarma.com/presentations/penn/


Friday, July 23, 2010                                      105
“Never memorize
                something you that can
                      look up”
                 - Albert Einstein



Friday, July 23, 2010                    106
Questions?



Friday, July 23, 2010                107
Find me online
                        e-mail: timwright@csskarma.com
                        web: http://www.csskarma.com
                        twitter: @csskarma




                                               </presentation>



Friday, July 23, 2010                                            108

Contenu connexe

Tendances

Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSgjj391
 
Custom YUI Widgets
Custom YUI WidgetsCustom YUI Widgets
Custom YUI Widgetscyrildoussin
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
Large problems, Mostly Solved
Large problems, Mostly SolvedLarge problems, Mostly Solved
Large problems, Mostly Solvedericholscher
 
BitcoinJS Webtuesday Presentation
BitcoinJS Webtuesday PresentationBitcoinJS Webtuesday Presentation
BitcoinJS Webtuesday Presentationjustmoon
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmqAlvaro Videla
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
 
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...Paolo Massa
 
Idiots guide to jquery
Idiots guide to jqueryIdiots guide to jquery
Idiots guide to jqueryMark Casias
 
Cook Up a Runtime with The New OSGi Resolver - Neil Bartlett
Cook Up a Runtime with The New OSGi Resolver - Neil BartlettCook Up a Runtime with The New OSGi Resolver - Neil Bartlett
Cook Up a Runtime with The New OSGi Resolver - Neil Bartlettmfrancis
 

Tendances (12)

Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJS
 
Custom YUI Widgets
Custom YUI WidgetsCustom YUI Widgets
Custom YUI Widgets
 
WSGI, Django, Gunicorn
WSGI, Django, GunicornWSGI, Django, Gunicorn
WSGI, Django, Gunicorn
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Large problems, Mostly Solved
Large problems, Mostly SolvedLarge problems, Mostly Solved
Large problems, Mostly Solved
 
BitcoinJS Webtuesday Presentation
BitcoinJS Webtuesday PresentationBitcoinJS Webtuesday Presentation
BitcoinJS Webtuesday Presentation
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmq
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
 
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...
Social networks of Wikipedia - Paolo Massa - Presentation at (2011). ACM Hype...
 
Things to use, find and share
Things to use, find and shareThings to use, find and share
Things to use, find and share
 
Idiots guide to jquery
Idiots guide to jqueryIdiots guide to jquery
Idiots guide to jquery
 
Cook Up a Runtime with The New OSGi Resolver - Neil Bartlett
Cook Up a Runtime with The New OSGi Resolver - Neil BartlettCook Up a Runtime with The New OSGi Resolver - Neil Bartlett
Cook Up a Runtime with The New OSGi Resolver - Neil Bartlett
 

En vedette

Academic Position in Quantum Chemistry of Electronically Excited States
Academic Position in Quantum Chemistry of Electronically Excited StatesAcademic Position in Quantum Chemistry of Electronically Excited States
Academic Position in Quantum Chemistry of Electronically Excited Statesxrqtchemistry
 
Grow Your Business with Email Marketing Chelmsford
Grow Your Business with Email Marketing ChelmsfordGrow Your Business with Email Marketing Chelmsford
Grow Your Business with Email Marketing Chelmsfordlittle green plane
 
Harmonic drive hpn brochure
Harmonic drive hpn brochureHarmonic drive hpn brochure
Harmonic drive hpn brochureElectromate
 
Addressing gaps in clinically useful evidence on potential drug-drug interact...
Addressing gaps in clinically useful evidence on potential drug-drug interact...Addressing gaps in clinically useful evidence on potential drug-drug interact...
Addressing gaps in clinically useful evidence on potential drug-drug interact...Richard Boyce, PhD
 
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0FIPsport
 
Resumen Ejecutivo . Teens 2010 castellano
Resumen Ejecutivo . Teens 2010 castellanoResumen Ejecutivo . Teens 2010 castellano
Resumen Ejecutivo . Teens 2010 castellanoDigital Pymes
 
Thesis - Campus Knowledge of eSports
Thesis - Campus Knowledge of eSportsThesis - Campus Knowledge of eSports
Thesis - Campus Knowledge of eSportsKenny Sugishita
 
A present history of critical GIS
A present history of critical GISA present history of critical GIS
A present history of critical GISMatthew Wilson
 
Microcontroller architecture programming and interfacing
Microcontroller architecture programming and interfacingMicrocontroller architecture programming and interfacing
Microcontroller architecture programming and interfacingthejasmeetsingh
 
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenMichael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenPostgresOpen
 

En vedette (20)

Academic Position in Quantum Chemistry of Electronically Excited States
Academic Position in Quantum Chemistry of Electronically Excited StatesAcademic Position in Quantum Chemistry of Electronically Excited States
Academic Position in Quantum Chemistry of Electronically Excited States
 
Grow Your Business with Email Marketing Chelmsford
Grow Your Business with Email Marketing ChelmsfordGrow Your Business with Email Marketing Chelmsford
Grow Your Business with Email Marketing Chelmsford
 
Organización y funcionamiento - CEIP (2010)
Organización y funcionamiento - CEIP (2010)Organización y funcionamiento - CEIP (2010)
Organización y funcionamiento - CEIP (2010)
 
Annual Report 13.14
Annual Report 13.14Annual Report 13.14
Annual Report 13.14
 
Cátedra de cultura ciudadana
Cátedra de cultura ciudadanaCátedra de cultura ciudadana
Cátedra de cultura ciudadana
 
Harmonic drive hpn brochure
Harmonic drive hpn brochureHarmonic drive hpn brochure
Harmonic drive hpn brochure
 
Presentacion del ceat 2005
Presentacion del ceat 2005Presentacion del ceat 2005
Presentacion del ceat 2005
 
Addressing gaps in clinically useful evidence on potential drug-drug interact...
Addressing gaps in clinically useful evidence on potential drug-drug interact...Addressing gaps in clinically useful evidence on potential drug-drug interact...
Addressing gaps in clinically useful evidence on potential drug-drug interact...
 
Agua para unesco
Agua para unescoAgua para unesco
Agua para unesco
 
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0
FICHA TÉCNICA ELECTROESTIMULADOR COMPEX SP 4.0
 
Resumen Ejecutivo . Teens 2010 castellano
Resumen Ejecutivo . Teens 2010 castellanoResumen Ejecutivo . Teens 2010 castellano
Resumen Ejecutivo . Teens 2010 castellano
 
The Puerto Rican Diaspora: Education and Cultural Exchanges
The Puerto Rican Diaspora: Education and Cultural ExchangesThe Puerto Rican Diaspora: Education and Cultural Exchanges
The Puerto Rican Diaspora: Education and Cultural Exchanges
 
Medical Waste Treatment
Medical Waste Treatment Medical Waste Treatment
Medical Waste Treatment
 
Thesis - Campus Knowledge of eSports
Thesis - Campus Knowledge of eSportsThesis - Campus Knowledge of eSports
Thesis - Campus Knowledge of eSports
 
Intel.ligència emocional.
Intel.ligència emocional.Intel.ligència emocional.
Intel.ligència emocional.
 
Dirección de Personal Cap 06
Dirección de Personal Cap 06Dirección de Personal Cap 06
Dirección de Personal Cap 06
 
A present history of critical GIS
A present history of critical GISA present history of critical GIS
A present history of critical GIS
 
Microcontroller architecture programming and interfacing
Microcontroller architecture programming and interfacingMicrocontroller architecture programming and interfacing
Microcontroller architecture programming and interfacing
 
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenMichael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
 
Identidad de marca de moda Inexmoda
Identidad de marca de moda InexmodaIdentidad de marca de moda Inexmoda
Identidad de marca de moda Inexmoda
 

Similaire à HTML 5: The Future of the Web

Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Groupminddog
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummitJen Simmons
 
MongoDB is the new MySQL
MongoDB is the new MySQLMongoDB is the new MySQL
MongoDB is the new MySQLradamanthus
 
Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Kyle Meyer
 
夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》Koubei Banquet
 
Go! Go! Gadgets. Writing an OpenSocial Application
Go! Go! Gadgets.  Writing an OpenSocial ApplicationGo! Go! Gadgets.  Writing an OpenSocial Application
Go! Go! Gadgets. Writing an OpenSocial ApplicationMark Halvorson
 
Mojo+presentation+1
Mojo+presentation+1Mojo+presentation+1
Mojo+presentation+1Craig Condon
 
Browser Extensions in Mozilla Firefox & Google Chrome
Browser Extensions in Mozilla Firefox & Google ChromeBrowser Extensions in Mozilla Firefox & Google Chrome
Browser Extensions in Mozilla Firefox & Google ChromeKenneth Auchenberg
 
Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Skills Matter
 
Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & TouchTim Wright
 
Responsive web design - Drupal theming
Responsive web design - Drupal themingResponsive web design - Drupal theming
Responsive web design - Drupal themingadifferentdesign
 
谈一谈HTML5/CSS3 @ WebRebuild 2010
谈一谈HTML5/CSS3 @ WebRebuild 2010谈一谈HTML5/CSS3 @ WebRebuild 2010
谈一谈HTML5/CSS3 @ WebRebuild 2010Zi Bin Cheah
 
Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solrJettro Coenradie
 
Making Rich Internet Applications Accessible Through jQuery
Making Rich Internet Applications Accessible Through jQueryMaking Rich Internet Applications Accessible Through jQuery
Making Rich Internet Applications Accessible Through jQueryAEGIS-ACCESSIBLE Projects
 
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer Relations Team
 

Similaire à HTML 5: The Future of the Web (20)

Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummit
 
MongoDB is the new MySQL
MongoDB is the new MySQLMongoDB is the new MySQL
MongoDB is the new MySQL
 
Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010Designing With Type :: FontConf 2010
Designing With Type :: FontConf 2010
 
夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》
 
Banquet 49
Banquet 49Banquet 49
Banquet 49
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 
Go! Go! Gadgets. Writing an OpenSocial Application
Go! Go! Gadgets.  Writing an OpenSocial ApplicationGo! Go! Gadgets.  Writing an OpenSocial Application
Go! Go! Gadgets. Writing an OpenSocial Application
 
Mojo+presentation+1
Mojo+presentation+1Mojo+presentation+1
Mojo+presentation+1
 
Slideshare presentation
Slideshare presentationSlideshare presentation
Slideshare presentation
 
Browser Extensions in Mozilla Firefox & Google Chrome
Browser Extensions in Mozilla Firefox & Google ChromeBrowser Extensions in Mozilla Firefox & Google Chrome
Browser Extensions in Mozilla Firefox & Google Chrome
 
Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06
 
Základy GWT
Základy GWTZáklady GWT
Základy GWT
 
Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & Touch
 
Responsive web design - Drupal theming
Responsive web design - Drupal themingResponsive web design - Drupal theming
Responsive web design - Drupal theming
 
Oscon 2010
Oscon 2010Oscon 2010
Oscon 2010
 
谈一谈HTML5/CSS3 @ WebRebuild 2010
谈一谈HTML5/CSS3 @ WebRebuild 2010谈一谈HTML5/CSS3 @ WebRebuild 2010
谈一谈HTML5/CSS3 @ WebRebuild 2010
 
Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solr
 
Making Rich Internet Applications Accessible Through jQuery
Making Rich Internet Applications Accessible Through jQueryMaking Rich Internet Applications Accessible Through jQuery
Making Rich Internet Applications Accessible Through jQuery
 
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
 

Plus de Tim Wright

An Introduction to HTTP/2
An Introduction to HTTP/2An Introduction to HTTP/2
An Introduction to HTTP/2Tim Wright
 
Assistive Technology, Experience Design, and Life
Assistive Technology, Experience Design, and LifeAssistive Technology, Experience Design, and Life
Assistive Technology, Experience Design, and LifeTim Wright
 
Building an Atomic Design System
Building an Atomic Design SystemBuilding an Atomic Design System
Building an Atomic Design SystemTim Wright
 
Creating Contextual Applications with Maslow & The Device API
Creating Contextual Applications with Maslow & The Device APICreating Contextual Applications with Maslow & The Device API
Creating Contextual Applications with Maslow & The Device APITim Wright
 
USC dot EDU: A Responsive Design Case Study
USC dot EDU: A Responsive Design Case StudyUSC dot EDU: A Responsive Design Case Study
USC dot EDU: A Responsive Design Case StudyTim Wright
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive DesignTim Wright
 
Bringing Environmental Design to the Web
Bringing Environmental Design to the WebBringing Environmental Design to the Web
Bringing Environmental Design to the WebTim Wright
 
Environmental Design Vol. 2
Environmental Design Vol. 2Environmental Design Vol. 2
Environmental Design Vol. 2Tim Wright
 
Environmental Design on The Web
Environmental Design on The WebEnvironmental Design on The Web
Environmental Design on The WebTim Wright
 
Color & Typography
Color & TypographyColor & Typography
Color & TypographyTim Wright
 
Design process
Design processDesign process
Design processTim Wright
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5Tim Wright
 
Implementing a Scalable Mobile Strategy
Implementing a Scalable Mobile StrategyImplementing a Scalable Mobile Strategy
Implementing a Scalable Mobile StrategyTim Wright
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucksTim Wright
 
Native Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsNative Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsTim Wright
 
Standardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsStandardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsTim Wright
 

Plus de Tim Wright (17)

An Introduction to HTTP/2
An Introduction to HTTP/2An Introduction to HTTP/2
An Introduction to HTTP/2
 
Assistive Technology, Experience Design, and Life
Assistive Technology, Experience Design, and LifeAssistive Technology, Experience Design, and Life
Assistive Technology, Experience Design, and Life
 
Building an Atomic Design System
Building an Atomic Design SystemBuilding an Atomic Design System
Building an Atomic Design System
 
Creating Contextual Applications with Maslow & The Device API
Creating Contextual Applications with Maslow & The Device APICreating Contextual Applications with Maslow & The Device API
Creating Contextual Applications with Maslow & The Device API
 
USC dot EDU: A Responsive Design Case Study
USC dot EDU: A Responsive Design Case StudyUSC dot EDU: A Responsive Design Case Study
USC dot EDU: A Responsive Design Case Study
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive Design
 
Bringing Environmental Design to the Web
Bringing Environmental Design to the WebBringing Environmental Design to the Web
Bringing Environmental Design to the Web
 
Environmental Design Vol. 2
Environmental Design Vol. 2Environmental Design Vol. 2
Environmental Design Vol. 2
 
Environmental Design on The Web
Environmental Design on The WebEnvironmental Design on The Web
Environmental Design on The Web
 
Form design
Form designForm design
Form design
 
Color & Typography
Color & TypographyColor & Typography
Color & Typography
 
Design process
Design processDesign process
Design process
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
 
Implementing a Scalable Mobile Strategy
Implementing a Scalable Mobile StrategyImplementing a Scalable Mobile Strategy
Implementing a Scalable Mobile Strategy
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
Native Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsNative Device vs. Mobile Web Applications
Native Device vs. Mobile Web Applications
 
Standardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsStandardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web Standards
 

Dernier

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
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
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
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
 
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.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

HTML 5: The Future of the Web

  • 1. HTML 5: The Future of the Web Tim Wright | csskarma.com | @csskarma Friday, July 23, 2010 1
  • 2. A Brief Introduction • University of Southern California Web Services • CSSKarma • Smashing Magazine & SitePoint csskarma.com/presentations/penn Friday, July 23, 2010 2
  • 4. What we’ll cover • What is it? • Living in the past • Debunking some rumors • New Attributes & Elements • Audio & Video APIs Friday, July 23, 2010 4
  • 5. What else we’ll cover • Forms • Accessibility • Geolocation • HTML 5 Storage & sockets • Browser & Device Support • Current Events Friday, July 23, 2010 5
  • 6. HTML 5 = Markup + JS APIs Friday, July 23, 2010 6
  • 7. Quick History 1991 - Informal HTML 1998 - CSS 2 1994 - HTML 2 2000 - XHTML 1 1996 - CSS 1 & JavaScript 2002 - Tableless designs 1997 - HTML 4 2005 - Ajax 2009 - HTML 5 Friday, July 23, 2010 7
  • 8. Is HTML 5 Ready? via ishtml5readyyet.com Friday, July 23, 2010 8
  • 9. The real scoop • Last call for a working draft: Oct. 2009 • Candidate recommendation: 2012 • finished spec • Proposed recommendation: 2022 • 2 browsers with full implementation via adactio.com Friday, July 23, 2010 9
  • 11. Let’s dig around... Friday, July 23, 2010 11
  • 12. What has changed ...everything is lighter Friday, July 23, 2010 12
  • 13. <!DOCTYPE html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-transitional.dtd"> • Why not html5? • Technically optional Friday, July 23, 2010 13
  • 14. <meta charset=”utf-8”> HTML 4.01 <meta http-equiv=”Content-Type” content=”text/ html; charset=utf-8”> XHTML 1.0 <meta http-equiv="Content-Type" content="text/ html; charset=utf-8" /> via adactio.com Friday, July 23, 2010 14
  • 15. Script & Style Before: <script type=”text/javascript”></script> <style type=”text/css”></style> After: <script></script> <style></style> Friday, July 23, 2010 15
  • 16. Link relations • <link rel=”icon” • <link rel=”prefetch” • <link rel=”pingback” • <a rel=”external” • <a rel=”tag” Friday, July 23, 2010 16
  • 17. Notable changes Block-level anchors Presentational elements like <i>, <b>, <cite> & <small> redefined Friday, July 23, 2010 17
  • 18. What was removed Annoying elements: <font>, <big> (but not small), <center>, <frame>, <acronym> Weird attributes we don’t use: bgcolor, axis, border, summary via adactio.com Friday, July 23, 2010 18
  • 19. Markup freedom <li class="foo">Hello world</li> <img src="barf.jpg" alt="picture of vomit" /> <li class=foo>Hello world <img src=barf.jpg alt=picture of vomit> <LI CLASS="foo">Hello world</LI> <IMG SRC="barf.jpg" ALT="picture of vomit"> <li class=foo>Hello world</li> <img src=foo alt=bar> via adactio.com Friday, July 23, 2010 19
  • 20. New...building robust applications Attributes Friday, July 23, 2010 20
  • 21. Editing content <div contentEditable=”true”></div> Friday, July 23, 2010 21
  • 22. Spellcheck <div spellcheck=”true”></div> Friday, July 23, 2010 22
  • 23. Hiding elements <div hidden></div> Friday, July 23, 2010 23
  • 24. Easy drag and drop <div draggable=”true”></div> document.addEventListener('dragstart', function(event) { alert(‘drag started’); }, false); Friday, July 23, 2010 24
  • 25. Microdata <section class="vcard" id="hCard-Ricardo- Montalban" itemscope="itemscope" itemtype="http://www.data-vocabulary.org/ Person"> <p itemprop=”name” class=”fn”>Ricardo Montalban</p> <p itemprop=”nickname” class=”nickname”>Ricky</ p> </section> Friday, July 23, 2010 25
  • 26. Embedding data-* <section data-latitude=”38.254” data- longitude=”85.72”> [ content ] </section> Data for the application to consume Friday, July 23, 2010 26
  • 27. Structural Elements ...some new semantics Friday, July 23, 2010 27
  • 28. Sectioning content <header <footer <nav <aside <section <article <hgroup Friday, July 23, 2010 28
  • 29. <header> & <footer> <header> <h1>Awesome web site</h1> </header> <footer> <p>some site information</p> </footer> Friday, July 23, 2010 29
  • 30. <nav> <nav> <ul> <li><a href=”/”>Home</li> <li><a href=”/about”>About</li> <li><a href=”/contact”>Contact</li> </ul> </nav> Friday, July 23, 2010 30
  • 31. <aside> <aside> <p>This is content related to the main content, maybe related links of a pull-quote?</p> </aside> Friday, July 23, 2010 31
  • 32. <section> vs. <div> <section> <p>Contributes to the overall outline of the page & related content</p> </section> Friday, July 23, 2010 32
  • 33. <article> & <hgroup> <article> <hgroup> <h1>How to skin a cat</h1> <h2>By Jimmy Rollins</h2> </hgroup> <h3>Buy a knife</h3> <p>The article here</p> </article> Friday, July 23, 2010 33
  • 34. Text-level semantics <figure <figcaption <mark <time <progress Friday, July 23, 2010 34
  • 35. <figure> & <figcaption> <figure> <img src=”fungi.png” alt=”shower mold”> <figcaption> <p>This is mold in my shower, it’s gross</p> </figcaption> </figure> Friday, July 23, 2010 35
  • 36. <time> & <mark> <time datetime=”13:15”>1:15pm EDT</time> This is a <mark>search term</mark> highlighter Friday, July 23, 2010 36
  • 37. <progress> Your file is <progress>50%</progress> uploaded Friday, July 23, 2010 37
  • 38. Audio & Video APIs ...filetype matters, apparently Friday, July 23, 2010 38
  • 39. Audio <audio src=”hey_jude.ogg”> Friday, July 23, 2010 39
  • 40. Audio <audio src=”hey_jude.ogg” controls autoplay preload> Friday, July 23, 2010 40
  • 41. Audio <audio controls autoplay loop preload=”off”> <src=”hey_jude.mp3”> /* webkit */ <src=”hey_jude.ogg”> /* gecko */ Your browser stinks /* jerks */ </audio> http://media.io/ Friday, July 23, 2010 41
  • 42. Video <video controls autoplay poster=”titlescreen.jpg”> <src=”monkey.ogv”> <src=”monkey.mp4”> Your browser still stinks </video> Friday, July 23, 2010 42
  • 43. Fallbacks <video controls autoplay> <src=”monkey.ogv”> <src=”monkey.mp4”> [ flash fallback ] [ text fallback ] </video> Mobile solution? Friday, July 23, 2010 43
  • 44. A/V Controls (play) <p id=”play”>Play</p> Friday, July 23, 2010 44
  • 45. A/V Controls (play) var video = $('#video'); var play = $('#play'); play.click(function(){ if (video.paused == false) { video.pause(); $(this).text(‘play’); } else { video.play(); $(this).text(‘pause’); } }); Friday, July 23, 2010 45
  • 46. A/V Controls Let’s see one: http://www.broken-links.com/tests/video/ Friday, July 23, 2010 46
  • 47. HTML...inputs & validation 5 Forms Friday, July 23, 2010 47
  • 48. Labeling attributes <input type=”email”> <input type=”url” placeholder=”http://”> <input type=”number” step=”2” min=”10” max=”50”> <input type=”color”> <input type=”range”> <input type=”date”> <input type=”search” autocomplete=”off”> Friday, July 23, 2010 48
  • 49. More attr & validation <input type=”search”> <input type=”text” autofocus required> document.getElementById(“q”).focus(); Friday, July 23, 2010 49
  • 50. Custom inputs <input type=”zip” pattern=”regex pattern” required name=”zip”> Friday, July 23, 2010 50
  • 51. Let’s see one http://www.csskarma.com/lab/demomachine/ Friday, July 23, 2010 51
  • 52. Degradation & Benefits Degrades to a text box Increased usability & conversion rates Easier styling with attribute selectors Easy validation & less spam Friday, July 23, 2010 52
  • 53. Accessibility Built-in vs. Bolt-on Friday, July 23, 2010 53
  • 54. Built-in accessibility header, footer, nav, article, aside Friday, July 23, 2010 54
  • 55. Bolt-on accessibility <header role=”banner”> <ul role=”menu”> <li role=”menuitem”> <article role=”main”> <aside role=”complementary”> <footer role=”contentinfo”> Friday, July 23, 2010 55
  • 56. Bolt-on accessibility <section aria-atomic=”true” aria-live=”polite”> <input aria-required=”true”> *HTML5 valid* http://reader.usc.edu/dev/ Friday, July 23, 2010 56
  • 57. I wanna use...menow! it too Friday, July 23, 2010 57
  • 58. Class names <div class=”header”></div> <div class=”article”></div> <div class=”aside”></div> <div class=”footer”></div> Friday, July 23, 2010 58
  • 59. Styles article, aside, details, figure, footer, header, hgroup, nav, section { display: block; } Friday, July 23, 2010 59
  • 60. CreateElement <script> document.createElement(‘header’); document.createElement(‘nav’); document.createElement(‘section’); document.createElement(‘article’); document.createElement(‘footer’); </script> Friday, July 23, 2010 60
  • 61. HTML Shiv by: Remy Sharp <!--[if IE]> <script src="http://html5shiv.googlecode.com/ svn/trunk/html5.js"> </script> <![endif]--> http://html5shiv.googlecode.com/svn/trunk/html5.js Friday, July 23, 2010 61
  • 62. Server-side JavaScript • Jaxer • Creating element in the DOM Friday, July 23, 2010 62
  • 63. Moving forward Options for moving forward • doctype & aria roles • doctype -> class names -> aria roles • doctype -> new elements -> aria roles • Client-side JS • Server-side JS Friday, July 23, 2010 63
  • 64. The New kids will love it ...the Web Friday, July 23, 2010 64
  • 65. Old <head> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="html 5 demo" /> <meta name="keywords" content="example, web site, html5" /> <title>Title</title> <link rel="icon" href="favicon.ico" type="image/x-icon" /> <link href="website.css" rel="stylesheet" type="text/css" media="all" /> <script type=”text/javascript” src=”website.js”></script> </head> Friday, July 23, 2010 65
  • 66. New <head> <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”utf-8”> <meta name=”description” content=”html 5 demo”> <meta name=”keywords” content=”example, website, html5”> <title>Title</title> <link rel=”icon” href=”favicon.ico”> <link rel=”preftech” href=”nextpage.html”> <link href=”website.css” rel=”stylesheet” media=”all”> <script src=”website.js”></script> </head> Friday, July 23, 2010 66
  • 67. Old <body> <body> <div id=”header”><h1><a href=”/”>Site Title</a></ h1></div> <div id=”nav”> <ul> <li><a href=”/about”>About</a></li> </ul> </div> <div id=”content”></div> <div id=”sidebar”></div> <div id=”footer”></div> </body> Friday, July 23, 2010 67
  • 68. New <body> <body> <header role=”banner”><h1><a href=”/”>Site Title</a></ h1></header> <nav> <ul role=”menu”> <li role=”menuitem”><a href=”#”>About</a></li> </ul> </nav> <article role=”main”></article> <aside role=”complimentary”></aside> <footer role=”contentinfo”></footer> </body> Friday, July 23, 2010 68
  • 69. Old <form> <form action=”” method=”post”> <label for=”name”>Name</label> <input type=”text” name=”name” id=”name”/> <label for=”email”>E-mail</label> <input type=”text” name=”email” id=”email”/> <label for=”url”>URL</label> <input type=”text” name=”url” id=”url”/> <button type=”submit”>Submit</button> </form> Friday, July 23, 2010 69
  • 70. New <form> <form action=”” method=”post”> <label for=”name”>Name</label> <input type=”text” name=”name” id=”name” required autofocus> <label for=”email”>E-mail</label> <input type=”email” name=”email” id=”email” required> <label for=”url”>URL</label> <input type=”url” name=”url” id=”url” placeholder=”http://” required> <button type=”submit”>Submit</button> </form> Friday, July 23, 2010 70
  • 71. Old <video> (?) <object width="640" height="385"><param name="movie" value="video.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></ param><embed src="video.swf" type="application/x- shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></ embed></object> Friday, July 23, 2010 71
  • 72. New <video> <video src=”video.mp4” controls preload> Friday, July 23, 2010 72
  • 73. What does clean mean? • Reduced page weight • Speed & Responsiveness • Higher conversions • Better usability • Happy users • Device development Friday, July 23, 2010 73
  • 74. New JavaScript ...and Ninja-like qualities Friday, July 23, 2010 74
  • 75. New JavaScript Finding elements by class (DOM API) document.getElementbyClassname(“skipmenu”); Finding elements by CSS syntax (selectors API) document.querySelectorAll(“#nav ul > li”); document.querySelector(“:hover”); <li class=foo>Hello world</li> <img src=foo alt=bar> Friday, July 23, 2010 75
  • 76. classList API var element = $(‘div’); element.classList.add(‘class-name’); element.classList.remove(‘class-name’); element.classList.toggle(‘class-name’); via davidwalsh.name Friday, July 23, 2010 76
  • 77. Geolocationbut still way cool Not actually HTML5, Friday, July 23, 2010 77
  • 78. Data Sources • GPS • Cellular Network • IP Friday, July 23, 2010 78
  • 79. Information • Latitude • Longitude • Accuracy • Altitude • Altitude Accuracy • Heading • Timestamp • Speed Friday, July 23, 2010 79
  • 81. Getting the data function youAreHere(position){ var youAreHere = { latitude : position.coords.latitude, longitude : position.coords.longitude, accuracy : position.coords.accuracy, // meters speed : position.coords.speed, // mps altitude : position.coords.altitude, altitudeAccuracy : position.coords.altitudeAccuracy, heading : position.coords.heading, // degrees timestamp : position.timestamp }; } Friday, July 23, 2010 81
  • 82. Error Handling function geoErrors(error){ if(error.code === 1){ $('ul').html('<li>Data not shared by user</li>'); } else if(error.code === 2){ $('ul').html('<li>Data not available for some reason</li>'); } else if(error.code === 3){ $('ul').html('<li>Connection timed out</li>'); } else if(error.code === 0){ $('ul').html('<li>Something else happened</li>'); } } Friday, July 23, 2010 82
  • 83. Usage if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(youAreHere, geoErrors, { enableHighAccuracy: true, // increases load time maximumAge:60000, // 10 mins timeout:0 // check the cache first }); } Friday, July 23, 2010 83
  • 84. Let’s see one http://www.csskarma.com/lab/html5/geo/ Friday, July 23, 2010 84
  • 86. Storage & Sockets ..set it and forget it Friday, July 23, 2010 86
  • 87. Local Storage • Persistent to the browser • Super cookies Friday, July 23, 2010 87
  • 88. Local Storage (setting) var edit = document.getElementById('edit'); ! $(edit).blur(function() { ! localStorage.setItem('todoData', this.innerHTML); }); Friday, July 23, 2010 88
  • 89. Local Storage (getting) if ( localStorage.getItem('todoData') ) { edit.innerHTML = localStorage.getItem ('todoData'); } Friday, July 23, 2010 89
  • 90. Local Storage (forgetting) <p><a href=”#clear” id=”clear”>Clear storage</a></p> $('#clear').click(function(){ ! ! localStorage.clear(); ! ! location.reload(true); ! ! return false; ! }); Friday, July 23, 2010 90
  • 91. Local Storage (demo) http://www.csskarma.com/lab/html5/localstorage/ Using: contentEditable=”true” localStorage.setItem() localStorage.getItem() localStorage.clear() Friday, July 23, 2010 91
  • 92. Web Sockets Bi-directional, full-duplex communications channels, over a single TCP socket, designed to be implemented in Web browsers and Web servers. http://dev.w3.org/html5/websockets/ Friday, July 23, 2010 92
  • 95. Browser support CanIUse.com HTML5test.com Friday, July 23, 2010 95
  • 96. Modern mobile devices Friday, July 23, 2010 96
  • 97. Effects on mobile Friday, July 23, 2010 97
  • 99. WebM video format High-quality open video format YouTube for compression over ogg (.ogv) IE9, Chrome, Firefox & Opera support WebM converter -> mirovideoconverter.com Friday, July 23, 2010 99
  • 100. New <track> Element Friday, July 23, 2010 100
  • 102. Resources • webmproject.org • HTML5Doctor.com • HTML5gallery.com • data-vocabulary.org • WHATWG.org • HTML5 for Designers Friday, July 23, 2010 102
  • 103. What we covered • What is it? • Living in the past • Debunking some rumors • New Attributes & Elements • Audio & Video APIs Friday, July 23, 2010 103
  • 104. What we covered (cont.) • Forms • Accessibility • Geolocation • HTML 5 Storage & sockets • Browser & Device Support • Current Events Friday, July 23, 2010 104
  • 105. Steal my work csskarma.com/presentations/penn/ Friday, July 23, 2010 105
  • 106. “Never memorize something you that can look up” - Albert Einstein Friday, July 23, 2010 106
  • 108. Find me online e-mail: timwright@csskarma.com web: http://www.csskarma.com twitter: @csskarma </presentation> Friday, July 23, 2010 108