<?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"
	>
<channel>
	<title>Comments on: The Editable Grid Antipattern</title>
	<atom:link href="http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/</link>
	<description>Chris Stevenson's blog</description>
	<pubDate>Wed, 07 Jan 2009 08:08:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Chris Barrow</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-691</link>
		<dc:creator>Chris Barrow</dc:creator>
		<pubDate>Wed, 31 Oct 2007 23:38:18 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-691</guid>
		<description>I too have experienced these same problems, and have concluded that a fully featured, client-heavy grid should never be used in web apps. The alternatives are far easier to implement, maintain, and extend.

Long live the editable grid antipattern!</description>
		<content:encoded><![CDATA[<p>I too have experienced these same problems, and have concluded that a fully featured, client-heavy grid should never be used in web apps. The alternatives are far easier to implement, maintain, and extend.</p>
<p>Long live the editable grid antipattern!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Goldobin</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-243</link>
		<dc:creator>Michael Goldobin</dc:creator>
		<pubDate>Fri, 18 May 2007 02:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-243</guid>
		<description>Hmm... Very-very familiar problems :)
I've re-read the "Lean development" one more time and yes, I really missed the "5 times". Great notion!

Also, I finally retried your idea of reflecting on ASP.NET page to test something like validation. Your TM is mentioned :) - http://lazyloading.blogspot.com/2007/05/testing-aspnet-pages-outside-http.html</description>
		<content:encoded><![CDATA[<p>Hmm&#8230; Very-very familiar problems :)<br />
I&#8217;ve re-read the &#8220;Lean development&#8221; one more time and yes, I really missed the &#8220;5 times&#8221;. Great notion!</p>
<p>Also, I finally retried your idea of reflecting on ASP.NET page to test something like validation. Your TM is mentioned :) - <a href="http://lazyloading.blogspot.com/2007/05/testing-aspnet-pages-outside-http.html" rel="nofollow">http://lazyloading.blogspot.com/2007/05/testing-aspnet-pages-outside-http.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Claus</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-216</link>
		<dc:creator>Claus</dc:creator>
		<pubDate>Sun, 01 Apr 2007 17:19:29 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-216</guid>
		<description>I think the caveat at the end is better than the warning: If there's no spec, other than (Like the stuff we're used to) - don't write the software. Just use the stuff they're used to.</description>
		<content:encoded><![CDATA[<p>I think the caveat at the end is better than the warning: If there&#8217;s no spec, other than (Like the stuff we&#8217;re used to) - don&#8217;t write the software. Just use the stuff they&#8217;re used to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kim</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-138</link>
		<dc:creator>Kim</dc:creator>
		<pubDate>Mon, 05 Mar 2007 10:46:53 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-138</guid>
		<description>I mostly agree with you, but James' point of usability (massive dataentry) is also a factor that must be taken into consideration. One issue that I don't understand from your post, is that you aximatically assume that any databinding must be done to the underlaying table. There's no reason why a grid couldn't be bound to a business object which could trap and enforce all the issues you mentioned in your post.</description>
		<content:encoded><![CDATA[<p>I mostly agree with you, but James&#8217; point of usability (massive dataentry) is also a factor that must be taken into consideration. One issue that I don&#8217;t understand from your post, is that you aximatically assume that any databinding must be done to the underlaying table. There&#8217;s no reason why a grid couldn&#8217;t be bound to a business object which could trap and enforce all the issues you mentioned in your post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lance Walton</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-137</link>
		<dc:creator>Lance Walton</dc:creator>
		<pubDate>Mon, 05 Mar 2007 08:37:45 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-137</guid>
		<description>Agreed, Chris. It can be particularly bad when the requirement is actually expressed in terms of the underlying database tables &#62;:-{

Gerald Weinberg has an analytical technique similar to “Ask why? five times” which consists of alternating "Why?" with "What?". e.g.

"Why do you need that?"
"What will that do for you?"
"Why do you need that done?"
etc.

If I recall correctly (and I read the book 10 years ago so my memory migh be faulty), he says that you often have to ask about 6 questions to get to what he terms "The Data Question" which is where you get the information you really need.

Regards,

Lance</description>
		<content:encoded><![CDATA[<p>Agreed, Chris. It can be particularly bad when the requirement is actually expressed in terms of the underlying database tables &gt;:-{</p>
<p>Gerald Weinberg has an analytical technique similar to “Ask why? five times” which consists of alternating &#8220;Why?&#8221; with &#8220;What?&#8221;. e.g.</p>
<p>&#8220;Why do you need that?&#8221;<br />
&#8220;What will that do for you?&#8221;<br />
&#8220;Why do you need that done?&#8221;<br />
etc.</p>
<p>If I recall correctly (and I read the book 10 years ago so my memory migh be faulty), he says that you often have to ask about 6 questions to get to what he terms &#8220;The Data Question&#8221; which is where you get the information you really need.</p>
<p>Regards,</p>
<p>Lance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Asking why five times. &#171; Rui Silva</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-122</link>
		<dc:creator>Asking why five times. &#171; Rui Silva</dc:creator>
		<pubDate>Sat, 03 Mar 2007 18:32:38 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-122</guid>
		<description>[...] March 3rd, 2007 in Other   Today, I have found an interesting post named &#8220;The Editable Grid Antipattern&#8221;. The illustrated scenario it&#8217;s a perfect [...]</description>
		<content:encoded><![CDATA[<p>[...] March 3rd, 2007 in Other   Today, I have found an interesting post named &#8220;The Editable Grid Antipattern&#8221;. The illustrated scenario it&#8217;s a perfect [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Crisp</title>
		<link>http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-113</link>
		<dc:creator>James Crisp</dc:creator>
		<pubDate>Wed, 28 Feb 2007 00:44:50 +0000</pubDate>
		<guid isPermaLink="false">http://skizz.biz/blog/2007/02/23/the-editable-grid-antipattern/#comment-113</guid>
		<description>Hi Chris,

You make a convincing argument and I certainly agree that editable tables are often not appropriate plus require more development effort. 

However, I would like to suggest that an editable grid has a valuable place in the world - data entry. In the brokerage industry for example, it is necessary to enter huge amounts of information by hand. A shipment for example can have hundreds or thousands of individual products included and each of those products has quantity, weight, volume, classification, goods description, etc. An efficient way of entering this data is do do it in an editable grid. Alternatives such as clicking an add button which brings up an add form, with a save button which then updates the DB and refreshes the grid, would be a lot slower for the user with hundreds or thousands of these product lines to enter on a daily basis. On the front of addressing validation in an editable grid, I would suggest that rather than working almost directly with a database table, you introduce an intermediate domain object layer which contains validation (perhaps of declarative style) which is run before data is saved to the database.

James</description>
		<content:encoded><![CDATA[<p>Hi Chris,</p>
<p>You make a convincing argument and I certainly agree that editable tables are often not appropriate plus require more development effort. </p>
<p>However, I would like to suggest that an editable grid has a valuable place in the world - data entry. In the brokerage industry for example, it is necessary to enter huge amounts of information by hand. A shipment for example can have hundreds or thousands of individual products included and each of those products has quantity, weight, volume, classification, goods description, etc. An efficient way of entering this data is do do it in an editable grid. Alternatives such as clicking an add button which brings up an add form, with a save button which then updates the DB and refreshes the grid, would be a lot slower for the user with hundreds or thousands of these product lines to enter on a daily basis. On the front of addressing validation in an editable grid, I would suggest that rather than working almost directly with a database table, you introduce an intermediate domain object layer which contains validation (perhaps of declarative style) which is run before data is saved to the database.</p>
<p>James</p>
]]></content:encoded>
	</item>
</channel>
</rss>
