<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Cognitive Load and the Superiority of Server-Side Ajax GUI Frameworks</title>
	<atom:link href="http://www.pathf.com/blogs/2006/08/cognitive_load_/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/</link>
	<description>Running commentary about agile development, user experience design and Ajax.</description>
	<lastBuildDate>Fri, 05 Mar 2010 19:33:43 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Neil Erdwien</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-627</link>
		<dc:creator>Neil Erdwien</dc:creator>
		<pubDate>Sun, 06 Apr 2008 02:08:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-627</guid>
		<description>&lt;p&gt;I would argue that minimizing the cognitive load has been a goal of computer science for many years.  Structured programming means you don&#039;t have to have in mind all the various paths the program could get to a specific location.  High level languages mean you don&#039;t have to worry about register allocation.  Etc.&lt;/p&gt;

&lt;p&gt;I have two problems with driving JavaScript from Java.&lt;/p&gt;

&lt;p&gt;First is the extra cognitive load of debugging JavaScript that was generated from Java.&lt;/p&gt;

&lt;p&gt;Second, one of the premises is that people know Java, but not JavaScript, and thus generating JavaScript makes sense.  In some environments, that is undoubtedly true.  However, I don&#039;t think JavaScript is harder or less productive than Java, so it makes sense to pay the one-time cost of retraining rather than the continuing cost of the complexity.&lt;/p&gt;

&lt;p&gt;I&#039;m intrigued by the server-side JavaScript frameworks like Jaxer, &lt;a href=&quot;http://www.aptana.com/.&quot; rel=&quot;nofollow&quot;&gt;http://www.aptana.com/.&lt;/a&gt;  However, such frameworks are not nearly as mature as a Java servlet container, so I&#039;d be afraid of running into bottlenecks.&lt;/p&gt;

&lt;p&gt;I was also a fairly early adopter of Netscape&#039;s Server-Side JavaScript year ago.  That technology was a dead-end, so I&#039;m gun-shy.&lt;/p&gt;

&lt;p&gt;My solution?&lt;/p&gt;

&lt;p&gt;Make the server-side components as simple as possible in a REST, Service Oriented Architecture sense.  Keep all of the presentation and user interface logic on the client-side.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>I would argue that minimizing the cognitive load has been a goal of computer science for many years.  Structured programming means you don&#8217;t have to have in mind all the various paths the program could get to a specific location.  High level languages mean you don&#8217;t have to worry about register allocation.  Etc.</p>
<p>I have two problems with driving JavaScript from Java.</p>
<p>First is the extra cognitive load of debugging JavaScript that was generated from Java.</p>
<p>Second, one of the premises is that people know Java, but not JavaScript, and thus generating JavaScript makes sense.  In some environments, that is undoubtedly true.  However, I don&#8217;t think JavaScript is harder or less productive than Java, so it makes sense to pay the one-time cost of retraining rather than the continuing cost of the complexity.</p>
<p>I&#8217;m intrigued by the server-side JavaScript frameworks like Jaxer, <a href="http://www.aptana.com/." rel="nofollow"></a><a href="http://www.aptana.com/" rel="nofollow">http://www.aptana.com/</a>.  However, such frameworks are not nearly as mature as a Java servlet container, so I&#8217;d be afraid of running into bottlenecks.</p>
<p>I was also a fairly early adopter of Netscape&#8217;s Server-Side JavaScript year ago.  That technology was a dead-end, so I&#8217;m gun-shy.</p>
<p>My solution?</p>
<p>Make the server-side components as simple as possible in a REST, Service Oriented Architecture sense.  Keep all of the presentation and user interface logic on the client-side.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Samia Celsor</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-626</link>
		<dc:creator>Samia Celsor</dc:creator>
		<pubDate>Tue, 12 Jun 2007 06:55:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-626</guid>
		<description>&lt;p&gt;Agree, but I&#039;d rather suggest ZK (&lt;a href=&quot;http://www.zkoss.org).&quot; rel=&quot;nofollow&quot;&gt;http://www.zkoss.org).&lt;/a&gt; It is more intuitive and elegant. The community is more active, too. &lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Agree, but I&#8217;d rather suggest ZK (<a href="http://www.zkoss.org)." rel="nofollow"></a><a href="http://www.zkoss.org)" rel="nofollow">http://www.zkoss.org)</a>. It is more intuitive and elegant. The community is more active, too. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikael Bergkvist</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-625</link>
		<dc:creator>Mikael Bergkvist</dc:creator>
		<pubDate>Mon, 02 Apr 2007 11:40:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-625</guid>
		<description>&lt;p&gt;XIN is a serverside AJAX framework all in javascript.&lt;br /&gt;
