<?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: Prevent an unsaved tab from closing</title>
	<atom:link href="http://blog.enigmaticthought.com/2009/06/prevent-an-unsaved-tab-from-closing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.enigmaticthought.com/2009/06/prevent-an-unsaved-tab-from-closing/</link>
	<description>import com.enigmaticThought.blog;</description>
	<lastBuildDate>Sat, 31 Jul 2010 15:45:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Matt C</title>
		<link>http://blog.enigmaticthought.com/2009/06/prevent-an-unsaved-tab-from-closing/comment-page-1/#comment-163</link>
		<dc:creator>Matt C</dc:creator>
		<pubDate>Wed, 22 Jul 2009 15:17:30 +0000</pubDate>
		<guid isPermaLink="false">http://enigmaticthought.com/?p=105#comment-163</guid>
		<description>In my case, each tab is a unique object.  I&#039;m using tabs in a way similar to a web browser.  Each tab is a separate object, unconnected from the other tabs.
Here&#039;s a vague description of what was needed: Type A is a set of types {A, B, C}.  If I need to create/alter A&#039; while editing A, I spawn a new tab with A&#039;.  If I finish editing A&#039;, I can close it and move back to A, or perhaps I&#039;ll create D since I need to add D to A at some point.  As this is all very confusing, you could accidentally close an unsaved tab, which is what this aims to solve.
There is an argument that could be made for shifting views from List-&gt;A-&gt;A&#039;, but since A&#039; is also on the main list it was confusing.  The need was to be able to begin editing of one group from within the edit view of another group.  The tabular solution was used to allow maximum flexibility to the user.
There are other places where we use a single Save/Cancel outside a set of tabs for just that reason, but that is where a single object spans multiple tabs.</description>
		<content:encoded><![CDATA[<p>In my case, each tab is a unique object.  I&#8217;m using tabs in a way similar to a web browser.  Each tab is a separate object, unconnected from the other tabs.  </p>
<p>Here&#8217;s a vague description of what was needed: Type A is a set of types {A, B, C}.  If I need to create/alter A&#8217; while editing A, I spawn a new tab with A&#8217;.  If I finish editing A&#8217;, I can close it and move back to A, or perhaps I&#8217;ll create D since I need to add D to A at some point.  As this is all very confusing, you could accidentally close an unsaved tab, which is what this aims to solve. </p>
<p>There is an argument that could be made for shifting views from List->A->A&#8217;, but since A&#8217; is also on the main list it was confusing.  The need was to be able to begin editing of one group from within the edit view of another group.  The tabular solution was used to allow maximum flexibility to the user.</p>
<p>There are other places where we use a single Save/Cancel outside a set of tabs for just that reason, but that is where a single object spans multiple tabs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Banned in Boston</title>
		<link>http://blog.enigmaticthought.com/2009/06/prevent-an-unsaved-tab-from-closing/comment-page-1/#comment-162</link>
		<dc:creator>Banned in Boston</dc:creator>
		<pubDate>Wed, 22 Jul 2009 15:01:58 +0000</pubDate>
		<guid isPermaLink="false">http://enigmaticthought.com/?p=105#comment-162</guid>
		<description>OK,_technically_; but for *usability*, not so much . . .
Conceptually, tabs are a space (and time) multiplexing of a related _set_ of data. Therefore it doesn&#039;t make sense to save only part of that set (but not the rest). Logically, it is an inconsistent update.
From a more pragmatic standpoint, the convention is that the transactional controls (Save, Cancel, Apply) appear *outside* the frame of the tab pages. Users are therefore used to having Save (or Cancel, etc.) apply to all the content on the tabs. If your UI doesn&#039;t work that way it will violate their expectations.
I would strongly recommend modifying the interaction design of your application so that it works in the conventional, expected way.</description>
		<content:encoded><![CDATA[<p>OK,_technically_; but for *usability*, not so much . . .</p>
<p>Conceptually, tabs are a space (and time) multiplexing of a related _set_ of data. Therefore it doesn&#8217;t make sense to save only part of that set (but not the rest). Logically, it is an inconsistent update.</p>
<p>From a more pragmatic standpoint, the convention is that the transactional controls (Save, Cancel, Apply) appear *outside* the frame of the tab pages. Users are therefore used to having Save (or Cancel, etc.) apply to all the content on the tabs. If your UI doesn&#8217;t work that way it will violate their expectations.</p>
<p>I would strongly recommend modifying the interaction design of your application so that it works in the conventional, expected way.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
