<?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"
	>

<channel>
	<title>Mumblings of a Web Developer</title>
	<atom:link href="http://www.nathanderksen.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nathanderksen.com/blog</link>
	<description>'Dis, 'dat, and the other thing</description>
	<pubDate>Wed, 03 Oct 2007 20:21:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Adobe previews Thermo for creating RIAs</title>
		<link>http://www.nathanderksen.com/blog/2007/10/03/adobe-previews-thermo-for-creating-rias/</link>
		<comments>http://www.nathanderksen.com/blog/2007/10/03/adobe-previews-thermo-for-creating-rias/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 20:21:39 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/2007/10/03/adobe-previews-thermo-for-creating-rias/</guid>
		<description><![CDATA[Adobe today introduced a new tool called Thermo. I recommend that you take a look at their demo.
From what I see, Thermo is a tool that helps to integrate the visual design process in more tightly with creating Flash/Flex-based Rich Internet Applications. If you take a look at the demo, you will see how it [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe today introduced a new tool called <a target="_blank" href="http://labs.adobe.com/wiki/index.php/Thermo">Thermo</a>. I recommend that you take a look at their <a target="_blank" href="http://ajaxian.com/archives/adobe-thermo-convert-artwork-to">demo</a>.</p>
<p>From what I see, Thermo is a tool that helps to integrate the visual design process in more tightly with creating Flash/Flex-based Rich Internet Applications. If you take a look at the demo, you will see how it can import artwork and use that as a template for creating a Flex-based application. From what I see of this application, this is really what the visual design feature of Flex Builder really should have been, and this also looks to be very suitable for quick semi-functional prototypes. The workflow looks like it will work well as well: Visual designers can use Thermo to start off the application, then Web developers can work with the same project in Flex Builder to add in the structure, additional functionality, and server integration.</p>
<p>Since Thermo creates code that can be also edited in Flex Builder, one thing I would like to see is that they keep Cairngorm in mind. That would help make Thermo more suitable for larger scale RIAs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2007/10/03/adobe-previews-thermo-for-creating-rias/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The keyboard and mouse as input devices</title>
		<link>http://www.nathanderksen.com/blog/2007/07/09/the-keyboard-and-mouse-as-input-devices/</link>
		<comments>http://www.nathanderksen.com/blog/2007/07/09/the-keyboard-and-mouse-as-input-devices/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 18:04:33 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/2007/07/09/the-keyboard-and-mouse-as-input-devices/</guid>
		<description><![CDATA[I just ran across a couple of interesting articles about keyboard vs mouse input:
http://hci-matters.com/blog/?p=8 and the followup:
http://hci-matters.com/blog/?p=9
The idea is that we should really be using more of the keyboard to be productive, but only for tasks which can be qualified as discrete, such as managing documents, launching applications, and working with text. I definitely agree [...]]]></description>
			<content:encoded><![CDATA[<p>I just ran across a couple of interesting articles about keyboard vs mouse input:<br />
<a href="http://hci-matters.com/blog/?p=8">http://hci-matters.com/blog/?p=8</a> and the followup:<br />
<a href="http://hci-matters.com/blog/?p=9">http://hci-matters.com/blog/?p=9</a></p>
<p>The idea is that we should really be using more of the keyboard to be productive, but only for tasks which can be qualified as discrete, such as managing documents, launching applications, and working with text. I definitely agree with the premise. We have long had keyboard shortcuts, part of the problem is how to associate the shortcut with an action: there are so many, memorizing them is impossible. As an aside, f-keys are the absolute worst way to implement shortcuts as there is no mnemonic to help with the association, and no consistency save the F1 key for help (why not just label it &#8220;help&#8221;).</p>
<p>The author has some good thinking in his second article about a way of improving the feedback mechanism for shortcuts. I think it&#8217;s a good start, but perhaps a bit heavy in the information presentation. Many programs have a huge number of commands which would simply be overwhelming, even with the author&#8217;s proposed trimming search functionality. A great Mac utility called <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> shows a way of achieving this in more of a compact way. Hitting ctl-space brings up the search field, then typing whittles down the list of commands available while using less real estate. Integrating this kind of functionality more tightly in the operating system. One problem with this particular program, though is the merging of commands with applications. Typing in &#8220;qui&#8221; could potentially mean &#8220;quit&#8221; or &#8220;quicksilver&#8221;, one being a command, one being an application. I think it&#8217;s probably best to keep those separate.</p>
<p>One thought I have relates to an example given in the book &#8220;The Design of Everyday Things&#8221; where one shortwave radio with lots of buttons on the front was found to be generally easier to use than a radio with similar functionality condensed into fewer buttons. The problem with having fewer buttons is that most of the functionality is hidden behind modes, which make it very difficult to &#8220;save&#8221; actions to muscle memory through simple memorization of where the button is. Similarly, our keyboards are inherently modal, with &#8220;shift&#8221;, &#8220;ctrl&#8221;, &#8220;alt/option&#8221;, and &#8220;Windows/Apple&#8221; buttons each representing different modes of operation. Doing something like replacing our F-keys with buttons that have distinctly labeled functions such as &#8220;open&#8221;, &#8220;close&#8221;, &#8220;save&#8221;, and whatnot would allow us to commit many of those common actions to muscle memory rather than having to memorize key combinations which may not fit our own mnemonic associations.</p>
<p>One more thought, approaches such as those used by QuickSilver and Windows XP Start Menu claim to be adaptive. The problem with this approach is that they are not predictable: trying to invoke the same command/program that you normally use, but on someone else&#8217;s machine, will result in different actions or at least a different set of movements to invoke the same action. Moving or hiding items based on usage is a really bad approach, however something more subtle such as slightly changing the appearance of the most frequently used commands might work better.</p>
<p>Anyways, there is lots to consider in how to best use the keyboard. It would be fun to come up with a shortcut feedback system that works well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2007/07/09/the-keyboard-and-mouse-as-input-devices/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Playing with AS3 - An example MP3 player component</title>
		<link>http://www.nathanderksen.com/blog/2006/07/25/playing-with-as3-an-example-mp3-player-component/</link>
		<comments>http://www.nathanderksen.com/blog/2006/07/25/playing-with-as3-an-example-mp3-player-component/#comments</comments>
		<pubDate>Tue, 25 Jul 2006 15:46:10 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/2006/07/25/playing-with-as3-an-example-mp3-player-component/</guid>
		<description><![CDATA[I have finally gotten around to playing with AS3, and I decided to pick the Sound object as one to play with. In the end, I ended up creating a simple music playback &#8220;component&#8221; that uses a whole number of AS3 features. I am including the example here along with the source. Enjoy! Note: error [...]]]></description>
			<content:encoded><![CDATA[<p>I have finally gotten around to playing with AS3, and I decided to pick the Sound object as one to play with. In the end, I ended up creating a simple music playback &#8220;component&#8221; that uses a whole number of AS3 features. I am including the example here along with the <a href="/stuff/as3_soundTest/2006-07-25.zip">source</a>. Enjoy! Note: error handling is not yet very robust, but it still shows numerous aspects of AS3 in use. Requires Flash Player 9.</p>
<p><!--More--></p>
<p>Grrrr&#8230; WordPress is munging the object and embed tags. The example can be seen <a href="/stuff/as3_soundTest/SoundTest.html">here</a> for the moment.</p>
<p>Another update: Did I mention error handling is not quite robust yet? Seems to not be loading anything over the server, however feel free to download the zip file and play with it locally.</p>
<p>Update 3: Seems it was just a case sensitivity issue on the file name, it&#8217;s up and running now.</p>
<p>Update 4: I have a new example up that adds some constructor options to some of the classes, and also adds a simple frequency spectrum display. Take a <a title="Flash MP3 player example" href="/stuff/as3_soundTest2/SoundTest.html">look</a> and grab the <a title="Sound test source files" href="/stuff/as3_soundTest2/2006-07-26-2.zip">updated source</a> if you wish.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/07/25/playing-with-as3-an-example-mp3-player-component/feed/</wfw:commentRss>
		</item>
		<item>
		<title>An Algorithm for Finding Common Elements Across Data Sets</title>
		<link>http://www.nathanderksen.com/blog/2006/07/12/an-algorithm-for-finding-common-elements-across-data-sets/</link>
		<comments>http://www.nathanderksen.com/blog/2006/07/12/an-algorithm-for-finding-common-elements-across-data-sets/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 15:08:23 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/2006/07/12/an-algorithm-for-finding-common-elements-across-data-sets/</guid>
		<description><![CDATA[I was recently working on a search algorithm for a Flash piece I am working on, and the way the algorithm worked involved doing separate searches for each keyword from an index that I had created, recording the number of occurrences for each keyword, then finding out which elements were common between each of the [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently working on a search algorithm for a Flash piece I am working on, and the way the algorithm worked involved doing separate searches for each keyword from an index that I had created, recording the number of occurrences for each keyword, then finding out which elements were common between each of the keywords. I came up with an algorithm to do this operation linearly, that is it only has to do one pass through the data which means that it scales well for large data sets. The gist is that if you have three sets of data, then any data element needs to appear three times in the search for it to be common across the data sets. As such, all that is needed is a tally kept of how many times each data element appears and anything that has a tally of three is part of the intersection of the data sets.</p>
<p><i>Note: this only works if there are no duplicated elements in each data set, which fortunately is not too hard a condition to impose.</i></p>
<p>Here is some code representing the algorithm:<br />
<span id="more-29"></span></p>
<div class="code">
<pre>
var dataSet:Array = new Array();
dataSet.push(["1", "2", "5", "10", "11", "12", "15"]);
dataSet.push(["2", "5", "11", "14", "18", "21"]);
dataSet.push(["0", "1", "2", "3", "5", "7", "11"]);

var elementTallies:Object = new Object();
var currentElement:String;

for (var i:Number = 0; i < dataSet.length; i++)
{
	for (var j:Number = 0; j < dataSet[i].length; j++)
	{
		// Go through each element for each dataset. For each element,
		// add one to the tally for that element.
		currentElement = dataSet[i][j];
		if (elementTallies[currentElement] == undefined)
		{
			elementTallies[currentElement] = 1;
		}
		else
		{
			elementTallies[currentElement]++;
		}
	}
}

// Go through the tallies looking for elements with a tally of 3.
// Those elements will make up the intersection of the three data sets
for (var element:String in elementTallies)
{
	if (elementTallies[element] == dataSet.length)
	{
		trace("element: " + element);
	}
}
// Outputs: 11, 5, 2
</pre>
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/07/12/an-algorithm-for-finding-common-elements-across-data-sets/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Potential Solution to the Eolas Flash Woes - The Object Replacement Method</title>
		<link>http://www.nathanderksen.com/blog/2006/04/19/a-potential-solution-to-the-eolas-flash-woes-the-object-replacement-method/</link>
		<comments>http://www.nathanderksen.com/blog/2006/04/19/a-potential-solution-to-the-eolas-flash-woes-the-object-replacement-method/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 15:04:07 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/?p=28</guid>
		<description><![CDATA[There are a number of solutions out there for the limitation that Microsoft just put into place to  deal with the Microsoft-Eolas plug-in patent dispute. The ones that I have seen (e.g: Flashobject) are nice but involve changing how you publish your Flash files and embed them into the HTML. I was thinking, it [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of solutions out there for the limitation that Microsoft just put into place to  deal with the Microsoft-Eolas plug-in patent dispute. The ones that I have seen (e.g: Flashobject) are nice but involve changing how you publish your Flash files and embed them into the HTML. I was thinking, it is possible to rewrite the HTML on the fly with JavaScript, so what if we just loop through all the Object tags within the Document Object Model, and replace the HTML? It could be done with one function call, and would not affect how you put the &lt;object&gt; and &lt;embed&gt; tags on the page.</p>
<p>The experiment that I tried does exactly that: it loops through all the &lt;object&gt; tags, and just replaces the HTML with exactly the same HTML. This makes IE think that the HTML is dynamically placed on the page, even though it started as just straight HTML.<br />
<span id="more-28"></span><br />
<br />
The nice thing about this technique is that it could be easily retrofit onto older pages without touching the actual object/embed tags, and if JavaScript is disabled, it reverts to IE&#8217;s default behaviour but still at least shows the Flash content. It also will work with anything else that uses the &lt;object&gt; tag, such as with Java applets.</p>
<p>Unfortunately (well, fortunately, really), I don&#8217;t have the update installed yet and can&#8217;t test it myself. If anyone out there has it installed, could you let me know if you get the &#8220;click to activate content&#8221; flyover when mousing over the Flash movie in the patched version of IE 6? I have included a couple of sample Flash movies below that should trigger the new IE behaviour. The script is being called on this page, so for those with patched versions of IE 6, you should <b>not</b> get the mouse tooltip prompting you to click. If you try disabling JavaScript, you should get back the new IE behaviour.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="100" id="movie1" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/blogMaterials/replaceObjects/movie1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/blogMaterials/replaceObjects/movie1.swf" quality="high" bgcolor="#ffffff" width="200" height="100" name="movie1" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /><br />
</object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="100" id="movie2" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/blogMaterials/replaceObjects/movie2.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/blogMaterials/replaceObjects/movie2.swf" quality="high" bgcolor="#ffffff" width="200" height="100" name="movie2" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /><br />
</object></p>
<p>If you want to try this for yourself, just place the code below in a file called replaceObjects.js .</p>
<div class="code">
<pre>
// ------------------------------------
// Function replaceObjects
// Written by Nathan Derksen (http://www.nathanderksen.com/)
// A technique to get around the IE limitation placed due to the Eolas-Microsoft
// plug-in patent dispute.
//
// Usage:
// &lt;head&gt;...
//     &lt;script type="text/javascript" src="replaceObjects.js"&gt;&lt;/script&gt;
// &lt;/head&gt;
// &lt;body onload="replaceObjects()"&gt;
// ------------------------------------
function replaceObjects()
{
	var objectTagList;
	var newNode;

	if (document.replaceNode)
	{
		// Document.replaceNode does not work in Firefox, just in IE
		objectTagList = document.getElementsByTagName("object");
		for (var i=0; i &lt; objectTagList.length; i++)
		{
			newNode = objectTagList[i].cloneNode(true);
			objectTagList[i].replaceNode(newNode);
		}
	}
}
</pre>
</div>
<p><script type="text/javascript">
function replaceObjects()
{
	var objectTagList;
	var newNode;</p>
<p>	if (document.replaceNode)
	{
		// Document.replaceNode does not work in Firefox, just in IE
		objectTagList = document.getElementsByTagName("object");
		for (var i=0; i < objectTagList.length; i++)
		{
			newNode = objectTagList[i].cloneNode(true);
			objectTagList[i].replaceNode(newNode);
		}
	}
}
replaceObjects();
</script></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/04/19/a-potential-solution-to-the-eolas-flash-woes-the-object-replacement-method/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s official, I&#8217;m an author!</title>
		<link>http://www.nathanderksen.com/blog/2006/04/06/its-official-im-an-author/</link>
		<comments>http://www.nathanderksen.com/blog/2006/04/06/its-official-im-an-author/#comments</comments>
		<pubDate>Thu, 06 Apr 2006 15:21:21 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/?p=27</guid>
		<description><![CDATA[Just a little bit of shameless self-promotion: my book is just about to hit store shelves!

I&#8217;m the dude on the left, and my co-author on the right is Jeff Berg.
Man, that is a long process (probably about 1 year total from contract to publication). Prepurchase now! Buy them as Christmas presents, birthday presents, Bar Mitzvah [...]]]></description>
			<content:encoded><![CDATA[<p>Just a little bit of shameless self-promotion: my book is just about to hit store shelves!</p>
<p><a href="http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0764577689.html"><img src="/images/blog/bookCoverIcon.jpg" alt="book cover" border="0" /></a></p>
<p>I&#8217;m the dude on the left, and my co-author on the right is Jeff Berg.</p>
<p>Man, that is a long process (probably about 1 year total from contract to publication). Prepurchase now! Buy them as Christmas presents, birthday presents, Bar Mitzvah presents, even chew-toys for your dogs! (Discounts for bulk purchases for 5 dogs or more). They also work great as monitor supports (about 3 inches per book). If you reeeeeeeeeeally want, you can even read it yourself and learn how to script with ActionScript 2.0 and Flash 8 (perish the thought)!</p>
<p> Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/04/06/its-official-im-an-author/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A couple of useful Firefox extensions</title>
		<link>http://www.nathanderksen.com/blog/2006/04/04/a-couple-of-useful-firefox-extensions/</link>
		<comments>http://www.nathanderksen.com/blog/2006/04/04/a-couple-of-useful-firefox-extensions/#comments</comments>
		<pubDate>Tue, 04 Apr 2006 19:28:07 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/?p=26</guid>
		<description><![CDATA[I have come across a couple of really useful Firefox extensions aside from the excellent web developer extension which I wanted to share with the community.
The first is called View Rendered Source Chart, which renders the HTML source in a way that is very easy to visually see the nesting.

The second is one called View [...]]]></description>
			<content:encoded><![CDATA[<p>I have come across a couple of really useful Firefox extensions aside from the excellent <a href="https://addons.mozilla.org/extensions/moreinfo.php?id=60">web developer</a> extension which I wanted to share with the community.</p>
<p>The first is called <a href="https://addons.mozilla.org/extensions/moreinfo.php?id=655&#038;application=firefox">View Rendered Source Chart</a>, which renders the HTML source in a way that is very easy to visually see the nesting.</p>
<p><img src="/images/blog/firefoxExt2.gif" width="307" height="472" /></p>
<p>The second is one called <a href="https://addons.mozilla.org/extensions/moreinfo.php?id=697&#038;application=firefox">View Formatted Source</a>, and not only shows your HTML source in a way where you can collapse nested tags, but when set to inline mode, shows you the major divisions within your document, and clicking on &#8220;source&#8221; for that division brings up just the HTML for that division. Finally, mousing over tags in the source view shows you what styles currently apply to that tag, and where in the CSS file the styles are located.</p>
<p><img src="/images/blog/firefoxExt1.gif" width="432" height="428" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/04/04/a-couple-of-useful-firefox-extensions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Divergence of Web Applications From the Browser?</title>
		<link>http://www.nathanderksen.com/blog/2006/04/04/a-divergence-of-web-applications-from-the-browser/</link>
		<comments>http://www.nathanderksen.com/blog/2006/04/04/a-divergence-of-web-applications-from-the-browser/#comments</comments>
		<pubDate>Tue, 04 Apr 2006 15:32:48 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/2006/04/04/a-divergence-of-web-applications-from-the-browser/</guid>
		<description><![CDATA[Disclaimer: this piece (as well as this blog in general) is personal opinion and not endorsed by or representative of my employer.
I just came back from a conference where I was presenting on Web 2.0. A related discussion around Microsoft&#8217;s foray into the Rich Internet Application space ensued, and as part of that discussion, I [...]]]></description>
			<content:encoded><![CDATA[<p>Disclaimer: this piece (as well as this blog in general) is personal opinion and not endorsed by or representative of my employer.</p>
<p>I just came back from a conference where I was presenting on Web 2.0. A related discussion around Microsoft&#8217;s foray into the Rich Internet Application space ensued, and as part of that discussion, I was sent a link to an interesting <a href="http://www.informationweek.com/internet/showArticle.jhtml?articleID=183702803&#038;pgno=1">Information Week article</a> that talks directly to our discussion. The article talks about MS and Eclipse-based development environments for web applications, and one quote in the article demonstrated one of my major concerns perfectly:</p>
<blockquote><p>Microsoft also has written server-side extensions to JavaScript to improve the way Ajax apps work on Windows computers, so software written in Atlas can interact with elements of Windows Vista. Specifically, Web apps built with Atlas will be able to interact with Vista&#8217;s &#8220;gadgets,&#8221; miniprograms such as calendars, instant messaging contacts, photo albums, and media-playing software. &#8220;We&#8217;re looking at other enrichment scenarios where things can pop with Internet Explorer and Windows,&#8221; says Brian Goldfarb, a Microsoft product manager for Web tools.</p></blockquote>
<p>
These are exactly the kind of interactions which make the web an environment which is not cross browser or cross platform. What happens if you aren&#8217;t running Windows? MS would like it to say &#8220;this site requires IE on Windows&#8221;, but I don&#8217;t believe that is acceptable.</p>
<p>To complicate matters, we are to some degree moving away from the web browser as a container for online applications, and moving towards more desktop-centric applications that are built on web technologies, are updated more like a web application, but have access to local computer resources.</p>
<p>A number of significant questions come to mind:</p>
<ul>
<li>What is the best way of creating the desktop-based web app? Is Adobe&#8217;s cross browser, cross platform <a href="http://weblog.infoworld.com/techwatch/archives/005615.html">Apollo project</a> the way to go?</li>
<li>How do we best keep the web as an environment where diversity in platforms can flourish, rather than be locked to a single platform?</li>
<li>We&#8217;ve seen that the web browser is not a good medium for web applications: Forms technology is still antiquated and will take some time before new forms technologies are widely adopted; DHTML controls have to be programmed to accommodate the different run-time environments of each browser; Ajax is really a work-around for functionality which the web was never initially intended for. Is it a good idea to bring web applications out of the browser into an environment to which they are better suited, and leave the web for what it was originally made for: disseminating information?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/04/04/a-divergence-of-web-applications-from-the-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Plotter Exercise with Bitmap Class</title>
		<link>http://www.nathanderksen.com/blog/2006/03/08/plotter-exercise-with-bitmap-class/</link>
		<comments>http://www.nathanderksen.com/blog/2006/03/08/plotter-exercise-with-bitmap-class/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 19:09:05 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/?p=22</guid>
		<description><![CDATA[I was recently at FlashForward, and was inspired by some of Grant Skinner&#8217;s experiments using the Bitmap class. This example takes my previous plotter exercise and uses off-screen rendering instead. I also added the use of Perlin noise to feed the motion randomization routine. The result is definitely faster from the Bitmap use, and more [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently at FlashForward, and was inspired by some of Grant Skinner&#8217;s experiments using the Bitmap class. This example takes my previous plotter exercise and uses off-screen rendering instead. I also added the use of Perlin noise to feed the motion randomization routine. The result is definitely faster from the Bitmap use, and more organic from using the Perlin noise.</p>
<p><span id="more-22"></span><br />
</p>
<div><object CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="550" HEIGHT="400"<br />
CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="/stuff/blendingAndFilters/experiment1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/stuff/offScreenRendering2.swf" quality="high" bgcolor="#ffffff"<br />
WIDTH="550" HEIGHT="400" NAME="experiment1" ALIGN="middle"<br />
PLAY="true" LOOP="false" QUALITY="high" allowScriptAccess="sameDomain"<br />
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></embed></object></div>
<p>
<a href="/stuff/offScreenRenderingTest.zip">The source to this example is available as a zip file</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2006/03/08/plotter-exercise-with-bitmap-class/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Genographic Project Online</title>
		<link>http://www.nathanderksen.com/blog/2005/12/07/genographic-project-online/</link>
		<comments>http://www.nathanderksen.com/blog/2005/12/07/genographic-project-online/#comments</comments>
		<pubDate>Wed, 07 Dec 2005 19:30:29 +0000</pubDate>
		<dc:creator>Nathan Derksen</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.nathanderksen.com/blog/?p=21</guid>
		<description><![CDATA[I did a bunch of work on a nice little Flash piece for an IBM - National Geographic collaboration. It is a really cool project where the goal is to provide research on the geographic origins of the world&#8217;s different ethnic groups. Through this project, you can purchase a participation kit where you can provide [...]]]></description>
			<content:encoded><![CDATA[<p>I did a bunch of work on a nice little Flash piece for an IBM - National Geographic collaboration. It is a really cool project where the goal is to provide research on the geographic origins of the world&#8217;s different ethnic groups. Through this project, you can purchase a participation kit where you can provide a sample of your DNA from a swab of your cheek, and National Geographic will send you back information showing how your genetic ancestors travelled the world to get to where you are today. You can find out more about the project and about IBM&#8217;s role at <a href="http://www.ibm.com/genographic/" target="externalSite">http://www.ibm.com/genographic</a>. Click on the main banner to launch the Flash piece. I did the ActionScript coding for the little pop-up modules, plus oversaw the project&#8217;s architecture.</p>
<p><img src="/images/blog/genographicThumb.jpg" alt="Thumbnail representation  of Genographic Flash piece" /><br />
<span id="more-21"></span><br />
<br />
Here are a couple of screenshots from the project:</p>
<p><img src="/images/blog/genographic2.jpg" alt="Screen capture of Genographic Flash piece" /></p>
<p><img src="/images/blog/genographic3.jpg" alt="Screen capture of Genographic Flash piece" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanderksen.com/blog/2005/12/07/genographic-project-online/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
