<?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: Supporting the Back-Button: Tutorial on Dev2Dev</title>
	<atom:link href="http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: r-echos &#187; Blog Archive &#187; Ajaxian &#187; Supporting the Back-Button: Tutorial on Dev2Dev</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-3895</link>
		<dc:creator>r-echos &#187; Blog Archive &#187; Ajaxian &#187; Supporting the Back-Button: Tutorial on Dev2Dev</dc:creator>
		<pubDate>Thu, 23 Feb 2006 03:00:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-3895</guid>
		<description>[...] Ajaxian &#187; Supporting the Back-Button: Tutorial on Dev2Dev [...]</description>
		<content:encoded><![CDATA[<p>[...] Ajaxian &raquo; Supporting the Back-Button: Tutorial on Dev2Dev [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alt.3form &#187; Blog Archive &#187; AJAX, AHAH, JAH love?</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2867</link>
		<dc:creator>Alt.3form &#187; Blog Archive &#187; AJAX, AHAH, JAH love?</dc:creator>
		<pubDate>Sun, 29 Jan 2006 14:59:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2867</guid>
		<description>[...] On a side note, issues surrounding AJAX and related technologies, have just started coming up. One for example is what happens to the Back button? [...]</description>
		<content:encoded><![CDATA[<p>[...] On a side note, issues surrounding AJAX and related technologies, have just started coming up. One for example is what happens to the Back button? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: m.j.milicevic</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2860</link>
		<dc:creator>m.j.milicevic</dc:creator>
		<pubDate>Sat, 28 Jan 2006 23:37:52 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2860</guid>
		<description>Hi all,
(disclaimer: like Jep, I work for backbase )
@alex: fyi:  what dojo delivered almost year ago, flash guys implemented almost 5 years ago. 

http://www.robertpenner.com/experiments/flas/backbutton.zip

Also, don&#039;t think it was rocket scince for us to do. Don&#039;t get cocky ;-). 

@michael: you have some valid points, but please see also the big picture: nobody says you should record every single click on every menu item; that you could do that is something completely different. (BTW: I believe I &quot;know&quot; you from Intellij scene?) 

I think that article Mark provided was just to show how you could implement back button functionality: using selectbox to explain this was maybe bad idea because people are to much picking on it: &quot;why would you want to save selectbox state&quot;. Well, you don&#039;t, imagine it is something else (e.g. a page you loaded). Choice was made to keep article simple and understendable, without to much JS code.
-m.j.milicevic</description>
		<content:encoded><![CDATA[<p>Hi all,<br />
(disclaimer: like Jep, I work for backbase )<br />
@alex: fyi:  what dojo delivered almost year ago, flash guys implemented almost 5 years ago. </p>
<p><a href="http://www.robertpenner.com/experiments/flas/backbutton.zip" rel="nofollow">http://www.robertpenner.com/experiments/flas/backbutton.zip</a></p>
<p>Also, don&#8217;t think it was rocket scince for us to do. Don&#8217;t get cocky ;-). </p>
<p>@michael: you have some valid points, but please see also the big picture: nobody says you should record every single click on every menu item; that you could do that is something completely different. (BTW: I believe I &#8220;know&#8221; you from Intellij scene?) </p>
<p>I think that article Mark provided was just to show how you could implement back button functionality: using selectbox to explain this was maybe bad idea because people are to much picking on it: &#8220;why would you want to save selectbox state&#8221;. Well, you don&#8217;t, imagine it is something else (e.g. a page you loaded). Choice was made to keep article simple and understendable, without to much JS code.<br />
-m.j.milicevic</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jep Castelein</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2826</link>
		<dc:creator>Jep Castelein</dc:creator>
		<pubDate>Fri, 27 Jan 2006 15:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2826</guid>
		<description>Unfortunately the hash is not sent to the server, it&#039;s client-only according to the standard.</description>
		<content:encoded><![CDATA[<p>Unfortunately the hash is not sent to the server, it&#8217;s client-only according to the standard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wesley Walser</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2820</link>
		<dc:creator>Wesley Walser</dc:creator>
		<pubDate>Fri, 27 Jan 2006 05:40:36 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2820</guid>
		<description>I think that you could create a degradable approach for this. If you have your server side code catch the information after the hash (if it exists) you could probably play with it any way you like whether it be redirection to a compatible page, or printing the correct information to the current page.  

If the application developer is going to go through the trouble of implementing a back button functionality, it shouldn&#039;t be that much more work to add in the server side code on the degraded page to deal with such events, especially considering how much effort has to be put into other aspects of the application, such as form submission and processing, in order for those to also be degradable.</description>
		<content:encoded><![CDATA[<p>I think that you could create a degradable approach for this. If you have your server side code catch the information after the hash (if it exists) you could probably play with it any way you like whether it be redirection to a compatible page, or printing the correct information to the current page.  </p>
<p>If the application developer is going to go through the trouble of implementing a back button functionality, it shouldn&#8217;t be that much more work to add in the server side code on the degraded page to deal with such events, especially considering how much effort has to be put into other aspects of the application, such as form submission and processing, in order for those to also be degradable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael J.</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2814</link>
		<dc:creator>Michael J.</dc:creator>
		<pubDate>Fri, 27 Jan 2006 00:59:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2814</guid>
		<description>From the article: &quot;In the traditional model every page refresh resulted in a URI update&quot; -- Not true.

From a comment: &quot;A single-page interface (loading new data into an existing page) is only possible when JavaScript is enabled, because it depends on the XMLHttpRequest object. The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload.&quot; -- Partially true.

Let&#039;s draw a line between single-load interface and single-address interface. Single-address interface &lt;a href=&quot;http://www.jroller.com/page/javadujour?entry=islands&quot; rel=&quot;nofollow&quot;&gt;does not have to be single-load&lt;/a&gt;. As the article shows, single-load interface does not have to be single-address interface as well.

The fact that browser adds every resource to a history list works well for hyperdocuments but usually a nuisance for web applications. I found a way to get rid of this behavior using redirection. Now Ajax provides it for free, great, use it. Instead if it, people try to reimplement hideous history list in Ajax. Incredible.

Don&#039;t get me wrong, I am all for proper page reload and for navigating back and forth, but only when it makes sense! Say, you have a menu on a webpage. You select one item, than another, then another. Should all three actions be recorded as three locations in history list? Should I click Back three times to leave the page with the menu? Come on, this is ugly.

The same with form submission. If I made five attempts to submit a form, should I click back five times (sorry, six times) to leave the form? Would not it be easier to click only once? Each form submission is not a separate page, it is just an attempt to submit the *same* page. 

Sometimes Back button is needed, but not always!</description>
		<content:encoded><![CDATA[<p>From the article: &#8220;In the traditional model every page refresh resulted in a URI update&#8221; &#8212; Not true.</p>
<p>From a comment: &#8220;A single-page interface (loading new data into an existing page) is only possible when JavaScript is enabled, because it depends on the XMLHttpRequest object. The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload.&#8221; &#8212; Partially true.</p>
<p>Let&#8217;s draw a line between single-load interface and single-address interface. Single-address interface <a href="http://www.jroller.com/page/javadujour?entry=islands" rel="nofollow">does not have to be single-load</a>. As the article shows, single-load interface does not have to be single-address interface as well.</p>
<p>The fact that browser adds every resource to a history list works well for hyperdocuments but usually a nuisance for web applications. I found a way to get rid of this behavior using redirection. Now Ajax provides it for free, great, use it. Instead if it, people try to reimplement hideous history list in Ajax. Incredible.</p>
<p>Don&#8217;t get me wrong, I am all for proper page reload and for navigating back and forth, but only when it makes sense! Say, you have a menu on a webpage. You select one item, than another, then another. Should all three actions be recorded as three locations in history list? Should I click Back three times to leave the page with the menu? Come on, this is ugly.</p>
<p>The same with form submission. If I made five attempts to submit a form, should I click back five times (sorry, six times) to leave the form? Would not it be easier to click only once? Each form submission is not a separate page, it is just an attempt to submit the *same* page. </p>
<p>Sometimes Back button is needed, but not always!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mortimer</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2813</link>
		<dc:creator>Mortimer</dc:creator>
		<pubDate>Thu, 26 Jan 2006 23:53:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2813</guid>
		<description>&lt;blockquote cite=&quot;Jep Castelein&quot;&gt; 
The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload. Therefore, using the hash (#) is the only way to dynamically add information to the URL.
&lt;/blockquote&gt;

Yes, you are right, this is the simple fact I was missing. Indeed, if you use the location() method, you will force a reload. So the url has to stay identical. 
During a long instant, I was thinking that you were using location() without having the browser reload... but hey, this is not what the function does (but it would be nice if it could).

I finally get it. Thank you for the extensive explanation ,)</description>
		<content:encoded><![CDATA[<blockquote cite="Jep Castelein"><p>
The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload. Therefore, using the hash (#) is the only way to dynamically add information to the URL.
</p></blockquote>
<p>Yes, you are right, this is the simple fact I was missing. Indeed, if you use the location() method, you will force a reload. So the url has to stay identical.<br />
During a long instant, I was thinking that you were using location() without having the browser reload&#8230; but hey, this is not what the function does (but it would be nice if it could).</p>
<p>I finally get it. Thank you for the extensive explanation ,)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jep Castelein</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2812</link>
		<dc:creator>Jep Castelein</dc:creator>
		<pubDate>Thu, 26 Jan 2006 23:24:45 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2812</guid>
		<description>A single-page interface (loading new data into an existing page) is only possible when JavaScript is enabled, because it depends on the XMLHttpRequest object. The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload. Therefore, using the hash (#) is the only way to dynamically add information to the URL. 

If JavaScript is switched off, you can only use a multi-page interface. In this case, you need to load a new URL to display new information. Of course, you can still use AJAX features with a multi-page interface, but if you want to use the back-button to navigate between different AJAX states you still need the hash URL approach: this doesn&#039;t degrade, but if you can&#039;t access the AJAX functionality, what is the use of navigating between AJAX states? 

So the two approaches &lt;b&gt;are&lt;/b&gt; separate, and there&#039;s not much we can do about that: that&#039;s the nature of the Web.</description>
		<content:encoded><![CDATA[<p>A single-page interface (loading new data into an existing page) is only possible when JavaScript is enabled, because it depends on the XMLHttpRequest object. The idea of a single-page interface is that the page is not reloaded when new information is displayed, so the URL cannot change, otherwise you get a page reload. Therefore, using the hash (#) is the only way to dynamically add information to the URL. </p>
<p>If JavaScript is switched off, you can only use a multi-page interface. In this case, you need to load a new URL to display new information. Of course, you can still use AJAX features with a multi-page interface, but if you want to use the back-button to navigate between different AJAX states you still need the hash URL approach: this doesn&#8217;t degrade, but if you can&#8217;t access the AJAX functionality, what is the use of navigating between AJAX states? </p>
<p>So the two approaches <b>are</b> separate, and there&#8217;s not much we can do about that: that&#8217;s the nature of the Web.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mortimer</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2811</link>
		<dc:creator>Mortimer</dc:creator>
		<pubDate>Thu, 26 Jan 2006 22:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2811</guid>
		<description>But, Jep, if you support both, why do you have separate schemes for the url. Shouldn&#039;t you have one url scheme, working when ajax/javascript is not available and being parsed by the javascript when ajax is on?

I am perhaps wrong, but I do not get the benefit of separating the two?</description>
		<content:encoded><![CDATA[<p>But, Jep, if you support both, why do you have separate schemes for the url. Shouldn&#8217;t you have one url scheme, working when ajax/javascript is not available and being parsed by the javascript when ajax is on?</p>
<p>I am perhaps wrong, but I do not get the benefit of separating the two?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Limi</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2797</link>
		<dc:creator>Alexander Limi</dc:creator>
		<pubDate>Thu, 26 Jan 2006 17:31:32 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2797</guid>
		<description>
Yeah, just love how they redirect you to a page that says:


&lt;em&gt;
Your web browser is not compatible with the primary Backbase site. Find out which browsers are supported at the Compatible browsers page.
&lt;/em&gt;


when you try to access the forum. Great idea, you just told me that my browser sucks - here, buy something!



Thanks, but no thanks. There are better ways of playing nice with browsers.
</description>
		<content:encoded><![CDATA[<p>Yeah, just love how they redirect you to a page that says:</p>
<p><em><br />
Your web browser is not compatible with the primary Backbase site. Find out which browsers are supported at the Compatible browsers page.<br />
</em></p>
<p>when you try to access the forum. Great idea, you just told me that my browser sucks &#8211; here, buy something!</p>
<p>Thanks, but no thanks. There are better ways of playing nice with browsers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2796</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Thu, 26 Jan 2006 17:12:34 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2796</guid>
		<description>It&#039;s not without some wry entertainment that it appears that Backbase is *already* &quot;Web3.0&quot; -- they&#039;re re-inventing what we provided in Dojo almost a year ago!</description>
		<content:encoded><![CDATA[<p>It&#8217;s not without some wry entertainment that it appears that Backbase is *already* &#8220;Web3.0&#8243; &#8212; they&#8217;re re-inventing what we provided in Dojo almost a year ago!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mortimer</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2790</link>
		<dc:creator>Mortimer</dc:creator>
		<pubDate>Thu, 26 Jan 2006 14:13:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2790</guid>
		<description>I am not sure of how would that method degrades?

i.e. if you put the &quot;real&quot; location in the fragment portion (after the dash), then this information is only availlable client-side, hence only if javascript is enabled.

what if you bookmark this, deactivate javascript and try to come back? the local information is not transfered to the server =&gt; no degradation.

For it to be degradable, the state=location should be stored in a form transferable to the server without javascript.

In deed, in the forum example, why would you store the &lt;code&gt;#forum/forum.html%3Fid=4[1]&lt;/code&gt; as a client-side information. It is something equivalent to a server-side information (the notation in deed reflects that).

This back functionality is important, but there is probably a better way to implement that in a &quot;progressive enhancement&quot; way. (see for example &lt;a href=&quot;http://www.domscripting.com/blog/display/41&quot; rel=&quot;nofollow&quot;&gt;domscripting post&lt;/a&gt; on that matter)</description>
		<content:encoded><![CDATA[<p>I am not sure of how would that method degrades?</p>
<p>i.e. if you put the &#8220;real&#8221; location in the fragment portion (after the dash), then this information is only availlable client-side, hence only if javascript is enabled.</p>
<p>what if you bookmark this, deactivate javascript and try to come back? the local information is not transfered to the server =&gt; no degradation.</p>
<p>For it to be degradable, the state=location should be stored in a form transferable to the server without javascript.</p>
<p>In deed, in the forum example, why would you store the <code>#forum/forum.html%3Fid=4[1]</code> as a client-side information. It is something equivalent to a server-side information (the notation in deed reflects that).</p>
<p>This back functionality is important, but there is probably a better way to implement that in a &#8220;progressive enhancement&#8221; way. (see for example <a href="http://www.domscripting.com/blog/display/41" rel="nofollow">domscripting post</a> on that matter)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guillermo</title>
		<link>http://ajaxian.com/archives/supporting-the-back-button-tutorial-on-dev2dev/comment-page-1#comment-2789</link>
		<dc:creator>Guillermo</dc:creator>
		<pubDate>Thu, 26 Jan 2006 12:54:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=780#comment-2789</guid>
		<description>This is what I call &quot;Wrong use of AJAX&quot;</description>
		<content:encoded><![CDATA[<p>This is what I call &#8220;Wrong use of AJAX&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

