SlideShare a Scribd company logo
HTML5:
                           About Damn Time
                          Kevin Lawver | kevin@lawver.net | @kplawver




Tuesday, April 20, 2010
A Short History Lesson
                     • HTML 2.0 - 11/1995
                     • HTML 3.2 - 01/1997
                     • HTML 4.01 - 12/1999
                     • XHTML 1.0 - 01/2000
                     • XHTML 1.1 - 05/2001 (no one uses this)
                     • XHTML 2? - Dead as of 12/2009
Tuesday, April 20, 2010
HTML5: Guerilla
                     • The What Working Group (http://
                          whatwg.org) was started by Ian Hickson
                          (then at Opera, now at Google).
                     • Started as a response to what was wrong
                          with XHTML 2 and to move HTML
                          forward.
                     • HTML5 specs brought into W3C in
                          03/2007.


Tuesday, April 20, 2010
So, What’s New?
                     • Document sematics
                     • Form controls
                     • Canvas
                     • Audio and Video as first-class citizens
                     • Offline storage
                     • Embedded meta data inside elements
Tuesday, April 20, 2010
And What’s Gone?
                     • Presentational elements like font, big,
                          center, etc
                     • Presentational attributes like bgcolor,
                          border, etc
                     • Frames, frameset and noframes
                     • acronym (abbr serves both purposes now)

Tuesday, April 20, 2010
A Basic Document
                           http://dev.lawver.net/html5/blank.html




Tuesday, April 20, 2010
<!DOCTYPE html>
                 <html>
                     <head>
                         <title>My Awesome HTML5 Document</title>
                         <meta charset="utf-8"/>
                         <!--[if IE]>
                         <script src="http://html5shiv.googlecode.com/svn/trunk/
                 html5.js"></script>
                         <![endif]-->
                     </head>
                     <body>

                     </body>
                 </html>




Tuesday, April 20, 2010
Things to See
                     • The HTML comment at the top must be
                          there or things will look silly in any current
                          version of Internet Explorer
                     • The DOCTYPE is tiny. Since it’s no longer
                          an “X”, there’s no DTD.
                     • Other than that, not much is different
                          here, right?


Tuesday, April 20, 2010
Document Semantics


                     • No more divs! (OK, OK, fewer divs)
                     • Real semantics: header, footer, section,
                          article & aside




Tuesday, April 20, 2010
Let’s Make a Blog

                     • I used Tumblr, because their templating
                          language won’t get in the way.
                     • It’s live now: http://tedxcreativecoast.com
                          (convenient victim)




Tuesday, April 20, 2010
Let’s look at the
                            masthead...


Tuesday, April 20, 2010
<header>
                     <h1><a href="/">TEDx Creative Coast</a></h1>
                </header>
                <nav class="pages">
                    <ul>
                         <li><a href="/">Home</a></li>
                         <li><a href="/event-details">Event Details</a></li>
                         <li><a href="/speakers">Speakers</a></li>
                         <li><a href="/sponsors">Sponsors</a></li>
                         <li><a href="/about">About TEDx</a></li>
                         <li><a href="/about_tedxcreativecoast">Volunteers and Crew</
                a></li>
                    </ul>
                </nav>




Tuesday, April 20, 2010
Did you notice...

                     • The header element?
                     • That I still used an h1?
                     • That nav is a new element specifically for
                          navigation?




Tuesday, April 20, 2010
A Blog Post...
                          http://dev.lawver.net/html5/tedx.html




Tuesday, April 20, 2010
<article class="hentry text">
                             <h3><a href="http://tedxcreativecoast.com/post/
                             482465925/musicians-welcome">Musicians Welcome</
                             a></h3>
                             <div class="entry-content">
                                ...
                             </div>
                             <details>
                                <a href="http://tedxcreativecoast.com/post/
                          482465925/musicians-welcome">Permalink</a> | posted
                          1 day ago
                             </details>
                          </article>




Tuesday, April 20, 2010
What did you see?



Tuesday, April 20, 2010
Here’s what I saw...
                     • The article element surrounding the post.
                     • The new details element for displaying
                          meta data about the post.
                     • I didn’t use another header element around
                          the h3, but I could have.
                     • Did anyone notice the microformat I snuck
                          in there?


