intro to html 5 for learning #eldc2011

148
HTML5 [email protected] Twitter.com/NickFloro Understanding How it Will Improve Our Learning

Upload: nick-floro

Post on 09-May-2015

1.259 views

Category:

Technology


1 download

DESCRIPTION

Presented at ELDC2011 in Utah 2011.

TRANSCRIPT

Page 1: Intro to HTML 5 for Learning #eldc2011

HTML5

[email protected]/NickFloro

Understanding

How it Will Improve Our Learning

Page 2: Intro to HTML 5 for Learning #eldc2011
Page 3: Intro to HTML 5 for Learning #eldc2011
Page 4: Intro to HTML 5 for Learning #eldc2011
Page 5: Intro to HTML 5 for Learning #eldc2011
Page 6: Intro to HTML 5 for Learning #eldc2011
Page 7: Intro to HTML 5 for Learning #eldc2011
Page 8: Intro to HTML 5 for Learning #eldc2011
Page 9: Intro to HTML 5 for Learning #eldc2011
Page 10: Intro to HTML 5 for Learning #eldc2011
Page 11: Intro to HTML 5 for Learning #eldc2011
Page 12: Intro to HTML 5 for Learning #eldc2011

The Web Platform is Accelerating

2002WebKit

Page 13: Intro to HTML 5 for Learning #eldc2011
Page 14: Intro to HTML 5 for Learning #eldc2011

Next Generation Mobile Using Webkit

RIM BlackberryiOSAndroid

Page 15: Intro to HTML 5 for Learning #eldc2011
Page 16: Intro to HTML 5 for Learning #eldc2011
Page 17: Intro to HTML 5 for Learning #eldc2011
Page 18: Intro to HTML 5 for Learning #eldc2011
Page 19: Intro to HTML 5 for Learning #eldc2011

Graphics Location Storage Speed

Solving Developer Challenges

Page 20: Intro to HTML 5 for Learning #eldc2011

Which browserʼs support HTML 5?

Chrome Safari Firefox Opera

Page 21: Intro to HTML 5 for Learning #eldc2011

Chrome Safari Firefox Opera

Which browserʼs support HTML 5?

Internet Explorer 9BETA

Page 22: Intro to HTML 5 for Learning #eldc2011

HTML 5in the works...

Page 23: Intro to HTML 5 for Learning #eldc2011

Advanced Core Language

Page 24: Intro to HTML 5 for Learning #eldc2011
Page 25: Intro to HTML 5 for Learning #eldc2011

HTML 4

Page 26: Intro to HTML 5 for Learning #eldc2011

HTML 5 - Introduces New Elements

Page 27: Intro to HTML 5 for Learning #eldc2011

<body> <header>...</header> <nav>...</nav> <article> <section> ... </section> </article> <aside>...</aside> <footer>...</footer></body>

The div elements can be replaced with the new elements: header, nav, section, article, aside, and footer.

Page 28: Intro to HTML 5 for Learning #eldc2011

Improve Web Apps

Page 29: Intro to HTML 5 for Learning #eldc2011
Page 30: Intro to HTML 5 for Learning #eldc2011
Page 31: Intro to HTML 5 for Learning #eldc2011
Page 32: Intro to HTML 5 for Learning #eldc2011

Re-Address backwardcompatibility

Page 33: Intro to HTML 5 for Learning #eldc2011

Flow chart

Compatibility

Page 34: Intro to HTML 5 for Learning #eldc2011

Flow chart

Replaces:all prior versions of html

Page 35: Intro to HTML 5 for Learning #eldc2011

Flow chart

Replaces:XHTML 1.0 & Dom2htmlwith new

APIʼs

Page 36: Intro to HTML 5 for Learning #eldc2011

HTML 5 Design Principles

Page 37: Intro to HTML 5 for Learning #eldc2011

1. Support existing content

Page 38: Intro to HTML 5 for Learning #eldc2011

2. Insure Interoperability

Page 39: Intro to HTML 5 for Learning #eldc2011

W3c de facto Standard

Page 40: Intro to HTML 5 for Learning #eldc2011
Page 41: Intro to HTML 5 for Learning #eldc2011

