html5 and friends - institutional web management workshop 2010

62
HTML5 and friends Patrick H. Lauke / Institutional Web Managers Workshop IWMW2010 / Sheffield / 13 July 2010 CONTEXTUALISING THE NEW TECHNOLOGIES

Upload: patrick-lauke

Post on 18-Jan-2015

4.330 views

Category:

Education


0 download

DESCRIPTION

http://iwmw.ukoln.ac.uk/iwmw2010/

TRANSCRIPT

Page 1: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 and friends

Patrick H. Lauke / Institutional Web Managers Workshop IWMW2010 / Sheffield / 13 July 2010

CONTEXTUALISING THE NEW TECHNOLOGIES

Page 2: HTML5 and friends - Institutional Web Management Workshop 2010

Web Evangelist at Opera

Page 3: HTML5 and friends - Institutional Web Management Workshop 2010

...should I use HTML5 today?

Page 4: HTML5 and friends - Institutional Web Management Workshop 2010

http://www.flickr.com/photos/24374884@N08/4603715307/

Page 5: HTML5 and friends - Institutional Web Management Workshop 2010
Page 6: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 … without the hype?

Page 7: HTML5 and friends - Institutional Web Management Workshop 2010

history of HTML5

● 1999 HTML 4.01, 2000 XHTML 1.0● 2003 XForms specification > XML based● Opera proof of concept: Web Forms 1.0

Page 8: HTML5 and friends - Institutional Web Management Workshop 2010

2004 W3C focus on XHTML 2.0 and beyond...

http://www.flickr.com/photos/craiga/17071467/

Page 9: HTML5 and friends - Institutional Web Management Workshop 2010

WHATWGWeb Hypertext Application Technology Working Group

Page 10: HTML5 and friends - Institutional Web Management Workshop 2010

2007 W3C HTML5 WG

Page 11: HTML5 and friends - Institutional Web Management Workshop 2010

“...extending the language to better support Web applications [...] This puts HTML in direct competition with other technologies[...] , in particular Flash and Silverlight.”

Ian Hickson, Editor of HTML5http://lists.w3.org/Archives/Public/public-html/2009Jan/0215.html

Page 12: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 does not replace HTML 4.01

Page 13: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 has more bling!

Page 14: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 specification aimedat browser developers

(defines how browsers handle markup/code – no reverse engineering)

for authors: HTML5 differences from HTML4http://www.w3.org/TR/html5-diff/

Page 15: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 standardises current browser and authoring behaviour

(e.g. “relaxed” coding rules)

Page 16: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5<!DOCTYPE html>

Page 17: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 brings newmarkup elements and JavaScript APIs

Page 18: HTML5 and friends - Institutional Web Management Workshop 2010

new elements for more accurate semantics

Page 19: HTML5 and friends - Institutional Web Management Workshop 2010
Page 20: HTML5 and friends - Institutional Web Management Workshop 2010

Top 20 class names1. footer 11. button

2. menu 12. main

3. style1 13. style3

4. msonormal 14. small

5. text 15. nav

6. content 16. clear

7. title 17. search

8. style2 18. style4

9. header 19. logo

10. copyright 20. body

http://devfiles.myopera.com/articles/572/classlist-url.htm

Page 21: HTML5 and friends - Institutional Web Management Workshop 2010

Top 20 id names1. footer 11. search

2. content 12. nav

3. header 13. wrapper

4. logo 14. top

5. container 15. table2

6. main 16. layer2

7. table1 17. sidebar

8. menu 18. image1

9. layer1 19. banner

10. autonumber1 20. navigation

http://devfiles.myopera.com/articles/572/idlist-url.htm

Page 22: HTML5 and friends - Institutional Web Management Workshop 2010
Page 23: HTML5 and friends - Institutional Web Management Workshop 2010

unambiguous and machine readable...but what about current screenreaders?

Page 24: HTML5 and friends - Institutional Web Management Workshop 2010

current and old browsers “support” these(although some need a little extra help)

header, footer, … { display: block; }

Page 25: HTML5 and friends - Institutional Web Management Workshop 2010

Internet Explorer needs extra training wheelsdocument.createElement('header');document.createElement('footer');…http://html5doctor.com/how-to-get-html5-working-in-ie-and-firefox-2

Page 26: HTML5 and friends - Institutional Web Management Workshop 2010

improved formsmaking common UI needs native

Page 27: HTML5 and friends - Institutional Web Management Workshop 2010

rich form elements – without JavaScript

<input type=”date”><input type=”time”><input type=”month”><input type=”week”><input type=”datetime” … ><input type=”range”><input type=”number”><input type=”file” multiple><input … autofocus><input … autocomplete>

Page 28: HTML5 and friends - Institutional Web Management Workshop 2010

type and attributes for built-in validation(of course you should still validate on the server)

<input … required><input type=”tel”><input type=”email”><input type=”url”><input … pattern="[a-z]{3}[0-9]{3}">Demos:http://people.opera.com/patrickl/experiments/forms/newtypes.htmlhttp://people.opera.com/patrickl/experiments/forms/date-time.htmlhttp://people.opera.com/patrickl/experiments/forms/validation.html

Page 29: HTML5 and friends - Institutional Web Management Workshop 2010

<video>

Page 30: HTML5 and friends - Institutional Web Management Workshop 2010

Adobe Flash currently most commonvideo delivery mechanism

Page 31: HTML5 and friends - Institutional Web Management Workshop 2010

<object width="425" height="344"><param name="movie"

value="http://www.youtube.com/v/9sEI1AUFJKw&hl=en&fs=1&"></param>

<param name="allowFullScreen" value="true"></param>

<param name="allowscriptaccess" value="always"></param>

