Intro to HTML 5 #LS2011

Preview:

DESCRIPTION

This session provides a introduction to 6 core features within HTML5 and several resources that you can use today to get started and explore the technology for learning.

Citation preview

HTML5

Nick@sealworks.comTwitter.com/NickFloro

Getting Started with

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 1 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 2 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 3 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 4 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 5 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 6 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 7 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 8 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 9 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 10 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 11 of 148 03/24/11

The Web Platform is Accelerating

2002WebKit

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 12 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 13 of 148 03/24/11

Next Generation Mobile Using Webkit

RIM BlackberryiOSAndroid

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 14 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 15 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 16 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 17 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 18 of 148 03/24/11

Graphics Location Storage Speed

Solving Developer ChallengesIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 19 of 148 03/24/11

Which browserʼs support HTML 5?

Chrome Safari Firefox Opera

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 20 of 148 03/24/11

Chrome Safari Firefox Opera

Which browserʼs support HTML 5?

Internet Explorer 9BETA

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 21 of 148 03/24/11

HTML 5in the works...

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 22 of 148 03/24/11

Advanced Core Language

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 23 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 24 of 148 03/24/11

HTML 4Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 25 of 148 03/24/11

HTML 5 - Introduces New ElementsIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 26 of 148 03/24/11

<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.

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 27 of 148 03/24/11

Improve Web Apps

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 28 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 29 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 30 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 31 of 148 03/24/11

Re-Address backwardcompatibility

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 32 of 148 03/24/11

Flow chart

Compatibility

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 33 of 148 03/24/11

Flow chart

Replaces:all prior versions of html

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 34 of 148 03/24/11

Flow chart

Replaces:XHTML 1.0 & Dom2htmlwith new

APIʼs

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 35 of 148 03/24/11

HTML 5 Design Principles

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 36 of 148 03/24/11

1. Support existing content

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 37 of 148 03/24/11

2. Insure Interoperability

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 38 of 148 03/24/11

W3c de facto Standard

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 39 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 40 of 148 03/24/11

3. Define UA Behavior(User Agent)

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 41 of 148 03/24/11

4. Improve Handling of Errors

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 42 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 43 of 148 03/24/11

5. Evolve not recreate what we already have

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 44 of 148 03/24/11

Build on real world use and test cases

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 45 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 46 of 148 03/24/11

Drawing on the Web

Flash

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 47 of 148 03/24/11

Canvas & SVG

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 48 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 49 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 50 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 51 of 148 03/24/11

Scalable Vector Graphics | SVGIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 52 of 148 03/24/11

Vector Graphics Scale & Look Great!Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 53 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 54 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 56 of 148 03/24/11

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?

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 57 of 148 03/24/11

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 58 of 148 03/24/11

Quake II - Browser Only

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 59 of 148 03/24/11

Quake II - Browser Only

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 60 of 148 03/24/11

Quake II - Browser Only

WebGL 3D graphics

HTML 5 CanvasHTML 5 Audio

HTML 5 Web Sockets

HTML 5 Local Storage

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 61 of 148 03/24/11

Video

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 62 of 148 03/24/11

One video to play everywhere.Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 63 of 148 03/24/11

Capture to delivery and beyondThe Production Process

Authoring DeliveryVideo / Audio Assets Compression

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 64 of 148 03/24/11

Standards Are Everywhere

MPEG-1/

MPEG-4 audio

MPEG-2RedBook JPEGAC-3FM DVNTSC/

PAL

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 65 of 148 03/24/11

• 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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 66 of 148 03/24/11

PixelsGuidelines for Compression

DV 720 x 486

720P 1280 x 720

HD 1080i 1920 x 1080

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 67 of 148 03/24/11

Content PlacementGuidelines for Compression

320 x 240

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 68 of 148 03/24/11

Selecting a SizeGuidelines for Compression

320 x 240

512 x 384

