<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Kyle Hayes | Proficiency by Derivation</title>
	
	<link>http://www.kylehayes.info</link>
	<description>Rich Internet solutions utilizing Flex, ActionScript, JavaScript, Dojo, Objective-C, and the iPhone</description>
	<lastBuildDate>Wed, 27 May 2009 15:40:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/cfwise" type="application/rss+xml" /><item>
		<title>OOP + CF Debate Response</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/rNp9N83CLjU/</link>
		<comments>http://www.kylehayes.info/2009/05/27/oop-cf-debate-response/#comments</comments>
		<pubDate>Wed, 27 May 2009 15:40:14 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Innovation]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[debate]]></category>
		<category><![CDATA[object-oriented programming]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/?p=462</guid>
		<description><![CDATA[Reading Brian&#8217;s tweet this morning, I decided to read more about this whole OOP Debate. Unfortunately, I didn&#8217;t really have time, nor the interest to read Marc&#8217;s entire post. But I read as far to the point where he comes to the epiphany that CF is not Java and that it can&#8217;t handle the same [...]]]></description>
			<content:encoded><![CDATA[<p>Reading <a href="https://twitter.com/remotesynth/status/1935994201" target="_blank">Brian&#8217;s tweet</a> this morning, I decided to read more about this whole OOP Debate. Unfortunately, I didn&#8217;t really have time, nor the interest to read Marc&#8217;s <a href="http://www.advantexllc.com/blog/post.cfm/how-oo-almost-destroyed-my-business" target="_blank">entire post</a>. But I read as far to the point where he comes to the epiphany that CF is not Java and that it can&#8217;t handle the same patterns the same way that Java can&#8230;um&#8230;duh! I thought this was a known fact about ColdFusion / CFML. Rewind many years to the creation of ColdFusion&#8211;that was the whole point of coming up with ColdFusion was to have a language that did not require the sheer complexity of languages like C and CGIs to connect to databases. I think for the most part, ColdFusion has always aimed to be easy or easier and less code etc. If you want to program more along the lines of what Java supports and the patterns it uses, then use Java. Seriously. ColdFusion is not Java and it shouldn&#8217;t be. It should be what it is and do it well.</p>
<p>With that, here is my comment to <a href="http://www.remotesynthesis.com/post.cfm/this-oop-debate-isn-t-about-oop-at-all" target="_blank">Brian&#8217;s response</a> to this debate:</p>
<blockquote><p>I agree with you, Brian, in that his post may have been partly about the aspect you allude to. However, I also feel there is a real frustration in what he is really expressing with OO and CF. I noticed this same type of demeanor with some folks over the years when I strongly worked with CF. I myself have a Java background and as such tried to make CF follow the patterns and paradigms in the way that Java did. At the same time, I also recognized where CF fell short and thus worked with CF in it&#8217;s capacity as opposed to trying to get it to fit into the same context that Java is in.</p>
<p>With that, I encouraged other folks who worked with me to learn the better structured concepts of OO and MVC patterns and using the right mix of frameworks, such as a MVC, ORM, and IOC framework. The problem is, if you don&#8217;t understand these concepts from a fundamental level from the beginning without ever mixing CF in, they can be very overwhelming and start to crush the positive attitude that a CFML programmer may have.</p>
<p>Much of the time I also felt that parts of the community were pushing the use of so many patterns it was ridiculous and I think this is the storm that perhaps Marc was feeling.</p>
<p>To reiterate, I do feel that what you mentioned could be an underlying tone and perhaps fueling of anger and frustration, but at the same time I know from other CFML developers that I used to work with, his feelings at that show on the surface are valid and understood.</p>
<p>I think that most of the expert CFML developers in the community know and understand the limitations of the technology. Keep in mind, however, limitations is defined by what the requirements of a project are. Projects&#8217; requirements should be written around the technology being used. Perhaps ColdFusion doesn&#8217;t have limitations in the sense of the word when it comes to &#8220;industry standard patterns&#8221;. From it&#8217;s beginning, it has always defined it&#8217;s own set of patterns that work for the CFML workflow. Developer&#8217;s need to understand to not try to redefine something that doens&#8217;t need to be redefined. If they have different needs in a project that are strong enough to fully set the project&#8217;s scope outside the circle of ColdFusion, then they need to choose a different technology.</p>
<p>CF continues to have a strong closely-knit community, something I have always enjoyed about it. Embrace the community, but don&#8217;t forget that at the end of the day, it&#8217;s up to you how you want to program your applications. And yes patterns are good, but don&#8217;t overdo it. Allow yourself to focus on the tasks at hand as well as having good design at the same time. True, not EVERYTHING needs to be &#8220;OO&#8221;.</p>
<p>Finally, change rarely comes at the perfect time. As web developers, the past 5 years or so have been changing very rapidly with new languages, patterns, frameworks, libraries coming out every day it seems. Don&#8217;t focus on being up to date on every single one and figure out how you can use each of them in your next project. Pick and choose what you want to learn and learn it well. In a time such as now, stick with what you know cause you need to hold on for a little bit longer, there are some rough winds up ahead.</p></blockquote>
<p>I&#8217;m serious when I say don&#8217;t redefine something that is not meant to be that in the first place. I always uphold innovation in it&#8217;s highest regards, but there is innovation and then there is redefinition. They are NOT the same thing, so stop!</p>
<p> <img src='http://www.kylehayes.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/YWr8UPzj96FyV_EEL9KpXVBXXqg/0/da"><img src="http://feedads.g.doubleclick.net/~a/YWr8UPzj96FyV_EEL9KpXVBXXqg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YWr8UPzj96FyV_EEL9KpXVBXXqg/1/da"><img src="http://feedads.g.doubleclick.net/~a/YWr8UPzj96FyV_EEL9KpXVBXXqg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/rNp9N83CLjU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/05/27/oop-cf-debate-response/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/05/27/oop-cf-debate-response/</feedburner:origLink></item>
		<item>
		<title>Dojo, Fun &amp; Easy: Intro</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/PLVUL9FL_qc/</link>
		<comments>http://www.kylehayes.info/2009/04/22/dojo-fun-easy-intro/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 04:43:25 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[toolkit]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/?p=431</guid>
		<description><![CDATA[Dojo is incredibly fun to use and I finally enjoy programming JavaScript, again! I&#8217;m starting this series of posts to communicate the message that anyone not programming in Dojo, is missing out on an extremely, powerful, and lightning fast toolkit. In addition, while many libraries provide only the DOM manipulation, animation, and CSS selector tools, [...]]]></description>
			<content:encoded><![CDATA[<p><a title="The Dojo Toolkit website" href="http://www.dojotoolkit.org" target="_blank">Dojo</a> is incredibly fun to use and I finally enjoy programming JavaScript, again! I&#8217;m starting this series of posts to communicate the message that anyone not programming in Dojo, is missing out on an extremely, powerful, and <a title="TaskSpeed JavaScript library speed test results" href="http://dante.dojotoolkit.org/taskspeed/report/charts.html" target="_blank">lightning fast</a> toolkit. In addition, while many libraries provide only the DOM manipulation, animation, and CSS selector tools, etc. &#8211;  Dojo not only provides all of that, but so much more with it&#8217;s companion libraries, <a title="Dijit homepage" href="http://dojotoolkit.org/projects/dijit" target="_blank">Dijit</a> and <a title="DojoX homepage" href="http://dojotoolkit.org/projects/dojox" target="_blank">DojoX</a>. <em style="font-size: 31px; width: 160px; float: left; line-height: 31px; padding-left: 10px;">&#8220;a fresh new start&#8221;</em><a title="Dijit homepage" href="http://dojotoolkit.org/projects/dijit" target="_blank">Dijit</a>, which encompasses a complete library of themed, skinnable UI widgets that have full support for accessibility and localization baked right in, but also provides a full framework to build your own custom widgets in the same manner. <a title="DojoX homepage" href="http://dojotoolkit.org/projects/dojox" target="_blank">DojoX</a> is a library of &#8220;inventive &amp; innovative code and widgets&#8221;. Build complex charting applications and vector drawings alongside with making your HTML applications available to users offline. DojoX is the future of JavaScript available to you today.</p>
<p>I want this series to be eye-opening for all the JavaScript developers who think Dojo died a few years back with it&#8217;s pre 0.9 days. The 0.9 release of Dojo brought fourth a fresh new start that provided huge increases in speed and stability. Since then, Dojo has blossomed into a full-fledged enterprise ready toolkit that is backed by an awesome community. If the last time you looked at Dojo was back in the pre 0.9 days (early 2007 and before), stop and <a title="Dojo demos" href="http://demos.dojotoolkit.org/demos/" target="_blank">check it out</a>. Follow this series of posts to see for yourself the power that you can harness in your websites and applications.<em style="font-size: 31px; width: 240px; float: right; line-height: 31px; padding-left: 10px;">&#8220;these top quality developers know the ins and outs of JavaScript&#8221;</em></p>
<p>Dojo&#8217;s community is a special one. Drop by the #dojo IRC channel at irc.freenode.net to be greeted by a group of people who are there to welcome you and answer any questions you have. The best part is, they really know what they are talking about. These top quality developers know the ins and outs of JavaScript incredibly well and prove it when approached with questions. They are quick to provide examples, offer advice, and never talk down to anybody that drops by, seeking help. The developers of the toolkit are often on the channel to provide direct support but everyone else is also excellent and will help you out anyway they can.</p>
<p>In the coming weeks as this series progresses, you&#8217;ll see so many more aspects that make Dojo an excellent choice when considering your JavaScript library / toolkit of choice. This is only the beginning.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/FxMHdVpJj_YGp4SaM6apFY2-MY8/0/da"><img src="http://feedads.g.doubleclick.net/~a/FxMHdVpJj_YGp4SaM6apFY2-MY8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/FxMHdVpJj_YGp4SaM6apFY2-MY8/1/da"><img src="http://feedads.g.doubleclick.net/~a/FxMHdVpJj_YGp4SaM6apFY2-MY8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/PLVUL9FL_qc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/04/22/dojo-fun-easy-intro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/04/22/dojo-fun-easy-intro/</feedburner:origLink></item>
		<item>
		<title>5 Easy Tutorials for Advanced JavaScript using Dojo</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/6vJe8bCxpnw/</link>
		<comments>http://www.kylehayes.info/2009/04/08/5-easy-tutorials-for-advanced-javascript-using-dojo/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 02:49:30 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/?p=414</guid>
		<description><![CDATA[I&#8217;ve been using Dojo a lot lately and have really gotten knee deep in development with it. Best of all, it is so easy to do so. The number one thing I&#8217;ve noticed is that the community is great&#8211;very approachable and they really know what they are talking about. These are true programmers who love [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Dojo a lot lately and have really gotten knee deep in development with it. Best of all, it is so easy to do so. The number one thing I&#8217;ve noticed is that the community is great&#8211;very approachable and they really know what they are talking about. These are true programmers who love what they do, and it shows in this toolkit.</p>
<p>The <a title="Dojo Campus" href="http://www.dojocampus.org/" target="_blank">Dojo Campus</a> provides a wealth of documentation, <a title="Dojo tutorials" href="http://dojocampus.org/content/category/tutorials/" target="_blank">tutorials</a> for all levels, <a title="Dojo Cookies" href="http://dojocampus.org/content/category/dojo-cookies/" target="_blank">Dojo Cookies (kind of like recipes)</a>, and <a title="Cool features of Dojo" href="http://dojocampus.org/explorer/" target="_blank">demos of cool features.</a></p>
<p>Below are just a handful of tutorials that are available to beginners in Dojo that really help you get started.</p>
<ol>
<li><strong><a title="Dojo and Air, a fancy file uploader" href="http://dojocampus.org/content/2008/04/02/dojo-on-air-a-fancy-file-uploader/" target="_blank">Dojo and Air, a fancy file uploader</a></strong><br />
<span style="font-weight: normal;">How many times have you had trouble uploading files to your favorite CMS? How many times did a client say “I am not happy with uploading one file at a time”? And last but not least, how many times did you implement a third party plugin/software/piece of magic to implement efficient file uploading?<br />
<a title="Dojo and Air, a fancy file uploader" href="http://dojocampus.org/content/2008/04/02/dojo-on-air-a-fancy-file-uploader/" target="_blank">View tutorial &gt;&gt;</a><br />
</span></li>
<li><strong><span style="font-weight: normal;"><a title="Fancy rounded corners" href="http://dojocampus.org/content/2008/03/21/no-end-to-rounded-corners/" target="_blank">Fancy Rounded Corners</a></span></strong><span style="font-weight: normal;"><br />
Make great looking rounded corners on your elements using only a single image.<br />
<a title="Fancy rounded corners" href="http://dojocampus.org/content/2008/03/21/no-end-to-rounded-corners/" target="_blank">View tutorial &gt;&gt;</a><br />
</span></li>
<li><span style="font-weight: normal;"><a title="Easily listen for events" href="http://dojocampus.org/content/2008/02/29/preface-to-dnd-topics/" target="_blank"><strong>Easily listen for events</strong></a><br />
</span>Custom events and Dom Events are all well and good for method-to-method functionality. It is a really common use case to connect some event happening to call another function, but when you get into really ambiguous, large applications, you need some mechanism to just say “hey, something has happened, act accordingly” … dojo.publish and dojo.subscribe provide just that mechanism.<br />
<a title="Easily listen for events" href="http://dojocampus.org/content/2008/02/29/preface-to-dnd-topics/">View tutorial &gt;&gt;</a></li>
<li><strong><a title="Rounded tabs with themes" href="http://dojocampus.org/content/2008/02/22/make-your-own-rounded-tabs-with-dijit-theming/" target="_blank">Rounded tabs with themes</a></strong><br />
Everybody likes rounded buttons, rounded page elements and last but not least, rounded tabs. Fortunately dijit comes with great theming possibilities, so I will show you how you can make your own fancy rounded tabs using a simple image sprite and a couple of CSS classes.<br />
<a title="Rounded tabs with themes" href="http://dojocampus.org/content/2008/02/22/make-your-own-rounded-tabs-with-dijit-theming/" target="_blank">View tutorial &gt;&gt;</a></li>
<li><strong><a title="Separating Content from Presentation" href="http://dojocampus.org/content/2008/06/18/separating-content-from-presentation-ajax/" target="_self">Separating Content from Presentation</a></strong><br />
One of the cool things about Dojo is the dojo.xhrGet() function. It’s powerful because it makes transparent the browser dependent transports that make AJAX possible. In this cookie, we’re going to explore a simple use case in Dojo to separate content from the presentation of a page.<br />
<a title="Separating Content from Presentation" href="http://dojocampus.org/content/2008/06/18/separating-content-from-presentation-ajax/">View tutorial &gt;&gt;</a><br />
<span style="font-weight: normal;"><br />
</span></li>
</ol>

<p><a href="http://feedads.g.doubleclick.net/~a/XGCmDl4jybLRbzvpGmGX9NGXiLc/0/da"><img src="http://feedads.g.doubleclick.net/~a/XGCmDl4jybLRbzvpGmGX9NGXiLc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XGCmDl4jybLRbzvpGmGX9NGXiLc/1/da"><img src="http://feedads.g.doubleclick.net/~a/XGCmDl4jybLRbzvpGmGX9NGXiLc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/6vJe8bCxpnw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/04/08/5-easy-tutorials-for-advanced-javascript-using-dojo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/04/08/5-easy-tutorials-for-advanced-javascript-using-dojo/</feedburner:origLink></item>
		<item>
		<title>Dojo 1.3 Base API Cheat Sheet</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/WwBot58X4Xk/</link>
		<comments>http://www.kylehayes.info/2009/04/01/dojo-13-base-api-cheat-sheet/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 19:04:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Dojo]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2009/04/01/Dojo-13-Base-API-Cheat-Sheet</guid>
		<description><![CDATA[For those of you who have been asking (and I suppose those of you who haven&#8217;t) a cheat sheet is finally available, designed by yours truly but with full API generation by phiggins over at #dojo and much input from the other folks on that channel! And as a special bonus, it&#8217;s fully compatible with [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you who have been asking (and I suppose those of you who haven&#8217;t) a cheat sheet is finally available, designed by yours truly but with full API generation by phiggins over at #dojo and much input from the other folks on that channel! And as a special bonus, it&#8217;s fully compatible with Dojo 1.3 (<a href="http://www.dojotoolkit.org/2009/03/31/dojo-1-3-now-available">just released</a>)!</p>
<p><a href="http://download.dojotoolkit.org/release-1.3.0/cheat.pdf">Download your copy today</a> and distribute it to all your friends!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/xb5kI2y5gnSypbtq9KbNoI2YLNA/0/da"><img src="http://feedads.g.doubleclick.net/~a/xb5kI2y5gnSypbtq9KbNoI2YLNA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xb5kI2y5gnSypbtq9KbNoI2YLNA/1/da"><img src="http://feedads.g.doubleclick.net/~a/xb5kI2y5gnSypbtq9KbNoI2YLNA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/WwBot58X4Xk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/04/01/dojo-13-base-api-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/04/01/dojo-13-base-api-cheat-sheet/</feedburner:origLink></item>
		<item>
		<title>Survey Results: JavaScript Frameworks</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/EQmqU9tNOTQ/</link>
		<comments>http://www.kylehayes.info/2009/03/29/survey-results-javascript-frameworks/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 07:03:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[dwr]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[qooxdoo]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[zk]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2009/03/29/Survey-Results-JavaScript-Frameworks</guid>
		<description><![CDATA[



Introduction
Initially when I started this survey, I had a half and half desire to test out Google&#8217;s Spreadsheet Form capabilities but to also get an inkling of what other developer&#8217;s thought about the JavaScript framework / toolkit they use. When I launched the survey and blogged, tweeted and emailed it to some folks, my best [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-1110683322124842";
/* JS Survey Top */
google_ad_slot = "9141029857";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Introduction</h3>
<p>Initially when I started this survey, I had a half and half desire to test out Google&#8217;s Spreadsheet Form capabilities but to also get an inkling of what other developer&#8217;s thought about the JavaScript framework / toolkit they use. When I launched the survey and blogged, tweeted and emailed it to some folks, my best hope was to get about 100 submissions. I was delightfully surprised that when I closed it two weeks later, I had just a little over 600 submissions!</p>
<p>Read on&#8230;</p>
<p>This was a great learning experience for me in so many ways. First off, I never planned on this being a professional survey that would give me extremely valuable data. I knew that because of the methods I was using to gain submissions were going to be skewed based on the communities I sent it to. In addition, I provided no incentive for people to take the survey. I had to lure them in on the notion that it would be anonymous, very short, and I would be sharing the results later on.</p>
<p>As I watched the results come in the first week and I started to read some of the comments and suggestions, folks suggested a couple of ideas for the survey. With that, I added those changes immediately. Obviously, that is going to change my results slightly and I also won&#8217;t get quite as valuable of data had a left it alone from the beginning. But the suggestions were good enough that I implemented them. Also, any changes to the survey were made before it had reached a 200 response level. The majority of the respondents were submitting the final draft of the survey.</p>
<p>Another key point that I learned through this process was that I may not have been comparing apples to apples. A few respondents wrote in their notes that the &#8220;frameworks&#8221; I had put in the list were not all the same type of JavaScript frameworks. One respondent replied with the following:</p>
<blockquote><p>IMHO it doesn&#8217;t make much sense to compare JavaScript libraries with such a different focus and feature set:</p>
<p>1. &#8220;JavaScript Libraries&#8221;<br />
<a href="http://www.prototypejs.org/">Prototype</a>, <a href="http://www.jquery.com">jQuery</a> and <a href="http://mootools.net/">MooTools</a> are merely cross-browser abstraction layers for DOM-oriented low-level tasks, e.g. for enhancing a traditional website.</p>
<p>2. &#8220;RIA Frameworks&#8221;<br />
<a href="http://developer.yahoo.com/yui/">YUI</a>, <a href="http://www.dojotoolkit.org">Dojo</a> and <a href="http://qooxdoo.org/">qooxdoo</a> are much more comprehensive, include widgets, a GUI toolkit and come with development tools like code compressors.</p></blockquote>
<p>Once I read this, I realized this individual was completely correct. <a href="http://developer.yahoo.com/yui/">YUI</a>, <a href="http://www.dojotoolkit.org">Dojo</a>, and <a href="http://qooxdoo.org/">qooxdoo</a> are quite a bit more expansive in their size, functionality, and overall support for building a &#8220;framework&#8221; for JavaScript. Right now is a good point to mention my underlying reason for conducting this survey. At work, I&#8217;ve been tasked to restructure the JavaScript architecture for the family of websites we operate. These are fairly large sites and are becoming very frontend heavy as we move to a static model employing RESTful requests to pull in dynamic data; our dependance on JavaScript will be increasing quite a bit over the coming months.</p>
<p>The main requirements I was looking for to implement in the new architecture was a faster executing JavaScript library (we currently use YUI), integrated test-driven development, JavaScript templating, lazy-loading of JavaScript source files, and the library needs to be namespaced to reduce conflict in our existing code.</p>
<h3>Analysis</h3>
<p>The first question that I get asked about the survey is which library was most popular. The answer there is <a href="http://www.jquery.com">jQuery</a>. <a href="http://www.jquery.com">jQuery</a> has been gaining quite a bit of steam lately and has generated a lot of buzz as well. However, just because it appears to be the most popular doesn&#8217;t mean it is the best and I don&#8217;t want folks to read the below results in that manner. Each individual developer needs to research and understand the different components of every library and framework they are interested in, to understand which components are going to be most useful in their projects. In fact, some projects may be require one library, and other projects may be best suited for a different library.</p>
<p>Many folks that read my blog are from the ColdFusion community and I felt that most of the respondents would be swayed towards <a href="http://www.jquery.com">jQuery</a>. With that, I submitted the survey to a Django forum, a Ruby on Rails forum, a very large PHP forum, and TheServerSide.com (namely a large following of Java folks). I wanted to get as wide of an audience as possible.</p>
<p>Keep in mind when you read the responses below that the questions were all aimed at the developer&#8217;s feeling of the framework they used. While most responses are going to be biased, some developer&#8217;s were on the framework because they had adopted it early on and couldn&#8217;t switch or were forced to use it because of the project that they came on to.</p>
<h4>Library Preference</h4>
<p>The chart below illustrates the &#8220;Which JavaScript framework do you use the most in your projects?&#8221; question:</p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/libraryPreference.jpg" alt="Which JavaScript framework do you use the most in your projects?" /></p>
<p>As I mentioned earlier, <a href="http://www.jquery.com">jQuery</a> clearly dominated this question. My opinion on why is that <a href="http://www.jquery.com">jQuery</a> is insanely easy to implement into your projects, it&#8217;s fast, it&#8217;s easy to pick up, and it is seems to be a buzzword among blogs. For a lot of developers, it is the clear choice as it does everything they need it to do.</p>
<h4>Quality of Documentation</h4>
<p>I felt that this question provided the most accurate results as documentation is something that developers have to be in tune with on a daily basis when working with a particular library. If the documentation consistently performs poorly then a developer is likely to stick with that toolkit.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-1110683322124842";
/* JS Survey Middle */
google_ad_slot = "7502379501";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
The chart below illustrates the following question, &#8220;In regards to the framework you chose above, rate the quality of the documentation provided by the creators.&#8221;:</p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/qualityOfDocs.jpg" alt="In regards to the framework you chose above, rate the quality of the documentation provided by the creators" /></p>
<p>As someone who has worked with YUI in the past year, I would also agree that it has excellent documentation compared to other libraries I have worked with in the past.</p>
<h4>Quality of Community Support</h4>
<p>This was an interesting question. I am basically asking the developer to rate how they feel about the overall quality of the community support for the library. This can be just about anything such as a forum, newsgroup, IRC channel, blog, etc. While <a href="http://qooxdoo.org/">qooxdoo</a> did rank the highest, it also has a very small following, hence the data is not as sparse as it would be for one of the large libraries such as <a href="http://www.jquery.com">jQuery</a> and Prototype. However, it is still good to note that those who do use <a href="http://qooxdoo.org/">qooxdoo</a> seem to be a passionate group.</p>
<p>The chart below illustrates the following question, &#8220;Rate the quality of support provided by the community.&#8221;:</p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/qualityOfComm.jpg" alt="Rate the quality of support provided by the community" /></p>
<h4>Light-Duty / Heavy-Duty Performance</h4>
<p>If I were to do conduct this survey again, I would leave these two questions out. Looking back, I realized that the information provided was pretty much useless for a few reasons. First of all, the question asks to the user to report how they <em>feel</em> the libraries perform under certain conditions, but I gave no specific cases in which for them to test these observations. Second of all, there is already much more valuable statistics available from <a href="http://selectors.turnwheel.com/slickspeed.php">SlickSpeed</a>.</p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/lightDuty.jpg" alt="" /></p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/heavyDuty.jpg" alt="" /></p>
<h4>Ease of Implementation</h4>
<p>In questioning about the ease of implementation, I was asking the developer to describe how easy they felt it was to not only install the framework into their page (whether the code was hosted on Google/Yahoo/AOL or whether they had to download it) but also to integrate the library functions into existing code/functions.</p>
<p>Again, it does not surprise me that <a href="http://www.jquery.com">jQuery</a> sits on top for this one but I think it is due to it&#8217;s overwhelming popularity and the buzzword case I mentioned earlier. The problem with this question is that I am not asking the developer to compare the ease of implementation to their chosen library versus another one. The data has no relativity and is also pretty much useless. That data represented could contain many developer&#8217;s who have only ever tried <a href="http://www.jquery.com">jQuery</a> and the installation + integration was easy! But perhaps if they had tried something like Dojo or YUI, they may have found those even easier and rated <a href="http://www.jquery.com">jQuery</a> lower. It&#8217;s hard to determine from the data provided what exactly the developer is communicating for their chosen rating.</p>
<p><img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/easeOfImp.jpg" alt="" /></p>
<h4>Perceived Popularity</h4>
<p>This may sound like a funny question and that&#8217;s true, it is kind of a funny question. My motive for this question was to extract if the developer was using a framework like YUI, if they personally knew that it was not a very popular framework? And if so, it&#8217;s clear that they are going against the flow in using it. Most likely in this case, the developer&#8217;s using the &#8220;less popular&#8221; libraries are likely using them because they prefer the organizations that back them up, prefer the functionality, or are forced to use them. Nonetheless, I was very surprised to find the ZK framework come in 2nd for this. However, this goes back to the fact that a very small sample of the ZK community was captured in this survey.</p>
<p>The chart below illustrates the following question, &#8220;Rate how popular you feel your chosen framework is above similar JavaScript frameworks&#8221;:<br />
<img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/perceivedPopularity.jpg" alt="Rate how popular you feel your chosen framework is above similar JavaScript frameworks" /></p>
<h4>3rd Party Plugin Quality</h4>
<p>Plugins may or may not be important to developers. In my opinion, they should be very important. As a busy developer, you should always be on the lookout for the opportunity to use pre-written code to speed up your development. Granted, you should always inspect the code if you can and test it to make sure it will not only suit your needs, but it is implemented the way you would do it and that it is well-designed. The latter is what I was trying to get at. I wanted to know how developer&#8217;s felt about any of the plugins that were not included along with the library itself.</p>
<p>While a lot folks like the <a href="http://www.jquery.com">jQuery</a> library, I&#8217;ve also heard many say what they don&#8217;t like about it is how quickly their page can grow in size by pulling in more plugins. This definitely makes sense as when the user loads a page, their browser has to download all those external JavaScript files slowing down the page quite a bit. It would be different if the library contained a dynamic loading method that allowed the plugins only to be actually downloaded when they were being used such as the <a href="http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/modules-and-namespaces/what-does-dojo-require-">dojo.require()</a> method provided by the Dojo Toolkit.</p>
<p>The chart below illustrates the following question, &#8220;If your framework supports 3rd party plugins, rate the average quality of those plugins in terms of documentation, stability, quality, and implementation&#8221;:<br />
<img src="http://dl-client.getdropbox.com/u/102671/kylehayes.info/jsfw_results/plugins.jpg" alt="If your framework supports 3rd party plugins, rate the average quality of those plugins in terms of documentation, stability, quality, and implementation" /></p>
<h3>Conclusion</h3>
<p>I felt that this was a great learning experience for me in a few ways. One, I learned that developing a survey needs to take some more time to come up with questions that are going to more accurately provide the type of data you are looking for. Two, broad results are difficult to achieve on your own. Three, <a href="http://docs.google.com">Google Docs</a> is pretty darn good at creating an easy solution for forms and data entry/input! Four, comments and suggestions entry boxes on surveys are one of the most useful questions. So often I don&#8217;t fill these out because I am too lazy, but I received the most valuable input in that question.</p>
<p>When choosing a JavaScript library / toolkit / framework, do not choose the one that is most popular for the sake of it. Really dig deep and spend some time on it to find out the strengths and weakness of each one to ensure you choose the right tool for the right job.</p>
<p>I hope the information above was useful if not just generally interesting. As promised, <a href="http://spreadsheets.google.com/pub?key=pMgX8gG1puHLFTZ5_Ss_7PA">here is the raw results</a> from Google Spreadsheets.</p>
<p>In addition, please leave comments on what you thought about this experiment. Would you like to see another one focusing on different aspects and getting more comparisons in?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/rRpUwH66drRY0UdK5zV5AmXIHZE/0/da"><img src="http://feedads.g.doubleclick.net/~a/rRpUwH66drRY0UdK5zV5AmXIHZE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rRpUwH66drRY0UdK5zV5AmXIHZE/1/da"><img src="http://feedads.g.doubleclick.net/~a/rRpUwH66drRY0UdK5zV5AmXIHZE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/EQmqU9tNOTQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/03/29/survey-results-javascript-frameworks/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/03/29/survey-results-javascript-frameworks/</feedburner:origLink></item>
		<item>
		<title>JavaScript Frameworks Survey Closed</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/arsMRbvWY8U/</link>
		<comments>http://www.kylehayes.info/2009/03/17/JavaScript-Frameworks-Survey-Closed/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 08:03:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2009/03/17/JavaScript-Frameworks-Survey-Closed</guid>
		<description><![CDATA[Thank you all who participated in my Developer&#8217;s Insight: JavaScript Frameworks survey. Topping out at 604 total responses in less than 2 weeks made this a huge success. It even made it to the frontpage of TheServerSide.com! The downside of this many responses is the analysis on all the data.
Rest assured, I will begin looking [...]]]></description>
			<content:encoded><![CDATA[<p>Thank you all who participated in my <a href="http://www.kylehayes.info/blog/index.cfm/2009/3/4/Short-JavaScript-Frameworks-Survey">Developer&#8217;s Insight: JavaScript Frameworks</a> survey. Topping out at 604 total responses in less than 2 weeks made this a huge success. It even made it to the frontpage of <a href="http://www.theserverside.com">TheServerSide.com</a>! The downside of this many responses is the analysis on all the data.</p>
<p>Rest assured, I will begin looking at the data this week. I hope to have a summary post in the next two weeks along with a link to the raw data.</p>
<p>Hang tight and thanks for your patience!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/mq916cQwOoQFt6jGD_WufpyYjAs/0/da"><img src="http://feedads.g.doubleclick.net/~a/mq916cQwOoQFt6jGD_WufpyYjAs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mq916cQwOoQFt6jGD_WufpyYjAs/1/da"><img src="http://feedads.g.doubleclick.net/~a/mq916cQwOoQFt6jGD_WufpyYjAs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/arsMRbvWY8U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/03/17/JavaScript-Frameworks-Survey-Closed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/03/17/JavaScript-Frameworks-Survey-Closed/</feedburner:origLink></item>
		<item>
		<title>Short JavaScript Frameworks Survey</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/6E_SK1jgSwE/</link>
		<comments>http://www.kylehayes.info/2009/03/04/short-javascript-frameworks-survey/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 08:03:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[qooxdoo]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[zk]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2009/03/04/Short-JavaScript-Frameworks-Survey</guid>
		<description><![CDATA[In an effort to better understand how developer&#8217;s feel about a particular JavaScript framework they use on a daily basis or in their projects, I have created a short survey.
I would be very grateful for you to take this survey and to pass it on to others if you would be so kind.
I understand that [...]]]></description>
			<content:encoded><![CDATA[<p>In an effort to better understand how developer&#8217;s feel about a particular JavaScript framework they use on a daily basis or in their projects, I have created a <a href="http://spreadsheets.google.com/viewform?formkey=cE1nWDhnRzFwdUhMRlRaNV9Tc183UEE6MA..">short survey</a>.</p>
<p>I would be very grateful for you to <a href="http://spreadsheets.google.com/viewform?formkey=cE1nWDhnRzFwdUhMRlRaNV9Tc183UEE6MA..">take this survey</a> and to pass it on to others if you would be so kind.</p>
<p>I understand that the data that I receive from this will most likely be skewed and extremely inaccurate on a broader level, nevertheless I am quite curious about the topic. In addition, I will most likely be spreading the word on the results of this survey. In addition, I&#8217;m also aware of the <a href="http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised">existing posts</a> available in regards to the measured speed of these frameworks.</p>
<p>Thanks!</p>
<p><a href="http://spreadsheets.google.com/viewform?formkey=cE1nWDhnRzFwdUhMRlRaNV9Tc183UEE6MA..">Please take this short survey on JavaScript Frameworks</a></p>
<p>Alternatively you can fill out the form here:<br />
<iframe src="http://spreadsheets.google.com/embeddedform?key=pMgX8gG1puHLFTZ5_Ss_7PA" width="450" height="600" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>

<p><a href="http://feedads.g.doubleclick.net/~a/2H4uglQ0U1pOcNcaBcyY7lM2cHM/0/da"><img src="http://feedads.g.doubleclick.net/~a/2H4uglQ0U1pOcNcaBcyY7lM2cHM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2H4uglQ0U1pOcNcaBcyY7lM2cHM/1/da"><img src="http://feedads.g.doubleclick.net/~a/2H4uglQ0U1pOcNcaBcyY7lM2cHM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/6E_SK1jgSwE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2009/03/04/short-javascript-frameworks-survey/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2009/03/04/short-javascript-frameworks-survey/</feedburner:origLink></item>
		<item>
		<title>Amazon.com Announces Early Black Friday Deals</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/1SlJ3KsPdd8/</link>
		<comments>http://www.kylehayes.info/2008/11/25/amazoncom-announces-early-black-friday-deals/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 07:11:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Amazon.com]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2008/11/25/Amazoncom-Announces-Early-Black-Friday-Deals</guid>
		<description />
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/b/?node=384082011&#038;tag=cf0d-20"><img src="http://g-ecx.images-amazon.com/images/G/01/associates/2008/banners/black-friday_300._V240384502_.gif" align="left" style="padding-right: 10px; padding-bottom: 10px; border="0" /></a>Black Friday may not be here just yet, but that doesn&#8217;t mean you cannot get in on the action now (yes even before preparing that huge Thanksgiving meal). Why not get a good start on the <a href="http://www.amazon.com/b/?node=384082011&#038;tag=cf0d-20">incredible deals</a> that Amazon.com is offering from now until December 4th!</p>
<p>Plus, get in on the hourly <a href="http://www.amazon.com/b/?node=384082011&#038;tag=cf0d-20">Gold Box deals</a> (also shown below) from midnight to 11pm on Black Friday.</p>
<p>Finally, <a href="http://promotions.amazon.com/gp/cv?tag=cf0d-20">vote on the six products</a> with crazy deals you want to see on Black Friday by participating in the <a href="http://promotions.amazon.com/gp/cv?tag=cf0d-20">Amazon Customers Vote</a> end-of-year promotion.</p>
<p>Bookmark this post so you can keep an eye on these Gold Box deals and lightning deals as they happen:<br/><br/><br />
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_d8e6d348-5d20-4ee2-b0e7-f87932449fb1"  WIDTH="336px" HEIGHT="280px"> <PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fcf0d-20%2F8009%2Fd8e6d348-5d20-4ee2-b0e7-f87932449fb1&#038;Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fcf0d-20%2F8009%2Fd8e6d348-5d20-4ee2-b0e7-f87932449fb1&#038;Operation=GetDisplayTemplate" id="Player_d8e6d348-5d20-4ee2-b0e7-f87932449fb1" quality="high" bgcolor="#ffffff" name="Player_d8e6d348-5d20-4ee2-b0e7-f87932449fb1" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="280px" width="336px"></embed></OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fcf0d-20%2F8009%2Fd8e6d348-5d20-4ee2-b0e7-f87932449fb1&#038;Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT></p>

<p><a href="http://feedads.g.doubleclick.net/~a/Zto5P05raS1exdDFbSJ1fV-rZpQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/Zto5P05raS1exdDFbSJ1fV-rZpQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Zto5P05raS1exdDFbSJ1fV-rZpQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/Zto5P05raS1exdDFbSJ1fV-rZpQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/1SlJ3KsPdd8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2008/11/25/amazoncom-announces-early-black-friday-deals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2008/11/25/amazoncom-announces-early-black-friday-deals/</feedburner:origLink></item>
		<item>
		<title>Be Careful Buying Gift Cards this Season</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/fA3JYCXaKfA/</link>
		<comments>http://www.kylehayes.info/2008/11/25/be-careful-buying-gift-cards-this-season/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 07:11:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2008/11/25/Be-Careful-Buying-Gift-Cards-this-Season</guid>
		<description><![CDATA[Here&#8217;s a heads up if you plan on giving gift cards around the holidays. You need to be careful that the cards will be
honored after the holidays.
Stores that are planning to close after Christmas are still selling the cards through the holidays even though the cards will be worthless January 1.
There is no law preventing [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a heads up if you plan on giving gift cards around the holidays. You need to be careful that the cards will be<br />
honored after the holidays.</p>
<p>Stores that are planning to close after Christmas are still selling the cards through the holidays even though the cards will be worthless January 1.<br />
There is no law preventing them from doing this. On the contrary, it is referred to as &#8216;Bankruptcy Planning.&#8217; Below is a partial list of stores that you need to be cautious about.</p>
<p>It seems <a href="http://www.amazon.com/dp/B00067L6TQ?&#038;tag=hayesholiday2008-20&#038;camp=212333&#038;creative=380473&#038;linkCode=ur1&#038;adid=1C7J9JEA4F9EE8TA6T4V&#038;">Amazon.com gift cards</a> are probably the safest bet.<br/><br />
<iframe src="http://rcm.amazon.com/e/cm?t=hayesholiday2008-20&#038;o=1&#038;p=13&#038;l=ur1&#038;category=gift_certificates&#038;banner=180TQ0K9X17QCCZQS4R2&#038;f=ifr" width="468" height="60" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"></iframe></p>
<ul>
<li>Circuit City (filed Chapter 11)</li>
<li>Ann Taylor 117 stores nationwide closing</li>
<li>Lane Bryant, Fashion Bug and Catherine&#8217;s to close 150 stores nationwide</li>
<li>Eddie Bauer to close stores 27 stores and more after January</li>
<li>Cache will close all stores</li>
<li>Talbots closing down specialty stores</li>
<li>J. Jill closing all stores (owned by Talbots)</li
<li>Pacific Sunwear (also owned by Talbots)</li>
<li>GAP closing 85 stores</li>
<li>Footlocker closing 140 stores more to close after January</li>
<li>Wickes Furniture closing down</li>
<li>Levitz closing down remaining stores</li>
<li>Bombay closing remaining stores</li>
<li>Acorn closing down remaining 36 stores (owned by Christopher &#038; Banks / C.J. Banks)</li>
<li>Zales closing down 82 stores and 105 after January</li>
<li>Whitehall closing all stores</li>
<li>Piercing Pagoda closing all stores</li>
<li>Disney closing 98 stores and will close more after January</li>
<li>Home Depot closing 15 stores</li>
<li>Macys to close 9 stores after January</li>
<li>Linens and Things closing all stores</li>
<li>Movie Galley Closing all stores</li>
<li>Pep Boys Closing 33 stores</li>
<li>Sprint/Nextel closing 133 stores</li>
<li>JC Penney closing a number of stores after January</li>
<li>Ethan Allen closing down 12 stores</li>
<li>Wilson Leather closing down all stores</li>
<li>Sharper Image closing down all stores</li>
<li>K B Toys closing 356 stores</li>
<li>Lowe&#8217;s to close down some stores</li>
<li>Dillard&#8217;s to close some stores</li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/7owtGM1I1dNDvQ6SD1fX9YRefJY/0/da"><img src="http://feedads.g.doubleclick.net/~a/7owtGM1I1dNDvQ6SD1fX9YRefJY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7owtGM1I1dNDvQ6SD1fX9YRefJY/1/da"><img src="http://feedads.g.doubleclick.net/~a/7owtGM1I1dNDvQ6SD1fX9YRefJY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/fA3JYCXaKfA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2008/11/25/be-careful-buying-gift-cards-this-season/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2008/11/25/be-careful-buying-gift-cards-this-season/</feedburner:origLink></item>
		<item>
		<title>Spry: Empty option in dataset-controlled select</title>
		<link>http://feedproxy.google.com/~r/cfwise/~3/mnxRN9auXs4/</link>
		<comments>http://www.kylehayes.info/2008/11/13/spry-empty-option-in-datasetcontrolled-select/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 21:11:00 +0000</pubDate>
		<dc:creator>Kyle Hayes</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Adobe Spry]]></category>

		<guid isPermaLink="false">http://www.kylehayes.info/blog/index.cfm/2008/11/13/Spry-Empty-option-in-datasetcontrolled-select</guid>
		<description><![CDATA[With Adobe Spry, you can dynamically populate a select box (aka. dropdown) with a dataset very easily:


var ds = new Spry.Data.JSONDataSet("/some/jsonobject.js");



		{ds::name}
	


If you are familiar with Spry, than the above makes complete sense. I came across a problem this evening, however, when using very similar code as a filter mechanism for a separate dataset. The problem [...]]]></description>
			<content:encoded><![CDATA[<p>With <a href="http://labs.adobe.com/technologies/spry/">Adobe Spry</a>, you can dynamically populate a select box (aka. dropdown) with a dataset very easily:</p>
<p><code><br />
<script>
var ds = new Spry.Data.JSONDataSet("/some/jsonobject.js");
</script></p>
<div spry:region="ds">
<select spry:repeatchildren="ds">
		<option value="{ds::id}">{ds::name}</option><br />
	</select>
</div>
<p></code></p>
<p>If you are familiar with Spry, than the above makes complete sense. I came across a problem this evening, however, when using very similar code as a filter mechanism for a separate dataset. The problem with the above code is that once it is populated, the select box will by default choose the first value as selected. If you are filtering data, you want the initial/reset state to be blank and not have any values.</p>
<p>Since I am using spry:repeatchildren to repeat my option tags, I cannot simply drop in a blank option tag above the current one because than it would also repeat for all the other rows in the dataset.</p>
<p>Thanks to the <a href="http://www.coldfusionjedi.com/index.cfm/2006/11/1/Spry-builtin-variables-for-Datasets">built in variables</a> for each dataset, we can get special information during the loop of the dataset rows. This is valuable information since we technically need to drop the blank option just above the first row of the dataset.</p>
<p>We modify the above code to be the following instead:</p>
<p><code><br />
<script>
var ds = new Spry.Data.JSONDataSet("/some/jsonobject.js");
</script></p>
<div spry:region="ds">
<select spry:repeatchildren="ds">
<option value="" spry:if="{ds_RowNumber}==0"></option><br />
<option value="{ds::id}">{ds::name}</option><br />
	</select>
</div>
<p></code></p>
<p>The spry:if simply checks if the loop is on row number 0 and if it is, it will drop in that option tag. Otherwise, it gets left out on all of the other rows.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qYkXay6iKCSdqMHYV-B2F1OcjVA/0/da"><img src="http://feedads.g.doubleclick.net/~a/qYkXay6iKCSdqMHYV-B2F1OcjVA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qYkXay6iKCSdqMHYV-B2F1OcjVA/1/da"><img src="http://feedads.g.doubleclick.net/~a/qYkXay6iKCSdqMHYV-B2F1OcjVA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/cfwise/~4/mnxRN9auXs4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.kylehayes.info/2008/11/13/spry-empty-option-in-datasetcontrolled-select/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.kylehayes.info/2008/11/13/spry-empty-option-in-datasetcontrolled-select/</feedburner:origLink></item>
	</channel>
</rss>
