Pages

Tuesday 24 May 2011

Overview of HTML5 – Day 1 of UK tech.days

UK Tech Days

It’s day 1 of UK Tech Days at the Vue cinema of Fulham Broadway where I attended the Web track.

I heard a number of talks today, one of them about HTML5 by Bruce Lawson.

HTML5 is an on-going effort and is not yet complete but lots of bits can already be used now.

In 1999 the W3C decided that HTML was finished and that the future was XML with XHTML1. Then it started planning XHTML2 where a lot of importance was given to language purity. No one cared.

Following work initiated by Ian Hickson with WHATWG, W3C decided to start working on HTML again and created HTML5. XHTML2 was eventually deprecated. So how come did HTML5 prevail on XHTML2? Bruce said:

  • it’s backward compatible with existing websites and
  • it’s more tolerant to error handling: the spec precisely defines what to do when markup does not validate.

The design principles that guide HTML5 are based around:

  • the 80/20 rule and
  • the belief that users are more important than authors, authors are more important than theoretical purity.

Other technologies not part of HTML5 but often used together: SVG, geolocation and CSS3.

HTML5 defines markup elements but also many JavaScript APIs.

HTML5 introduces the commonly used <div> as proper elements that actually mean something (header, footer, side bar). This makes it easier to build accessible apps because the browser can immediately identify the footer, the header, the side bar…

It also standardises some commonly used input forms (such as date pickers for instance) with the <input type=”…”/> element.

The <video> element displays play/pause controls on top of the video, works with many formats and remove the need for a plugin.

Media queries allow you to define several files with various resolutions depending on the capabilities of the device.

The <track> element shows subtitles over a video. The subtitles are in plain text therefore searchable and you can define several languages.

Other features:

  • detection of connection loss
  • offline application cache
  • server-sent events (to avoid polling)
  • web sockets

Good quotes by Bruce:

“HTML5 wants you to go to the pub”

“Nobody likes their bits to be in a black box, everybody likes their bits to be manipulated”

No comments: