introduction to html5 and learning for mobile+

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

Upload: nick-floro

Post on 09-May-2015

1.438 views

Category:

Technology


2 download

DESCRIPTION

Learn about HTML5, what and how we should be using today and how to plan for development you are doing today. Lots of great resources for getting started. Presented at #mlearningdevcon October 2011.

TRANSCRIPT

Page 1: Introduction to HTML5 and Learning for Mobile+

[email protected]/NickFloro

Understanding

How it Will Improve Our Learning

Page 2: Introduction to HTML5 and Learning for Mobile+

App

Page 3: Introduction to HTML5 and Learning for Mobile+

The Web Platform

Page 4: Introduction to HTML5 and Learning for Mobile+

Web App

Page 5: Introduction to HTML5 and Learning for Mobile+

WebApp

Page 6: Introduction to HTML5 and Learning for Mobile+

WebApp

HTML Javascript CSS API’s

Page 7: Introduction to HTML5 and Learning for Mobile+
Page 8: Introduction to HTML5 and Learning for Mobile+
Page 9: Introduction to HTML5 and Learning for Mobile+
Page 10: Introduction to HTML5 and Learning for Mobile+
Page 12: Introduction to HTML5 and Learning for Mobile+
Page 13: Introduction to HTML5 and Learning for Mobile+
Page 14: Introduction to HTML5 and Learning for Mobile+
Page 15: Introduction to HTML5 and Learning for Mobile+

What can we do with

HTML5

Page 16: Introduction to HTML5 and Learning for Mobile+
Page 17: Introduction to HTML5 and Learning for Mobile+
Page 18: Introduction to HTML5 and Learning for Mobile+
Page 19: Introduction to HTML5 and Learning for Mobile+
Page 20: Introduction to HTML5 and Learning for Mobile+
Page 21: Introduction to HTML5 and Learning for Mobile+

HTML5 = JS + CSS3

Page 22: Introduction to HTML5 and Learning for Mobile+
Page 23: Introduction to HTML5 and Learning for Mobile+

SEMANTICS

CSS3

3D, GRAPHICS & EFFECTS

DEVICE ACCESS

PERFORMANCE & INTEGRATION

MULTIMEDIA

OFFLINE & STORAGECONNECTIVITY

Page 24: Introduction to HTML5 and Learning for Mobile+
Page 25: Introduction to HTML5 and Learning for Mobile+

The Web Platform is Accelerating

2002WebKit

Page 26: Introduction to HTML5 and Learning for Mobile+

Next Generation Mobile Using Webkit

RIM BlackberryiOSAndroid

Page 27: Introduction to HTML5 and Learning for Mobile+
Page 28: Introduction to HTML5 and Learning for Mobile+
Page 29: Introduction to HTML5 and Learning for Mobile+
Page 30: Introduction to HTML5 and Learning for Mobile+
Page 31: Introduction to HTML5 and Learning for Mobile+

Graphics Location Storage Speed

Solving Developer Challenges

Page 32: Introduction to HTML5 and Learning for Mobile+

Which browser’s support HTML 5?

Chrome Safari Firefox Opera

Page 33: Introduction to HTML5 and Learning for Mobile+

Internet Explorer 9 BETA

Which browser’s support HTML 5?

Chrome Safari Firefox Opera

Page 34: Introduction to HTML5 and Learning for Mobile+

HTML 5in the works...

Page 35: Introduction to HTML5 and Learning for Mobile+

Advanced Core Language

Page 36: Introduction to HTML5 and Learning for Mobile+
Page 37: Introduction to HTML5 and Learning for Mobile+

HTML 4

Page 38: Introduction to HTML5 and Learning for Mobile+

HTML 5 - Introduces New Elements

Page 39: Introduction to HTML5 and Learning for Mobile+

<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 40: Introduction to HTML5 and Learning for Mobile+

Improve Web Apps

Page 41: Introduction to HTML5 and Learning for Mobile+
Page 42: Introduction to HTML5 and Learning for Mobile+
Page 43: Introduction to HTML5 and Learning for Mobile+
Page 44: Introduction to HTML5 and Learning for Mobile+

Flow chart

Compatibility

Page 45: Introduction to HTML5 and Learning for Mobile+

Flow chart

Replaces:all prior versions of html

Page 46: Introduction to HTML5 and Learning for Mobile+

Flow chart

Replaces:XHTML 1.0 & Dom2htmlwith new

