<?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>nooshu &#187; html5 Archives </title>
	<atom:link href="http://nooshu.com/tag/html5/feed" rel="self" type="application/rss+xml" />
	<link>http://nooshu.com</link>
	<description>Kneeling on the shoulders of giants</description>
	<lastBuildDate>Sun, 15 Apr 2012 13:42:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Remote Loading HTML5 Elements with jQuery</title>
		<link>http://nooshu.com/remote-loading-html5-elements-with-jquery?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=remote-loading-html5-elements-with-jquery</link>
		<comments>http://nooshu.com/remote-loading-html5-elements-with-jquery#comments</comments>
		<pubDate>Fri, 18 Nov 2011 10:31:28 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1946</guid>
		<description><![CDATA[Working with Internet Explorer is never easy. jQuery takes some of the pain out of it, but not always!]]></description>
			<content:encoded><![CDATA[<p>I ran into a rather annoying problem a few months ago while developing my <a href="http://solostrightnow.com/">travel blog</a>; the problem of course was involving Internet Explorer. I&#8217;m used to working with WordPress as I use it all the time, but I wanted to get away from the standard pagination you find on a blog. So I decided to use jQuery 1.6.4 to pull in articles from other pages (blogname.com/page/2, blogname.com/page/3 etc). Now this is all fairly simple using the handy jQuery .load() method; point it to a URL, pull in the page, pick the bits you need and reinsert into the page. Simple! Unfortunately once I got a prototype working in &#8216;good&#8217; browsers, IE8 and below was having non of it!</p>
<p>After a little head scratching to work out what was failing, I worked out it was because I was using HTML5 elements such as &#8216;article&#8217;, &#8216;header&#8217; and &#8216;footer&#8217;. There was no problem displaying them on the page, as I&#8217;d used Remy Sharps excellent <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">HTML5 Shiv script</a>. It only failed when trying to pull in these &#8216;new&#8217; elements via Ajax.</p>
<p><strong>Note</strong>: Before you read on you&#8217;ll be happy to hear that this issue no longer occurs in <a href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/">jQuery 1.7.0</a>. Horray! </p>
<p>If you can&#8217;t upgrade, for whatever reason, I hashed together a <a href="http://dl.dropbox.com/u/7851949/html5-load-method/index.html">little work-around</a> for browsers IE8 and below, so read on. I admit the work around isn&#8217;t pretty, but it works. I tried for a few hours to get IE8- to recognise the &#8216;new&#8217; elements after an Ajax request, but to no avail. Eventually I had to wrap the HTML5 tags in a div using conditionals:</p>
<div class="codecolorer-container html4strict default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 9]&gt;&lt;div id=&quot;ieHackContainer&quot;&gt;&lt;![endif]--&gt;</span><br />
<br />
<span style="color: #009900;">&lt;article <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;html5Content&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;header&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>H2 wrapped in a header element<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>header&gt;</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">&lt;!-- Other HTML here... --&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;footer&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>This is the footer element<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>footer&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>article&gt;</span><br />
<br />
<span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 9]&gt;&lt;/div&gt;&lt;![endif]--&gt;</span></div></td></tr></tbody></table></div>
<p>The div is added for browsers IE8 and below, you can then use it as a hook to pull in the elements inside the div. I was hoping that wrapping the HTML5 elements in a standard div would be the end of it, I&#8217;m afraid not. The .load() method still didn&#8217;t work, IE just ignored the elements it didn&#8217;t recognise. I used jQuerys much more customisable .ajax() method to fix the issue in IE6, 7 and 8:</p>
<div class="codecolorer-container javascript default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">//IE8- work around to load HTML5 elements into a page</span><br />
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#loadHTML5LinkOld&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;page_to_load.html&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cache<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> HTML<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">//Clear before load</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#html5LoadHolder&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">//IE: Look for the hacky wrapper before insertion</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HTML <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#ieHackContainer&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">//If HTML var is empty assume using newer browsers</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>HTML<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HTML <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#html5Content&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">//Append to page</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#html5LoadHolder&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span>HTML<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>This method works in all browsers I&#8217;ve tested in as I&#8217;ve added a fall back (or should that be forward?) for newer browsers. The solution isn&#8217;t ideal (I really hate the conditional comments), but older versions of IE aren&#8217;t going away any time soon, and it works. Maybe there&#8217;s a more obvious solution that I missed? Leave a comment if there is, I&#8217;d love to know!</p>
<p>You can see a working example <a href="http://dl.dropbox.com/u/7851949/html5-load-method/index.html">here</a>. The page I&#8217;m loading from is <a href="http://dl.dropbox.com/u/7851949/html5-load-method/page_to_load.html">here</a> and the JavaScript in full <a href="http://dl.dropbox.com/u/7851949/html5-load-method/js/html5test.js">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/remote-loading-html5-elements-with-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>There ain&#8217;t no party like a DemoJS party</title>
		<link>http://nooshu.com/there-aint-no-party-like-a-demojs-party?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=there-aint-no-party-like-a-demojs-party</link>
		<comments>http://nooshu.com/there-aint-no-party-like-a-demojs-party#comments</comments>
		<pubDate>Wed, 06 Jul 2011 10:15:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1762</guid>
		<description><![CDATA[What can be more fun than some cutting edge web technology and a bunch of people who love to create interesting demos!]]></description>
			<content:encoded><![CDATA[<p>Another day, another website that makes my jaw drop to my desk. This time it&#8217;s the results from the latest <a href="http://demojs.org/" title="JavaScript fun!">Mozilla Labs DemoJS</a> party. Hosted in Paris, France over the weekend, it had many coders and artists attending hoping to win big prizes by creating interesting demo&#8217;s using the latest web technologies. I may not understand French but I&#8217;d have still attended just to see all the demos on show; some extremely inspiring coding going on.</p>
<p>The competition was split into two sections; 1k and freestyle. I find both interesting but as I&#8217;ve mentioned before in <a href="http://nooshu.com/1kjs-smaller-is-better" title="JS1k: Smaller is Better!">previous blog posts</a> I&#8217;m always amazed at what can be done with 1k of code.</p>
<p><iframe width="518" height="418" src="http://www.youtube.com/embed/B24bLKWIy-o?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>The video above is of a demo created by <a href="http://www.silexars.com/">Silexars</a> that came in second place. A live demo can be viewed <a href="http://demojs.org/2011/releases/1K/online/Silexars_-_Creation">here</a>. All created with less than 1k of code! WebGL really is starting to come of age. As with any of these demo&#8217;s it&#8217;s so easy to copy / paste, modify and learn from them. View source is a wonderful tool. </p>
<p>Another demo that caught my eye was by <a href="http://www.p01.org">p01</a> (who I&#8217;ve blogged about <a href="http://nooshu.com/p01-org-amazing-experiments-using-javascript" title="p01.org: Amazing Experiments using JavaScript">before</a>). This time he created <a href="http://www.p01.org/releases/gl1k_cotton_candy/">Quaternion Julia Fractal</a> in only 550 bytes of JavaScript and GLSL! It came in third place.</p>
<div id="attachment_1764" class="wp-caption alignnone" style="width: 528px"><a href="http://www.p01.org/releases/gl1k_cotton_candy/1k.htm"><img src="http://nooshu.com/wp-content/uploads/2011/07/p01-julia-518x294.jpg" alt="Quaternion Julia Fractal by p01" title="p01-julia" width="518" height="294" class="size-medium wp-image-1764" /></a><p class="wp-caption-text">All this possible in less that 1k of code.</p></div>
<p>From the freestyle section the <a href="http://demojs.org/2011/releases/Freestyle/online/basecode_-_Particles.js">Particles.js</a> by basecode has completely killed my productivity today! </p>
<p>Nice work guys and gals! If you have a spare few minutes (hours) check out the rest of the <a href="http://demojs.org/" title="JavaScript fun!">DemoJS</a> results, you won&#8217;t be disappointed.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/there-aint-no-party-like-a-demojs-party/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aloha Editor and WordPress</title>
		<link>http://nooshu.com/aloha-editor-and-wordpress?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aloha-editor-and-wordpress</link>
		<comments>http://nooshu.com/aloha-editor-and-wordpress#comments</comments>
		<pubDate>Thu, 09 Jun 2011 21:13:06 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1747</guid>
		<description><![CDATA[What could make Wordpress any better? What about the ability to edit your posts directly in the page? Yay!]]></description>
			<content:encoded><![CDATA[<p>This is a short update on a post I wrote back in August 2010 &#8211; <a href="http://nooshu.com/aloha-editor-content-editing-the-html5-way">Aloha Editor, content editing the HTML5 way</a>. When I last looked at the project there were some excellent examples of it working on static pages but no real integration into back-end systems had taken place. As with any open-source project things progress quickly; on the 5th June a plug-in called <a href="http://wordpress.org/extend/plugins/front-end-editor/">Front-end Editor</a> for WordPress was updated to include Aloha Editor! You can now edit blog posts directly in the page rather than through the administration panel. The plug-in is a joint effort from authors Jotschi and Scribu, excellent work guys.</p>
<div id="attachment_1750" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2011/06/aloha-wordpress.gif"><img src="http://nooshu.com/wp-content/uploads/2011/06/aloha-wordpress.gif" alt="Aloha Editor in WordPress using Front-end Editor" title="aloha-wordpress" width="518" height="331" class="size-full wp-image-1750" /></a><p class="wp-caption-text">Edit a post directly in the page, the future is here.</p></div>
<p>Now I&#8217;d love to show you a picture of it working in my blog template, but that would be too easy wouldn&#8217;t it. :) Unfortunately the plug-in doesn&#8217;t work with my custom theme, I&#8217;m yet to figure out the reason why. Boo! I know it isn&#8217;t a plug-in issue as it works with the <a href="http://2010dev.wordpress.com/">default WordPress theme</a>. This could be an issue for others wanting to use the plug-in, so as soon as I figure out why I&#8217;ll post an update.</p>
<p>One issue I did notice was Aloha likes to use its own version of jQuery; manually including it in your theme will cause Aloha to throw an error. A quick workaround is to wrap a <a href="http://codex.wordpress.org/Conditional_Tags">WordPress conditional tag</a> around the jQuery script element like so:</p>
<div class="codecolorer-container php default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//If you aren't logged in, include jQuery</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_user_logged_in<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//Insert jQuery script tag here</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Since you need to be logged in for Aloha to be initialised this will fix the error and allow you to use the latest version of jQuery in your theme.</p>
<p>As soon as I fix Front-End Editor for my current theme I&#8217;m sure it will be one of my favourite plug-ins. Last but not least a big thank you to the Aloha Editor team, I&#8217;m looking forward to seeing how the project progresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/aloha-editor-and-wordpress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fractal magic with WebGL</title>
		<link>http://nooshu.com/fractal-magic-with-webgl?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fractal-magic-with-webgl</link>
		<comments>http://nooshu.com/fractal-magic-with-webgl#comments</comments>
		<pubDate>Wed, 16 Mar 2011 23:42:08 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webgl]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1621</guid>
		<description><![CDATA[When you cross fractals with WebGL you're sure to catch my attention. Fractal Lab is a work of art!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been so busy recently I haven&#8217;t had chance to work on any personal projects (bar a small amount of <a href="http://nodejs.org/">node.js</a>, but that&#8217;s a future blog post); so I thought I do a quick post on a very impressive project that caught my eye last week: <a href="http://fractal.io/">Fractal Lab</a>.</p>
<div id="attachment_1626" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2011/03/mathematical-worlds.jpg"><img src="http://nooshu.com/wp-content/uploads/2011/03/mathematical-worlds-518x438.jpg" alt="Fractal Lab interactive examples" title="mathematical-worlds" width="518" height="438" class="size-medium wp-image-1626" /></a><p class="wp-caption-text">Pure mathematical worlds generated using Fractal Lab</p></div>
<p>Fractal Lab, as the name suggests, is a fractal rendering tool using OpenGL Shading Language (GLSL) by a very talented programmer called <a href="http://www.subblue.com/about">Tom Beddard</a>. Now I&#8217;m not going to lie to you, the mathematics behind all this goes way over my head! OpenGL on the other hand is something I&#8217;ve read about with increasing frequency recently due to the WebGL explosion happening on the &#8216;net at the moment. Big thanks to all the developers of Firefox, Chrome (Webkit) and Opera for that! Internet Explorer 9 on the other hand <a href="http://learningwebgl.com/blog/?p=993">isn&#8217;t planning on supporting it</a>. Hopefully that will change in the future.</p>
<p>Fractal Lab allows you to render out 2D &#038; 3D fractals directly to your browser and navigate through them in real time! Be warned though, this will push your browser and graphics card really hard. It mentions this on the site; it&#8217;s possible to lock-up your GPU with certain GLSL fractal shaders, so be careful (my poor laptops on-board graphics card did exactly that, so he&#8217;s not lying) :)</p>
<p>There&#8217;s hours of fun and experimentation to be had with this superb example or WebGL. Thank you to Tom for developing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/fractal-magic-with-webgl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimenting with Webkit form speech input</title>
		<link>http://nooshu.com/experimenting-with-webkit-form-speech-input?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=experimenting-with-webkit-form-speech-input</link>
		<comments>http://nooshu.com/experimenting-with-webkit-form-speech-input#comments</comments>
		<pubDate>Wed, 22 Dec 2010 20:46:06 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[speech]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1563</guid>
		<description><![CDATA[The HTML5 specifications are adding some very interesting new features. Here's one that's just landed in Google Chrome: speech input.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a few weeks now since I attended a <a href="http://nooshu.com/game-on-london-2010/">Web Gaming event hosted by Mozilla</a> and I&#8217;ve not yet had chance to write about one of the coolest features that was demonstrated: <a href="https://docs.google.com/View?id=dcfg79pz_5dhnp23f5">Speech input in forms</a>. Now I must admit, I had no idea this was even possible; so it was quite a surprise when I saw the demonstration. With a few extra attributes added to a standard input box you can enable speech input:</p>
<div class="codecolorer-container html4strict default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;speech&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;speech&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> x-webkit-speech speech error onwebkitspeechchange<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;dosomething.coolhere(true);&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
<p>It really is that simple! You may notice the &#8220;x-webkit-speech&#8221; attribute so will have guessed it currently only works in Webkit; and as far as I&#8217;m aware only in very <a href="http://peter.sh/2010/12/crankshaft-the-chrome-web-store-and-html5s-figure-element/">recent versions of Google Chrome</a> (note: &#8220;The Input Speech API will now be available by default on Chrome’s dev-channel&#8221;). The Speech API seems very new and is still a draft, so it will be a while before it&#8217;s fully adopted by other browser vendors.</p>
<div id="attachment_1568" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/12/speak-to-santa-speech-api.gif"><img src="http://nooshu.com/wp-content/uploads/2010/12/speak-to-santa-speech-api.gif" alt="Demo of the new HTML5 Speech API" title="speak-to-santa-speech-api" width="518" height="180" class="size-full wp-image-1568" /></a><p class="wp-caption-text">A quick demonstration of the Speech API in action.</p></div>
<p>To demonstrate the speech input I&#8217;ve put together a very simple <strong>festive</strong> <a href="http://nooshu.com/explore/santa-speech-api/">demo</a> that queries the Flickr API looking for images related to a value entered. So if you have a microphone and the <a href="http://www.google.com/chrome/intl/en/eula_dev.html">dev channel of Chrome</a>, why not give it a try. Chrome records the input of the microphone before sending it off to an external server to be processed, where a value is then sent back to the browser. At first I thought it was all processed inside the browser but I guess that&#8217;s a little to much to expect! It isn&#8217;t 100% accurate and the demo accepts Googles first guess so you may get a few strange results. The server returns multiple guesses which a user can select from, but this hasn&#8217;t been added (to my demo at least).</p>
<p>Since the API is very new it took a little trial and error to work out how to detect if the Speech API was available in the browser; but with a little help from <a href="http://paulirish.com/">Paul Irish</a> I managed to crack it:</p>
<div class="codecolorer-container javascript default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> speechcapable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> elem <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> support <span style="color: #339933;">=</span> <span style="color: #3366CC;">'onwebkitspeechchange'</span> <span style="color: #000066; font-weight: bold;">in</span> elem <span style="color: #339933;">||</span> <span style="color: #3366CC;">'speech'</span> <span style="color: #000066; font-weight: bold;">in</span> elem<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> support<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>This function will return true if the API is available. It&#8217;s worth noting that since it&#8217;s very new this function is likely to break in the future as the properties always seem to be changing. It works at the moment, so get thinking about what this brilliant new API can be used for! It&#8217;s a big plus for accessibility if used correctly and I can also see some cool applications in web gaming too. View the <a href="http://nooshu.com/explore/santa-speech-api/">demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/experimenting-with-webkit-form-speech-input/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Three.js images using the HTML5 File API</title>
		<link>http://nooshu.com/three-js-images-using-the-html5-file-api?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=three-js-images-using-the-html5-file-api</link>
		<comments>http://nooshu.com/three-js-images-using-the-html5-file-api#comments</comments>
		<pubDate>Tue, 14 Dec 2010 20:51:59 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Three.js]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[three.js]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1544</guid>
		<description><![CDATA[HTML5 has a great set of new APIs. One of my favourites is the file upload, no more Flash uploads or multiple 'browse' boxes. A bit of a mash up of three.js and the Drag and Drop API.]]></description>
			<content:encoded><![CDATA[<p>Anyone who&#8217;s read my latest blog posts will know that I&#8217;m a big fan of Mr doobs Three.js JavaScript 3D engine, so I won&#8217;t bang on about it any more than I have to. For my latest experiment I decided to mix the <a href="http://www.w3.org/TR/FileAPI/">HTML5 File API</a>, Three.js and a few images (<a href="http://nooshu.com/explore/threejs-and-the-fileapi/">demo here</a>).</p>
<div id="attachment_1548" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/12/mrdoob-image.jpg"><img src="http://nooshu.com/wp-content/uploads/2010/12/mrdoob-image-518x518.jpg" alt="mr doob Three.js with the File API " title="mrdoob-image" width="518" height="518" class="size-medium wp-image-1548" /></a><p class="wp-caption-text">Mr Doob and a little kitten sitting in a 3D tree.</p></div>
<p>The File API allows a user to upload a file (an image in this experiment) to a web application simply by dragging it onto a designated &#8220;droparea&#8221;. Once dropped, you can manipulate the data any way you like. The API is able to handle multiple files natively, so just select all the files and drop them onto the area. No need for Flash uploaders or multiple browse boxes. Of course not all browsers support it (IE) and there are a few <a href="http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html">inconsistencies in the specification</a>; but they will work themselves out over time.</p>
<p>So what does the experiment actually do? Well it allows a user to drag an image onto their browser window which is then &#8220;uploaded&#8221;; the data is then passed to a canvas element and then this data is passed to Three.js to be plotted in 3D space. The X and Z-axis is plotted in the usual manner to represent the default 2D image using particles; the fun bit comes when you add the Y-axis. This is calculated by taking an average of the RGB values (greyscale) and plotting it accordingly. When using an image of a human face it&#8217;s amazing how accurate the 3D plot looks.</p>
<p>Due to the amount of data involved it is recommended that you use small thumbnail images when you <a href="http://nooshu.com/explore/threejs-and-the-fileapi/">try the demo</a>, as larger images equal a larger number of particles. This is an initial version so I&#8217;m going to work on a way of dealing with larger images. This will probably mean ignoring a certain number of pixels when looping through the image data. Looking forward, since it can be done with a static image I see no reason why it can&#8217;t be <a href="http://craftymind.com/factory/html5video/CanvasVideo.html">done with a video</a>, but that&#8217;s a project for another day!</p>
<p><strong>Update</strong>: I&#8217;ve updated the demo slightly; as Mr.doob pointed out people may have tried to drag directly onto the render area which didn&#8217;t work. So now it does :)</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/three-js-images-using-the-html5-file-api/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Game On London 2010</title>
		<link>http://nooshu.com/game-on-london-2010?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=game-on-london-2010</link>
		<comments>http://nooshu.com/game-on-london-2010#comments</comments>
		<pubDate>Tue, 07 Dec 2010 10:23:02 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1520</guid>
		<description><![CDATA[Mozilla Labs and Six to Start put on a great evening event in Shoreditch dedicated to the future of Open Web Gaming.]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening I had the pleasure of attending the <a href="http://www.eventbrite.com/event/1047985553/">Open Web Gaming event</a> #gameon10 hosted by <a href="https://gaming.mozillalabs.com/">Mozilla Labs</a> and <a href="http://www.sixtostart.com/">Six to Start</a>. The evening involved five short main talks and numerous lightning talks by various attendees.</p>
<div id="attachment_1522" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/12/game-on-london.jpg"><img src="http://nooshu.com/wp-content/uploads/2010/12/game-on-london-518x196.jpg" alt="Mozilla Labs Open Gaming special event" title="game-on-london" width="518" height="196" class="size-medium wp-image-1522" /></a><p class="wp-caption-text">Christian Heilmann getting ready for his talk at #gameon10.</p></div>
<p>There were an interesting mix of speakers, from the big name companies like Google and Mozilla, down to start-ups and independents:</p>
<ul>
<li><strong><a href="http://icant.co.uk/">Christian Heilmann</a></strong>: Very interesting talk on why developers should be developing using new open web technologies. He had some very interesting ideas for Angry Birds too (see below).</li>
<li><strong><a href="http://sixtostart.com/">Ernesto Jimenez</a></strong>: A hands on talk on the &#8220;Do&#8217;s and Don&#8217;ts when developing with the HTML5 canvas element. Mainly about things he&#8217;d learnt the hard way.</li>
<li><strong><a href="http://rawkets.com/">Rob Hawkes</a></strong>: Rawkets is a simple shooter game Rob developed for a University project that&#8217;s really taken off. It uses various open technologies including node.js and Web Sockets on the server side.</li>
<li><strong><a href="http://lomalogue.com/">Rik Lomas</a></strong>: Is the line between TV and computer entertainment bluring? With the help of <a href="https://picklive.com/">Picklive</a> it certainly is. A fantasy football game played in real time, built on Javascript, jQuery, Strophe and XMPP.</li>
<li><strong><a href="http://www.monocubed.com/">Paul Truong</a></strong>: Paul&#8217;s talk didn&#8217;t quite go to plan with a couple of teething problems with the demonstrations, but it was still very informative. I had no idea MacBook Pro&#8217;s had a built in accelerometer, and using it for gaming is a stroke of genius (although I can&#8217;t see many people tipping their MacBook Pro, it&#8217;s a tad heavy for a controller). With the iPad you&#8217;re on to a winner.</li>
</ul>
<div id="attachment_1525" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/12/mozilla-game-on-london.jpg"><img src="http://nooshu.com/wp-content/uploads/2010/12/mozilla-game-on-london-518x206.jpg" alt="Paul Truong at #gameon10" title="mozilla-game-on-london" width="518" height="206" class="size-medium wp-image-1525" /></a><p class="wp-caption-text">Paul Truong talking about Processing.js.</p></div>
<p>I particularly liked Christian Heilmann&#8217;s talk as he had some great ideas for <a href="http://www.rovio.com/index.php?page=angry-birds">Angry Birds</a> if it was built on open web technology. You could very easily allow people to build their own levels, add multi-player support, add a frustration rating for levels and user comments. Adding the social level building aspect to the game takes a bulk of the development time off the game developers; this is exactly what <a href="http://www.mediamolecule.com/">Media Molecule</a> have done with <a href="http://www.littlebigplanet.com/">Little Big Planet</a> and they now have 1 million+ levels! As an extra you could setup level building competitions and bring out a version of the Angry Birds based purely on the best custom built levels. Everyone&#8217;s a winner!</p>
<p>The evening was great fun and all the speakers were brilliant. My only criticism would be that the talks seemed very rushed. Making the talks fifteen minutes instead of ten would have allowed for a slightly slower pace with a few more demos. Big thank you to Mozilla Labs, Six to Start and all the speakers.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/game-on-london-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three.js and the Audio Data API Visualisation</title>
		<link>http://nooshu.com/three-js-and-the-audio-data-api-visualisation?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=three-js-and-the-audio-data-api-visualisation</link>
		<comments>http://nooshu.com/three-js-and-the-audio-data-api-visualisation#comments</comments>
		<pubDate>Mon, 15 Nov 2010 13:18:12 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[visualisations]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1468</guid>
		<description><![CDATA[I've played with the HTML5 Audio Data API in the past for 2D visualisations. So how about some 3D?]]></description>
			<content:encoded><![CDATA[<div id="attachment_1471" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/11/full.gif"><img src="http://nooshu.com/wp-content/uploads/2010/11/full-518x359.gif" alt="3D audio visualisation" title="full" width="518" height="359" class="size-medium wp-image-1471" /></a><p class="wp-caption-text">Mr Doob has created a superb JavaScript 3D Engine in three.js. Screenshots from my 'Bowl' demo.</p></div>
<p>I&#8217;ve been watching the development of <a href="https://github.com/mrdoob/three.js/">three.js</a> by <a href="http://mrdoob.com/">Mr Doob</a> for a couple of months and have been desperate to experiment with it. With Firefox 4 well into the <a href="http://www.mozilla.com/en-GB/firefox/beta/">beta stage</a> I decided to bite the bullet and do a little Audio Data visualisation in 3D!</p>
<p>I&#8217;ve <a href="http://nooshu.com/audio-visualisation-using-html5-and-canvas/">dabbled with audio visualisation</a> and the <a href="https://wiki.mozilla.org/Audio_Data_API">HTML5 Audio Data API</a> in the past, so I&#8217;m pleased I&#8217;ve had a chance to use it again and see what&#8217;s new. <strong>Note</strong>: My previous audio visualisations using canvas no longer work due to specification changes in the API. A pitfall of using an API that&#8217;s still in the draft stages I guess.</p>
<p>I&#8217;ve put together 5 simple demo&#8217;s all based around the same theme showing some of the options available in three.js. My favourite is &#8220;bowl&#8221;, pretty colours galore!</p>
<ul>
<li><strong><a href="http://nooshu.com/explore/threejs-visualisation/circle/">Circle</a></strong>: Simple circle, zoom in / out using the mouse wheel.</li>
<li><strong><a href="http://nooshu.com/explore/threejs-visualisation/cubes/">Cubes</a></strong>: Same as circle only using the cube primitive.</li>
<li><strong><a href="http://nooshu.com/explore/threejs-visualisation/cylinder/">Cylinder</a></strong>: Using the cylinder primitive with a floating camera.</li>
<li><strong><a href="http://nooshu.com/explore/threejs-visualisation/sinewave/">Sinewave</a></strong>: Rotated sinewave (looks a little like a chandelier).</li>
<li><strong><a href="http://nooshu.com/explore/threejs-visualisation/bowl/">Bowl</a></strong>: A combination of the above demos to create an interesting 3D bowl effect.</li>
</ul>
<p>Please note these demos will <strong>only work in <a href="http://www.mozilla.com/firefox/beta/">Firefox 4</a></strong>. The Audio Data API is still a draft specification and Mozilla is the only browser vendor to have added it to date. I&#8217;m looking forward to it being added to Chrome (Webkit), with its superb V8 JavaScript engine. The demo&#8217;s really are just the tip of the iceberg for both three.js and the Audio Data API. It&#8217;s certainly an area of the HTML5 specification to keep your eye on. </p>
<p>The music track used in the visualisation is called &#8220;Sad Robot&#8221; by a group called &#8220;Pornophonique&#8221;. Very catchy tune that you can <a href="http://www.jamendo.com/en/track/81740">download from Jamendo</a>.</p>
<p><strong>Update</strong>: It looks like enabling the Google Page Speed Apache module seems to have broken the demos. I&#8217;ve disabled it now so it should hopefully fix it (fingers crossed!).</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/three-js-and-the-audio-data-api-visualisation/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Aloha Editor &#8211; Content editing the HTML5 way</title>
		<link>http://nooshu.com/aloha-editor-content-editing-the-html5-way?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aloha-editor-content-editing-the-html5-way</link>
		<comments>http://nooshu.com/aloha-editor-content-editing-the-html5-way#comments</comments>
		<pubDate>Tue, 17 Aug 2010 20:25:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1358</guid>
		<description><![CDATA[There are many ways to edit and update content on a website, but none of them look quite a easy as Aloha Editor.]]></description>
			<content:encoded><![CDATA[<p>The number of times I&#8217;ve built a website based on a CMS only to have the client utter the words &#8220;Oh I&#8217;m confused, it&#8217;d be so much quicker if you made the changes&#8221;. Right, so the CMS was a bit of a waste of time then! But fingers crossed thanks to <a href="http://aloha-editor.com/">Aloha Editor</a> that may be a thing of the past. Often the problem clients have is actually finding the content that needs to be edited in the CMS; Aloha to the rescue!</p>
<p>What Aloha actually does is make the content editable right on the page; no need to jump into the CMS, find the page, make the changes then preview the result. Just click on the text you wish to edit and type away. Done! It&#8217;s hard to believe it actually works until you try it. Why not give it a go on their <a href="http://aloha-editor.com/demos/aloha-world-example/">demo page</a>. It incorporates a few HTML5 technologies which could cause issues with older IE versions, but the demo page seems to work (with a few quirks).</p>
<div id="attachment_1360" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/08/aloha-editor-demo.gif"><img src="http://nooshu.com/wp-content/uploads/2010/08/aloha-editor-demo-518x308.gif" alt="An example of Aloha Editor in action" title="aloha-editor-demo" width="518" height="308" class="size-medium wp-image-1360" /></a><p class="wp-caption-text">Quickly and easily edit the demo webpage.</p></div>
<p>The core has been written to be very small and streamlined, with additional functionality being added by the way of user contributed plug-ins. There&#8217;s already an <a href="http://www.aloha-editor.com/api/">extensive API</a> for developers to play with so I&#8217;m sure many of the missing features will be plugged very soon.</p>
<p>There are alternatives about such as <a href="http://tinymce.moxiecode.com/">TinyMCE</a> and <a href="http://ckeditor.com/">CKEditor</a>, but they&#8217;re integrated directly into a CMS&#8217; administration pages rather than as an inline editor like Aloha. Now before you get too excited there are a few cons:</p>
<ul>
<li>It isn&#8217;t as simple as just dropping the scripts into a page, it needs to be integrated into a backend system for the changes to be saved.</li>
<li>Still in early development so could be quite buggy.</li>
<li>Doesn&#8217;t work with Opera Browser at the moment but this is being worked on.</li>
<li>Some features aren&#8217;t available yet, like image / media insertion. But I&#8217;m sure these will be developed as it matures.</li>
</ul>
<p>So there are still a few issues to iron out but it all looks very promising! There were even murmurs on Twitter today about a WordPress plug-in and a Drupal v7 module (not 6 though I presume) in development. So it won&#8217;t be long before we&#8217;ll be able to try it out on a live site; hopefully it&#8217;s also simple enough for clients to use too!</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/aloha-editor-content-editing-the-html5-way/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nooshu.com now with added HTML5 goodness</title>
		<link>http://nooshu.com/nooshu-com-now-with-added-html5-goodness?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nooshu-com-now-with-added-html5-goodness</link>
		<comments>http://nooshu.com/nooshu-com-now-with-added-html5-goodness#comments</comments>
		<pubDate>Sat, 17 Jul 2010 14:05:50 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[semantics]]></category>
		<category><![CDATA[site]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1279</guid>
		<description><![CDATA[Finally got round to HTML5ing my Wordpress theme. Lots to learn with the (ongoing) HTML5 specifications.]]></description>
			<content:encoded><![CDATA[<p>So I finally pulled my finger out and took the HTML5 plunge over the past day or so; the Nooshu WordPress theme now has a sprinkling of HTML5. Mmmm I have that warm fuzzy feeling of completeness! In all honesty it&#8217;s been an easy way to learn about the new <a href="http://dev.w3.org/html5/spec/Overview.html">HTML5 specifications</a> (although they aren&#8217;t complete and won&#8217;t become a W3C recommendation until 2022&#8230; no that isn&#8217;t a typo!).</p>
<p>HTML5 has added a host of new tags which have much more semantic meaning. So instead of using &#8216;divs&#8217; to section off areas of your page layout, you can now use:</p>
<div class="codecolorer-container html4strict default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">&lt;!-- Some of the new HTML5 Tags --&gt;</span><br />
<span style="color: #009900;">&lt;header&gt;&lt;<span style="color: #66cc66;">/</span>header&gt;</span><br />
<span style="color: #009900;">&lt;footer&gt;&lt;<span style="color: #66cc66;">/</span>footer&gt;</span><br />
<span style="color: #009900;">&lt;article&gt;&lt;<span style="color: #66cc66;">/</span>article&gt;</span><br />
<span style="color: #009900;">&lt;section&gt;&lt;<span style="color: #66cc66;">/</span>section&gt;</span><br />
<span style="color: #009900;">&lt;nav&gt;&lt;<span style="color: #66cc66;">/</span>nav&gt;</span></div></td></tr></tbody></table></div>
<p>It&#8217;s certainly a welcome addition to the modern web. My favourite part of HTML5 has to be the doctype (other than the canvas element):</p>
<div class="codecolorer-container html4strict default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">&lt;!-- No more --&gt;</span><br />
<span style="color: #00bbdd;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</span><br />
<br />
<span style="color: #808080; font-style: italic;">&lt;!-- Much better! --&gt;</span><br />
<span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span></div></td></tr></tbody></table></div>
<p>Look how simple it is! No more copy / paste from a previous project for this doctype.</p>
<p>My main concern when converting the theme to HTML5 was how it would work in IE; as IE8 supports parts of HTML5 but IE6 and IE7 not at all. When IE comes across a tag it doesn&#8217;t recognise it just ignores it. Since the tags aren&#8217;t recognised you won&#8217;t be able to style your lovely new HTML5 template in IE6 &#038; IE7. Lucky you can patch this missing functionality using JavaScript. Remy Sharp has created a script called <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">html5shim</a>, that adds the missing tags to IE. Just add the following code to your header and you will now be able to style your HTML5 tags:</p>
<div class="codecolorer-container html4strict default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 9]&gt;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; &lt;script src=&quot;http://html5shim.googlecode.com/svn/trunk/html5.js&quot;&gt;&lt;/script&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;![endif]--&gt;</span></div></td></tr></tbody></table></div>
<p>The script must be in the header and must fire before the DOM is created. The script simply creates all the new HTML5 elements using the document method &#8216;createElement&#8217;, you don&#8217;t even need to attach the created elements to the DOM! Now IE will recognise the tags and you can get on with your page styling. Yay!</p>
<p>Those who use WordPress 3.0 may have noticed that the default Kubric theme is no more and it&#8217;s been replaced with a new theme called twenty ten. The theme uses the HTML5 doctype but it doesn&#8217;t use any of the new tags. I guess because of the IE issues. Maybe this will be changed in future releases.</p>
<p>The Nooshu theme is still a work in progress, and I&#8217;ll modify areas as I learn more about the new HTML5 features. Here are a selection of links that I found incredibly useful while working on the theme:</p>
<ul>
<li><strong><a href="http://diveintohtml5.org/">Dive into HTML5</a></strong>: Read through this article and you will be well on your way to learning HTML5. It delves into the history of HTML and progresses forward right up to implementing the new specifications.</li>
<li><strong><a href="http://html5doctor.com/">HTML5 Doctor</a></strong>: Looking for HTML5 related news or need some clarification of a new tag? Look no further than HTML5 Doctor. Lots of articles available for you to read and there&#8217;s even the option to ask a question if you don&#8217;t find the answers you are looking for.</li>
<li><strong><a href="http://gsnedders.html5.org/outliner/">HTML 5 Outliner</a></strong>: So you&#8217;ve created your shiny new HTML5 template; why not check it with the outliner to see if it makes sense to a user / search engine.</li>
<li><strong><a href="http://validator.w3.org/">W3C Markup Validator</a></strong>: It&#8217;s been a while since I&#8217;ve used a validator since I have one <a href="https://addons.mozilla.org/firefox/addon/249">built into Firefox</a>, but the W3C validator was very handy for pointing out attributes and tags that are no longer supported in the specifications. It also gives you a quick benchmark to aim at.</li>
</ul>
<p>If you have any other useful HTML5 tips and links let me know below.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/nooshu-com-now-with-added-html5-goodness/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

