5. history of HTML5
● started at Opera – Web Applications 1.0
● reaction to XHTML's direction
● Mozilla and Apple joined
● W3C HTML5
● Microsoft involvement
9. “...extending the language to better support Web
applications, since that is one of the directions the Web is
going in and is one of the areas least well served by HTML
so far. This puts HTML in direct competition with other
technologies intended for applications deployed over the
Web, in particular Flash and Silverlight.”
Ian Hickson, Editor of HTML5
http://lists.w3.org/Archives/Public/public-html/2009Jan/0215.html
16. current and old browsers “support” these
(although some need a little extra help)
header, footer, … { display: block; }
17. Internet Explorer needs extra training wheels
document.createElement('header');
document.createElement('footer');
…
http://html5doctor.com/how-to-get-html5-working-in-ie-and-firefox-2
20. rich form elements – without JavaScript
<input type=”text” list=”mylist”>
<datalist id="mylist">
<option label="Mr" value="Mr">
<option label="Ms" value="Ms">
…
</datalist>
21. type and attributes for built-in validation
(of course you should still validate on the server)
<input type=”tel”>
<input type=”email”>
<input type=”url”>
<input … pattern="[a-z]{3}[0-9]{3}">
<input … required>
Demonstration of webforms
31. video as native object...why is it important?
● “play nice” with rest of the page
● keyboard accessibility built-in
● API for controls
Demonstration of video
32. video format debates – H.264 vs OGG Theora
<video controls autoplay poster="…" width="…" height="…">
<source src="movie.ogv" type="video/ogg" />
<source src="movie.mp4" type="video/mp4" />
<!-- fallback content -->
</video>
still include fallback for old browsers
http://camendesign.com/code/video_for_everybody
37. find out your location via JavaScript
navigator.geolocation.getCurrentPosition(success, error);
function success(position) {
/* where's Waldo? */
var lat = position.coords.latitude;
var long = position.coords.longitude;
...
}
43. Web Database – full relational DB / SQL
var db =
openDatabase(dbName, version, displayName, expectedSize);
db.transaction(function(tx) {
tx.executeSql(sqlStatement, [], function (tx, result) {
/* do something with the results */
});
});