<?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>Making Waves Labs &#187; JavaScript</title>
	<atom:link href="http://labs.makingwaves.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.makingwaves.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Sep 2010 13:27:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Unity 3d</title>
		<link>http://labs.makingwaves.com/2010/08/17/unity-3d/</link>
		<comments>http://labs.makingwaves.com/2010/08/17/unity-3d/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 10:42:16 +0000</pubDate>
		<dc:creator>Sven A</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=1041</guid>
		<description><![CDATA[I have spend some time looking at unity3D and how we can use this 3D engine. Unity is an integrated authoring tool for creating 3D games or other interactive content such as architectural visualizations or real-time 3D animations.  It is mainly used for game design, but has a huge potential when it comes to real time visualizations. I have made a very [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1048" href="http://labs.makingwaves.com/2010/08/17/unity-3d/boxgame/"><img class="alignnone size-medium wp-image-1048" title="boxGame" src="http://labs.makingwaves.com/wp-content/uploads/2010/08/boxGame-502x221.jpg" alt="" width="502" height="221" /></a></p>
<p>I have spend some time looking at <a href="http://unity3d.com/" target="_blank">unity3D</a> and how we can use this 3D engine. Unity is an integrated authoring tool for creating 3D games or other interactive content such as architectural visualizations or real-time 3D animations.  It is mainly used for game design, but has a huge potential when it comes to real time visualizations.</p>
<p>I have made a very simple game to get familiar with Unity. The plot is quite simple. You got some boxes with a nasty attitude, and its your job to sort them out. <a href="http://www.makingria.com/user/sa/boxGame/" target="_self">Try the game here</a>.<span id="more-1041"></span></p>
<p>The focus has been to get to know the unity environment and how to make tings move and interact. In this game I use real time physics, particles and a simple intelligence  for the enemy&#8217;s.  For graphics I only use cubes. My game is written in JavaScript, but Unity also supports C# and Boo.  Unity can export to :</p>
<ul>
<li>Stand alone players for mac and pc.</li>
<li>Web player</li>
<li>Iphone and Ipad</li>
<li>Android</li>
<li>Wii, xbox and playstation.</li>
</ul>
<p>Unity has an excellent integration with all the major 3d apps like Maya, 3ds, c4d etc. Unity comes with an Editor where you combine scripts, 3d assets (models, texutres etc), sounds, terrains, physics and more. <a href="http://unity3d.com/unity/features/" target="_blank">Read more about the editor</a></p>
<p><strong>Where to go from here</strong></p>
<p>I see great potential in Unity and will start a new project when I get the time. The focus will be to get a plot, good looking models and environment. Build it all  in Maya, export it to unity with lights, textures, animations and the rest of it. Should be good.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2010/08/17/unity-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery UI or jQuery Tools</title>
		<link>http://labs.makingwaves.com/2010/08/02/jquery-ui-or-jquery-tools/</link>
		<comments>http://labs.makingwaves.com/2010/08/02/jquery-ui-or-jquery-tools/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 10:45:49 +0000</pubDate>
		<dc:creator>torbjorn</dc:creator>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Tools]]></category>
		<category><![CDATA[jQuery UI]]></category>
		<category><![CDATA[rich web]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=1032</guid>
		<description><![CDATA[jQuery UI is a powerful extension to jQuery with themeable widgets as well as functionality to bring rich user interaction to the web. The library is widely used, and has a big developer community behind it. On the other hand, wicked tongues has started muttering that jQuery UI has gotten too extensive and therefore bloated, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1033" title="uitools" src="http://labs.makingwaves.com/wp-content/uploads/2010/08/uitools.png" alt="" width="500" height="92" /></p>
<p><a href="http://jqueryui.com/">jQuery UI</a> is a powerful extension to jQuery with themeable widgets as well as functionality to bring rich user interaction to the web. The library is widely used, and has a big developer community behind it. On the other hand, wicked tongues has started muttering that jQuery UI has gotten too extensive and therefore bloated, which has given room for other players on the field of rich websites.<span id="more-1032"></span></p>
<p><a href="http://flowplayer.org/tools/">jQuery Tools</a> is a collection of the most popular user-interface components for today&#8217;s web. While jQuery Tools doesn&#8217;t have all the features of jQuery UI, their approach is making the library as lightweight as possible with a limited set of components and functionality customization. The built-in components are Tabs, Tooltip, Scrollable, Overlay and Form tools. jQuery Tools also provides its own Flashembed, History, Expose and Mousewheel through its toolbox. As they say on their home page: «Let&#8217;s face it: do you really need drag-and-drop, resizable windows or sortable lists in your web applications?»</p>
<p>The release of jQuery Tools spurred a bit of a <a href="http://marcgrabanski.com/articles/jquery-tools-vs-jquery-ui">controversy</a>, as some feel that it&#8217;s wrong to go solo instead of contribute their ideas to the jQuery UI project.</p>
<p>While I disagree with the statement that we don&#8217;t need drag-and-drop or sortable lists on the web (we have used it with success ourself), competition is always welcome. This drives the competitors to make even better products and it makes it possible for us, the developers, to evaluate the options and choose the alternative that suits the task best. We&#8217;re in the process of using jQuery Tools in one of our own projects, and will hopefully return with a better evaluation later.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2010/08/02/jquery-ui-or-jquery-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick test of the font service from TypeKit.com</title>
		<link>http://labs.makingwaves.com/2010/04/29/quicktest-of-service-from-typekit/</link>
		<comments>http://labs.makingwaves.com/2010/04/29/quicktest-of-service-from-typekit/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 09:11:45 +0000</pubDate>
		<dc:creator>Helge</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=971</guid>
		<description><![CDATA[Typekit is commercial service that lets you embed non-standard fonts into HTML pages. It is relatively easy to use and takes care of all the licensing issues. So far, all good. Yesterday, I did a quick test of the service using the font LFT Etica Display. I must say results were disappointing and showed far [...]]]></description>
			<content:encoded><![CDATA[<p>Typekit is commercial service that lets you embed non-standard fonts into HTML pages. It is relatively easy to use and takes care of all the licensing issues. So far, all good. Yesterday, I did a <a href="http://makingria.com/typekit/">quick test</a> of the service using the font <strong>LFT Etica Display</strong>.</p>
<p><a rel="attachment wp-att-973" href="http://labs.makingwaves.com/2010/04/29/quicktest-of-service-from-typekit/typekit/"><img class="size-full wp-image-973 alignnone" title="typekit" src="http://labs.makingwaves.com/wp-content/uploads/2010/04/typekit.png" alt="" width="440" height="84" /></a></p>
<p>I must say results were disappointing and showed far too much difference than what’s acceptable. It may have something to do with this specific font, like the font-hinting.</p>
<p>It&#8217;s sad to see that Opera is not supported at all, even though the latest versions have native support for font embedding.</p>
<p>All the tests were done on a Windows 7 PC.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2010/04/29/quicktest-of-service-from-typekit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On how to play HTML5 video</title>
		<link>http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/</link>
		<comments>http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 12:33:41 +0000</pubDate>
		<dc:creator>Jørn</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=892</guid>
		<description><![CDATA[Most web developers agree that the ability to play video on webpages is a must, however the jury is out on how these videos should be played. I&#8217;m of course referring to the HTML 5 video format controversy. Throw FlashPlayer into the mix and you&#8217;ll end up with a humongous fight leading fast to nowhere. Based on this, focusing [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-956" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/mobile/"><img class="aligncenter size-medium wp-image-956" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/mobile-501x376.jpg" alt="The movie playing on mobile devices" width="501" height="376" /></a></p>
<p>Most web developers agree that the ability to play video on webpages is a must, however the jury is out on how these videos should be played. I&#8217;m of course referring to the <a href="http://www.w3schools.com/html5/tag_video.asp" target="_blank">HTML 5 video</a> format <a href="http://arstechnica.com/open-source/news/2009/07/decoding-the-html-5-video-codec-debate.ars" target="_blank">controversy</a>. Throw FlashPlayer into the mix and you&#8217;ll end up with a humongous fight leading fast to nowhere. Based on this, focusing on finding a solution, I tried to piece together a player using both HTML 5 video, and FlashPlayer for less capable browsers like Internet Explorer. You can find a demo alpha version of the player here: <a href="http://makingria.com/demo/html5/videoplayer/">http://makingria.com/demo/html5/videoplayer/</a></p>
<h3>Browser support</h3>
<p>The player supports the following browsers:</p>
<ul>
<li>Internet Explorer 7 (FlashPlayer, H:264 video)</li>
<li>Firefox 3.6 (Native playback, OGG Theora video)</li>
<li>Google Chrome and Apple Safari (Native Playback, H.264 video)</li>
<li>iPad and iPhone (Native Playback)</li>
<li>Opera 10.5 (Native playback, OGG Theora video)</li>
</ul>
<h3>How to build it</h3>
<p><span id="more-892"></span></p>
<p>My approach to building the player was based on my not so patented &#8220;falling down the stairs&#8221; method. In plain English this means that playback methods are ranked in a list, falling down the list as support for the wanted playback method is not found.  To accomplish this we utilize the HTML5 video tags ability to hold a list of different source videos. If no support for html5 video is found the video tag will be replaced by swfObject using the Modernizer JS framework.</p>
<p>The list looks as follows:</p>
<ol>
<li>HTML5 video using the H.264 codec &#8211; high-res (WebKit browsers and iPad)</li>
<li>HTML5 video using the H.264 codec &#8211; med-res (iPhone)</li>
<li>HTML5 video using the OGG Theora codec (Firefox/Opera)</li>
<li>FlashPlayer video using the H.264 codec (Internet Explorer)</li>
<li>Error message (Others)</li>
</ol>
<p>I wanted the player to support play/pause controls, zoom control and outputting the current time and the duration of the video no matter what video playback method being used. I accomplished this by using JavaScript to control all of these aspects of the video, even when using FlashPlayer as the video playback method. If you want to see how this was done in practice,<a href="http://makingria.com/demo/html5/videoplayer/pl.js" target="_blank"> </a><a href="http://makingria.com/demo/html5/videoplayer/pl.js" target="_blank">go take a peek at the JavaScript</a>. The code for the FlashPlayer based player can be found <a href="http://makingria.com/demo/html5/videoplayer/srcview/" target="_blank">here</a>.</p>
<h3>Performance</h3>
<p><a rel="attachment wp-att-894" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/webkit/"><img class="alignleft size-full wp-image-894" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/webkit.jpg" alt="23% CPU usage when using WebKit" width="122" height="114" /></a></p>
<p>CPU usage is a challenge when playing high resolution video. On my computer, a ThinkPad Intel Core 2 Duo 2.66 GHz with 4 GB RAM (Windows 7 64 Bit) I found that the combination of HTML 5 video playback in WebKit based browsers using the H.264 codec gave the best results when playing a 720p HD video. Also notice the smooth scaling when testing the video in WebKit based browsers.</p>
<p><a rel="attachment wp-att-895" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/firefox/"><img class="alignleft size-full wp-image-895" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/firefox.jpg" alt="44% CPU usage when playing back video using Firefox 3.6" width="119" height="114" /></a>When using the Gecko renderer in Firefox 3.6, the CPU usage almost doubled compared to the H.264 playback in the WebKit browsers. And it needs to be noted that this was a huge improvement from Firefox 3.5 where native video playback was pretty close to unusable due to a 60-80% CPU usage. This spike in CPU usage is probably caused by the OGG Theora decoder in Firefox and Opera.</p>
<p><a rel="attachment wp-att-896" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/ie/"><img class="alignleft size-full wp-image-896" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/ie.jpg" alt="25% CPU usage using the FlashPlayer in Internet Explorer" width="118" height="117" /></a> In Internet Explorer you&#8217;ll end up watching a FlashPlayer rendered video as Microsoft has yet to release a browser supporting the HTML 5 video tag. What&#8217;s interesting is the fact that the FlashPlayer renders video content far more efficient (CPU vise) that the native video rendering in Firefox and Opera. WebKit&#8217;s native video implementation is slightly more efficient that the one of FlashPlayer, but not by much. It should also be noted that this test was done in FlashPlayer 10.0. Not the mythical speedmonster (rumored) which is FlashPlayer 10.1.</p>
<div>
<h2>Final thoughts</h2>
</div>
<div>HTML 5 is coming, no doubt, let&#8217;s hope that agreement in the HTML5 &#8220;codec wars&#8221;, as well as proper implementations of the native video playback in browsers also rolls out at the same time. From a user standpoint, HTML5 video has many advantages over plugin based video, one of them being no need for a plugin. Today, only the WebKit based browsers can match the video playback abilities of the FlashPlayer, but this will change, in time.</div>
<div><a rel="attachment wp-att-959" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/ie-2/"><img class="size-medium wp-image-959 aligncenter" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/IE-501x417.jpg" alt="The player running in Internet Exporer" width="301" height="250" /></a></div>
<div><a rel="attachment wp-att-960" href="http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/webkit-2/"><img class="aligncenter size-medium wp-image-960" src="http://labs.makingwaves.com/wp-content/uploads/2010/03/WebKit-502x420.jpg" alt="Player running in Google Chrome" width="301" height="252" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2010/03/23/on-how-to-play-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use geolocation to get your current address from Google maps</title>
		<link>http://labs.makingwaves.com/2009/12/02/use-geolocation-to-get-your-current-address-from-google-maps/</link>
		<comments>http://labs.makingwaves.com/2009/12/02/use-geolocation-to-get-your-current-address-from-google-maps/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 13:51:14 +0000</pubDate>
		<dc:creator>Torbjørn</dc:creator>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=751</guid>
		<description><![CDATA[Firefox 3.5 as well as many smartphone browsers like Mobile Safari include a JavaScript API to geo-enable your web applications. Using it is pretty simple, and it gives us the ability create a completely new range of services utilizing the user&#8217;s current position. We can use it to position yourself on a graphical map or [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-753" title="geo" src="http://labs.makingwaves.com/wp-content/uploads/2009/12/geo.jpg" alt="geo" width="502" height="214" /></p>
<p>Firefox 3.5 as well as many smartphone browsers like Mobile Safari include a JavaScript API to geo-enable your web applications. Using it is pretty simple, and it gives us the ability create a completely new range of services utilizing the user&#8217;s current position. We can use it to position yourself on a graphical map or use yr.no&#8217;s weather API to get the weather right where you are.</p>
<p><span id="more-751"></span></p>
<p>In the following example, I will try to determine the user&#8217;s address by using Google Maps&#8217; new Reverse Geocoding API. I haven&#8217;t included all my code in this post, but I will share upon request.</p>
<p><a href="http://makingria.com/demo/geo/" target="_blank"><strong>See the demo here</strong></a></p>
<p>Since there&#8217;s still just a few browsers supporting geolocation, we need to check the current browser for the navigator.geolocation object. If it exists, we&#8217;ll call its getCurrentPosition function to get the user&#8217;s latitude and longitude:</p>
<pre>if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(success, fail);
}</pre>
<p>This triggers Firefox&#8217; location notification bar (or the iPhone&#8217;s location dialog) which will ask you for permission to give your location to this web page. After you accept, devices with built-in GPS will give the browser access to these data while other devices will use local WiFi networks and IP address information to try and guess your location.</p>
<p>These values can now be used to retrieve your address from Google Maps:</p>
<pre>http://maps.google.com/maps/geo?q=&lt;lat&gt;,&lt;lon&gt;&amp;output=
   &lt;xml_kml_csv_or_json&gt;&amp;sensor=&lt;true_or_false&gt;&amp;key=&lt;api_key&gt;</pre>
<p>We can either get our results through a direct JavaScript request using JSON or by getting an AJAX result using a server-side script. In my case I&#8217;m using the AJAX approach to let a PHP script retrieve, parse and format the data:</p>
<pre>function success(position) {
    $("#location").load("location.ajax.php?lat=" +
        position.coords.latitude + "&amp;lon=" +
        position.coords.longitude);
}</pre>
<p>Addresses from Google Maps&#8217; Reverse Geocoding API are ordered from best to least matches and categorized by accuracy. In this example, I&#8217;m just printing them all out.</p>
<p><a href="http://makingria.com/demo/geo/" target="_blank"><strong>See the demo here</strong></a></p>
<p><strong><a rel="attachment wp-att-786" href="http://labs.makingwaves.com/2009/12/02/use-geolocation-to-get-your-current-address-from-google-maps/geo-2/">Download geolocation demo source code</a></strong></p>
<h3>References</h3>
<ul>
<li><a href="http://www.mozilla.com/en-US/firefox/geolocation/">Mozilla: Location-Aware Browsing</a></li>
<li><a href="http://hacks.mozilla.org/2009/06/geolocation/">hacks.mozilla.org: geolocation in Firefox 3.5</a></li>
<li><a href="http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding">Google Maps API Services: Reverse Geocoding</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2009/12/02/use-geolocation-to-get-your-current-address-from-google-maps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cufón &#8211; best webfont solution so far</title>
		<link>http://labs.makingwaves.com/2009/10/20/cufon-the-best-webfont-solution-so-far/</link>
		<comments>http://labs.makingwaves.com/2009/10/20/cufon-the-best-webfont-solution-so-far/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 14:30:07 +0000</pubDate>
		<dc:creator>Helge</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=440</guid>
		<description><![CDATA[While waiting for more browsers to support CSS3&#8242;s @font-face, the javascript method Cufón is an interesting alternative to the more commonly used sIFR method. It&#8217;s pure Javascript, so it doesn&#8217;t require any plugins like sIFR does. And it has faster loading times than sIFR. Depending on the browser, it internally uses different techniques like SVG, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-446" title="cufon" src="http://labs.makingwaves.com/wp-content/uploads/2009/10/cufon.jpg" alt="cufon" width="498" height="200" /></p>
<p>While waiting for more browsers to support CSS3&#8242;s @font-face, the javascript method Cufón is an interesting alternative to the more commonly used sIFR method.</p>
<p>It&#8217;s pure Javascript, so it doesn&#8217;t require any plugins like  sIFR does. And it has faster loading times than sIFR. Depending on the browser, it internally uses different techniques like SVG, Canvas and VML paths to draw the fonts. Luckily, web developers don&#8217;t need to know much about it, it just works!</p>
<p><span id="more-440"></span></p>
<p>How to use</p>
<ol>
<li>Download <strong>cufon-yui.js</strong></li>
<li>Generate a javascript file of the faces you need of your font. Check &#8220;<strong>Basic Latin</strong>&#8221; + &#8220;<strong>Latin- 1 Supplement</strong>&#8221; for Norwegian characters.</li>
<li>Add <strong>cufon-yui.js</strong> and <strong>yourGeneratedFontFile.js</strong> in html head.</li>
<li>Then, for example,  to use font on all h1-tags: <strong>Cufon.replace(&#8216;h1&#8242;)</strong>;</li>
</ol>
<p>Make sure to only use fonts that allows font embedding &#8211; check the EULA (end user licence agreement).</p>
<p><a href="http://cufon.shoqolate.com/">http://cufon.shoqolate.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2009/10/20/cufon-the-best-webfont-solution-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to basics with jQuery</title>
		<link>http://labs.makingwaves.com/2009/10/19/561/</link>
		<comments>http://labs.makingwaves.com/2009/10/19/561/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:48:54 +0000</pubDate>
		<dc:creator>Trond</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://labs.makingwaves.com/?p=561</guid>
		<description><![CDATA[For a long time I have been using JavaScript for the bare necessities, relying on Flash to do the heavy-lifting. After investigating a couple of OK &#8220;Flash-sites&#8221; I found out they were not actually made in Flash, but in JavaScript. Seemed both had jQuery as the foundation for their scripting. I&#8217;ve been using jQuery blindly [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-586" title="jquery" src="http://labs.makingwaves.com/wp-content/uploads/2009/10/jquery.jpg" alt="jquery" width="217" height="83" /></p>
<p>For a long time I have been using JavaScript for the bare necessities, relying on Flash to do the heavy-lifting. After investigating a couple of OK &#8220;Flash-sites&#8221; I found out they were not actually made in Flash, but in JavaScript. Seemed both had jQuery as the foundation for their scripting. I&#8217;ve been using jQuery blindly as a &#8220;switch-class&#8221; engine for styling only, but could it really do more than a little CSS-manipulation?</p>
<p><span id="more-561"></span></p>
<p>The answer to this is: Yes. well actually jQuery itself doesn&#8217;t actually do much, but it&#8217;s enabling a lot of functionality and it&#8217;s making JS accessible for guys like me. As a bonus it <em><span style="text-decoration: underline;">can</span></em> do your AJAX accessible and SEO-friendly. jQuery is a JavaScript-framework containing a lot of functionality to program routines to access the DOM, circumventing all the long and boring &#8220;getElementBy&#8230;.&#8221;-commands with a nifty XPath and dot-syntax. It enables asynchronous data- and state-flow and also incorporates a &#8220;new&#8221;, that is overridden, event-model, for convenience.</p>
<p>There&#8217;s a lot of different frameworks out there, and trying but a few of these it&#8217;s impossible for me to choose which is best. Since MicroSoft has selected jQuery as their preferred AJAX-bridge, I feel it&#8217;s a safe platform to explore. I have seen a lot heavier graphics programming with the MooTools and really nice AJAX and data integration with the Dojo-framework, however, jQuery seems to come out of most tests and comparisons on a close-to-best on most cases, excelling in kind of most aspects.</p>
<p>After a rough start, meeting again the longly avoided $-sign, I have started understanding how jQuery works. A lot of cool things can be done with JQuery. Take a look at a couple of examples that inspired me to take up JS/jQuery again.<a href="http://stephband.info/">Site 1</a> and <a href="http://bonadiesarchitect.com/">Site 2</a><br />
The sites themselves are not very impressive, however, concidering they&#8217;re done in Javascript it&#8217;s not half bad really, at least it made me take the plunge into the world of front-end javasripting again.</p>
<p>More info on jQuery <a href="http://jquery.com">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.makingwaves.com/2009/10/19/561/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