Tuesday, April 20, 2010
And the footer...



Tuesday, April 20, 2010
<footer>
                <nav class="pagination">
                     <ul>
                          <li><details>You are on page 1 of 1.</details></li>
                     <ul>
                </nav>
                <nav>
                     <ul>
                          <li><a href="#">Top</a></li>
                          <li><a href="/">Home</a></li>
                          <li><a href="/about" title="TEDxCreativeCoast About TED and
            TEDx">About</a></li>
                          <li><a href="/mobile">Mobile</a></li>
                          <li><a href="/event-details" title="TEDxCreativeCoast Event
            Details">Event</a></li>
                          <li><a href="/speakers" title="TEDxCreativeCoast
            Presenters">Speakers</a></li>
                          <li><a href="/sponsors" title="TEDxCreativeCoast
            Sponsors">Sponsors</a></li>
                     <ul>
                     <p>This independent TEDx event is operated under license from <a
            href="http://ted.com" target="_blank" title="This independent TEDx event is
            operated under license from TED">TED</a>.</p>
                </nav>
                <details class="theme"></details>
            </footer>
Tuesday, April 20, 2010
And?

                     • The shapely footer element, containing...
                     • multiple nav elements
                     • and a document-wide details element for
                          document cruft.




Tuesday, April 20, 2010
Canvas
                          http://dev.lawver.net/html5/canvas.html




Tuesday, April 20, 2010
Drawing the Web Way

                     • Creates a drawing “area” inside of a
                          document.
                     • Has a javascript API for adding shapes, and
                          allowing for interactivity
                     • Feature-rich and complex drawing API.

Tuesday, April 20, 2010
Abstract it all away!

                     • I use RaphaelJS, which uses Canvas on good
                          browsers and VML in Internet Explorer.
                     • It abstracts away a lot of the complexity
                          and provides a simple but powerful API.
                     • http://raphaeljs.com

Tuesday, April 20, 2010
Demos!



Tuesday, April 20, 2010
Form Elements



Tuesday, April 20, 2010
More Data-Specific
                               Inputs!
                     • We can finally do sliders in the markup
                     • Colors, URLs, e-mail addresses, names,
                          search queries, telephone numbers, and
                          times and dates all have their own input
                          types now!




Tuesday, April 20, 2010
Demo
                          http://dev.lawver.net/html5/forms.html




Tuesday, April 20, 2010
Offline Storage



Tuesday, April 20, 2010
Make Your App
                                Offlineable!
                     • You can create a manifest which gives a list
                          of URLs for your app that declares files to
                          cache, which ones are only available on the
                          network, and fallbacks for failed requests.
                     • Poor cross-browser implementation so far.
                     • A lot like the old Google Gears API.

Tuesday, April 20, 2010
No Demo
                      Because it doesn’t work well enough across multiple
                              browsers to waste time with... yet.




Tuesday, April 20, 2010
Audio & Video



Tuesday, April 20, 2010
No more plugins!



Tuesday, April 20, 2010
Media is a first-class
                          markup citizen now!


Tuesday, April 20, 2010
Demo
                          http://dev.lawver.net/html5/video.html




Tuesday, April 20, 2010
The Markup

                          <video src="movie.m4v" id="my-video"></video>
                          <p>
                               <a href="javascript:play_it()">play</a> |
                               <a href="javascript:pause_it()">pause</a>
                          </p>




Tuesday, April 20, 2010
The Javascript
                          function play_it() {
                              var video = document.getElementById("my-video");
                              video.play();
                          }

                          function pause_it() {
                              var video = document.getElementById("my-video");
                              video.pause();
                          }




Tuesday, April 20, 2010
Problems with video...
                     • There’s a big argument about supported
                           formats. Safari supports h.264, and Firefox
                           only supports Ogg Theora.
                     • There are rumors that Google will open
                           sources their video codec, making this stuff
                           moot.
                     • IE doesn’t support the video element at all.
                     • Works great on the iPad and iPhone
                           though!

Tuesday, April 20, 2010
Microdata



Tuesday, April 20, 2010
Microdata is a way to
                  embed meta data inside
                       of elements.


Tuesday, April 20, 2010
Why?



Tuesday, April 20, 2010
Turn your HTML
                          documents into your
                                  API!