640 x 480

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 69 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 70 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 71 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 72 of 148 03/24/11

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 73 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 74 of 148 03/24/11

Video Compression

Flash

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 75 of 148 03/24/11

<!-- 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>

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 76 of 148 03/24/11

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 77 of 148 03/24/11

HTML 5 OptionsVideo Compression

Flash H264MPEG 4

Ogg Theora WebM

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 78 of 148 03/24/11

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

Embedding VideoIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 79 of 148 03/24/11

<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 VideoIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 80 of 148 03/24/11

www.longtailvideo.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 81 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 82 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 83 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 84 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 85 of 148 03/24/11

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 86 of 148 03/24/11

geolocation

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 87 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 88 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 89 of 148 03/24/11

// the geolocation apibrings browser basedlocation to your apps

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 90 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 91 of 148 03/24/11

You are getting hotter.

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 92 of 148 03/24/11

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 93 of 148 03/24/11

app cache& database

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 94 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 95 of 148 03/24/11

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 96 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 97 of 148 03/24/11

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>

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 98 of 148 03/24/11

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]);});}

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 99 of 148 03/24/11

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 100 of 148 03/24/11

web workers

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 101 of 148 03/24/11

HTML 5More Power

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 102 of 148 03/24/11

// web workers defines an API for runningbackground scripts

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 103 of 148 03/24/11

Web Workers

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 105 of 148 03/24/11

worker.js

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 106 of 148 03/24/11

HTML 5 Support

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 107 of 148 03/24/11

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− iPhone− Android− Blackberry, Windows 7 Phon

Test for UsabilityIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 108 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 109 of 148 03/24/11

Forms

CSS 3

Effects/Transitions

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 110 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 111 of 148 03/24/11

Design for Flexibility

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 112 of 148 03/24/11

NickFloro.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 113 of 148 03/24/11

Resources

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 114 of 148 03/24/11

html5doctor.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 115 of 148 03/24/11

www.thinkvitamin.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 116 of 148 03/24/11

http://www.caniuse.com/

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 117 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 118 of 148 03/24/11

html5demos.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 119 of 148 03/24/11

html5gallery.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 120 of 148 03/24/11

www.sencha.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 121 of 148 03/24/11

www.css3.info

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 122 of 148 03/24/11

www.uxmag.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 123 of 148 03/24/11

DiveintoHTML5.org

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 124 of 148 03/24/11

Introducing HTML5 (Voices That Matter)

Bruce Lawson

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 125 of 148 03/24/11

CSS3 for Web DesignersDan Cederholm | A Book Apart

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 126 of 148 03/24/11

www.kesiev.com/akihabara/

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 127 of 148 03/24/11

Go Play, Experiment, Dream

AppleiOS

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 128 of 148 03/24/11

Search Flickr.com for iPad UI

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 129 of 148 03/24/11

www.smashingmagazine.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 132 of 148 03/24/11

www.longtailvideo.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 133 of 148 03/24/11

Compression for Great Video and Audio, Master Tips and Common Sense

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 134 of 148 03/24/11

Screencasts 101 Mini-Session

www.jingproject.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 135 of 148 03/24/11

www.twitter.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 136 of 148 03/24/11

www.lrnchat.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 137 of 148 03/24/11

www.panma.org

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 138 of 148 03/24/11

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 139 of 148 03/24/11

www.posterous.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 140 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 141 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 142 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 143 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 144 of 148 03/24/11

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 145 of 148 03/24/11

www.TED.com

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 146 of 148 03/24/11

Pictures

Video

Blog

Audio

3D Models

Multiplayer Environment

ePortfolios

Course Management System

Micro-blogging

ExploreIntro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 147 of 148 03/24/11

Thank You

Nick Florosealworks interactive studios

nick@sealworks.comwww.sealworks.com

twitter.com/NickFloro

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

Intro to HTML 5 Nick@sealworks.com

twitter.com/nickfloro 148 of 148 03/24/11