SlideShare a Scribd company logo
Moving to    HTML5 is here!
the client
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Why HTML5?
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
Forms
HTML forms are just not as rich as others...
That’s why HTML5 added a few new ones...
A few things we did with JS are now built-in:
Autofocus:
<input autofocus name="name">

Default content:
<input placeholder="please enter your name" name="name">

Autocomplete:
<input autocomplete name="name">

Limits and steps:
<input min="0" max="360" step="5" name="angle"
type="number">

Multiple:
<input multiple type="file" type="email">
<input multiple type="email" type="file">
Related elements:
<output> <meter> <progress>
Validation is something for real men...
Or something the browser can do for you...
Required:
<input required name="name">

Pattern:
<input pattern="[0-9]{5}" name="postleitzahl">




   Firefox                Webkit                Opera

input:valid { background:lime }
input:invalid { background:red; color:white }
Overriding validation and styling results.
<input type="submit" value="Save" formnovalidate>
</input>
form.oninputchange = function(){}
if(element.willValidate){
  element.setCustomValidity('That did not work!');
  if(element.validity.valid){
    // yay!
  } else {
    // boo!
  }
}
/* validity states:
   valueMissing, typeMismatch, patternMismatch,
   tooLong, rangeUnderflow, rangeOverflow,
   stepMismatch,customError
*/
So we have:


Richer form elements with native support
In-built validation
Events and attributes for custom validation
Time and Date functionality
No more need for terrible client side validation
Almost browser support (needs bitching!)
Canvas
Apple even creates open
 standards for the web
                 -Steve Jobs
<canvas id="my-canvas" width="500" height="500">
    I am canvas
</canvas>
var canvas = document.getElementById("my-canvas"),
    context = canvas.getContext("2d");

context.fillStyle = "#f00";
context.fillRect(0, 0, 100, 100);
context.save();

context.fillStyle = "rgba(0, 0, 200, 0.5)";
context.fillRect(50, 50, 100, 100);

context.clearRect(40, 40, 20, 20);

context.restore();
context.fillRect(350, 50, 100, 100);
context.lineWidth = "10";
context.lineJoin = "round";

context.moveTo(50, 50);
context.lineTo(200, 200);
context.lineTo(100, 300);
context.closePath();
context.stroke();
context.fill();

context.beginPath();
context.strokeStyle = "#00f";
context.arc(200, 400, 75, 0, Math.PI*2, false);

context.stroke();
Moving to the client - HTML5 is here
context.fillStyle = "#fff";
context.fillRect(0, 0, 200, 200);

context.fillStyle = "#f00";
context.fillRect(0, 0, 100, 100);

context.fillRect(100, 100, 100, 100);
Moving to the client - HTML5 is here
context.strokeStyle = "transparent";

context.arc(100, 100, 75, 0, Math.PI*2, false);
context.clip();
context.stroke();

context.fillStyle = "#fff";
context.fillRect(0, 0, 200, 200);

context.fillStyle = "#f00";
context.fillRect(0, 0, 100, 100);

context.fillRect(100, 100, 100, 100);
Moving to the client - HTML5 is here
var canvas = document.getElementById("my-canvas"),
    context = canvas.getContext("2d"),
    img = document.createElement("img");

img.addEventListener("load", function () {
    context.drawImage(img, 0, 0, 600, 200);
    // Get canvas content as a base64 image
    var base64Img = canvas.toDataURL("image/png");
}, false);

img.setAttribute("src", "view.jpg");
data:image/png;base64,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
HTML5 Canvas for Internet Explorer <= 8
                   -
            explorercanvas
http://www.nihilogic.dk/labs/mariokart/
http://craftymind.com/factory/html5video/
             CanvasVideo.html
Moving to the client - HTML5 is here
SVG vs. canvas
Vector vs. bitmap
SVG for interaction, shapes etc
 canvas for speed, animations
SVG = “Real” DOM elements
     Google indexes SVG
Video/Audio
Flash is a black box inside a document.
                                          Alien
HTML5 audio and video make things much simpler:

   Video and audio are just like any other HTML
   element
   Native controls provided by the browser
   Better accessibility (keyboard navigation)
   Native and simple API (Flash APIs varied from
   provider to provider)
   Easy interaction with other technologies
   (Canvas, CSS)
Embedding video or audio
Embedding video for all browsers:

<video controls>
  <source src="http://www.archive.org/{...}_512kb.mp4"
          type="video/mp4"
          media="(min-device-width:800px)"></source>
  <source src="http://www.archive.org/{...}_low.mp4"
          type="video/mp4"></source>
  <source src="http://www.archive.org/{...}.webm"
          type="video/webm"></source>
  <source src="http://www.archive.org/{...}.ogv"
          type="video/ogg"></source>
  <p>Watch the movie on <a href="{...}_monsters">
     archive.org</a>.</p>
</video>
Copyright
http://www.archive.org
http://vid.ly
Controls differ from browser to browser...


 Firefox

 Opera

 Safari                                      Full Screen

Chrome
HTML5’s Media API gives you control:


  load() - load a new media.
  canPlayType(type) - returns probably, maybe and
  “” (really!)
  play() - play the movie
  pause() - pause the movie.
  addTrack(label,kind,language) -for subtitles
*a lot* of control!
Video details:                  width / height / videoWidth / videoHeight / poster
Controls:                       controls / volume / muted
Tracks:                         tracks

Network state:                  src / currentSrc / networkState / preload / buffered

Ready state                     readyState / seeking

Playback state                  currentTime / startTime / duration / paused /
                                defaultPlayBackRate / playbackRate / played /
                                seekable / ended / autoplay / loop


HTML5 video events:
loadstart / progress / suspend / abort / error / emptied / stalled / play / pause /
loadedmetadata / loadeddate / waiting / playing / canplay / canplaythrough /
seeking / seeked / timeupdate / ended / ratechange
http://www.w3.org/2010/05/video/mediaevents.html
http://isithackday.com/spirit-of-indiana/
http://isithackday.com/mit/transforming-video.html
http://people.mozilla.com/~prouget/demos/mashup/video.xhtml
http://people.mozilla.com/~prouget/demos/green/green.xhtml
http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml
Web Storage
Moving to the client - HTML5 is here
Moving to the client - HTML5 is here
sessionStorage.setItem("FU", "Sarah Palin");
console.log(sessionStorage.getItem("FU"));
localStorage.setItem("Job", "Politician");
var sarahPalin = {
    "contest" : "Miss Alaska pageant",
    "Talent" : "Flute playing"
};

localStorage.setItem("sarah", JSON.stringify(sarahPalin));

console.log(typeof JSON.parse(localStorage.getItem("sarah")));
Web SQL
IndexedDB
Offline Web Applications
if (window.addEventListener) {
    /*
        Works well in Firefox and Opera with the
        Work Offline option in the File menu.
        Pulling the ethernet cable doesn't seem to trigger it
    */
    window.addEventListener("online", isOnline, false);
    window.addEventListener("offline", isOffline, false);
}
else {
    /*
        Works in IE with the Work Offline option in the
        File menu and pulling the ethernet cable
    */
    document.body.ononline = isOnline;
    document.body.onoffline = isOffline;
}
// Poll the navigator.onLine property
setInterval(function () {
    console.log(navigator.onLine);
}, 1000);
<!DOCTYPE html>
<html manifest="offline.manifest">
<head>
...
CACHE MANIFEST

# VERSION 10

CACHE:
offline.html
base.css

FALLBACK:
online.css offline.css

NETWORK:
/live-updates
What else is coming?
Video, live web content and live audio analysis in a 3D
environment.




         http://www.youtube.com/watch?v=VUOIS3jtD8Y

         http://vocamus.net/dave/?p=1233
Shape detection




http://people.mozilla.com/~prouget/demos/tracker/tracker.xhtml
Rude bits detection




http://www.patrick-wied.at/static/nudejs/
Other great things already working for us

Web Workers - multithreaded JS
Web Sockets - long polling and realtime multi
user interaction
Audio analysis
Face detection in JavaScript
Server side rendering in JavaScript
Image generation
Next steps...