Tuesday, April 20, 2010
Yeah, but we have
                           microformats!


Tuesday, April 20, 2010
But, they’re non-trivial
                    to parse and mis-use
                   some HTML attributes.


Tuesday, April 20, 2010
Ok, fine.
                          http://dev.lawver.net/html5/microdata.html




Tuesday, April 20, 2010
An Address Card
            <ul itemscope itemtype="http://microformats.org/wiki/hcard"
            class="vcard" itemid="http://lawver.net">
                  <li itemprop="fn">Kevin Lawver</li>
                  <li><a href="http://lawver.net" itemprop="url" rel="bookmark"
            class="url">Blog</a></li>
                  <li itemprop="org">Music Intelligence Solutions</li>
                  <li itemprop="title">Chief Architect</li>
            </ul>




Tuesday, April 20, 2010
The Big Practical Finish



Tuesday, April 20, 2010
What Can I Use Right
                                Now?
                     • Document semantics (with the HTML5 shiv
                           script for IE), but not if you use
                           javascript to add elements to the
                           DOM!

                     • Canvas with RaphaelJS
                     • Offline API in Firefox and Safari

Tuesday, April 20, 2010
What Doesn’t Work?

                     • Most of the new form elements,
                          unfortunately.
                     • Most of the new DOM API’s
                     • See http://a.deveria.com/caniuse/ for an up
                          to date list of what works and what
                          doesn’t!



Tuesday, April 20, 2010
The Future

                     • Client-side SQL Storage (works in Safari
                          and Firefox now, with slightly different
                          API’s)
                     • Microsoft says that IE9 will support HTML5
                          and hardware-accelerated SVG (Canvas)
                     • And we didn’t talk about CSS3 at all...

Tuesday, April 20, 2010
Resources

                     • http://adactio.com/extras/slides/
                          html5onlineconf/
                     • http://diveintohtml5.org
                     • http://validator.nu
                     • http://html5doctor.com

Tuesday, April 20, 2010
Questions?



Tuesday, April 20, 2010

More Related Content

What's hot

Wikis for Collaborative Learning
Wikis for Collaborative LearningWikis for Collaborative Learning
Wikis for Collaborative Learning
P Parson
 
HTML5 - getting started
HTML5 - getting startedHTML5 - getting started
HTML5 - getting started
Ted Drake
 
Can Media Queries Save Us All?
Can Media Queries Save Us All?Can Media Queries Save Us All?
Can Media Queries Save Us All?
Tim Kadlec
 
Social Media and You! Introduction to Social Media
Social Media and You! Introduction to Social MediaSocial Media and You! Introduction to Social Media
Social Media and You! Introduction to Social Media
Mala Chandra
 
Consumententrends 2010
Consumententrends 2010Consumententrends 2010
Consumententrends 2010
Vincent Everts
 
Unconferences & New Web Initiatives
Unconferences & New Web InitiativesUnconferences & New Web Initiatives
Unconferences & New Web Initiatives
Ellyssa Kroski
 
Intro to Linked Data: Context
Intro to Linked Data: ContextIntro to Linked Data: Context
Intro to Linked Data: ContextDavid Wood
 

What's hot (7)

Wikis for Collaborative Learning
Wikis for Collaborative LearningWikis for Collaborative Learning
Wikis for Collaborative Learning
 
HTML5 - getting started
HTML5 - getting startedHTML5 - getting started
HTML5 - getting started
 
Can Media Queries Save Us All?
Can Media Queries Save Us All?Can Media Queries Save Us All?
Can Media Queries Save Us All?
 
Social Media and You! Introduction to Social Media
Social Media and You! Introduction to Social MediaSocial Media and You! Introduction to Social Media
Social Media and You! Introduction to Social Media
 
Consumententrends 2010
Consumententrends 2010Consumententrends 2010
Consumententrends 2010
 
Unconferences & New Web Initiatives
Unconferences & New Web InitiativesUnconferences & New Web Initiatives
Unconferences & New Web Initiatives
 
Intro to Linked Data: Context
Intro to Linked Data: ContextIntro to Linked Data: Context
Intro to Linked Data: Context
 

Viewers also liked