<embed src="http://www.youtube.com/v/9sEI1AUFJKw&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Page 32: HTML5 and friends - Institutional Web Management Workshop 2010

<video src="video.webm" controls autoplay poster="poster.jpg" width="320" height="240"> <a href="video.webm">Download movie</a></video>

Page 33: HTML5 and friends - Institutional Web Management Workshop 2010

video as native object● “plays nice” with rest of the page● keyboard accessibility built-in● API for controls: v = document.getElementById('myVideo'); v.play(); v.pause(); …Demos:http://people.opera.com/patrickl/experiments/webm/basic-controls/http://people.opera.com/patrickl/experiments/webm/fancy-controls/http://people.opera.com/patrickl/experiments/webm/fancy-swap/

Page 34: HTML5 and friends - Institutional Web Management Workshop 2010

video formatsthe big debate

Page 35: HTML5 and friends - Institutional Web Management Workshop 2010

MP4 / H.264

ubiquitous, patent encumbered, licensing/royalties

Page 36: HTML5 and friends - Institutional Web Management Workshop 2010

Ogg Theora

“free and open”, no licensing/royaltiesnot many tools for it, not web optimised

Page 37: HTML5 and friends - Institutional Web Management Workshop 2010

WebM

open and royalty-free, web optimisedsupport by software and hardware vendors

Page 38: HTML5 and friends - Institutional Web Management Workshop 2010

providing multiple sources<video controls autoplay poster="…" width="…" height="…">

<source src="movie.webm" type="video/webm" /><source src="movie.ogv" type="video/ogg" /><source src="movie.mp4" type="video/mp4" /><!-- fallback content -->

</video>

still include fallback for old browsershttp://camendesign.com/code/video_for_everybody

Page 39: HTML5 and friends - Institutional Web Management Workshop 2010

audio exactly the same as video

<audio src=”music.mp3” controls autoplay></audio>[...]<audio controls autoplay>

<source src="music.mp3" type="audio/mpeg" /><source src="music.oga" type="audio/ogg" /><!-- fallback content -->

</audio>

same format debacle: MP3 vs Ogg Vorbis

Page 40: HTML5 and friends - Institutional Web Management Workshop 2010

<canvas>

Page 41: HTML5 and friends - Institutional Web Management Workshop 2010

canvas = “scriptable images”

<canvas width="…" height="…"></canvas>

Page 42: HTML5 and friends - Institutional Web Management Workshop 2010

canvas has standard API methods for drawing

ctx = canvas.getContext("2d");ctx.fillRect(x, y, width, height);ctx.beginPath();ctx.moveTo(x, y);ctx.lineTo(x, y);ctx.bezierCurveTo(x1, y1, x2, y2, c1, c2);ctx.drawImage(…);Trivial demo:http://www.splintered.co.uk/experiments/archives/paranoid_0.2/

Page 43: HTML5 and friends - Institutional Web Management Workshop 2010
Page 44: HTML5 and friends - Institutional Web Management Workshop 2010

Demos:http://alteredqualia.com/canvasmol/http://dwpe.googlecode.com/svn/trunk/charting/index.html

Page 45: HTML5 and friends - Institutional Web Management Workshop 2010

canvas accessibility concerns

Page 46: HTML5 and friends - Institutional Web Management Workshop 2010

video, audio and canvas on any devicewithout plugins

(Java / Flash / Silverlight not ubiquitous)

Page 47: HTML5 and friends - Institutional Web Management Workshop 2010
Page 48: HTML5 and friends - Institutional Web Management Workshop 2010
Page 49: HTML5 and friends - Institutional Web Management Workshop 2010
Page 50: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 (and friends) haslots more APIs for developers

(for powerful client-side apps)

Page 51: HTML5 and friends - Institutional Web Management Workshop 2010

isgeolocationpartofhtml5.com

Page 52: HTML5 and friends - Institutional Web Management Workshop 2010

geolocationnavigator.geolocation.getCurrentPosition(success, error);navigator.geolocation.watchCurrentPosition(success, error);function success(position) {

/* where's Wally? */var lat = position.coords.latitude;var long = position.coords.longitude;...

}

Page 53: HTML5 and friends - Institutional Web Management Workshop 2010

offline detection...

window.addEventListener('online', function(){ … }, true);window.addEventListener('offline', function(){ … }, true);

and application cache<html manifest=”blah.manifest”>CACHE MANIFEST# send this with correct text/cache-manifest MIMEimages/sprites.pngscripts/common.jsscripts/jquery.jsstyles/global.cssdata.xml

and many more...(even beyond HTML5)

Page 54: HTML5 and friends - Institutional Web Management Workshop 2010

is it all safe to use, right now?

Page 55: HTML5 and friends - Institutional Web Management Workshop 2010

don't do browser sniffing

http://www.flickr.com/photos/timdorr/2096272747/

Page 56: HTML5 and friends - Institutional Web Management Workshop 2010
Page 57: HTML5 and friends - Institutional Web Management Workshop 2010

feature-detectionprogressive enhancement, graceful degradation – or use shims

http://diveintohtml5.org/everything.html

Page 58: HTML5 and friends - Institutional Web Management Workshop 2010

HTML5 as Flashkiller?

Page 59: HTML5 and friends - Institutional Web Management Workshop 2010

not a question of HTML5 replacing Flash...

Page 60: HTML5 and friends - Institutional Web Management Workshop 2010

giving developers a choice!

Page 61: HTML5 and friends - Institutional Web Management Workshop 2010

...should I use HTML5 today?

Page 62: HTML5 and friends - Institutional Web Management Workshop 2010

www.opera.com/developerpeople.opera.com/patrickl/presentations/iwmw2010_13.07.2010/iwmw2010_13.07.2010.pdf

[email protected]