Touch interfaces - multi touch features
Device input support
Happy Ending
Moving to the client - HTML5 is here
Robert Nyman                                                                          Chris Heilmann
http://robertnyman.com/speaking/                                                         http://www.wait-till-i.com/
 http://robertnyman.com/html5/
                                                                                               Twitter: @codepo8
    Twitter: @robertnyman




               Pictures:

               Space: http://blog.silive.com/weather/2008/06/Astronaut-From-Apollo-11-Mission-1-1024x768.jpg
               Robert and Chris: http://www.flickr.com/photos/screenorigami/5073291880/sizes/z/
               George W Bush fail 1: http://freetraveler.net/pictures/2.09.06/fun/1.jpg
               George W Bush fail 2: http://blogs.warwick.ac.uk/images/akyrtzoglou/2005/06/07/g2.jpg
               George W Bush fail 3: http://blogs.warwick.ac.uk/images/akyrtzoglou/2005/06/07/gb3.jpg

               Head in ground: http://56minus1.com/2009/02/things-well-done-li-wei/
               Rocks my socks off: http://www.threestyles.com/tutorials/html5-rocks-my-socks-off/
               Web browser icons: http://paulirish.com/2010/high-res-browser-icons/
               Go where I've never been: http://musicisart.ws/diane-arbus/
               Basketball player: http://www.hemmy.net/2008/03/22/the-fail-collection/
               Anything is possible: http://www.elektrodrop.com/2009/12/straight-out-of-china/?quick_view=1

               Canvas: http://www.ioffer.com/c/Drawings-1000407
               Oriental studies: http://www.swollenpickles.com/2007/01/29/phallic-logo-awards/
               Fight club: http://www.unique-screenwriting.com/rules-of-fight-club.html
               Storage fail: http://failfun.com/funny-pictures/gangsta-fail/
               Cookie monster: http://honestviewsfromhonestman.blogspot.com/2009/09/cookie-monster.html
               You suck: http://www.crunchgear.com/2009/04/22/gadgets-sucks/
               Internet hole: http://cheezburger.com/View/3194058752
               Beer fail: https://witnessthis.wordpress.com/tag/shark-fail/
We can’t change history, but we can change the future.
               Be nice to each other.

More Related Content

KEY
Building & Breaking Web Forms with Quaid-JS
PPTX
form_validation_with_html5
PDF
HTML5 and CSS3 Shizzle
PDF
WPF L02-Graphics, Binding and Animation
PDF
WPF L01-Layouts, Controls, Styles and Templates
PDF
Unobtrusive JavaScript
PDF
Intro to html 5
PPT
WordPress and Ajax
Building & Breaking Web Forms with Quaid-JS
form_validation_with_html5
HTML5 and CSS3 Shizzle
WPF L02-Graphics, Binding and Animation
WPF L01-Layouts, Controls, Styles and Templates
Unobtrusive JavaScript
Intro to html 5
WordPress and Ajax

What's hot (18)

PPT
1. introduction to html5
KEY
2022 HTML5: The future is now
PPTX
Python Code Camp for Professionals 4/4
PDF
HTML5 - Introduction
PPTX
Python Code Camp for Professionals 3/4
PPTX
Orchard Harvest 2014 - The Future of Widgets?
PDF
Building Web-API without Rails, Registration or SMS
PDF
Dynamic Business Processes using Automated Actions
PDF
Modular HTML & CSS
PDF
Practical PHP by example Jan Leth-Kjaer
PDF
HTML5, The Open Web, and what it means for you - Altran
PPTX
ColdFusion Summit 2020 ColdFusion Document Workflow with Adobe Sign
PDF
Building Cross Platform Mobile Web Apps
PDF
An Introduction To HTML5
PDF
UI Design with HTML5 & CSS3
PDF
Html 5 New Features
PPTX
PDF
Modular HTML, CSS, & JS Workshop
1. introduction to html5
2022 HTML5: The future is now
Python Code Camp for Professionals 4/4
HTML5 - Introduction
Python Code Camp for Professionals 3/4
Orchard Harvest 2014 - The Future of Widgets?
Building Web-API without Rails, Registration or SMS
Dynamic Business Processes using Automated Actions
Modular HTML & CSS
Practical PHP by example Jan Leth-Kjaer
HTML5, The Open Web, and what it means for you - Altran
ColdFusion Summit 2020 ColdFusion Document Workflow with Adobe Sign
Building Cross Platform Mobile Web Apps
An Introduction To HTML5
UI Design with HTML5 & CSS3
Html 5 New Features
Modular HTML, CSS, & JS Workshop
Ad

Viewers also liked (6)

PPT
Oier Araolaza
PPTX
Social media for advocacy
PPTX
Aitor zuberogoitia ekt3
PDF
Internet elkarrizketa da (J. Aranzabal)
PPTX
SMBS showcases their broabdand adoption projects
PPT
Jack Geller on Broadband Adoption in Minnesota
Oier Araolaza
Social media for advocacy
Aitor zuberogoitia ekt3
Internet elkarrizketa da (J. Aranzabal)
SMBS showcases their broabdand adoption projects
Jack Geller on Broadband Adoption in Minnesota
Ad

