3. What is HTML5?
A draft specification from the W3C
over 1100 pages
Adds new elements
(canvas, video, audio, inline SVG…)
Changes and removes some older
elements and attributes (center, font…)
Is NOT done yet!
Keeps evolving.
Is NOT (only) a Marketing Message
11. Video can be composited with anything else on the page
HTML content, images, SVG graphics
IE9: Hardware accelerated, GPU-based decoding
Attributes
src –specifies the location to pull the source file
autoplay– ifpresent starts playing as soon as it’s ready
controls–if present displays controls
preload– ifpresent loads source at page load
loop–if present loops back to the beginning of the video
height& width–specifies the height & width of the player
<video src="video.mp4" id="videoTag" width="640px" height="360px">
<!-- Only shown when browser doesn’t support video -->
<!-- You Could Embed Flash or Silverlight Video Here -->
</video>
HTML5 <video>
12. HTML5 <video> Format Support
Ogg Theora H.264 VP8 (WebM)
No 9.0
Using VP8 Codec
installed by Chrome
3.5 No 4.0
3.0
Windows Media Player
HTML5 Extension for
Chrome on Win7]
6.0
No 3.1
Google announced a
WebM plugin for Safari
10.50 No 10.60
http://en.wikipedia.org/wiki/HTML5_video
13. Converting Videos
Expression Media
Encoder 4 Pro
Transcoding Project
Output Format: MP4
VLC Media Player
(free download)
Media Convert/Save
Video: H.264 +AAC (MP4)”
“Video: VP8 +Vorbis (Webm)”
15. <audio src="audio.mp3" id="audioTag" autoplay controls>
<!-- Only shown when browser doesn’t support audio -->
<!-- You could embed Flash or Silverlight audio here -->
</audio>
HTML5 <audio>
Industry-standard MP3 and AAC audio
Fully scriptable via the DOM
Attributes
src – specifies the location to pull the source file
autoplay – if present starts playing as soon as it’s ready
controls – if present displays controls
preload – if present loads source at page load
16. <canvas id="myCanvas" width="200" height="200">
Your browser doesn’t support the HTML5 canvas, sorry.
</canvas>
<script type="text/javascript">
var example = document.getElementById("myCanvas");
var context = example.getContext("2d");
context.fillStyle = "rgb(255,0,0)";
context.fillRect(30, 30, 50, 50);
</script>
HTML5 <canvas>
A block element that allows
developers to draw 2d graphics
using JavaScript.
Methods for drawing include: paths, boxes, circles, text and
rasterized images
18. ModernizrFeature Detection JavaScriptlibrary
HTML5 or CSS3 features.
Feature missing: Modernizr creates Fallback.
jQuery JavaScript library for DOM Manipulation
Event Handling, Animation, Document Traversing.
Supported in Visual Studio.
Easel.js JavaScript Library for building Canvas-Based Apps.
Example: Pirates Love Daisies.
includes concepts such as sprites, graphics, sparkles and game
semantics.
Ai2CanvasExport Adobe Illustrator Vectorand Bitmap
Artwork directly to HTML5 Canvas.
Provides Drawing, Animation and Coding Options such asEvents
HTML5 Tools & Frameworks
20. Scalable Vector Graphics
Create and draw 2D vector graphics using XML
Vector images are composed of shapes instead of pixels
Based on the SVG 1.1 2nd Edition Full specification
Support for
Full DOM access to SVG elements
Document structure, scripting, styling, paths,
shapes, colors, transforms, gradients, patterns,
masking, clipping, markers, linkingand views
2
<svg width="400" height="200" xmlns="http://www.w3.org/2000/svg">
<rect fill="red" x="20" y="20" width="100" height="75" />
<rect fill="blue" x="50" y="50" width="100" height="75" />
</svg>
22. Complete CSS 2.1 support
Selectors
Border Radius
Backgrounds
Color & Opacity
WOFF Fonts
Box Shadow
2D Transforms
CSS
23. div.top {
background-color: rgba(0, 0, 0, 0.5);
}
div.bottom {
background-color: hlsa(0, 0%, 0%, 0.5);
}
CSS3 Colors & Opacity
CSS3 Color
Alpha color with rgba() and hsla() color functions
Transparency control with the opacity property
CSS3 Backgrounds and Borders
Round corners with the border-radius property
Multiple background images per element
box-shadow property on block elements
24. Selectively style page based on properties of the
media
CSS3 Media Queries
<link href="DoNotDisplay.css" rel="stylesheet"
media="screen and (max-width:1199px)" type="text/css" />
<link href="DoNotDisplay.css" rel="stylesheet"
media="screen and (min-width:1301px)" type="text/css" />
<link href="Presentation.css" rel="stylesheet"
media="screen and (min-width:1200px) and (max-width:
1300px)" type="text/css" />
25. <style type="text/css">
@font-face {
font-family:MyFontName;
src: url('FontFile.woff');
}
</style>
<div style="font: 24pt MyFontName, sans-serif;">
This will render using the font in FontFile.woff
</div>
New: @font-face & WOFF Fonts
No longer limited to the “web safe” font list!
Web Open Font Format allows you to package and
deliver fonts as needed, per site
Designed for web use with the @font-face declaration
A simple repackaging of OpenType or TrueType font data
From the W3C Fonts Working Group
31. Geolocation
Allows websites to
discover your
geographical location
“Find nearest coffee
shops and display on
Bing Maps.”
User consent is required
Geolocation supported
in IE9!
Helping you answer the
question, “Where am I?”
32. Geolocation
function getLocation() {
if (navigator.getlocation != undefined) {
navigator.getlocation.getCurrentPosition(callBack);
}
}
function callBack(position) {
var accuracy = position.coords[accuracy];
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
}
Example
36. HTML5 a Solution to Homogenize Mobile Space?
Users mostly still decide Pro App
Added Interactivity
Faster Start-Up
More Network Independent
Mobile: HTML5 or App?
Interation
Intense
Data
Intense
37. HTML5 or Plug-In based RIA?
Today, Browsers should not
require a Plug-In to play
Multimedia Content.
Today, Line-of-Business
Applications with lots of
Logic are very hard to write
in JavaScript.
Plug-In based
39. What about the other Specs?
http://html5labs.interoperabilitybridges.com
IndexedDB:
W3C draft Web specification for the
storage of large amounts of
structured data in the browser, using
indexes that allow for high
performance searches on this data.
WebSockets:
Technology designed to simplify
much of the complexity around bi-
directional, full-duplex
communications channels, over a
single Transmission ControlProtocol
(TCP) socket.
Implemented in web browsers, web
servers as well as used by any client
or server application.