Hinduja Interactive Company Profile
Hinduja Interactive Company ProfileHinduja Interactive Company Profile
Hinduja Interactive Company Profile
aryapatnaik
 
Inspire U Billing for Massage Therapists with Vivian mahoney1
Inspire U Billing for Massage Therapists with Vivian mahoney1Inspire U Billing for Massage Therapists with Vivian mahoney1
Inspire U Billing for Massage Therapists with Vivian mahoney1
Center for Compassionate Touch LLC
 
Inspire u featuring allissa haines~marketing with personality
Inspire u featuring allissa haines~marketing with personalityInspire u featuring allissa haines~marketing with personality
Inspire u featuring allissa haines~marketing with personality
Center for Compassionate Touch LLC
 
Your Database is Trying to Kill You
Your Database is Trying to Kill YouYour Database is Trying to Kill You
Your Database is Trying to Kill You
Kevin Lawver
 
Inspire U Presents Aromatherapy for Special Populations
Inspire U Presents Aromatherapy for Special PopulationsInspire U Presents Aromatherapy for Special Populations
Inspire U Presents Aromatherapy for Special Populations
Center for Compassionate Touch LLC
 
CODE!
CODE!CODE!
Welcome To Ruby On Rails
Welcome To Ruby On RailsWelcome To Ruby On Rails
Welcome To Ruby On Rails
Kevin Lawver
 
Crowdsourcing in the Public Sector
Crowdsourcing in the Public SectorCrowdsourcing in the Public Sector
Crowdsourcing in the Public Sector
Bas Kotterink
 
Making Marketing More Human Through Technology
Making Marketing More Human Through TechnologyMaking Marketing More Human Through Technology
Making Marketing More Human Through Technology
Kevin Lawver
 
Building Whuffie
Building WhuffieBuilding Whuffie
Building Whuffie
Kevin Lawver
 
Ma 51st annual meeting
Ma 51st annual meetingMa 51st annual meeting
Ma 51st annual meeting
Center for Compassionate Touch LLC
 
Enabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and explorationEnabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and exploration
Kevin Lawver
 
Vocabulario o viño
Vocabulario o viñoVocabulario o viño
Vocabulario o viño
alxen
 
Súper Casares Paqui
Súper Casares PaquiSúper Casares Paqui
Súper Casares Paqui
alxen
 
Social Media Food Chain
Social Media Food ChainSocial Media Food Chain
Social Media Food Chain
Kevin Lawver
 
'UX', 'UX Design' and 'Good UX'
'UX', 'UX Design' and 'Good UX''UX', 'UX Design' and 'Good UX'
'UX', 'UX Design' and 'Good UX'
Jinyong Kim
 

Viewers also liked (16)

Hinduja Interactive Company Profile
Hinduja Interactive Company ProfileHinduja Interactive Company Profile
Hinduja Interactive Company Profile
 
Inspire U Billing for Massage Therapists with Vivian mahoney1
Inspire U Billing for Massage Therapists with Vivian mahoney1Inspire U Billing for Massage Therapists with Vivian mahoney1
Inspire U Billing for Massage Therapists with Vivian mahoney1
 
Inspire u featuring allissa haines~marketing with personality
Inspire u featuring allissa haines~marketing with personalityInspire u featuring allissa haines~marketing with personality
Inspire u featuring allissa haines~marketing with personality
 
Your Database is Trying to Kill You
Your Database is Trying to Kill YouYour Database is Trying to Kill You
Your Database is Trying to Kill You
 
Inspire U Presents Aromatherapy for Special Populations
Inspire U Presents Aromatherapy for Special PopulationsInspire U Presents Aromatherapy for Special Populations
Inspire U Presents Aromatherapy for Special Populations
 
CODE!
CODE!CODE!
CODE!
 
Welcome To Ruby On Rails
Welcome To Ruby On RailsWelcome To Ruby On Rails
Welcome To Ruby On Rails
 
Crowdsourcing in the Public Sector
Crowdsourcing in the Public SectorCrowdsourcing in the Public Sector
Crowdsourcing in the Public Sector
 
Making Marketing More Human Through Technology
Making Marketing More Human Through TechnologyMaking Marketing More Human Through Technology
Making Marketing More Human Through Technology
 