3. Define UA Behavior(User Agent)

Page 42: Intro to HTML 5 for Learning #eldc2011

4. Improve Handling of Errors

Page 43: Intro to HTML 5 for Learning #eldc2011
Page 44: Intro to HTML 5 for Learning #eldc2011

5. Evolve not recreate what we already have

Page 45: Intro to HTML 5 for Learning #eldc2011

Build on real world use and test cases

Page 46: Intro to HTML 5 for Learning #eldc2011
Page 47: Intro to HTML 5 for Learning #eldc2011

Drawing on the Web

Flash

Page 48: Intro to HTML 5 for Learning #eldc2011

Canvas & SVG

Page 49: Intro to HTML 5 for Learning #eldc2011
Page 50: Intro to HTML 5 for Learning #eldc2011
Page 51: Intro to HTML 5 for Learning #eldc2011
Page 52: Intro to HTML 5 for Learning #eldc2011

Scalable Vector Graphics | SVG

Page 53: Intro to HTML 5 for Learning #eldc2011

Vector Graphics Scale & Look Great!

Page 54: Intro to HTML 5 for Learning #eldc2011
Page 56: Intro to HTML 5 for Learning #eldc2011
Page 57: Intro to HTML 5 for Learning #eldc2011

SVG -> High level• Import/Export• Easy UIs• Interactive• Medium Animation• Tree of objects

Canvas -> Low level• No mouse interaction• High Animation• JS Centric• More Bookkeeping• Pixels

When Canvas or SVG?

Page 58: Intro to HTML 5 for Learning #eldc2011

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

Page 59: Intro to HTML 5 for Learning #eldc2011

Quake II - Browser Only

Page 60: Intro to HTML 5 for Learning #eldc2011

Quake II - Browser Only

Page 61: Intro to HTML 5 for Learning #eldc2011

Quake II - Browser Only

WebGL 3D graphics

HTML 5 CanvasHTML 5 Audio

HTML 5 Web Sockets

HTML 5 Local Storage

Page 62: Intro to HTML 5 for Learning #eldc2011

Video

Page 63: Intro to HTML 5 for Learning #eldc2011

One video to play everywhere.

Page 64: Intro to HTML 5 for Learning #eldc2011

Capture to delivery and beyondThe Production Process

Authoring DeliveryVideo / Audio Assets Compression

Page 65: Intro to HTML 5 for Learning #eldc2011

Standards Are Everywhere

MPEG-1/

MPEG-4 audio

MPEG-2RedBook JPEGAC-3FM DVNTSC/

PAL

Page 66: Intro to HTML 5 for Learning #eldc2011

• Original DV 60 sec 266mb

• MPEG-4 = 450k to 7.8mb

• Flash 8+ = 450k to 7.8mb

• 60 minutes of Video = 16gb

• 60 minutes compressed = 480mb

MPEG-4: The MPEG for the InternetThe standard for the digital media revolution

Page 67: Intro to HTML 5 for Learning #eldc2011

PixelsGuidelines for Compression

DV 720 x 486

720P 1280 x 720

HD 1080i 1920 x 1080

Page 68: Intro to HTML 5 for Learning #eldc2011

Content PlacementGuidelines for Compression

320 x 240

Page 69: Intro to HTML 5 for Learning #eldc2011

Selecting a SizeGuidelines for Compression

320 x 240

512 x 384

640 x 480

Page 70: Intro to HTML 5 for Learning #eldc2011
Page 71: Intro to HTML 5 for Learning #eldc2011
Page 72: Intro to HTML 5 for Learning #eldc2011
Page 73: Intro to HTML 5 for Learning #eldc2011

Tips & Hints• Frame Rate: 15 fps– Key Frames: 4 x fps

• 2 Pass Variable Bit Rate

• QuickTime: Sorenson 3 / MPEG 4 / H264

• Flash: Spark / On2 Pro / H264

Guidelines for Compression

Page 74: Intro to HTML 5 for Learning #eldc2011
Page 75: Intro to HTML 5 for Learning #eldc2011

Video Compression

Flash

Page 76: Intro to HTML 5 for Learning #eldc2011

