Ok, I tried JQAjaxifierLibrary on a few of my test apps and here&#39;s what i saw:<div><br></div><div>1. It definitely improves the user experience by doing what appears to be in-place updating -- no flicker as the page reloads.</div>
<div><br></div><div>2. As advertised, it required no changes to my code and my existing AJAX callbacks continued to work without modification.</div><div><br></div><div>3. I compared the Iliad multi-counter example with the Seaside multi-counter example after adding JQAjaxifierLibrary to it.  The ajaxified Seaside multicounter updates were noticably smoother than in the un-ajaxified version.</div>
<div><br></div><div>With a local server, the Iliad multicounter accomplishes the update in about one-half the time required by the Seaside version (about 10ms vs 20ms on my hardware). The Iliad response content length was 322 bytes while the Seaside response was 2603 bytes. (The toolbar was 893 of those bytes so the size for comparison should be 1710 bytes or about 5X the Iliad response.) The Iliad response contained an update for the changed counter only (and some overhead) while the Seaside response contained the entire page.</div>
<div><br></div><div>I think the major difference here is that the Iliad implementation, while requiring the programmer to manually mark widgets dirty, only updates the changed widgets, while ajaxified Seaside continues to render the entire page (albeit in a background request.)</div>
<div><br></div><div>In practice, I could observe no difference between the two -- I can&#39;t tell the difference between 10 and 20 ms -- so for relatively small updates this difference is probably not interesting. I would think for a page composed of many complex components though, the difference could conceivably be significant both in server processing load and transfer time when only one component of many  is updated.</div>
<div><br></div><div>Regards,</div><div>TF</div><div><br></div><div><br></div><div><div class="gmail_quote">On Wed, Dec 1, 2010 at 11:45 AM, Tony Fleig <span dir="ltr">&lt;<a href="mailto:tony.fleig@gmail.com">tony.fleig@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Wow I&#39;m glad I asked. I&#39;ll give JQAjaxifierLibrary a try.<div><br></div><div>Thanks a lot.</div><div>TF<div><div>
</div><div class="h5"><br><br><div class="gmail_quote">On Wed, Dec 1, 2010 at 10:41 AM, Lukas Renggli <span dir="ltr">&lt;<a href="mailto:renggli@gmail.com" target="_blank">renggli@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>&gt; Seaside&#39;s wonderful back-button management with continuations breaks when<br>
&gt; AJAX is used. Iliad has a &quot;different&quot; back-button approach (which is not<br>
&gt; clearly defined anywhere that I could find).<br>
&gt; Is there any chance that Seaside could acquire markDirty functionality and<br>
&gt; &quot;automatic&quot; AJAX callbacks like Iliad? I really like Seaside&#39;s completeness<br>
&gt; and well-documented features, but I find myself drawn to Iliad instead<br>
&gt; because for Web-2.0-style apps the out-of-the-box (default) user experience<br>
&gt; is so much better.<br>
&gt; Am I off-base here? Have I missed something important in my analysis?<br>
<br>
</div>Well, Seaside 3.0 has the JQAjaxifierLibrary built in, see<br>
<br>
   <a href="http://www.lukas-renggli.ch/blog/ajaxification" target="_blank">http://www.lukas-renggli.ch/blog/ajaxification</a><br>
   <a href="http://www.lukas-renggli.ch/blog/ajaxification-faq" target="_blank">http://www.lukas-renggli.ch/blog/ajaxification-faq</a><br>
<br>
I have been using successfully using this approach in various<br>
industrial applications since 2007 with PrototypeJS and later with<br>
JQuery. Albeit it has not gained much popularity in the wider Seaside<br>
community, I personally find it very elegant for the following<br>
reasons:<br>
<br>
1. You develop a normal application, you get an AJAX application for free.<br>
<br>
2. You do not need to mark components as dirty.<br>
<br>
3. You keep the full flexibility of how you structure your HTML.<br>
<br>
4. You keep the full flexibility of doing custom AJAX actions if<br>
necessary (e.g. to optimize certain updates).<br>
<br>
Lukas<br>
<font color="#888888"><br>
--<br>
Lukas Renggli<br>
<a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
_______________________________________________<br>
seaside mailing list<br>
<a href="mailto:seaside@lists.squeakfoundation.org" target="_blank">seaside@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
</font></blockquote></div><br></div></div></div>
</blockquote></div><br></div>