<?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: Better Web apps: add an Undo button</title>
	<atom:link href="http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/feed/" rel="self" type="application/rss+xml" />
	<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/</link>
	<description></description>
	<lastBuildDate>Thu, 18 Mar 2010 02:32:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Contrast &#124; The Blog &#124; 37signals&#8217; biggest flaw</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-139789</link>
		<dc:creator>Contrast &#124; The Blog &#124; 37signals&#8217; biggest flaw</dc:creator>
		<pubDate>Fri, 08 Feb 2008 13:55:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-139789</guid>
		<description>[...] Better Web apps: add an Undo button. [...]</description>
		<content:encoded><![CDATA[<p>[...] Better Web apps: add an Undo button. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Labnotes &#187; Rounded Corners - 128 (lolcathost)</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-138169</link>
		<dc:creator>Labnotes &#187; Rounded Corners - 128 (lolcathost)</dc:creator>
		<pubDate>Fri, 20 Jul 2007 07:32:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-138169</guid>
		<description>[...] Undo, redone. Aza Raskin reminds us to Never Use a Warning When you Mean Undo. The article got a lot of attention the past few days, which is great. It&#8217;s often a simple change that makes apps much easier to use. As a reminder, and for those who like the simplest thing that could possibly work, here&#8217;s my implementation of an Undo button for Rails. [...]</description>
		<content:encoded><![CDATA[<p>[...] Undo, redone. Aza Raskin reminds us to Never Use a Warning When you Mean Undo. The article got a lot of attention the past few days, which is great. It&#8217;s often a simple change that makes apps much easier to use. As a reminder, and for those who like the simplest thing that could possibly work, here&#8217;s my implementation of an Undo button for Rails. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Assaf</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-138166</link>
		<dc:creator>Assaf</dc:creator>
		<pubDate>Wed, 18 Jul 2007 18:34:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-138166</guid>
		<description>Andy, that&#039;s one possibility.

Another possibility, mark items as deleted an unmark when undone (what I&#039;m using in one of my projects). That would also work better for large objects.

If the objects are not particularly larger but are complicated, you can also serialize them as blobs into an undo table, which can aggregate undos for several types of objects.</description>
		<content:encoded><![CDATA[<p>Andy, that&#8217;s one possibility.</p>
<p>Another possibility, mark items as deleted an unmark when undone (what I&#8217;m using in one of my projects). That would also work better for large objects.</p>
<p>If the objects are not particularly larger but are complicated, you can also serialize them as blobs into an undo table, which can aggregate undos for several types of objects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Stewart</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-138165</link>
		<dc:creator>Andy Stewart</dc:creator>
		<pubDate>Wed, 18 Jul 2007 08:03:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-138165</guid>
		<description>This is a big improvement in terms of user experience.  I wonder, though, how you cope with deleting a record which in turn cascade-deletes many dependent records too?

I suppose you would have to be able to push a group of creation actions onto the stack as a single unit.  Does that sound right?</description>
		<content:encoded><![CDATA[<p>This is a big improvement in terms of user experience.  I wonder, though, how you cope with deleting a record which in turn cascade-deletes many dependent records too?</p>
<p>I suppose you would have to be able to push a group of creation actions onto the stack as a single unit.  Does that sound right?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terry Darnell</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-17833</link>
		<dc:creator>Terry Darnell</dc:creator>
		<pubDate>Mon, 16 Oct 2006 20:38:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-17833</guid>
		<description>I need to remove pop up blockers</description>
		<content:encoded><![CDATA[<p>I need to remove pop up blockers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Assaf</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-8182</link>
		<dc:creator>Assaf</dc:creator>
		<pubDate>Thu, 10 Aug 2006 08:46:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-8182</guid>
		<description>Johan,

I do that in co.mments. If you delete or update, it stores a POST request to create again, or update to the old value.</description>
		<content:encoded><![CDATA[<p>Johan,</p>
<p>I do that in co.mments. If you delete or update, it stores a POST request to create again, or update to the old value.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johan</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-8176</link>
		<dc:creator>johan</dc:creator>
		<pubDate>Thu, 10 Aug 2006 07:35:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-8176</guid>
		<description>Is it possible to undo a delete or an update action ?</description>
		<content:encoded><![CDATA[<p>Is it possible to undo a delete or an update action ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: undo_helper: Add &#8216;Undo&#8217; to your Rails application</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-3664</link>
		<dc:creator>undo_helper: Add &#8216;Undo&#8217; to your Rails application</dc:creator>
		<pubDate>Fri, 02 Jun 2006 14:01:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-3664</guid>
		<description>[...] The creator of co.mments, Assaf Arkin, a Rails developer, has created a plugin that makes it easy to add a Undo feature to your Rails app. Instead of warning users about things simply let them do it, but give them the choice to undo afterwards. Assaf&#8217;s plugin doesn&#8217;t cover all the bases, but it&#8217;s easy to build upon for creating your own system. For deletion, for example, you&#8217;d want to come up with a way to keep the data floating around for a while. [...]</description>
		<content:encoded><![CDATA[<p>[...] The creator of co.mments, Assaf Arkin, a Rails developer, has created a plugin that makes it easy to add a Undo feature to your Rails app. Instead of warning users about things simply let them do it, but give them the choice to undo afterwards. Assaf&#8217;s plugin doesn&#8217;t cover all the bases, but it&#8217;s easy to build upon for creating your own system. For deletion, for example, you&#8217;d want to come up with a way to keep the data floating around for a while. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Assaf</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-3185</link>
		<dc:creator>Assaf</dc:creator>
		<pubDate>Fri, 26 May 2006 14:56:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-3185</guid>
		<description>@Luke

You&#039;re right about GET, it should not be used for requests that have side effect. This code uses POST, while passing the data in the query string.</description>
		<content:encoded><![CDATA[<p>@Luke</p>
<p>You&#8217;re right about GET, it should not be used for requests that have side effect. This code uses POST, while passing the data in the query string.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luke</title>
		<link>http://labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/comment-page-1/#comment-3178</link>
		<dc:creator>Luke</dc:creator>
		<pubDate>Fri, 26 May 2006 10:09:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/#comment-3178</guid>
		<description>Hmm, GET requests are not supposed to have any side effects.  Your app will break horribly with things like web accelerators.  But I&#039;m sure your method should be relatively easy to fix -- just serialise the POST parameters instead of the URL.</description>
		<content:encoded><![CDATA[<p>Hmm, GET requests are not supposed to have any side effects.  Your app will break horribly with things like web accelerators.  But I&#8217;m sure your method should be relatively easy to fix &#8212; just serialise the POST parameters instead of the URL.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