<!-- flash movie & bullets --> <div id="flashholder"> <div id="flash"> <script language="javascript"> if (AC_FL_RunContent == 0) { alert("This page requires AC_RunActiveContent.js."); } else { AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0', 'width', '320', 'height', '310', 'src', '../FLV_Player', 'quality', 'high', 'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 'align', 'middle', 'play', 'true', 'loop', 'true', 'scale', 'showall', 'wmode', 'window', 'devicefont', 'false', 'id', 'FLV_Player', 'bgcolor', '#ffffff', 'name', 'FLV_Player', 'menu', 'true', 'allowFullScreen', 'false', 'allowScriptAccess','always', 'movie', '../FLV_Player', 'salign', '' ); //end AC code } </script> <noscript>

Page 77: Intro to HTML 5 for Learning #eldc2011

// HTML 5 makes<video> as easyas <img>// HTML 5 makes <video> as easy as <img>

Page 78: Intro to HTML 5 for Learning #eldc2011

HTML 5 OptionsVideo Compression

Flash H264MPEG 4

Ogg Theora WebM

Page 79: Intro to HTML 5 for Learning #eldc2011

<video src="http://example.com/myMovie.ogg" controls>Your browser does not support the video element.</video>

Embedding Video

Page 80: Intro to HTML 5 for Learning #eldc2011

<video controls><source src="foo.ogg" type="video/ogg"><source src="foo.mp4">Your browser does not support the video element.</video>

var v = document.getElementsByTagName("video")[0];v.play();

Embedding Video

Page 82: Intro to HTML 5 for Learning #eldc2011
Page 83: Intro to HTML 5 for Learning #eldc2011
Page 84: Intro to HTML 5 for Learning #eldc2011
Page 85: Intro to HTML 5 for Learning #eldc2011
Page 86: Intro to HTML 5 for Learning #eldc2011

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

Page 87: Intro to HTML 5 for Learning #eldc2011

geolocation

Page 88: Intro to HTML 5 for Learning #eldc2011
Page 89: Intro to HTML 5 for Learning #eldc2011
Page 90: Intro to HTML 5 for Learning #eldc2011

// the geolocation apibrings browser basedlocation to your apps

Page 91: Intro to HTML 5 for Learning #eldc2011
Page 92: Intro to HTML 5 for Learning #eldc2011

A C

R

O

P T

Page 93: Intro to HTML 5 for Learning #eldc2011

You are getting hotter.

Page 94: Intro to HTML 5 for Learning #eldc2011

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

Page 95: Intro to HTML 5 for Learning #eldc2011

app cache& database

Page 96: Intro to HTML 5 for Learning #eldc2011
Page 97: Intro to HTML 5 for Learning #eldc2011

// database and app cache store user data and app resources locally

Page 98: Intro to HTML 5 for Learning #eldc2011
Page 99: Intro to HTML 5 for Learning #eldc2011

App CacheList resources that you want to take offline

CACHE MANIFEST/static/stickies.html/media/deleteButton.png/media/deleteButtonPressed.png/css/stickies.css/js/stickies.js<body manifest="./cache.manifest"></body>

Page 100: Intro to HTML 5 for Learning #eldc2011

Databasevar db = window.openDatabase("NoteTest", "1.0","Example DB",200000);function saveMe(id, text, timestamp, left, top, zIndex) {db.transaction(function (tx) {tx.executeSql("INSERT INTO WebKitStickyNotes "+ "(id, note, timestamp, left, top, zindex) "+ "VALUES (?, ?, ?, ?, ?, ?)",[id, text, timestamp, left, top, zIndex]);});}

Page 101: Intro to HTML 5 for Learning #eldc2011

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Page 102: Intro to HTML 5 for Learning #eldc2011

web workers

Page 103: Intro to HTML 5 for Learning #eldc2011

HTML 5More Power

Page 104: Intro to HTML 5 for Learning #eldc2011

// web workers defines an API for runningbackground scripts

Page 106: Intro to HTML 5 for Learning #eldc2011

Web Workers

<script>var worker = new Worker('worker.js');worker.onmessage = function (event) {console.log('Results: ' + event.data);};</script>

Page 107: Intro to HTML 5 for Learning #eldc2011

