<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>DOM Scripting comments: Hijax</title>
        <link>http://domscripting.com/blog/display/41</link>
        <description>Progressive enhancement can and should be applied to Ajax apps.</description>
        <language>en</language>
        <item>
            <title>Andrew Wooldridge</title>
            <link>http://domscripting.com/blog/display.php/41#comment240</link>
            <content:encoded><![CDATA[<p>I&#8217;ve been pushing this idea for almost 6 years (before it&#8217;s time?) <a href="http://www.halfbakery.com/idea/dom_20browsing">http://www.halfbakery.com/idea/dom_20browsing</a></p>

<p>Which inspired this: <a href="http://devedge-temp.mozilla.org/viewsource/2003/inner-browsing/index_en.html">http://devedge-temp.mozilla.org/viewsource/2003/inner-browsing/index_en.html</a></p>

<p>So I&#8217;d be excited if this idea got more traction.  Another thought - imagine if you also inverted the idea meaning imagine if you had the data on a page in some raw format, and you could reference a &quot;template&quot; which was the real html (empty of content but with id&#8217;s for the &#8216;buckets&#8217;). You then refer to that template in your page which get&#8217;s cached as its own &#8216;entity&#8217; in the browser cache and could be used over and over for multiple sites. Templates could be created using some standard for describing &#8216;content&#8217; &#8216;menus&#8217; etc. You could even have the user specify the template on their own side which could make for seriously fast browsing.  Just my 2cents.</p>
]]></content:encoded>
            <pubDate>Fri, 27 Jan 2006 18:15:29 GMT</pubDate>
        </item>
        <item>
            <title>Steve Krutzler</title>
            <link>http://domscripting.com/blog/display.php/41#comment239</link>
            <content:encoded><![CDATA[<p>Personally I think you should always think about how users are going to get to different parts of your app if it&#8217;s in AJAX. As with Flash, there are no bookmark points in a totally AJAX site. Therefore unless you are going to maintain a server and client side version of the app, it&#8217;s best to use AJAX not as the central delivery mechanism for you content but as an enhancement. That being the goal, I question the necessity to completely replicate such an app with a server-side version. Since you shouldn&#8217;t be using AJAX to deliver the &quot;meat&quot; of the page, anyway, there shouldn&#8217;t be a need to develop a parallel web 1.0 version. </p>
]]></content:encoded>
            <pubDate>Fri, 27 Jan 2006 16:51:43 GMT</pubDate>
        </item>
        <item>
            <title>Mortimer</title>
            <link>http://domscripting.com/blog/display.php/41#comment238</link>
            <content:encoded><![CDATA[<p>atleta, yes, right now there is no server-side code to support the thing, I was too lazy to create a DB etc for the thing ;) </p>

<p>I was hopping that people would get the principle and see how it easily extend to you progressive-enhancement technique.</p>

<p>As there seems to be some interest on the technique, I am currently writting the tutorial on multiple inheritance that will introduce AJAX query and use your progressice enhancement method. But it requires more development on the server-side as the code has to be really modular. Should come soon ;) </p>
]]></content:encoded>
            <pubDate>Thu, 26 Jan 2006 11:06:14 GMT</pubDate>
        </item>
        <item>
            <title>atleta</title>
            <link>http://domscripting.com/blog/display.php/41#comment237</link>
            <content:encoded><![CDATA[<p>And another comment on this. Doing a webapp the hijax :) way also has the advantage that you can jump into the middle of it using a direct URL. (Though you would have to be tricky to get the URL. I don&#8217;t really know much about JS in web pages, maybe it can replace the text in the URL location bar.) You can also use the standard browser functions such as the &#8216;Open link in new tab/window&#8217; from the right click menu. Something which can be very irritating to miss if the designer chooses to use java script for handling links.</p>
]]></content:encoded>
            <pubDate>Thu, 26 Jan 2006 02:25:22 GMT</pubDate>
        </item>
        <item>
            <title>atleta</title>
            <link>http://domscripting.com/blog/display.php/41#comment236</link>
            <content:encoded><![CDATA[<p>Nice idea, I like it a lot, but your example doesn&#8217;t really do what you have described. It degrades nicely but it doesn&#8217;t show how the server side can help this. I.e. the whole information is dowloaded at once an then if we have JS enabled then some parts of the page is hidden, if we don&#8217;t then it&#8217;s just a simple page. But no demo of partial and full page downloads from the same webapp. This way it&#8217;s not AJAX but only &#8216;DHTML&#8217; (if we can use this world nowadays ;) ). </p>

<p>For this demo to be AJAX it would have to be rewritten so that it did HTTP requests to fetch some part of the page as the user clicks the header bar.</p>
]]></content:encoded>
            <pubDate>Thu, 26 Jan 2006 02:18:31 GMT</pubDate>
        </item>
        <item>
            <title>Mortimer</title>
            <link>http://domscripting.com/blog/display.php/41#comment235</link>
            <content:encoded><![CDATA[<p>I followed this Progressive Enhancement/Graceful Degradation idea and extended it with some object oriented approach to behaviour separation.</p>

<p>You can see the idea there:
<a href="http://6v8.gamboni.org/ObjectiveDegradation/hcal.html">http://6v8.gamboni.org/ObjectiveDegradation/hcal.html</a></p>

<p>and explanation here:
<a href="http://6v8.gamboni.org/ObjectiveDegradation-Javascript.html">http://6v8.gamboni.org/ObjectiveDegradation-Javascript.html</a></p>

<p>It&#8217;s a prototype now. But I hope you guys like it.</p>
]]></content:encoded>
            <pubDate>Wed, 25 Jan 2006 18:32:25 GMT</pubDate>
        </item>
        <item>
            <title>Jeremy Keith</title>
            <link>http://domscripting.com/blog/display.php/41#comment228</link>
            <content:encoded><![CDATA[<p>Relapse, I think you&#8217;re confusing graceful degradation with progressive enhancement. You&#8217;re right, though: the one follows on from the other. If you use progressive enhancement, the result will be graceful degradation.</p>

<p><a href="http://en.wikipedia.org/wiki/Progressive_Enhancement">http://en.wikipedia.org/wiki/Progressive_Enhancement</a></p>
]]></content:encoded>
            <pubDate>Fri, 20 Jan 2006 10:47:34 GMT</pubDate>
        </item>
        <item>
            <title>Relapse</title>
            <link>http://domscripting.com/blog/display.php/41#comment227</link>
            <content:encoded><![CDATA[<p>I dunno, I like the buzzword - requisite amount of pun and injoke detected.</p>

<p>An aside though, with the way that the &#8216;standards&#8217; minded developer works is &#8216;degrading gracefully&#8217; correct?  Cart before the horse, perhaps, as the way that I&#8217;ve seen it described by the standards minded they&#8217;re more geared towards &#8216;upgrading usefully&#8217;.  </p>
]]></content:encoded>
            <pubDate>Fri, 20 Jan 2006 03:51:24 GMT</pubDate>
        </item>
        <item>
            <title>James</title>
            <link>http://domscripting.com/blog/display.php/41#comment226</link>
            <content:encoded><![CDATA[<p>Hijax&#8230;&#8230;  Dumb buzz word.  Good concept.</p>
]]></content:encoded>
            <pubDate>Wed, 18 Jan 2006 23:54:41 GMT</pubDate>
        </item>
        <item>
            <title>Jeremy Keith</title>
            <link>http://domscripting.com/blog/display.php/41#comment213</link>
            <content:encoded><![CDATA[<p>Vladimir, yes, I&#8217;m talking about attaching event handlers (like onclick) externally instead of inline in the JavaScript. This idea of unobtrusive JavaScript is fairly central to the book and something that I bang on about at length. Again, that isn&#8217;t an Ajax-specific Ajax thing; it also applies to any kind of behavioural JavaScript.</p>
]]></content:encoded>
            <pubDate>Sun, 08 Jan 2006 13:22:57 GMT</pubDate>
        </item>
        <item>
            <title>Vladimir Kelman</title>
            <link>http://domscripting.com/blog/display.php/41#comment211</link>
            <content:encoded><![CDATA[<p>Jeremy, what is an alternative for using href=&quot;#&quot; or href=&quot;javascript:&quot; links? Are you saying about using a meaningful links lwith href=&quot;some<em>real</em>URL&quot; and having onclick event handler which stops this link from being followed and executing some [Ajax] JavaScript instead? Could you explain?
I like your idea of &quot;progressive enhancement and graceful degradation&quot; using a modular server-side architecture &quot;capable of returning entire pages or portions of pages&quot;! It&#8217;s clear and doable!
Basically, you need to write a set of functions or maybe a class with set of functions running on a server and then have one page [with server side script and no html] which handles a normal form post using a set of those functions, and other pages which handle xmlhttp request post/get submissions by using an appropriate subset of the same functions. It could be even the same page which behaves differently depending on who and how calls it. A kind of Web Service :)
This page then either redirects to an appropriate HTML page, or just sends an appropriate  XML or text back to AJAX caller.</p>

<p><a href="http://pro-thoughts.blogspot.com/">http://pro-thoughts.blogspot.com/</a></p>
]]></content:encoded>
            <pubDate>Sun, 08 Jan 2006 05:44:28 GMT</pubDate>
        </item>
        <item>
            <title>Dougal Campbell</title>
            <link>http://domscripting.com/blog/display.php/41#comment210</link>
            <content:encoded><![CDATA[<p>Yeah, and that&#8217;s not just a problem with AJAX. Those &quot;javascript:&quot; and &quot;#&quot; hrefs are still around on a lot of sites that do old school dynamic dropdown/flyout menus. I&#8217;ve been guilty of that in the past, though I know better now.</p>
]]></content:encoded>
            <pubDate>Thu, 05 Jan 2006 16:47:17 GMT</pubDate>
        </item>
        <item>
            <title>Jeremy Keith</title>
            <link>http://domscripting.com/blog/display.php/41#comment209</link>
            <content:encoded><![CDATA[<p>Well, Scott, that&#8217;s more an issue of how event handlers are added, be it for Ajax or for regular JavaScript functions.</p>

<p>Using href=&quot;#&quot; or href=&quot;javascript:&quot; is always going to be a bad idea when it comes to search engines spidering content.</p>

<p>It&#8217;s true that a lot of Ajax applications use href=&quot;#&quot; links.</p>
]]></content:encoded>
            <pubDate>Mon, 02 Jan 2006 23:39:08 GMT</pubDate>
        </item>
        <item>
            <title>Scott Johnson</title>
            <link>http://domscripting.com/blog/display.php/41#comment208</link>
            <content:encoded><![CDATA[<p>Another aspect of AJAX degradation that many seem to miss is that of search engines and other web crawlers.  Most of these don&#8217;t speak Javascript&#8212;and thus AJAX is way beyond them.  Search engines will not be able to fully crawl a site that is 100% AJAX unless it degrades gracefully.</p>
]]></content:encoded>
            <pubDate>Mon, 02 Jan 2006 23:21:54 GMT</pubDate>
        </item>
        <item>
            <title>Dustin</title>
            <link>http://domscripting.com/blog/display.php/41#comment207</link>
            <content:encoded><![CDATA[<p>Hijax&#8230;.I like it. Nevermind the fact that it took me several months to come around to finally being comfortable with saying &quot;Ajax&quot;. I too am guilty of just calling something ajax even when it&#8217;s not entirely that. It definitely has become that umbrella you talk about thus coming off more like an idea and concept.</p>

<p>When you do this - it&#8217;s ajax. When you do that - it&#8217;s ajax. Hey, let&#8217;s use Ajax! Yea&#8230;</p>
]]></content:encoded>
            <pubDate>Mon, 02 Jan 2006 21:44:12 GMT</pubDate>
        </item>
   </channel>
</rss>