Anne van Kesteren (Opera Software)
March 2009 — Mitsue-Links
<input type=date>
How did we got here?
W3C hosted a workshop on Web applications in 2004.
W3C: "XML is the future."
Browser vendors revolted. (Opera, Mozilla & Apple.)
Instead of reinventing HTML, evolve it.
>800 people on the mailing list.
wiki.whatwg.org
blog.whatwg.org
forums.whatwg.org
End of 2006 Tim Berners-Lee had a change of heart: The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn't work.
w3.org/html + whatwg.org = HTML 5
1. Increasing interoperability by defining the Web platform.
For instance, the contenteditable attribute.
2. Extending the Web platform.
<a> <abbr> <address> <area> <article> <aside> <audio> <b> <bb> <base> <bdo> <blockquote> <body> <br> <canvas> <caption> <cite> <code> <col> <colgroup> <command> <datagrid> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <eventsource> <figure> <footer> <h1> <h2> <h3> <h4> <h5> <h6> <head> <header> <hr> <html> <i> <iframe> <img> <ins> <kbd> <legend> <li> <link> <mark> <map> <menu> <meta> <meter> <nav> <noscript> <object> <ol> <p> <param> <pre> <progress> <q> <samp> <script> <section> <small> <source> <span> <strong> <style> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <time> <title> <tr> <ul> <var> <video>
Backwards compatible with HTML 4 & XHTML 1.x.
For Web applications & documents.
DOCTYPE<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!doctype html><meta
 http-equiv="Content-Type"
 content="text/html;
          charset=utf-8"><meta charset="utf-8"><canvas><canvas width="150" height="200" id="demo">
 <!-- Still using Internet Explorer? -->
</canvas>
<script>
 var canvas = document.getElementById("demo"),
     context = canvas.getContext("2d")
 context.fillStyle = "lime"
 context.fillRect(0, 0, 150, 200)
</script>canvas drawing applicationDemo.
Thanks to Jacob Seidelin, nihilogic.dk.
Video issues: syntax & format.
<video src=clip.ogg controls>
  Download the <a href=clip.ogg>clip</a>.
  <!-- browser does not support <video> -->
</video>Ogg Theora?
Demo time! (No rickrolling, promised.)
Distributing several equivalent video streams
<video>
 <source type=video/mp4 src=clip.mp4>
 <source type=video/ogg src=clip.ogg>
</video><iframe src=...
  sandbox="allow-scripts"
  seamless=""
></iframe><html manifest=appcache>SQL storage
localStorage["status"] = "Idling..."
sessionStorage["price"] += 19.95msocket = new WebSocket("ws://example.org/stream")
socket.postMessage("Hello World!")
socket.onmessage = function(e) { process(e.data) }Cross-document messaging: postMessage()
Geolocation API
"Threading" for JavaScript through Web Workers.
Cross-Origin XMLHttpRequest
Thanks for your time!
 Questions?