worker.js

function findPrimes() {// ... prime algorithm herepostMessage(nextPrime);}findPrimes();

Page 108: Intro to HTML 5 for Learning #eldc2011

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Page 109: Intro to HTML 5 for Learning #eldc2011

Test on Windows 7, Vista• Internet Explorer 6, 7, 8, 9• Firefox 3, 3.5, 3.6, 4.0 beta• Opera 10

Test on OS X− Safari 4− Firefox 3.5, 3.6, 4.0 beta− Opera 10

Test Mobile− iOS− Android− Blackberry, Windows 7 Phone

Test for Usability

Page 110: Intro to HTML 5 for Learning #eldc2011
Page 111: Intro to HTML 5 for Learning #eldc2011

Forms

CSS 3

Effects/Transitions

Page 112: Intro to HTML 5 for Learning #eldc2011

tumultco.com

Page 113: Intro to HTML 5 for Learning #eldc2011

animatable.com

Page 114: Intro to HTML 5 for Learning #eldc2011

Design for Flexibility

Page 115: Intro to HTML 5 for Learning #eldc2011

NickFloro.com

Page 116: Intro to HTML 5 for Learning #eldc2011

Resources

Page 117: Intro to HTML 5 for Learning #eldc2011

html5doctor.com

Page 118: Intro to HTML 5 for Learning #eldc2011

www.thinkvitamin.com

Page 119: Intro to HTML 5 for Learning #eldc2011

http://www.caniuse.com/

Page 120: Intro to HTML 5 for Learning #eldc2011
Page 121: Intro to HTML 5 for Learning #eldc2011

html5demos.com

Page 122: Intro to HTML 5 for Learning #eldc2011

html5gallery.com

Page 123: Intro to HTML 5 for Learning #eldc2011

www.sencha.com

Page 124: Intro to HTML 5 for Learning #eldc2011

www.css3.info

Page 125: Intro to HTML 5 for Learning #eldc2011

www.uxmag.com

Page 126: Intro to HTML 5 for Learning #eldc2011

DiveintoHTML5.org

Page 127: Intro to HTML 5 for Learning #eldc2011

Introducing HTML5 (Voices That Matter)

Bruce Lawson

Page 128: Intro to HTML 5 for Learning #eldc2011

CSS3 for Web DesignersDan Cederholm | A Book Apart

Page 129: Intro to HTML 5 for Learning #eldc2011

www.kesiev.com/akihabara/

Page 130: Intro to HTML 5 for Learning #eldc2011

Go Play, Experiment, Dream

AppleiOS

Page 131: Intro to HTML 5 for Learning #eldc2011

Search Flickr.com for iPad UI

Page 132: Intro to HTML 5 for Learning #eldc2011

www.smashingmagazine.com

Page 134: Intro to HTML 5 for Learning #eldc2011

Screencasts 101 Mini-Session

www.jingproject.com

Page 135: Intro to HTML 5 for Learning #eldc2011

www.twitter.com

Page 136: Intro to HTML 5 for Learning #eldc2011

www.lrnchat.com

Page 137: Intro to HTML 5 for Learning #eldc2011

www.panma.org

Page 138: Intro to HTML 5 for Learning #eldc2011

http://www.flickr.com/photos/fraserspeirs/sets/72157623224262135/

Page 140: Intro to HTML 5 for Learning #eldc2011
Page 141: Intro to HTML 5 for Learning #eldc2011
Page 142: Intro to HTML 5 for Learning #eldc2011
Page 143: Intro to HTML 5 for Learning #eldc2011
Page 144: Intro to HTML 5 for Learning #eldc2011
Page 146: Intro to HTML 5 for Learning #eldc2011

www.launchcycle.com

Page 147: Intro to HTML 5 for Learning #eldc2011

Pictures

Video

Blog

Audio

3D Models

Multiplayer Environment

ePortfolios

Course Management System

Micro-blogging

Explore

Page 148: Intro to HTML 5 for Learning #eldc2011

Thank You

Nick Florosealworks interactive studios

[email protected]

twitter.com/NickFloro

Download the Presentation at:http://www.slideshare.net/nickfloro