API’s

Page 47: Introduction to HTML5 and Learning for Mobile+

HTML 5 Design Principles

Page 48: Introduction to HTML5 and Learning for Mobile+

1. Support existing content

Page 49: Introduction to HTML5 and Learning for Mobile+

2. Insure Interoperability

Page 50: Introduction to HTML5 and Learning for Mobile+

W3c de facto Standard

Page 51: Introduction to HTML5 and Learning for Mobile+
Page 52: Introduction to HTML5 and Learning for Mobile+

3. Define UA Behavior(User Agent)

Page 53: Introduction to HTML5 and Learning for Mobile+

4. Improve Handling of Errors

Page 54: Introduction to HTML5 and Learning for Mobile+
Page 55: Introduction to HTML5 and Learning for Mobile+

5. Evolve not recreate what we already have

Page 56: Introduction to HTML5 and Learning for Mobile+

Build on real world use and test cases

Page 57: Introduction to HTML5 and Learning for Mobile+

Drawing on the Web

Flash

Page 58: Introduction to HTML5 and Learning for Mobile+

Canvas & SVG

Page 59: Introduction to HTML5 and Learning for Mobile+
Page 60: Introduction to HTML5 and Learning for Mobile+
Page 61: Introduction to HTML5 and Learning for Mobile+
Page 62: Introduction to HTML5 and Learning for Mobile+

Scalable Vector Graphics | SVG

Page 63: Introduction to HTML5 and Learning for Mobile+

Vector Graphics Scale & Look Great!

Page 64: Introduction to HTML5 and Learning for Mobile+
Page 65: Introduction to HTML5 and Learning for Mobile+
Page 66: Introduction to HTML5 and Learning for Mobile+
Page 68: Introduction to HTML5 and Learning for Mobile+

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 69: Introduction to HTML5 and Learning for Mobile+

HTML 5 Support

£ £ £ £canvas / svg

video

geolocation

app cache

database

workers

Page 70: Introduction to HTML5 and Learning for Mobile+

Quake II - Browser Only

Page 71: Introduction to HTML5 and Learning for Mobile+

Quake II - Browser Only

Page 72: Introduction to HTML5 and Learning for Mobile+

Quake II - Browser Only

WebGL 3D graphics

HTML 5 CanvasHTML 5 Audio

HTML 5 Web Sockets

HTML 5 Local Storage

Page 73: Introduction to HTML5 and Learning for Mobile+

Video

Page 74: Introduction to HTML5 and Learning for Mobile+

One video to play everywhere.

Page 75: Introduction to HTML5 and Learning for Mobile+

Capture to delivery and beyondThe Production Process

Authoring DeliveryVideo / Audio Assets Compression

Page 76: Introduction to HTML5 and Learning for Mobile+

Standards Are Everywhere

MPEG-1/

MPEG-4 audio

MPEG-2RedBook JPEGAC-3FM DVNTSC/

PAL

Page 77: Introduction to HTML5 and Learning for Mobile+

• 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 78: Introduction to HTML5 and Learning for Mobile+

PixelsGuidelines for Compression

DV 720 x 486

720P 1280 x 720

HD 1080i 1920 x 1080

Page 79: Introduction to HTML5 and Learning for Mobile+

Content PlacementGuidelines for Compression

320 x 240

Page 80: Introduction to HTML5 and Learning for Mobile+

Selecting a SizeGuidelines for Compression

320 x 240

512 x 384

640 x 480

Page 81: Introduction to HTML5 and Learning for Mobile+
Page 82: Introduction to HTML5 and Learning for Mobile+
Page 83: Introduction to HTML5 and Learning for Mobile+
Page 84: Introduction to HTML5 and Learning for Mobile+
Page 85: Introduction to HTML5 and Learning for Mobile+
Page 86: Introduction to HTML5 and Learning for Mobile+

Frame RateGuidelines for Compression

29.97 fps

Page 87: Introduction to HTML5 and Learning for Mobile+

Frame RateGuidelines for Compression

29.97 fps 15 fps

Page 88: Introduction to HTML5 and Learning for Mobile+

Tips & Hints

Key Frames: 4 x fps

Guidelines for Compression

Page 89: Introduction to HTML5 and Learning for Mobile+

Guidelines for Compression2 Pass Variable Bit Rate

Page 90: Introduction to HTML5 and Learning for Mobile+