The same as described, but for javascript.&lt;br /&gt;
It&#039;s used for this thing, among others: &lt;a href=&quot;http://www.xindesk.com&quot; rel=&quot;nofollow&quot;&gt;http://www.xindesk.com&lt;/a&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>XIN is a serverside AJAX framework all in javascript.<br />
The same as described, but for javascript.<br />
It&#8217;s used for this thing, among others: <a href="http://www.xindesk.com" rel="nofollow">http://www.xindesk.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sami Ekblad</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-624</link>
		<dc:creator>Sami Ekblad</dc:creator>
		<pubDate>Wed, 07 Mar 2007 06:38:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-624</guid>
		<description>&lt;p&gt;Yes, I very much agree with this post. Bad programmer usability yields to more or less bad applications user interfaces. What Matt says about &quot;mixing the layers&quot; is valid, but for UI frameworks I see no mixing: the role remains the same, but the MVC-controller is getting thicker. Good separation between layers is needed to ensure maintainability of large systems.&lt;/p&gt;

&lt;p&gt;We use terms like &quot;user interface logic&quot; in contrast to &quot;business logic&quot; to make clear that there is a separation between them. &lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yes, I very much agree with this post. Bad programmer usability yields to more or less bad applications user interfaces. What Matt says about &#8220;mixing the layers&#8221; is valid, but for UI frameworks I see no mixing: the role remains the same, but the MVC-controller is getting thicker. Good separation between layers is needed to ensure maintainability of large systems.</p>
<p>We use terms like &#8220;user interface logic&#8221; in contrast to &#8220;business logic&#8221; to make clear that there is a separation between them. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil Hershkowitz</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-623</link>
		<dc:creator>Phil Hershkowitz</dc:creator>
		<pubDate>Fri, 04 Aug 2006 21:42:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-623</guid>
		<description>&lt;p&gt;I think your points about cognitive load and usability for programmers are some of the reasons why more streamlined / lightweight web development environments like Ruby On Rails are gaining popularity with Java programmers&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think your points about cognitive load and usability for programmers are some of the reasons why more streamlined / lightweight web development environments like Ruby On Rails are gaining popularity with Java programmers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://www.pathf.com/blogs/2006/08/cognitive_load_/comment-page-1/#comment-622</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Fri, 04 Aug 2006 16:45:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=492#comment-622</guid>
		<description>&lt;p&gt;I would argue that mixing the middle tier (java) with the front-end (javascript, html, css) is the same as mixing the middle tier with the backend (db).  In general, it is bad practice.  Sure, some companies still directly access the db from inline sql, but the majority of developers agree it is bad practice.  If I was you, rather than arguing cognitive load and pushing for some middle-tier to front end hack, I would push for a front-end architecture position at your company.  In the end, specialization always wins out, and in time, we will see the same with front end development.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I would argue that mixing the middle tier (java) with the front-end (javascript, html, css) is the same as mixing the middle tier with the backend (db).  In general, it is bad practice.  Sure, some companies still directly access the db from inline sql, but the majority of developers agree it is bad practice.  If I was you, rather than arguing cognitive load and pushing for some middle-tier to front end hack, I would push for a front-end architecture position at your company.  In the end, specialization always wins out, and in time, we will see the same with front end development.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.250 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-20 15:49:51 -->
