<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Carsonified &#187; HTML 5</title>
	<atom:link href="http://carsonified.com/blog/category/dev/html-5-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://carsonified.com</link>
	<description></description>
	<lastBuildDate>Thu, 18 Mar 2010 10:00:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Future of HTML 5</title>
		<link>http://carsonified.com/blog/web-apps/the-future-of-html-5/</link>
		<comments>http://carsonified.com/blog/web-apps/the-future-of-html-5/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 12:10:49 +0000</pubDate>
		<dc:creator>Bruce Lawson</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Learn]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[fowa-london-09]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=3521</guid>
		<description><![CDATA[By <strong>Bruce Lawson</strong><br />At FOWA London 2009 Bruce Lawson gave an introduction to HTML 5 and how it might be used in the future.
The HTML 5 spec was originally called &#8220;Web Applications 1.0&#8243;. Most of the attention has been on the new markup elements, but in his talk he takes a further look at the applications side of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style=""><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fweb-apps%2Fthe-future-of-html-5%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fweb-apps%2Fthe-future-of-html-5%2F" height="61" width="51" /></a></div><p>At <a href="http://events.carsonified.com/fowa/2009/london">FOWA London 2009</a> Bruce Lawson gave an introduction to HTML 5 and how it might be used in the future.</p>
<p>The HTML 5 spec was originally called &#8220;Web Applications 1.0&#8243;. Most of the attention has been on the new markup elements, but in his talk he takes a further look at the applications side of the spec, covering:</p>
<ol>
<li> Dynamic images and graphs with canvas</li>
<li> Eliminating much forms validation with webforms 2.0</li>
<li> Local storage automagically saving your data</li>
<li> Geolocation</li>
<li> Building toolbars and menus.</li>
</ol>
<p><em>Editor&#8217;s Note: We&#8217;ll be covering &#8220;How HTML 5 is Going to Completely Change your Web App&#8221; at <a href="http://events.carsonified.com/fowa/2010/miami">The Future of Web Apps in Miami</a>.</em></p>
<p><span id="more-3521"></span></p>
<p>You can <a href="http://carsonified.com/blog/web-apps/the-future-of-html-5#thevideo">jump straight to the video</a>, <a href="http://carsonified.com/blog/web-apps/the-future-of-html-5#theslides">view the slides</a>, <a href="http://joeloverton.com/html5">read the transcript</a> (thanks <a href="http://twitter.com/joeloverton">@joeloverton</a> for doing this!), or check out the resources he demos in the talk:</p>
<ul>
<li><a href="http://9elements.com/io/projects/html5/canvas/">Eye-candy canvas</a></li>
<li><a href="http://www.benjoffe.com/code/demos/canvascape/">canvas first-person shooter</a></li>
<li><a href="http://htmlfive.appspot.com/static/gifter.html">canvas first-person gifter</a></li>
<li><a href="http://excanvas.sourceforge.net/">the excanvas library to port canvas to Internet Explorer</a></li>
<li><a href="http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas/">Filament Group&#8217;s jQuerty plugin using canvas for graphing data tables</a></li>
<li><a href="http://raphaeljs.com/">Raphaël JavaScript Library to make <abbr>SVG</abbr> that also works in Internet Explorer</a></li>
<li> <a href="http://code.google.com/p/svgweb/">SVG Web is a JavaScript library which provides SVG support on Internet Explorer</a> (Alpha code: not ready for production)</li>
<li> <a href="http://people.opera.com/brucel/demo/forms/html5-forms-advanced-demo.html">My <abbr>HTML</abbr>5 forms demo, including range, date, placeholder, regex validation</a> (Try in Opera and Chrome)</li>
<li> <a href="http://www.modernizr.com">modernizr</a> &#8211; A small <abbr>HTML</abbr>5 capability detection library</li>
<li> <a href="http://www.html5demos.com/"><abbr>HTML</abbr>5demos.com</a> &#8211; Remy Sharp&#8217;s demos of geolocation, offline storage and web database and many others</li>
<li><a href="http://people.opera.com/brucel/demo/video-demos.html">Video demos</a></li>
</ul>
<p>Other useful resources:</p>
<ul>
<li> <a href="http://svgopen.org/2009/papers/54-SVG_vs_Canvas_on_Trivial_Drawing_Application">SVG vs. Canvas on Trivial Drawing Application</a>: a comparison of canvas and <abbr>SVG</abbr></li>
<li><a href="http://dev.w3.org/html5/spec-author-view/"><abbr>HTML</abbr>5 Authors spec</a></li>
<li>A video of <a href="http://blip.tv/file/2299313">Dean Edwards demoing his unreleased JavaScript library that detects and plugs the holes in current browsers&#8217; <abbr>HTML</abbr>5 support</a></li>
</ul>
<p>There are some great beginner canvast tutorials on the Opera Developer:</p>
<ol>
<li><a href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/">HTML 5 canvas &#8211; the basics</a></li>
<li><a href="http://dev.opera.com/articles/view/html5-canvas-painting/">Creating an HTML 5 canvas painting application</a></li>
<li><a href="http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/">Creating pseudo 3D games with HTML 5 canvas and raycasting</a></li>
<li><a href="http://dev.opera.com/articles/view/3d-games-with-canvas-and-raycasting-part/">Creating pseudo 3D games with HTML 5 canvas and raycasting: Part 2</a></li>
</ol>
<h3 id="thevideo">The video</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="471" height="259" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6985053&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=eb6f00&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="471" height="259" src="http://vimeo.com/moogaloop.swf?clip_id=6985053&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=eb6f00&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Full transcription available at <a href="http://joeloverton.com/html5">joeloverton.com/html5</a>. We&#8217;d like to say a HUGE thank you to <a href="http://twitter.com/joeloverton">@joeloverton</a> for doing this transcription!</p>
<h3 id="theslides">The slides</h3>
<p><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bruce-lawson-opera-fowa-html5-091013075453-phpapp02&amp;stripped_title=the-future-of-html-5-by-bruce-lawson" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bruce-lawson-opera-fowa-html5-091013075453-phpapp02&amp;stripped_title=the-future-of-html-5-by-bruce-lawson" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://carsonified.com/?ak_action=api_record_view&id=3521&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://carsonified.com/blog/web-apps/the-future-of-html-5/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>How to Draw with HTML 5 Canvas</title>
		<link>http://carsonified.com/blog/dev/html-5-dev/how-to-draw-with-html-5-canvas/</link>
		<comments>http://carsonified.com/blog/dev/html-5-dev/how-to-draw-with-html-5-canvas/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 08:01:05 +0000</pubDate>
		<dc:creator>Jamie Newman</dc:creator>
				<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Canvas]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=3054</guid>
		<description><![CDATA[By <strong>Jamie Newman</strong><br />Among the set of goodies in the HTML 5 specification is Canvas which is a way to programmatically draw using JavaScript.
We&#8217;ll explore the ins and outs of Canvas in this article, demonstrating what is possible with examples and links.
[Notice: Bruce Lawson is covering HTML 5 at The Future of Web Apps on Oct 1-2.]

Why Do [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style=""><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fhtml-5-dev%2Fhow-to-draw-with-html-5-canvas%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fhtml-5-dev%2Fhow-to-draw-with-html-5-canvas%2F" height="61" width="51" /></a></div><p>Among the set of goodies in the HTML 5 specification is Canvas which is a way to programmatically draw using JavaScript.</p>
<p>We&#8217;ll explore the ins and outs of Canvas in this article, demonstrating what is possible with examples and links.</p>
<p><strong>[Notice: Bruce Lawson is covering HTML 5 at <a href="http://events.carsonified.com/fowa/2009/london/?utm_source=TV&#038;utm_medium=Text%2Blink&#038;utm_campaign=How%2Bto%20Draw%20with%20HTML%205%20Canvas">The Future of Web Apps</a> on Oct 1-2.]</strong></p>
<p><span id="more-3054"></span></p>
<h3>Why Do You Need Canvas?</h3>
<p>Canvas can be used to represent something visually in your browser. For example:</p>
<ul>
<li>Simple diagrams</li>
<li>Fancy user interfaces</li>
<li>Animations</li>
<li>Charts and graphs</li>
<li>Embedded drawing applications</li>
<li>Working around CSS limitations</li>
</ul>
<p>In basic terms it&#8217;s a very simple pixel-based drawing API, but used in the right way it can be the building block for some clever stuff.</p>
<h3>What Tools Are at Your disposal?</h3>
<p>Drawing tools</p>
<ul>
<li>Rectangles</li>
<li>Arcs</li>
<li>Paths and line drawing</li>
<li>Bezier and quadratic curves</li>
</ul>
<p>Effects</p>
<ul>
<li>Fills and strokes</li>
<li>Shadows</li>
<li>Linear and radial gradients</li>
<li>Alpha transparency</li>
<li>Compositing</li>
</ul>
<p>Transformations</p>
<ul>
<li>Scaling</li>
<li>Rotation</li>
<li>Translation</li>
<li>Transformation matrix</li>
</ul>
<p>Getting data in and out</p>
<ul>
<li>Loading external images by URL, other canvases or data URI</li>
<li>Retrieving a PNG representation of the current canvas as a data URI</li>
</ul>
<p>The excellent <a href="http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html">Canvas cheat sheet</a> is a great reference of the commands available.</p>
<h3>Getting Started</h3>
<p>To use Canvas, you&#8217;ll need two things</p>
<ul>
<li>A Canvas tag in the HTML to place the drawing canvas</li>
<li>JavaScript to do the drawing</li>
</ul>
<p>The Canvas tag is basically an img tag without any data. You specify a width and a height for the drawing area. Instead of an alt attribute, you can enclose HTML within the canvas tag itself for alternative content.</p>
<p>Example of a Canvas tag:</p>
<p><code>&lt;canvas id="myDrawing" width="200" height="200"&gt;<br />
&lt;p&gt;Your browser doesn't support canvas.&lt;/p&gt;<br />
&lt;/canvas&gt;</code></p>
<p>With a Canvas element in the HTML, we&#8217;ll add the JavaScript. We need to reference the Canvas element, check the browser is Canvas-compatible and create a drawing context:</p>
<pre><code>var drawingCanvas = document.getElementById('myDrawing');<br/>
// Check the element is in the DOM and the browser supports canvas
if(drawingCanvas.getContext) {
    // Initaliase a 2-dimensional drawing context
    var context = drawingCanvas.getContext('2d');<br/>
    //Canvas commands go here<br/>
}</code></pre>
<p>Checking for the getContext() method on a canvas DOM object is the standard way of determining canvas compatibility.</p>
<p>The context variable now references a Canvas context and can be drawn on.</p>
<h3>Basic Drawing</h3>
<p>So, let&#8217;s get started with an example to demonstrate the basics. We&#8217;re going to draw a smiley face, similar to the one on the <a href="http://acid2.acidtests.org/reference.html">Acid2 reference rendering</a>.</p>
<p>If we think about the face as a set of basic shapes, we have:</p>
<ol>
<li>A circle, with a black stroke and yellow fill for the face.</li>
<li>2 circles with a black stroke and white fill and with an inner circle of filled green for the eyes.</li>
<li>A curve for the smile.</li>
<li>A diamond for the nose.</li>
</ol>
<p>Let&#8217;s start by creating the round face:</p>
<p><code>// Create the yellow face<br />
context.strokeStyle = "#000000";<br />
context.fillStyle = "#FFFF00";<br />
context.beginPath();<br />
context.arc(100,100,50,0,Math.PI*2,true);<br />
context.closePath();<br />
context.stroke();<br />
context.fill();</code></p>
<p>You can see from the above that we start by defining some colours for the stroke and fill, then we create a circle (an arc with a radius of 50 and rotated through the angles of 0 to 2*Pi radians). Finally, we apply the stroke and fill that has been defined previously.</p>
<p>This process of setting styles, drawing to co-ordinates and dimensions and finally applying a fill or stroke is at the heart of Canvas drawing. When we add the other face elements in, we get:</p>
<p><a href="http://carsonified.com/wp-content/uploads/2009/08/smileyface.png"><img class="alignnone size-full wp-image-3056" title="smileyface" src="http://carsonified.com/wp-content/uploads/2009/08/smileyface.png" alt="smileyface" width="470" height="162" /></a></p>
<p><a href="http://www.ryancarson.com/uploads/canvas/smiley.html">Download the full source code of the smiley face example</a></p>
<h3>Effects and Transformations</h3>
<p>Let&#8217;s see how we can manipulate an existing image in canvas. We can load external images using the drawImage() method:</p>
<p><code>context.drawImage(imgObj, XPos, YPos, Width, Height);</code></p>
<p>Here&#8217;s the image we&#8217;re going to play with:</p>
<p><a href="http://carsonified.com/wp-content/uploads/2009/08/cocktail.png"><img class="alignnone size-full wp-image-3057" title="cocktail" src="http://carsonified.com/wp-content/uploads/2009/08/cocktail.png" alt="cocktail" width="470" height="111" /></a></p>
<p>We&#8217;re going to give the image a red frame. For this we&#8217;ll use a rectangle and fill it with a radial gradient to give it a bit of texture.</p>
<pre><code>//Create a radial gradient.
var gradient = context.createRadialGradient(90,63,30,90,63,90);
gradient.addColorStop(0, '#FF0000');
gradient.addColorStop(1, '#660000'); <br/>
//Create radial gradient box for picture frame;
context.fillStyle = gradient;
context.fillRect(15,0,160,140);<br/>
//Load the image object in JS, then apply to canvas onload
var myImage = new Image();
myImage.onload = function() {
context.drawImage(myImage, 30, 15, 130, 110);
}
myImage.src = "cocktail.jpg";</code></pre>
<p>To make our portrait look like it&#8217;s hung on a wall, we&#8217;ll add a drop shadow and rotate the image slightly so it looks at a slight angle.</p>
<p>A drop shadow will need to be applied to the frame.</p>
<p><code>//Create a drop shadow<br />
context.shadowOffsetX = 10;<br />
context.shadowOffsetY = 10;<br />
context.shadowBlur = 10;<br />
context.shadowColor = "black";</code></p>
<p><a href="http://carsonified.com/wp-content/uploads/2009/08/cocktail-frame-shadow1.png"><img class="alignnone size-full wp-image-3059" title="cocktail-frame-shadow" src="http://carsonified.com/wp-content/uploads/2009/08/cocktail-frame-shadow1.png" alt="cocktail-frame-shadow" width="470" height="171" /></a></p>
<p><a href="http://www.ryancarson.com/uploads/canvas/portrait.html">Download the full source code of the portrait example</a></p>
<p>To rotate the canvas, we use the rotate() method which takes a value in radians to rotate the canvas by. This only applies rotation to subsequent drawing to the canvas, so make sure you&#8217;ve put this in the right place in your code.</p>
<p><code>//Rotate picture<br />
context.rotate(0.05);</code></p>
<p>This is what the finished frame looks like:</p>
<p><a href="http://carsonified.com/wp-content/uploads/2009/08/cocktail-rotated.png"><img class="alignnone size-full wp-image-3060" title="cocktail-rotated" src="http://carsonified.com/wp-content/uploads/2009/08/cocktail-rotated.png" alt="cocktail-rotated" width="470" height="176" /></a></p>
<p><a href="http://www.ryancarson.com/uploads/canvas/portrait.html">Download the full source code of the portrait example</a></p>
<h3>Animation and Physics</h3>
<p>Canvas drawings can be animated by repeatedly redrawing the canvas with different dimensions, positions or other values. With the use of JavaScript logic, you can also apply physics to your canvas objects as well.</p>
<p>Example uses:</p>
<ul>
<li><a href="http://www.efeion.com/canvastest/test.html">Bouncing Balls</a> by Efeion</li>
<li><a href="http://js-fireworks.appspot.com/">js-fireworks</a> by Kenneth Kufluk</li>
<li>Using canvas in conjunction with the HTML 5 audio element and a Twitter mashup to create the <a href="http://9elements.com/io/projects/html5/canvas/">HTML5 Canvas and Audio Experiment</a></li>
</ul>
<h3>Displaying Fancy Fonts</h3>
<p>Canvas can be used as a way of displaying non-standard fonts into a web page as an alternative to technologies like <a href="http://novemberborn.net/sifr3">sIFR</a>. The <a href="http://cufon.shoqolate.com/generate/">Cufon</a> project is one such implementation. Canvas-based font replacements like Cufon have advantages over sIFR, in that there are fewer resource overheads and no plug-in is required, however there are a few disadvantages:</p>
<ul>
<li>It generates lots of mark-up</li>
<li>Fonts are embedded, therefore it breaks the license terms of many fonts</li>
<li>Text can&#8217;t be selected</li>
</ul>
<p>Fonts need to be converted for use in Cufon using the tools on the <a href="http://cufon.shoqolate.com/generate/">Cufon homepage</a>.</p>
<h3>Letting Your Users do the Drawing</h3>
<p>JavaScript can interact with mouse and keyboard events, so you can create embedded drawing applications with canvas as the following examples demonstrate:</p>
<ul>
<li>Lightweight sketches with <a href="http://tinydoodle.appspot.com/">Tiny Doodle</a> by Andrew Mason</li>
<li>An <a href="http://canvaspaint.org/">MS paint clone in canvas</a> by Christopher Clay</li>
</ul>
<h3>Making up for Browser CSS Deficiencies</h3>
<p>Can&#8217;t wait for CSS3 support and want to add rounded corners, gradients or opacity without creating lots of images?  Projects like <a href="http://code.google.com/p/jqcanvas/">jqcanvas</a> add canvas tags behind standard HTML elements to add design to your web page.</p>
<h3>Browser Support</h3>
<p>The latest versions of Firefox, Safari, Chrome and Opera all enjoy reasonable to good support for Canvas.</p>
<p>What about Internet Explorer?</p>
<p>IE does not support canvas natively (as of IE8), however it has been given some compatibility thanks to the <a href="http://code.google.com/p/explorercanvas/">ExplorerCanvas</a> project and is simply a matter of including an extra JavaScript file before any canvas code in your page. You can hide it from other browsers in the standard way, using conditional comments.</p>
<p><code>&lt;!--[if IE]&gt;&lt;script src="excanvas.js"&gt;&lt;/script&gt;&lt;![endif]--&gt;</code></p>
<p>ExplorerCanvas even extends canvas support to IE6, although it&#8217;s not perfect so don&#8217;t expect it to render as well as modern browsers that support canvas natively.</p>
<h3>Accessibility</h3>
<p>Canvas isn&#8217;t currently thought of as accessible as there is no mark-up generated or API for textual content to be read. Fallback HTML can be added manually inside the canvas tag, but this will never be good enough to represent the canvas in an accessible way.</p>
<p><a href="http://www.paciellogroup.com/blog/?p=362">Thinking About HTML 5 Canvas Accessibility</a> by Steve Faulkner explains the problems in more detail. There is now a general consensus that accessibility needs to be addressed which has lead to the Protocols and Formats Working Group at the W3C recently opening a discussion into <a href="http://lists.w3.org/Archives/Public/public-html/2009Jul/0562.html">proposals for adding accessibility for Canvas</a> with input from others.</p>
<h3>In Summary</h3>
<p>Although Canvas adds features to a page, I don&#8217;t think it has been particularly well thought out. In many ways it feels like a step into the past and represents a very old-fashioned way of drawing that is inferior to the modern XML-based SVG standard. It is pixel-based, as opposed to the nice vectors of SVG and to draw with it entails writing lots of unmanageable JavaScript. The lack of accessibility is also a big problem.</p>
<p>However, what Canvas has going for it, that SVG doesn&#8217;t, is that it can integrate with our existing web pages very easily. We can also work with canvas in much the same way we work with images in web pages.</p>
<p>By looking at the few examples in this article, we can get an idea of the variety of situations that Canvas can be applied to. Although the syntax may be frustrating, Canvas gives us drawing technology that we can use right away to enhance our pages.</p>
<p>Please give your thoughts, link to further examples or any feedback below.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="http://www.lamberta.org/blog/doodle/">Doodle.js</a> &#8211; a nice library for working with canvas</li>
<li><a href="https://developer.mozilla.org/en/Canvas_tutorial">Canvas Tutorial</a> at Mozilla Developer Center</li>
<li><a href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/">HTML 5 canvas &#8211; the basics</a> on the Opera Developer Community</li>
</ul>
<h3>Other Examples</h3>
<ul>
<li>Live photo editing with <a href="http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html">Canvas Photo Demo</a></li>
<li><a href="https://developer.mozilla.org/En/Manipulating_video_using_canvas">Live video editing using canvas</a></li>
<li>Online office applications with <a href="http://bespin.mozilla.com/">Mozilla Bespin</a></li>
<li><a href="http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html">Super Mario Bros</a></li>
<li>Most of the <a href="http://www.chromeexperiments.com/">Chrome Experiments</a>.</li>
</ul>
<img src="http://carsonified.com/?ak_action=api_record_view&id=3054&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://carsonified.com/blog/dev/html-5-dev/how-to-draw-with-html-5-canvas/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>23 Essential HTML 5 Resources</title>
		<link>http://carsonified.com/blog/dev/html-5-dev/23-essential-html-5-resources/</link>
		<comments>http://carsonified.com/blog/dev/html-5-dev/23-essential-html-5-resources/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 07:48:21 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[HTML 5]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=2029</guid>
		<description><![CDATA[By <strong>Ryan Carson</strong><br />Editor&#8217;s Note: Bruce Lawson will be doing a 1-hour tutorial called &#8220;How to build a HTML5 Web site&#8221; at the FOWD Tour.
Everyone is excited about the possibilities of HTML 5, but there&#8217;s a lot to learn and absorb as well. With that in mind, we&#8217;ve compiled a list of articles to get you started!


Yes, You [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style=""><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fhtml-5-dev%2F23-essential-html-5-resources%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fhtml-5-dev%2F23-essential-html-5-resources%2F" height="61" width="51" /></a></div><p><em>Editor&#8217;s Note: Bruce Lawson will be doing a 1-hour tutorial called &#8220;How to build a HTML5 Web site&#8221; at the <a href="http://events.carsonified.com/fowd/2009/tour">FOWD Tour</a>.</em></p>
<p>Everyone is excited about the possibilities of HTML 5, but there&#8217;s a lot to learn and absorb as well. With that in mind, we&#8217;ve compiled a list of articles to get you started!</p>
<p><span id="more-2029"></span></p>
<ol>
<li><a href="http://www.sitepoint.com/article/html-5-snapshot-2009/">Yes, You Can Use HTML 5 Today!</a> &#8211; A great beginning overview of HTML 5</li>
<li><a href="http://en.wikipedia.org/wiki/HTML_5">Wikipedia: HTML 5</a> &#8211; A basic overview from Wikipedia</li>
<li><a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/">HTML 5 Cheat Sheet</a> &#8211; A great quick guide to HTML 5 as a printable PDF</li>
<li><a href="http://html5demos.com/">HTML 5 Demos</a> &#8211; A great set of demos. Just view the source to see how they work.</li>
<li><a href="http://zope.cetis.ac.uk/members/scott/blogview?entry=20090624222327">HTML 5 Drag and Drop + Microformats = a whole world of possibilities</a> &#8211; An example of how to use Drag-n-Drop in HTML 5</li>
<li><a href="http://html5gallery.com/">HTML 5 Gallery</a> &#8211; See what&#8217;s possible with HTML 5</li>
<li><a href="http://brucelawson.co.uk/tests/html5-forms-demo.html">HTML 5 Forms Demo</a> &#8211; A powerful demo of how forms work in HTML 5</li>
<li><a href="http://html5doctor.com/">HTML 5 Doctor</a> &#8211; A great general resource on HTML 5</li>
<li><a href="http://html5doctor.com/the-header-element/">Headers in HTM 5</a> &#8211; A good article from HTML 5 Doctor on the Header element</li>
<li><a href="http://html5doctor.com/the-video-element/">Video elements</a> &#8211; A useful article from HTML 5 Doctor on the Video element</li>
<li><a href="http://html5doctor.com/designing-a-blog-with-html5/">Designing a blog with html5</a> &#8211; A tutorial on how to build a blog in HTML 5</li>
<li><a href="http://html5doctor.com/how-to-get-html5-working-in-ie-and-firefox-2/">How to get HTML5 working in IE and Firefox 2</a> &#8211; Another great article from HTML 5 Doctor</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML 5 &#8211; Draft Standard</a> &#8211; The whole spec, in all it&#8217;s scary technical detail</li>
<li><a href="http://www.alistapart.com/articles/semanticsinhtml5/">Semantics in HTML 5</a> &#8211; An opinion piece from A List Apart</li>
<li><a href="http://www.paciellogroup.com/blog/?p=362">Thinking About HTML 5 canvas Accessibility</a> &#8211; Some quick thoughts on accessibility problems with the Canvas element</li>
<li><a href="http://www.zeldman.com/2009/07/13/html-5-nav-ambiguity-resolved/">HTML 5: nav ambiguity resolved</a> &#8211; A post by Zeldman on the HTML 5 Nav element</li>
<li><a href="http://molly.com/html5/html5-0709.html">A Selection of Supported Features in HTML5</a> &#8211; A great list from Molly about which HTML 5 features are supported by which browsers</li>
<li><a href="http://blog.whatwg.org/">The WHATWG Blog</a> &#8211; The Web Hypertext Application Technology Working Group &#8211; the folks working on the HTML 5 spec</li>
<li><a href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/">HTML 5 canvas</a> &#8211; A great in-depth tutorial on how the HTML 5 Canvas element works</li>
<li><a href="http://html5doctor.com/native-drag-and-drop/">Native Drag and Drop</a> &#8211; A demo of how the Drag-n-Drop functionality works.</li>
<li><a href="https://bespin.mozilla.com/">Bespin</a> &#8211; A Mozilla Labs experiment on how to build an extensible Web code editor using HTML 5 technology.</li>
<li><a href="http://a.deveria.com/caniuse/">When can I use&#8230;</a> &#8211; Compatibility tables for features in HTML5, CSS3, SVG and other upcoming web technologies</li>
<li><a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML_5%29">Comparison of layout engines (HTML 5)</a> &#8211; A good resource from Wikipedia</li>
</ol>
<h3>People to follow</h3>
<p>These are the folks that are at the center of HTML 5 &#8230;</p>
<ol>
<li><a href="http://ian.hixie.ch/">Ian Hickson</a> (<a href="http://twitter.com/Hixie">@hixie</a>) &#8211; Editor of <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">HTML 5 Spec</a>. Currently working at Google.</li>
<li><a href="http://en.wikipedia.org/wiki/Dave_Hyatt">Dave Hyatt</a> &#8211; Co-creator of Firefox. Worked with Ian Hixie on HTML 5 spec. Working at Apple on the Safari and WebKit team.</li>
<li><a href="http://www.brucelawson.co.uk/">Bruce Lawson</a> (<a href="http://twitter.com/brucel">@brucel</a>) &#8211; Works for <a href="http://www.opera.com/">Opera</a>, evangelising open web standards as part of their Developer Relations team. Also a member of the <a href="http://webstandards.org/">Web Standards Project</a>’s <a href="http://www.brucelawson.co.uk/2005/wasp-accessibility-task-force/">Accessibility Task Force</a>.</li>
<li><strong>Update:</strong> The other folks behind <a href="http://html5doctor.com">HTML 5 Doctor</a>: <a href="http://twitter.com/Rich_Clark">@Rich_Clark</a>, <a href="http://twitter.com/rem">@Rem</a>, <a href="http://twitter.com/jackosborne">@jackosborne</a>, <a href="http://twitter.com/akamike">@akamike</a> and <a href="http://twitter.com/leads">@leads</a>.</li>
<li><a href="http://www.molly.com">Molly Holzschlag</a> &#8211; Group Lead for the <a href="http://webstandards.org/">Web Standards Project</a> (WaSP) and an invited expert to the HTML and GEO working groups at the <a href="http://w3.org/">World Wide Web Consortium</a> (W3C)</li>
<li>We&#8217;re probably forgetting others &#8230; please make suggestions in the comments</li>
</ol>
<img src="http://carsonified.com/?ak_action=api_record_view&id=2029&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://carsonified.com/blog/dev/html-5-dev/23-essential-html-5-resources/feed/</wfw:commentRss>
		<slash:comments>74</slash:comments>
		</item>
	</channel>
</rss>