Similar to Moving to the client - HTML5 is here (20)

PDF
What you need to know bout html5
PDF
Mobile Web Design Code
PPTX
PPTX
Top 10 HTML5 features every developer should know!
PPTX
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
PPT
PDF
Implementing Awesome: An HTML5/CSS3 Workshop
PDF
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
PDF
HTML5 New and Improved
PPTX
About Best friends - HTML, CSS and JS
PDF
HTML5, the new buzzword
PPTX
Site optimization
PDF
Practical tipsmakemobilefaster oscon2016
PDF
JavaScript Web Workers
PDF
Web Forms People Don't Hate
KEY
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
PPTX
Html5 - Novas Tags na Prática!
PDF
Introduction to HTML5
KEY
Html5 For Jjugccc2009fall
PDF
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
What you need to know bout html5
Mobile Web Design Code
Top 10 HTML5 features every developer should know!
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
Implementing Awesome: An HTML5/CSS3 Workshop
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
HTML5 New and Improved
About Best friends - HTML, CSS and JS
HTML5, the new buzzword
Site optimization
Practical tipsmakemobilefaster oscon2016
JavaScript Web Workers
Web Forms People Don't Hate
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
Html5 - Novas Tags na Prática!
Introduction to HTML5
Html5 For Jjugccc2009fall
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...

More from Christian Heilmann (20)

PPTX
Develop, Debug, Learn? - Dotjs2019
PDF
Hinting at a better web
PDF
Taking the "vile" out of privilege
PDF
Seven ways to be a happier JavaScript developer - NDC Oslo
PDF
Artificial intelligence for humans… #AIDC2018 keynote
PDF
Killing the golden calf of coding - We are Developers keynote
PDF
Progressive Web Apps - Techdays Finland
PDF
Taking the "vile" out of privilege
PDF
Five ways to be a happier JavaScript developer
PDF
Taking the P out of PWA
PDF
Sacrificing the golden calf of "coding"
PDF
You learned JavaScript - now what?
PDF
Sacrificing the golden calf of "coding"
PDF
Progressive Web Apps - Covering the best of both worlds - DevReach
PDF
Progressive Web Apps - Covering the best of both worlds
PPTX
Non-trivial pursuits: Learning machines and forgetful humans
PDF
Progressive Web Apps - Bringing the web front and center
PDF
CSS vs. JavaScript - Trust vs. Control
PDF
Leveling up your JavaScipt - DrupalJam 2017
PDF
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Develop, Debug, Learn? - Dotjs2019
Hinting at a better web
Taking the "vile" out of privilege
Seven ways to be a happier JavaScript developer - NDC Oslo
Artificial intelligence for humans… #AIDC2018 keynote
Killing the golden calf of coding - We are Developers keynote
Progressive Web Apps - Techdays Finland
Taking the "vile" out of privilege
Five ways to be a happier JavaScript developer
Taking the P out of PWA
Sacrificing the golden calf of "coding"
You learned JavaScript - now what?
Sacrificing the golden calf of "coding"
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds
Non-trivial pursuits: Learning machines and forgetful humans
Progressive Web Apps - Bringing the web front and center
CSS vs. JavaScript - Trust vs. Control
Leveling up your JavaScipt - DrupalJam 2017
The Soul in The Machine - Developing for Humans (FrankenJS edition)

Recently uploaded (20)

PPTX
Virtual and Augmented Reality in Current Scenario
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
advance database management system book.pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PDF
Trump Administration's workforce development strategy
PDF
IGGE1 Understanding the Self1234567891011
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
HVAC Specification 2024 according to central public works department
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Uderstanding digital marketing and marketing stratergie for engaging the digi...
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
Hazard Identification & Risk Assessment .pdf
Virtual and Augmented Reality in Current Scenario
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
202450812 BayCHI UCSC-SV 20250812 v17.pptx
advance database management system book.pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Trump Administration's workforce development strategy
IGGE1 Understanding the Self1234567891011
TNA_Presentation-1-Final(SAVE)) (1).pptx
HVAC Specification 2024 according to central public works department
FORM 1 BIOLOGY MIND MAPS and their schemes
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Uderstanding digital marketing and marketing stratergie for engaging the digi...
Paper A Mock Exam 9_ Attempt review.pdf.
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
Hazard Identification & Risk Assessment .pdf

Moving to the client - HTML5 is here