title: HTML5
subtitle: SFSCon
date: What will the WEB look like tomorrow?
script:
- pager.js
stylesheet:
- presentation.css
watermark: |
#agenda: Agenda
* *Intro*
** "Introduction":intro,
"Question":question,
"Quote":timbl
* Body
** "Who":who, "What":what, "Where":where, "When":when, "Why":why, "How":how
* Conclusion
** "Anecdotes":anecdote, "Recommendations":recommendations, "Risks":risks, "Links":links
#intro: Introduction
* My name is Sam Ruby
* IBM, Emerging Technology
# Introduction
* My name is Sam Ruby
* IBM, Emerging Technology
* Standards:
** Co-chair "W3C HTML WG":http://www.w3.org/html/wg/
** "ECMA TC39":http://www.ecma-international.org/memento/TC39.htm (ECMAScript)
** Co-author "RESTful Web Services":http://oreilly.com/catalog/9780596529260/
** Secretary "IETF AtomPub WG":http://tools.ietf.org/wg/atompub/
** Conveener "ECMA CLI":http://www.ecma-international.org/publications/standards/Ecma-335.htm
** "SOAPBuilders":http://tech.groups.yahoo.com/group/soapbuilders/message/7380
# Introduction
* My name is Sam Ruby
* IBM, Emerging Technology
* Standards
* Open Source
** "Apache Software Foundation":http://www.apache.org/foundation/
** Co-author, "Agile Web Development with Rails":http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition
** "FeedValidator":http://beta.feedvalidator.org/
** "Venus":http://intertwingly.net/code/venus/docs/index.html
** "PHP Group":http://www.php.net/credits.php
# Introduction
* My name is Sam Ruby
* IBM, Emerging Technology
* Standards
* Open Source
* "Weblog":http://intertwingly.net/blog/
# Introduction
* My name is Sam Ruby
* IBM, Emerging Technology
* Standards
* Open Source
* "Weblog":http://intertwingly.net/blog/
* "More info on Wikipedia":http://en.wikipedia.org/wiki/Sam_Ruby
#question: Question
How did you learn HTML?
# Question
How did you learn HTML?
* Reading the spec?
# Question
How did you learn HTML?
* Reading the spec?
* Formal education?
# Question
How did you learn HTML?
* Reading the spec?
* Formal education?
* From a book?
# Question
How did you learn HTML?
* Reading the spec?
* Formal education?
* From a book?
* View Source?
#view-source: View Source
# View Source
Common bond between:
# View Source
Common bond between:
* Free Software
# View Source
Common bond between:
* Free Software
* Open data formats
# View Source
Common bond between:
* Free Software
* Open data formats, like HTML5
#timbl: Quote from the Inventor of the WWW
"Tim Berners-Lee":http://www.webmonkey.com/blog/Tim_Berners-Lee_Sees_Promise__Challenges_in_HTML5
HTML5 is a *mixture of several different technologies* that allow content
creators to do more with web pages. It defines rules for presenting video,
audio, mathematical equations, complex layouts, 2-D animations and
non-standard typefaces. Each bit of technology has its own working group
within the W3C chartered with developing that one component.
#agenda: Agenda
* Intro
** "Introduction":intro,
"Question":question,
"Quote":timbl
* *Body*
** "Who":who, "What":what, "Where":where, "When":when, "Why":why, "How":how
* Conclusion
** "Anecdotes":anecdote, "Recommendations":recommendations, "Risks":risks, "Links":links
#who: Who is HTML5?
* *Co-chairs* are Paul Cotton (Microsoft), Maciej Stachowiak (Apple), and
myself (IBM/Apache)
* *Key vendors* are Google, Apple, Opera, Mozilla, and recently Microsoft.
* Revisions to the draft are published virtually simultaneously on the
"WHATWG":http://www.whatwg.org/ and W3C sites.
** mainly as an insurance policy should the W3C regress into another decade long lapse of attention.
* *W3C* adds Accessibility, Semantic Web, and a level of protection against
patents.
#what: What is HTML5?
* Technically, it is "a *vocabulary* and associated APIs for HTML and XHTML".
* In practice, it is a *buzzword* (like AJAX) that encompass CSS3,
"WebApps":http://www.w3.org/2008/webapps/, and even some IETF work.
# What is HTML5? - Key features
* "Video":http://www.w3.org/TR/html5/video.html#video /
"Audio":http://www.w3.org/TR/html5/video.html#audio
* "Offline Web Applications":http://www.w3.org/TR/html5/offline.html#offline
* "Local Storage":http://dev.w3.org/html5/webstorage/
* "Web Workers":http://www.whatwg.org/specs/web-workers/current-work/
* "Geolocation":http://dev.w3.org/geo/api/spec-source.html
* "Canvas":http://www.w3.org/TR/html5/the-canvas-element.html#the-canvas-element
and "SVG":http://www.w3.org/Graphics/SVG/
* "Web3D":http://www.web3d.org/ / "x3dom":http://www.x3dom.org/
* Various improvements on form handling
* "Drag and Drop":http://www.w3.org/TR/html5/editing.html#dnd
#where: Where is HTML5?
* Mobile devices (Android, iPhone, Opera)
* Desktops (Chrome, Safari, Firefox)
* Toolkits and shims ("Gears":http://code.google.com/apis/gears/,
"SVGWeb":http://code.google.com/p/svgweb/,
"ChromeFrame":http://code.google.com/chrome/chromeframe/,
"ExplorerCanvas":http://code.google.com/p/explorercanvas/,
"GWT":http://code.google.com/webtoolkit/)
#when: When is HTML5 (history)
* HTML 1.0 was published by the IETF in "1993":http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.
* HTML 4.0 was published by the W3C in "1997":http://www.w3.org/TR/REC-html40-971218/.
#when: When is HTML5 (history)
* HTML 1.0 was published by the IETF in "1993":http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.
* HTML 4.0 was published by the W3C in "1997":http://www.w3.org/TR/REC-html40-971218/.
* The W3C decided that XML was the way forward in "1998":http://www.w3.org/MarkUp/future/.
* HTML 4.01 was published by the W3C in "1999":http://www.w3.org/TR/html401/.
#when: When is HTML5 (history)
* HTML 1.0 was published by the IETF in "1993":http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.
* HTML 4.0 was published by the W3C in "1997":http://www.w3.org/TR/REC-html40-971218/.
* The W3C decided that XML was the way forward in "1998":http://www.w3.org/MarkUp/future/.
* HTML 4.01 was published by the W3C in "1999":http://www.w3.org/TR/html401/.
* The WHATWG was formed in "2004":http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2004-June/000005.html.
* The W3C HTML WG was formed in "2006":http://www.w3.org/2006/11/HTML-WG-charter.html.
#when: When is HTML5 (history)
* HTML 1.0 was published by the IETF in "1993":http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.
* HTML 4.0 was published by the W3C in "1997":http://www.w3.org/TR/REC-html40-971218/.
* The W3C decided that XML was the way forward in "1998":http://www.w3.org/MarkUp/future/.
* HTML 4.01 was published by the W3C in "1999":http://www.w3.org/TR/html401/.
* The WHATWG was formed in "2004":http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2004-June/000005.html.
* The W3C HTML WG was formed in "2006":http://www.w3.org/2006/11/HTML-WG-charter.html.
* The W3C Decided not to renew the charter of the XHTML2 working group in "2009":http://www.w3.org/2009/06/xhtml-faq.
#when: When is HTML5 (future)
* Implementation and specification are happening in parallel.
* Everything that works today in HTML5 will also work in the context of a
document with an HTML4 Doctype.
* Status shown in both W3C and WhatWG versions of the draft.
* Oft quoted "2022" date is for nirvana where comprehensive test suites are
done and there are multiple independent implementations that pass 100%.
# When is HTML5? - Canvas
"canvas":http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element:
** Firefox and WebKit have nearly complete support for this feature, but do
not yet pass all of the relevant tests.
** Opera and ExplorerCanvas have partial support, and don't support all aspects of this feature.
# When is HTML5? - Web Storage
"web storage":http://dev.w3.org/html5/webstorage/:
* "IE":http://blogs.msdn.com/ieinternals/archive/2009/09/16/Bugs-in-IE8-support-for-HTML5-postMessage-sessionStorage-and-localStorage.aspx, Mozilla, and Safari have partial support, and don't support all aspects of this feature.
#why: Why HTML5?
* To get a level of ubiquity and integration simply not possible with
Java/JavaFX, Flash, or Silverlight.
* IE's market share is dropping by one percent per month. (Note: this isn't
so much "why HTML5" as to "why not simply target IE?"). IE's mindshare is
dropping much faster. Microsoft is well aware of this.
* Any application targeting 2010 and beyond need to be inclusive of mobile
devices.
#how: HTML5: How?
* It's the apps, stupid!
* Google Maps and Gmail lead the rediscovery of AJAX.
* Current leading edge applications for HTML5:
** "Google Wave":http://wave.google.com/
** "Bespin":https://bespin.mozilla.com/
#agenda: Agenda
* Intro
** "Introduction":intro,
"Question":question,
"Quote":timbl
* Body
** "Who":who, "What":what, "Where":where, "When":when, "Why":why, "How":how
* *Conclusion*
** "Anecdotes":anecdote, "Recommendations":recommendations, "Risks":risks, "Links":links
#anecdote: Anecdote - 1994
"Bill Gates":http://scripting.com/davenet/1994/10/27/replyfrombillgates.html:
The Internet is a great phenomena. I dont see how the emergence of more
information content on a network can be a bad thing for the personal computer
industry. Will it cause less personal computers to sell? I think quite the
opposite. Less copies of Flight Simulator or Encarta?
# Anecdote - 2004
"Dave Winer":http://archive.scripting.com/2004/02/11#When:11:30:34AM: I
quoted Bill saying that the Internet wouldn't mean less sales for Flight
Simulator or Encarta, and I said he was right but that wasn't the point. One
of my companions stopped me there and said wait a minute, the Internet
did mean less sales for Encarta. I was shocked. That's correct, and
Gates got it wrong, and I wasn't enough of a visionary to see it. I got it
wrong too. Who needs an encyclopedia on a CD-ROM when you have the Web at your
fingertips? Someday some kid is going to ask you What is Encarta?
# Anecdote - 2009
"Techdirt":http://www.techdirt.com/articles/20090331/0050324314.shtml:
Microsoft has decided to shut down Encarta, ...just
months after Microsoft also shuttered the group that makes Flight
Simulator.
#wisdom: Conventional Wisdom
"Joe Gregorio":http://bitworking.org/news/425/atompub-is-a-failure: Thick
clients, RIAs, were supposed to be a much larger component of your online
life. The cliche at the time was, "you can't run Word in a
browser". Well, we know how well that's held up. I expect a similar
lifetime for today's equivalent cliche, "you can't do photo editing in a
browser". The reality is that more and more functionality is moving into the
browser and that takes away one of the driving forces for an editing
protocol.Another motivation was the "Editing on the airplane" scenario. The idea
was that you wouldn't always be online and when you were offline you couldn't
use your browser. The part of this cliche that wasn't put down by Virgin
Atlantic and Edge cards was finished off by Gears and DVCS's.
#assessment: Assessment
"Tim Bray":http://www.tbray.org/ongoing/When/200x/2008/01/01/Predictions:
This notion, that the Web GUI is insufficiently interactive and we need
something richer, is widely held among developers and almost never
among actual users of computers, and it’s entirely wrong. I can
remember when people were forced to use compiled Windows and X11 applications,
and most of them were extremely bad because it’s really hard to design a good
interactive UI; when the Web came along, more or less everyone
abandoned those UIs in favor of the Web, almost instantly and with
shrieks of glee. Yes, Web UIs are drastically constrained, offer a paucity of
controls, and enforce a brutally linear control flow; and these are
good things.
#analysis: Analysis (a.k.a., my take)
* In the long run ubiquity always wins
** Outside of Adobe Flash, there has been no successful ubiquitous plugins.
Even there, it is only on the desktop; less adoption on mobile devices.
* A 15+ year run for Encarta is nothing to be sneezed at
** When all is said and done, there is a lot of money to be made in arbitrage
(i.e. filling and taking advantage of temporary gaps in the marketplace).
#recommendations: Recommendations:
* As a first order approximation, for any product being developed today, I
would make the working assumption being that what you find in daily builds of
WebKit or Firefox today is what will be pervasive when you are ready to
deploy, and furthermore will be all that you need.
* If you feel you need more, my first step is to recommend that you
reconsider. Failing that, the second step is to roll up your sleeves and be
prepared to implement the functionality in the context of one or more
browsers, AND to bring the results to a *standards* body.
#risks: Risks:
* Lack of sufficient *participation* from authors and vendors of tools that
produce content.
* While declining, *Microsoft* still has considerable market-share,
particularly on the desktop. Delays in IE's implementation of key features
(e.g., canvas) will affect the ability of content producers to depend on such
features being present.
* Inability to come to agreement on *common codecs* may limit the usefulness of
video and audio support.
# Risks (continued):
* While HTML5 has proven it's effectiveness as a channel for communication,
it could easily become a *choke point* by which existing browser vendors
limit the ability for others to enter the market.
* Concerns such as accessibility and security may affect the *adoption rates
of shims* such as Google Chrome Frame.
# Risks (mitigation):
# Risks (mitigation):
* "Participate!":http://www.w3.org/html/wg/#who
# Risks (mitigation):
* "Participate!":http://www.w3.org/html/wg/#who
* Produce compelling content
#timbl: Quote from the Inventor of the WWW
"Tim Berners-Lee":http://www.webmonkey.com/blog/Tim_Berners-Lee_Sees_Promise__Challenges_in_HTML5
“We’ve had the pieces for a while,” he says. “Seeing all these things
finally coming together is exciting, and it multiplies the power of each one,”
Berners-Lee says.
#links: Links
* "Working Draft":http://www.w3.org/TR/html5/
("Editor's Draft":http://dev.w3.org/html5/spec/Overview.html,
"Differences":http://www.w3.org/TR/2009/WD-html5-diff-20090825/)
* "Dive Into HTML5":http://diveintohtml5.org/
* Google I/O: "Keynote":http://www.youtube.com/watch?v=S5aJAaGZIvk,
"Demos":http://htmlfive.appspot.com/
* "Microsoft":http://channel9.msdn.com/posts/Jafa/HTML-5-Standards-and-Developer-Features-in-Microsoft-Internet-Explorer-8/
* "Opera":http://my.opera.com/ODIN/blog/2009/10/05/future-of-web-apps-london-html5
* "Apple":http://www.appleinsider.com/articles/09/09/19/why_apple_is_betting_on_html_5_a_web_history.html
* "HTML Evolution":http://intertwingly.net/stories/2009/03/13/html5-evolution.html