Guidelines for Compression2 Pass Variable Bit Rate

Page 91: Introduction to HTML5 and Learning for Mobile+

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

• Data Rate Target 800-1200 kbs

• 2 Pass Variable Bit Rate

• QuickTime: Sorenson 3 / H264

• Flash: Spark / On2 Pro / H264

• Audio: 16bit / 22khz / Mono / 64 kbs

Guidelines for Compression

WebM

Page 93: Introduction to HTML5 and Learning for Mobile+

Easy Access to VideoFlip $100 to $200

Page 94: Introduction to HTML5 and Learning for Mobile+

Smart Phones

Page 95: Introduction to HTML5 and Learning for Mobile+
Page 96: Introduction to HTML5 and Learning for Mobile+
Page 97: Introduction to HTML5 and Learning for Mobile+

Video Compression

Flash

Page 98: Introduction to HTML5 and Learning for Mobile+

<!-- 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 99: Introduction to HTML5 and Learning for Mobile+

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

Page 100: Introduction to HTML5 and Learning for Mobile+

HTML 5 OptionsVideo Compression

Flash H264MPEG 4

Ogg Theora WebM

Page 101: Introduction to HTML5 and Learning for Mobile+

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

Embedding Video

Page 102: Introduction to HTML5 and Learning for Mobile+

<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 104: Introduction to HTML5 and Learning for Mobile+
Page 105: Introduction to HTML5 and Learning for Mobile+
Page 106: Introduction to HTML5 and Learning for Mobile+
Page 107: Introduction to HTML5 and Learning for Mobile+
Page 108: Introduction to HTML5 and Learning for Mobile+

HTML 5 Support

£ £ £ ££ £ £ £

canvas / svg

video

geolocation

app cache

database

workers

Page 109: Introduction to HTML5 and Learning for Mobile+

geolocation

Page 110: Introduction to HTML5 and Learning for Mobile+
Page 111: Introduction to HTML5 and Learning for Mobile+
Page 112: Introduction to HTML5 and Learning for Mobile+

// the geolocation apibrings browser basedlocation to your apps

Page 113: Introduction to HTML5 and Learning for Mobile+
Page 114: Introduction to HTML5 and Learning for Mobile+

A C

R

O

P Twww.seeknspell.com

Page 115: Introduction to HTML5 and Learning for Mobile+

You are getting hotter.

Page 116: Introduction to HTML5 and Learning for Mobile+

HTML 5 Support

£ £ £ ££ £ £ ££ £ £ £

canvas / svg

video

geolocation

app cache

database

workers

iPhone

Page 117: Introduction to HTML5 and Learning for Mobile+

app cache& database

Page 118: Introduction to HTML5 and Learning for Mobile+
Page 119: Introduction to HTML5 and Learning for Mobile+

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

Page 120: Introduction to HTML5 and Learning for Mobile+
Page 121: Introduction to HTML5 and Learning for Mobile+

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 122: Introduction to HTML5 and Learning for Mobile+

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 123: Introduction to HTML5 and Learning for Mobile+

HTML 5 Support

£ £ £ ££ £ £ ££ £ £ ££ £ £ ££ £ £ £

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Page 124: Introduction to HTML5 and Learning for Mobile+

web workers

Page 125: Introduction to HTML5 and Learning for Mobile+

HTML 5More Power

Page 126: Introduction to HTML5 and Learning for Mobile+

// web workers defines an API for runningbackground scripts

Page 128: Introduction to HTML5 and Learning for Mobile+

HTML 5 Support

£ £ £ ££ £ £ ££ £ £ ££ £ £ ££ £ £ ££ £ £ £

canvas / svg

video

geolocation

app cache

database

workers

iPhone

mobile

mobile

Page 129: Introduction to HTML5 and Learning for Mobile+

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 130: Introduction to HTML5 and Learning for Mobile+
Page 131: Introduction to HTML5 and Learning for Mobile+
Page 132: Introduction to HTML5 and Learning for Mobile+

Forms

CSS 3

Effects/Transitions