Building Whuffie
Building WhuffieBuilding Whuffie
Building Whuffie
 
Ma 51st annual meeting
Ma 51st annual meetingMa 51st annual meeting
Ma 51st annual meeting
 
Enabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and explorationEnabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and exploration
 
Vocabulario o viño
Vocabulario o viñoVocabulario o viño
Vocabulario o viño
 
Súper Casares Paqui
Súper Casares PaquiSúper Casares Paqui
Súper Casares Paqui
 
Social Media Food Chain
Social Media Food ChainSocial Media Food Chain
Social Media Food Chain
 
'UX', 'UX Design' and 'Good UX'
'UX', 'UX Design' and 'Good UX''UX', 'UX Design' and 'Good UX'
'UX', 'UX Design' and 'Good UX'
 

Similar to HTML5: About Damn Time

A Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick ArmstrongA Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick Armstrong
Nick Armstrong
 
Darwin web standards
Darwin web standardsDarwin web standards
Darwin web standardsJustin Avery
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project ArgoWesley Lindamood
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummit
Jen Simmons
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
François Massart
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
Lanh Le
 
Webmontag München Cross Platform
Webmontag München Cross PlatformWebmontag München Cross Platform
Webmontag München Cross Platformwolframkriesing
 
The Future of DITA
The Future of DITAThe Future of DITA
The Future of DITA
Keith Schengili-Roberts
 
HTML5 Report Card
HTML5 Report CardHTML5 Report Card
HTML5 Report Card
Michael(tm) Smith
 
Html5
Html5Html5
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011Stefane Fermigier
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
Steven Chipman
 
Introduction web tech
Introduction web techIntroduction web tech
Introduction web tech
Liaquat Rahoo
 
Browsers & Web Technology - an Opera talk
Browsers & Web Technology - an Opera talkBrowsers & Web Technology - an Opera talk
Browsers & Web Technology - an Opera talkZi Bin Cheah
 
A practical guide to building websites with HTML5 & CSS3
A practical guide to building websites with HTML5 & CSS3A practical guide to building websites with HTML5 & CSS3
A practical guide to building websites with HTML5 & CSS3
Darren Wood
 
let's talk web standards
let's talk web standardslet's talk web standards
let's talk web standards
Zi Bin Cheah
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The Cloud
Chapter Three
 

Similar to HTML5: About Damn Time (20)

A Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick ArmstrongA Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick Armstrong
 
Darwin web standards
Darwin web standardsDarwin web standards
Darwin web standards
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummit
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
 
Webmontag München Cross Platform
Webmontag München Cross PlatformWebmontag München Cross Platform
Webmontag München Cross Platform
 
The Future of DITA
The Future of DITAThe Future of DITA
The Future of DITA
 
HTML5 Report Card
HTML5 Report CardHTML5 Report Card
HTML5 Report Card
 
Html5
Html5Html5
Html5
 
HTML 5
HTML 5HTML 5
HTML 5
 
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
 
Introduction web tech
Introduction web techIntroduction web tech
Introduction web tech
 
Browsers & Web Technology - an Opera talk
Browsers & Web Technology - an Opera talkBrowsers & Web Technology - an Opera talk
Browsers & Web Technology - an Opera talk
 
A practical guide to building websites with HTML5 & CSS3
A practical guide to building websites with HTML5 & CSS3A practical guide to building websites with HTML5 & CSS3
A practical guide to building websites with HTML5 & CSS3
 
let's talk web standards
let's talk web standardslet's talk web standards
let's talk web standards
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The Cloud
 
Html5 public
Html5 publicHtml5 public
Html5 public
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

