<?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: AJAX@localhost</title>
	<atom:link href="http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<lastBuildDate>Sat, 07 Nov 2009 23:35:20 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: baspasboacel</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-2/#comment-837502</link>
		<dc:creator>baspasboacel</dc:creator>
		<pubDate>Sat, 22 Nov 2008 21:08:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-837502</guid>
		<description>zelmonoloac</description>
		<content:encoded><![CDATA[<p>zelmonoloac</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Luk</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-2/#comment-185577</link>
		<dc:creator>Luk</dc:creator>
		<pubDate>Wed, 21 Feb 2007 12:51:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-185577</guid>
		<description>asdfghj</description>
		<content:encoded><![CDATA[<p>asdfghj</p>]]></content:encoded>
	</item>
	<item>
		<title>By: RSS SCRIPT &#187; A swipe at Advani, a nod to Left, Manmohan plays safe</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-2/#comment-15011</link>
		<dc:creator>RSS SCRIPT &#187; A swipe at Advani, a nod to Left, Manmohan plays safe</dc:creator>
		<pubDate>Fri, 03 Mar 2006 21:02:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-15011</guid>
		<description>[...] AJAX@localhostSitePoint,&#160;Australia&#160;- Feb 10, 2006&#8230; links to my talk AJAX @ localhost (PDF), Latency demo (apologies to the script.acul.us &#8230; You can follow any responses to this entry through the RSS 2.0 feed. &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] AJAX@localhostSitePoint,&nbsp;Australia&nbsp;- Feb 10, 2006&#8230; links to my talk AJAX @ localhost (PDF), Latency demo (apologies to the script.acul.us &#8230; You can follow any responses to this entry through the RSS 2.0 feed. &#8230; [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: SitePoint Blogs &#187; AJAX and Session &#8220;Race Conditions&#8221;</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14558</link>
		<dc:creator>SitePoint Blogs &#187; AJAX and Session &#8220;Race Conditions&#8221;</dc:creator>
		<pubDate>Mon, 27 Feb 2006 12:27:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14558</guid>
		<description>[...] Via Keith&#8212;here&#8217;s a problem I&#8217;m kicking myself for not covering explicitly in AJAX@localhost&#8212;Troubles with Asynchronous Ajax Requests and PHP Sessions by Marc Wandschneider.  Normally, when you write web applications in PHP, this is really not an issue, as each page request gets their own execution environment, and a user is only visiting one page at a time. Each page request coming from a particular user arrives more or less sequentially and shares no data with other page requests. [...]</description>
		<content:encoded><![CDATA[<p>[...] Via Keith&#8212;here&#8217;s a problem I&#8217;m kicking myself for not covering explicitly in AJAX@localhost&#8212;Troubles with Asynchronous Ajax Requests and PHP Sessions by Marc Wandschneider.  Normally, when you write web applications in PHP, this is really not an issue, as each page request gets their own execution environment, and a user is only visiting one page at a time. Each page request coming from a particular user arrives more or less sequentially and shares no data with other page requests. [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: HarryF</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14202</link>
		<dc:creator>HarryF</dc:creator>
		<pubDate>Mon, 20 Feb 2006 22:34:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14202</guid>
		<description>&lt;blockquote&gt;
I am not sure that that the solution given for the autocompleter which consists in blocking newer transactions until the previous one has been completed is a good solution, since this is basically doing synchronous calls.
&lt;/blockquote&gt;

Guess it really needs trying. You brought up those magic words &quot;it depends&quot; like I&#039;ve been trying to. Agree in general this is something like synchronous calling but for autocompletion, it may be the most effecient way. We also need to bear in mind that browsers place restrictions on the number of concurrent XMLHttpReqeusts (plus it costs resources).

The other issue there is also think sometimes a synchronous style is needed - if you want to make sure that requests arrive at the server in a given order, a simple approach is to have the client only send one at a time.

&lt;blockquote&gt;
I have experimented with stack sequences (LIFO) with a queue size of 1. It guarantees that only the latest action of the user will be displayed (the other ones are discarded).

for instance if you type:

1—2—3

in one sequence, only ‘3′ will be displayed

If works fine, the only problem is that there must be a timeout so that requests do not block the entire sequence, indefinitely.
&lt;/blockquote&gt;

Been looking at what you&#039;re doing and like it.</description>
		<content:encoded><![CDATA[<blockquote><p>
I am not sure that that the solution given for the autocompleter which consists in blocking newer transactions until the previous one has been completed is a good solution, since this is basically doing synchronous calls.
</p></blockquote>
<p>Guess it really needs trying. You brought up those magic words &#8220;it depends&#8221; like I&#8217;ve been trying to. Agree in general this is something like synchronous calling but for autocompletion, it may be the most effecient way. We also need to bear in mind that browsers place restrictions on the number of concurrent XMLHttpReqeusts (plus it costs resources).</p>
<p>The other issue there is also think sometimes a synchronous style is needed &#8211; if you want to make sure that requests arrive at the server in a given order, a simple approach is to have the client only send one at a time.</p>
<blockquote><p>
I have experimented with stack sequences (LIFO) with a queue size of 1. It guarantees that only the latest action of the user will be displayed (the other ones are discarded).</p>
<p>for instance if you type:</p>
<p>1—2—3</p>
<p>in one sequence, only ‘3′ will be displayed</p>
<p>If works fine, the only problem is that there must be a timeout so that requests do not block the entire sequence, indefinitely.
</p></blockquote>
<p>Been looking at what you&#8217;re doing and like it.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: jmo</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14110</link>
		<dc:creator>jmo</dc:creator>
		<pubDate>Sat, 18 Feb 2006 10:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14110</guid>
		<description>&lt;blockquote&gt;In general, I see this something like bank systems—there it’s not acceptable that any transactions get lost or processed incorrectly. To me “it works most of the time” isn’t enough, particularily because the tendency with AJAX is to couple the UI straight to the network.&lt;/blockquote&gt;

Yes, I think it depends on the application. For an RSS feed reader it is OK that feeds get displayed in a random order. For every that involves transactions (bank system, ...) there must be a transaction manager that enforces rules for how data is accessed.

I am not sure that that the solution given for the autocompleter which consists in blocking newer transactions until the previous one has been completed is a good solution, since this is basically doing synchronous calls.

I have experimented with stack sequences (LIFO) with a queue size of 1. It guarantees that only the latest action of the user will be displayed (the other ones are discarded). 

for instance if you type:

   1 - 2 - 3 

in one sequence, only &#039;3&#039; will be displayed

If works fine, the only problem is that there must be a timeout so that requests do not block the entire sequence, indefinitely.</description>
		<content:encoded><![CDATA[<blockquote><p>In general, I see this something like bank systems—there it’s not acceptable that any transactions get lost or processed incorrectly. To me “it works most of the time” isn’t enough, particularily because the tendency with AJAX is to couple the UI straight to the network.</p></blockquote>
<p>Yes, I think it depends on the application. For an RSS feed reader it is OK that feeds get displayed in a random order. For every that involves transactions (bank system, &#8230;) there must be a transaction manager that enforces rules for how data is accessed.</p>
<p>I am not sure that that the solution given for the autocompleter which consists in blocking newer transactions until the previous one has been completed is a good solution, since this is basically doing synchronous calls.</p>
<p>I have experimented with stack sequences (LIFO) with a queue size of 1. It guarantees that only the latest action of the user will be displayed (the other ones are discarded). </p>
<p>for instance if you type:</p>
<p>   1 &#8211; 2 &#8211; 3 </p>
<p>in one sequence, only &#8216;3&#8242; will be displayed</p>
<p>If works fine, the only problem is that there must be a timeout so that requests do not block the entire sequence, indefinitely.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: HarryF</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14090</link>
		<dc:creator>HarryF</dc:creator>
		<pubDate>Fri, 17 Feb 2006 17:27:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14090</guid>
		<description>&lt;blockquote&gt;
Running the same demo without the Ajax Proxy or without the latency on the server gives totally different results, so I’d agree with Thomas that practically it may not necessarily be a problem.
&lt;/blockquote&gt;

Think you need to be very careful there. AJAX proxy is meant to simulate network effects that do happen. For example after the talk, someone listening told me they experienced more or less the same problem using the conference WLAN (that many people were using and many packets dropped through collisions).

Another network where you see really bad latency is mobile networks (not that AJAX is a good idea there anyway).

But this could effect any network. Even @localhost if you generate enough traffic, you may occasionally get requests and responses out of order.

In general, I see this something like bank systems - there it&#039;s not acceptable that &lt;em&gt;any&lt;/em&gt; transactions get lost or processed incorrectly. To me &quot;it works most of the time&quot; isn&#039;t enough, particularily because the tendency with AJAX is to couple the UI straight to the network.

Although this autocomplete example may not seem serious, long ago I used to work at a courier company where users were entering data at intense speed via a DOS application (Joel Spolsky goes on about these type of apps from time to time), and &quot;autocompletes&quot; were essential to what they were doing. They trusted the autocomplete and moved so fast, when entering data, that I expect they would not have noticed &quot;bogus&quot; completions. If there had been &quot;bogus&quot; completions, that would typically have meant packages being sent to the wrong address.</description>
		<content:encoded><![CDATA[<blockquote><p>
Running the same demo without the Ajax Proxy or without the latency on the server gives totally different results, so I’d agree with Thomas that practically it may not necessarily be a problem.
</p></blockquote>
<p>Think you need to be very careful there. AJAX proxy is meant to simulate network effects that do happen. For example after the talk, someone listening told me they experienced more or less the same problem using the conference WLAN (that many people were using and many packets dropped through collisions).</p>
<p>Another network where you see really bad latency is mobile networks (not that AJAX is a good idea there anyway).</p>
<p>But this could effect any network. Even @localhost if you generate enough traffic, you may occasionally get requests and responses out of order.</p>
<p>In general, I see this something like bank systems &#8211; there it&#8217;s not acceptable that <em>any</em> transactions get lost or processed incorrectly. To me &#8220;it works most of the time&#8221; isn&#8217;t enough, particularily because the tendency with AJAX is to couple the UI straight to the network.</p>
<p>Although this autocomplete example may not seem serious, long ago I used to work at a courier company where users were entering data at intense speed via a DOS application (Joel Spolsky goes on about these type of apps from time to time), and &#8220;autocompletes&#8221; were essential to what they were doing. They trusted the autocomplete and moved so fast, when entering data, that I expect they would not have noticed &#8220;bogus&#8221; completions. If there had been &#8220;bogus&#8221; completions, that would typically have meant packages being sent to the wrong address.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tech2All.Com &#187; Blog Archive &#187; Two kinds of AJAX: HTML++ vs Client / SOA</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14039</link>
		<dc:creator>Tech2All.Com &#187; Blog Archive &#187; Two kinds of AJAX: HTML++ vs Client / SOA</dc:creator>
		<pubDate>Thu, 16 Feb 2006 19:12:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14039</guid>
		<description>[...] Think this needs stating clearly, following the comment from Bill Edney on of technicalpursuit (Tibet), and because I think it reflects experiences people are having with AJAX. [...]</description>
		<content:encoded><![CDATA[<p>[...] Think this needs stating clearly, following the comment from Bill Edney on of technicalpursuit (Tibet), and because I think it reflects experiences people are having with AJAX. [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: jmo</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14020</link>
		<dc:creator>jmo</dc:creator>
		<pubDate>Thu, 16 Feb 2006 10:12:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14020</guid>
		<description>here is another demo:
&lt;a href=&quot;http://www.z3lab.org/sections/front-page/design-features/typewriter-demo&quot; rel=&quot;nofollow&quot;&gt;http://www.z3lab.org/sections/front-page/design-features/typewriter-demo&lt;/a&gt;

in my experience so far, network latency must be combined with some latency on the server (one request takes 1 second, the other takes 2 seconds) for the problem to arise.

Running the same demo without the Ajax Proxy or without the latency on the server gives totally different results, so I&#039;d agree with Thomas that practically it may not necessarily be a problem.</description>
		<content:encoded><![CDATA[<p>here is another demo:<br />
<a href="http://www.z3lab.org/sections/front-page/design-features/typewriter-demo" rel="nofollow">http://www.z3lab.org/sections/front-page/design-features/typewriter-demo</a></p>
<p>in my experience so far, network latency must be combined with some latency on the server (one request takes 1 second, the other takes 2 seconds) for the problem to arise.</p>
<p>Running the same demo without the Ajax Proxy or without the latency on the server gives totally different results, so I&#8217;d agree with Thomas that practically it may not necessarily be a problem.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Scriptorama &#187; How many ticks does it take to get the data of it?</title>
		<link>http://www.sitepoint.com/blogs/2006/02/10/ajaxlocalhost/comment-page-1/#comment-14015</link>
		<dc:creator>Scriptorama &#187; How many ticks does it take to get the data of it?</dc:creator>
		<pubDate>Thu, 16 Feb 2006 08:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1413#comment-14015</guid>
		<description>[...] Harry Fuecks heeft een interessante post op z&#8217;n SitePoint blog geplaatst. Het gaat over hoe je (bijvoorbeeld) zwaar kekke live search gaat reageren op het moment dat er netwerk latency optreedt. Tuurlijk, we hebben allemaal kabel of ADSL tegenwoordig, maar dat houdt niet in dat er nog vaak een X aantal routers tussen jouw browser en een website zitten. [...]</description>
		<content:encoded><![CDATA[<p>[...] Harry Fuecks heeft een interessante post op z&#8217;n SitePoint blog geplaatst. Het gaat over hoe je (bijvoorbeeld) zwaar kekke live search gaat reageren op het moment dat er netwerk latency optreedt. Tuurlijk, we hebben allemaal kabel of ADSL tegenwoordig, maar dat houdt niet in dat er nog vaak een X aantal routers tussen jouw browser en een website zitten. [...]</p>]]></content:encoded>
	</item>
</channel>
</rss>