Page 133: Introduction to HTML5 and Learning for Mobile+
Page 134: Introduction to HTML5 and Learning for Mobile+
Page 135: Introduction to HTML5 and Learning for Mobile+
Page 136: Introduction to HTML5 and Learning for Mobile+
Page 137: Introduction to HTML5 and Learning for Mobile+
Page 138: Introduction to HTML5 and Learning for Mobile+
Page 139: Introduction to HTML5 and Learning for Mobile+
Page 140: Introduction to HTML5 and Learning for Mobile+
Page 141: Introduction to HTML5 and Learning for Mobile+
Page 142: Introduction to HTML5 and Learning for Mobile+
Page 143: Introduction to HTML5 and Learning for Mobile+

Android Xoom1280 x 720

HTC Incredible800 x 480

Selecting a SizePixels & Aspect Ratio

iPad1024 x 768

iPhone 4960 x 640

iPhone480 x 320

Droid854 x 480

Page 144: Introduction to HTML5 and Learning for Mobile+

Design for Flexibility

Page 145: Introduction to HTML5 and Learning for Mobile+

Capture & Analyze

Page 146: Introduction to HTML5 and Learning for Mobile+

Using CoverFlow view and Preview of Graphics

Page 147: Introduction to HTML5 and Learning for Mobile+

Design Scrapbook: iPhoto | LittleSnapper

Page 148: Introduction to HTML5 and Learning for Mobile+
Page 149: Introduction to HTML5 and Learning for Mobile+
Page 150: Introduction to HTML5 and Learning for Mobile+

NickFloro.com

Page 151: Introduction to HTML5 and Learning for Mobile+

Resources

Page 152: Introduction to HTML5 and Learning for Mobile+

html5rocks.com

Page 153: Introduction to HTML5 and Learning for Mobile+

html5doctor.com

Page 154: Introduction to HTML5 and Learning for Mobile+

www.thinkvitamin.com

Page 155: Introduction to HTML5 and Learning for Mobile+

http://www.caniuse.com/

Page 156: Introduction to HTML5 and Learning for Mobile+
Page 158: Introduction to HTML5 and Learning for Mobile+

tumultco.com

Page 159: Introduction to HTML5 and Learning for Mobile+

animatable.com

Page 160: Introduction to HTML5 and Learning for Mobile+

html5demos.com

Page 161: Introduction to HTML5 and Learning for Mobile+

html5gallery.com

Page 162: Introduction to HTML5 and Learning for Mobile+

www.sencha.com

Page 163: Introduction to HTML5 and Learning for Mobile+

www.css3.info

Page 164: Introduction to HTML5 and Learning for Mobile+

www.uxmag.com

Page 165: Introduction to HTML5 and Learning for Mobile+

DiveintoHTML5.org

Page 166: Introduction to HTML5 and Learning for Mobile+

Introducing HTML5 (Voices That Matter)

Bruce Lawson

Page 167: Introduction to HTML5 and Learning for Mobile+

CSS3 for Web DesignersDan Cederholm | A Book Apart

Page 169: Introduction to HTML5 and Learning for Mobile+

www.kesiev.com/akihabara/

Page 170: Introduction to HTML5 and Learning for Mobile+

Go Play, Experiment, Dream

AppleiOS

Page 171: Introduction to HTML5 and Learning for Mobile+

Search Flickr.com for iPad UI

Page 172: Introduction to HTML5 and Learning for Mobile+

www.smashingmagazine.com

Page 174: Introduction to HTML5 and Learning for Mobile+

Screencasts 101 Mini-Session

www.jingproject.com

Page 175: Introduction to HTML5 and Learning for Mobile+

www.twitter.com

Page 176: Introduction to HTML5 and Learning for Mobile+

www.lrnchat.com

Page 177: Introduction to HTML5 and Learning for Mobile+

www.panma.org

Page 178: Introduction to HTML5 and Learning for Mobile+

Nancy Durate Garr Reynolds

Page 180: Introduction to HTML5 and Learning for Mobile+
Page 181: Introduction to HTML5 and Learning for Mobile+
Page 182: Introduction to HTML5 and Learning for Mobile+
Page 183: Introduction to HTML5 and Learning for Mobile+
Page 184: Introduction to HTML5 and Learning for Mobile+
Page 186: Introduction to HTML5 and Learning for Mobile+

www.launchcycle.com

Page 187: Introduction to HTML5 and Learning for Mobile+

Pictures

Video

Blog

Audio

3D Models

Multiplayer Environment

ePortfolios

Course Management System

Micro-blogging

Explore

Page 188: Introduction to HTML5 and Learning for Mobile+

Thank You

Nick Florosealworks interactive studios

[email protected]

twitter.com/NickFloro

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