HTML5: About Damn Time

  • 1. HTML5: About Damn Time Kevin Lawver | kevin@lawver.net | @kplawver Tuesday, April 20, 2010
  • 2. A Short History Lesson • HTML 2.0 - 11/1995 • HTML 3.2 - 01/1997 • HTML 4.01 - 12/1999 • XHTML 1.0 - 01/2000 • XHTML 1.1 - 05/2001 (no one uses this) • XHTML 2? - Dead as of 12/2009 Tuesday, April 20, 2010
  • 3. HTML5: Guerilla • The What Working Group (http:// whatwg.org) was started by Ian Hickson (then at Opera, now at Google). • Started as a response to what was wrong with XHTML 2 and to move HTML forward. • HTML5 specs brought into W3C in 03/2007. Tuesday, April 20, 2010
  • 4. So, What’s New? • Document sematics • Form controls • Canvas • Audio and Video as first-class citizens • Offline storage • Embedded meta data inside elements Tuesday, April 20, 2010
  • 5. And What’s Gone? • Presentational elements like font, big, center, etc • Presentational attributes like bgcolor, border, etc • Frames, frameset and noframes • acronym (abbr serves both purposes now) Tuesday, April 20, 2010
  • 6. A Basic Document http://dev.lawver.net/html5/blank.html Tuesday, April 20, 2010
  • 7. <!DOCTYPE html> <html> <head> <title>My Awesome HTML5 Document</title> <meta charset="utf-8"/> <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/ html5.js"></script> <![endif]--> </head> <body> </body> </html> Tuesday, April 20, 2010
  • 8. Things to See • The HTML comment at the top must be there or things will look silly in any current version of Internet Explorer • The DOCTYPE is tiny. Since it’s no longer an “X”, there’s no DTD. • Other than that, not much is different here, right? Tuesday, April 20, 2010
  • 9. Document Semantics • No more divs! (OK, OK, fewer divs) • Real semantics: header, footer, section, article & aside Tuesday, April 20, 2010
  • 10. Let’s Make a Blog • I used Tumblr, because their templating language won’t get in the way. • It’s live now: http://tedxcreativecoast.com (convenient victim) Tuesday, April 20, 2010
  • 11. Let’s look at the masthead... Tuesday, April 20, 2010
  • 12. <header> <h1><a href="/">TEDx Creative Coast</a></h1> </header> <nav class="pages"> <ul> <li><a href="/">Home</a></li> <li><a href="/event-details">Event Details</a></li> <li><a href="/speakers">Speakers</a></li> <li><a href="/sponsors">Sponsors</a></li> <li><a href="/about">About TEDx</a></li> <li><a href="/about_tedxcreativecoast">Volunteers and Crew</ a></li> </ul> </nav> Tuesday, April 20, 2010
  • 13. Did you notice... • The header element? • That I still used an h1? • That nav is a new element specifically for navigation? Tuesday, April 20, 2010
  • 14. A Blog Post... http://dev.lawver.net/html5/tedx.html Tuesday, April 20, 2010
  • 15. <article class="hentry text"> <h3><a href="http://tedxcreativecoast.com/post/ 482465925/musicians-welcome">Musicians Welcome</ a></h3> <div class="entry-content"> ... </div> <details> <a href="http://tedxcreativecoast.com/post/ 482465925/musicians-welcome">Permalink</a> | posted 1 day ago </details> </article> Tuesday, April 20, 2010
  • 16. What did you see? Tuesday, April 20, 2010
  • 17. Here’s what I saw... • The article element surrounding the post. • The new details element for displaying meta data about the post. • I didn’t use another header element around the h3, but I could have. • Did anyone notice the microformat I snuck in there? Tuesday, April 20, 2010
  • 18. And the footer... Tuesday, April 20, 2010
  • 19. <footer> <nav class="pagination"> <ul> <li><details>You are on page 1 of 1.</details></li> <ul> </nav> <nav> <ul> <li><a href="#">Top</a></li> <li><a href="/">Home</a></li> <li><a href="/about" title="TEDxCreativeCoast About TED and TEDx">About</a></li> <li><a href="/mobile">Mobile</a></li> <li><a href="/event-details" title="TEDxCreativeCoast Event Details">Event</a></li> <li><a href="/speakers" title="TEDxCreativeCoast Presenters">Speakers</a></li> <li><a href="/sponsors" title="TEDxCreativeCoast Sponsors">Sponsors</a></li> <ul> <p>This independent TEDx event is operated under license from <a href="http://ted.com" target="_blank" title="This independent TEDx event is operated under license from TED">TED</a>.</p> </nav> <details class="theme"></details> </footer> Tuesday, April 20, 2010
  • 20. And? • The shapely footer element, containing... • multiple nav elements • and a document-wide details element for document cruft. Tuesday, April 20, 2010
  • 21. Canvas http://dev.lawver.net/html5/canvas.html Tuesday, April 20, 2010
  • 22. Drawing the Web Way • Creates a drawing “area” inside of a document. • Has a javascript API for adding shapes, and allowing for interactivity • Feature-rich and complex drawing API. Tuesday, April 20, 2010
  • 23. Abstract it all away! • I use RaphaelJS, which uses Canvas on good browsers and VML in Internet Explorer. • It abstracts away a lot of the complexity and provides a simple but powerful API. • http://raphaeljs.com Tuesday, April 20, 2010
  • 26. More Data-Specific Inputs! • We can finally do sliders in the markup • Colors, URLs, e-mail addresses, names, search queries, telephone numbers, and times and dates all have their own input types now! Tuesday, April 20, 2010
  • 27. Demo http://dev.lawver.net/html5/forms.html Tuesday, April 20, 2010
  • 29. Make Your App Offlineable! • You can create a manifest which gives a list of URLs for your app that declares files to cache, which ones are only available on the network, and fallbacks for failed requests. • Poor cross-browser implementation so far. • A lot like the old Google Gears API. Tuesday, April 20, 2010
  • 30. No Demo Because it doesn’t work well enough across multiple browsers to waste time with... yet. Tuesday, April 20, 2010
  • 31. Audio & Video Tuesday, April 20, 2010
  • 32. No more plugins! Tuesday, April 20, 2010
  • 33. Media is a first-class markup citizen now! Tuesday, April 20, 2010
  • 34. Demo http://dev.lawver.net/html5/video.html Tuesday, April 20, 2010
  • 35. The Markup <video src="movie.m4v" id="my-video"></video> <p> <a href="javascript:play_it()">play</a> | <a href="javascript:pause_it()">pause</a> </p> Tuesday, April 20, 2010
  • 36. The Javascript function play_it() { var video = document.getElementById("my-video"); video.play(); } function pause_it() { var video = document.getElementById("my-video"); video.pause(); } Tuesday, April 20, 2010
  • 37. Problems with video... • There’s a big argument about supported formats. Safari supports h.264, and Firefox only supports Ogg Theora. • There are rumors that Google will open sources their video codec, making this stuff moot. • IE doesn’t support the video element at all. • Works great on the iPad and iPhone though! Tuesday, April 20, 2010
  • 39. Microdata is a way to embed meta data inside of elements. Tuesday, April 20, 2010
  • 41. Turn your HTML documents into your API! Tuesday, April 20, 2010
  • 42. Yeah, but we have microformats! Tuesday, April 20, 2010
  • 43. But, they’re non-trivial to parse and mis-use some HTML attributes. Tuesday, April 20, 2010
  • 44. Ok, fine. http://dev.lawver.net/html5/microdata.html Tuesday, April 20, 2010
  • 45. An Address Card <ul itemscope itemtype="http://microformats.org/wiki/hcard" class="vcard" itemid="http://lawver.net"> <li itemprop="fn">Kevin Lawver</li> <li><a href="http://lawver.net" itemprop="url" rel="bookmark" class="url">Blog</a></li> <li itemprop="org">Music Intelligence Solutions</li> <li itemprop="title">Chief Architect</li> </ul> Tuesday, April 20, 2010
  • 46. The Big Practical Finish Tuesday, April 20, 2010
  • 47. What Can I Use Right Now? • Document semantics (with the HTML5 shiv script for IE), but not if you use javascript to add elements to the DOM! • Canvas with RaphaelJS • Offline API in Firefox and Safari Tuesday, April 20, 2010
  • 48. What Doesn’t Work? • Most of the new form elements, unfortunately. • Most of the new DOM API’s • See http://a.deveria.com/caniuse/ for an up to date list of what works and what doesn’t! Tuesday, April 20, 2010
  • 49. The Future • Client-side SQL Storage (works in Safari and Firefox now, with slightly different API’s) • Microsoft says that IE9 will support HTML5 and hardware-accelerated SVG (Canvas) • And we didn’t talk about CSS3 at all... Tuesday, April 20, 2010
  • 50. Resources • http://adactio.com/extras/slides/ html5onlineconf/ • http://diveintohtml5.org • http://validator.nu • http://html5doctor.com Tuesday, April 20, 2010