<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Techtracer &#187; Ajax</title>
	<atom:link href="http://techtracer.com/category/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://techtracer.com</link>
	<description>Tracing the course of Web Technology</description>
	<lastBuildDate>Tue, 06 Jan 2009 12:14:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://techtracer.com</link>
  <url>http://techtracer.com/wp-includes/images/favicon.png</url>
  <title>Techtracer</title>
</image>
		<item>
		<title>NASA adopts Ajax, Launches NASA 5.0</title>
		<link>http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/</link>
		<comments>http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 17:04:22 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/</guid>
		<description><![CDATA[NASA has used Ajax to redesign its website for celebrating their 50th anniversary next year. More specifically speaking it makes use of Script.aculo.us and Prototype Ajax frameworks. There are numerous features which would give you a feel of presence of Ajax, the best of which is their image gallery.

The Accordian, the tree based navigation, calender [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nasa.gov/">NASA</a> has used Ajax to <a href="http://www.nasa.gov/externalflash/NASA50/nosound/1.html">redesign its website</a> for celebrating their 50th anniversary next year. More specifically speaking it makes use of <a href="http://ajaxian.com/archives/nasa-relaunches-50-with-prototype-and-scriptaculous">Script.aculo.us and Prototype</a> Ajax frameworks. There are numerous features which would give you a feel of presence of Ajax, the best of which is their <a href="http://www.nasa.gov/multimedia/imagegallery/iotd.html" target="_blank">image gallery</a>.</p>
<p style="text-align: center"><img src="http://techtracer.com/wp-content/uploads/2007/12/nasa_50.gif" alt="NASA 5.0" /></p>
<p>The <strong>Accordian</strong>, the<strong> tree based navigation</strong>, <strong>calender</strong> and the <strong>Ajax polls</strong> are something which you might have come across on different Ajax sites already. But the image gallery is something unique to see. It has all the images managed into sets which are displayed on the bottom. On clicking a set, the images lying within are shown in a manner similar to a deck of cards.</p>
<p style="text-align: center"><img src="http://techtracer.com/wp-content/uploads/2007/12/nasa_image_gallery.gif" alt="NASA Image Gallery" /></p>
<p>When you hover your mouse on above each partially visible card it becomes visible. You can click it to view to view the larger image. A <strong>full screen mode</strong> switch and a <strong>Thumbnail viewer</strong> has also been provided. Information relevant to the hovered image is shown in the right.</p>
<p>Overall, I liked the Ajax features implemented in the site. The navigation is <strong>user friendly</strong>. However owing to my slow connection, the site proved <strong>heavy to load</strong>. If you are curious to know how the old NASA website looked like, then have a look at this <a href="http://techtracer.com/wp-content/uploads/2007/12/nasa-home.png" target="_blank">image of the old layout</a>. From where I got the image, remains a secret. <img src='http://techtracer.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/" rel="bookmark" title="Permanent Link: Servlet 3.0 &#8211; The Journey Begins Now">Servlet 3.0 &#8211; The Journey Begins Now</a></li><li><a href="http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/" rel="bookmark" title="Permanent Link: Ajax Frameworks &#8211; Server side versus Client side">Ajax Frameworks &#8211; Server side versus Client side</a></li><li><a href="http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/" rel="bookmark" title="Permanent Link: Optimal use of Ajax &#8211; use Ajax the smart way">Optimal use of Ajax &#8211; use Ajax the smart way</a></li><li><a href="http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/" rel="bookmark" title="Permanent Link: Xinu &#8211; Ajax Based Site Statistics Tool">Xinu &#8211; Ajax Based Site Statistics Tool</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Minesweeper &#8211; Back with a Bang</title>
		<link>http://techtracer.com/2007/11/28/minesweeper-back-with-a-bang/</link>
		<comments>http://techtracer.com/2007/11/28/minesweeper-back-with-a-bang/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 06:00:25 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/11/28/minesweeper-back-with-a-bang/</guid>
		<description><![CDATA[If I asked you &#8220;What were the first few things you did when you purchased your first computer?&#8221;. I bet a majority of the answers would be open up the Programs menu and scramble for Games list. Then enjoy the most loved and sweet games such as Solitaire, Minesweeper, Spider, Pinball or Hearts. I have [...]]]></description>
			<content:encoded><![CDATA[<p>If I asked you &#8220;What were the first few things you did when you purchased your first computer?&#8221;. I bet a majority of the answers would be open up the Programs menu and scramble for Games list. Then enjoy the most loved and sweet games such as Solitaire, Minesweeper, Spider, Pinball or Hearts. I have loved them and still do. They relieve your tension without any hassles of the big bad world of 3D games and work on the weakest of the configuration.</p>
<p>If I picked a favorite of the lot, it would be <strong>Minesweeper</strong>. It is a single game which employs strategy over luck. But I miss it at my office since none of the computers come installed with it. But in the current age of web 2.0 who searches the program menu any way? Its all out there open on the web. And if you think that games are blocked as well you are pretty right. But when the provider itself is Google, who can come as a barrier. It was a startling revelation when I found Google did have its own version of <a href="http://fusion.google.com/add?moduleurl=http%3A//weihwa.feedback.googlepages.com/minesweeper.xml" target="_blank">Minesweeper</a> implemented with <strong>Ajax</strong>.  <strong>Google Minesweeper </strong>comes in a Google Homepage Gadget. In fact there are 5 games that you can choose from <a href="http://googlesystem.blogspot.com/2006/06/top-5-google-games.html" target="_blank">from here</a>.</p>
<p>If you however don&#8217;t like the layout of the minesweeper game in your homepage you can turn your heads to the more animated version <a href="http://blogs.telerik.com/blogs/silverlight_team/archive/2007/11/09/4714.aspx" target="_blank">offered by telerik</a>. It has been implemented Microsoft&#8217;s Silverlight. For playing  it, first <a href="http://www.microsoft.com/Silverlight/Install.aspx" target="_blank">install</a> the Microsoft Silverlight plugin and enjoy!</p>
<p style="text-align: center"><a href="http://blogs.telerik.com/demos/minesweeper/" target="_blank"><img src="http://blogs.telerik.com/photos/storage/minesweeper.jpg" title="SilverLight Minesweeper" alt="SilverLight Minesweeper" height="453" width="414" /></a></p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/03/28/convert-date-to-string-and-string-to-date-in-java/" rel="bookmark" title="Permanent Link: Convert Date to String and String to Date in Java">Convert Date to String and String to Date in Java</a></li><li><a href="http://techtracer.com/2007/12/06/hilarious-web-20-song/" rel="bookmark" title="Permanent Link: Hilarious Web 2.0 Song">Hilarious Web 2.0 Song</a></li><li><a href="http://techtracer.com/2007/04/01/json-web-services-the-xml-json-debate-further-ahead/" rel="bookmark" title="Permanent Link: JSON Web Services &#8211; the XML JSON debate further ahead">JSON Web Services &#8211; the XML JSON debate further ahead</a></li><li><a href="http://techtracer.com/2007/07/29/new-theme-for-techtracer/" rel="bookmark" title="Permanent Link: New Theme for TechTracer">New Theme for TechTracer</a></li><li><a href="http://techtracer.com/2007/08/01/j2ee-or-jee-java-5-or-java-15-is-sun-crazy/" rel="bookmark" title="Permanent Link: J2EE or JEE, Java 5 or Java 1.5 &#8211; Is SUN Crazy?">J2EE or JEE, Java 5 or Java 1.5 &#8211; Is SUN Crazy?</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/11/28/minesweeper-back-with-a-bang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servlet 3.0 &#8211; The Journey Begins Now</title>
		<link>http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/</link>
		<comments>http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 16:16:07 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/</guid>
		<description><![CDATA[The Servlet 3.0 specification is doing rounds of the web these days. Although people have loved to use Servlets for various purposes such as implementing business logic in case of small web applications to using it as a controller in MVC architectures, we are yet to see what power will the new specification unleash to [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>Servlet 3.0</strong> specification is doing rounds of the web these days. Although people have loved to use Servlets for various purposes such as implementing business logic in case of small web applications to using it as a controller in <strong>MVC</strong> architectures, we are yet to see what power will the new specification unleash to the world of web application development.</p>
<p>On a brief note the <strong>Servlet 3.0</strong> specification has been approved in the form of <a href="http://jcp.org/en/jsr/detail?id=315" target="_blank">JSR 315</a> is going to be a part of <strong>Java EE 6</strong> as <a href="http://blogs.sun.com/theaquarium/entry/jsr_315_servlet_3_0" target="_blank">mentioned by SUN</a>:</p>
<blockquote><p>The JCP has approved JSR 315 (ballot) starting the process that will develop Servlet 3.0. Servlet 3.0 is intended to be part of Java EE 6 together with approved JSRs like JSF 2.1 and JAX-RS 1.0 and several more yet to be launched.</p></blockquote>
<p>The new specification suggests to bring in the feature of <strong>asynchronicity</strong> to Servlets. We still can leverage the asynchronous nature in a <strong>JEE</strong> application with the use of <a href="/category/ajax/">Ajax</a>. Experts think that the Ajax model has a problem in its working which can be seen in this <a href="http://docs.codehaus.org/display/JETTY/Continuations">JETTY Continuations</a> theory . Having an inherent quality of server side asynchronous nature means that we <strong>wont</strong> be having the need of Ajax altogether! Somebody should correct me if I am wrong here.</p>
<p>If we presume that the server which will be based on the new specification, is bound to handle <strong>queues</strong> for loads of asynchronous requests, then in my opinion it will make the server performance a little <strong>slower</strong>. I am yet seen an implementation of of asynchronous <strong>JAX WS</strong> service, so it might be possible that I am bit outdated on that aspect.</p>
<p>But to all my JEE lovers, its a good news that finally we would have something more to cheer about. The good news is that majority of the <strong>JCP</strong> members have nodded their heads in favor of <strong>JSR 315</strong>. You can see through their <a href="http://jcp.org/en/jsr/results?id=4292">polling results</a>. I think I would need to get <a href="/2007/07/09/scwcd-mission-accomplished-2/">my certification</a> for <strong>J2EE 1.4</strong> upgraded but I have no complaints. <img src='http://techtracer.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/06/21/learn-the-servlet-api-a-step-by-step-approach/" rel="bookmark" title="Permanent Link: Learn the Servlet API &#8211; A step by step approach">Learn the Servlet API &#8211; A step by step approach</a></li><li><a href="http://techtracer.com/2007/08/13/java-ee-exhaustive-yet-enchanting/" rel="bookmark" title="Permanent Link: Java EE &#8211; Exhaustive yet Enchanting">Java EE &#8211; Exhaustive yet Enchanting</a></li><li><a href="http://techtracer.com/google-search/" rel="bookmark" title="Permanent Link: Search Results">Search Results</a></li><li><a href="http://techtracer.com/2007/06/03/the-struts-framework-why-choose-it/" rel="bookmark" title="Permanent Link: The Struts Framework &#8211; Why choose it?">The Struts Framework &#8211; Why choose it?</a></li><li><a href="http://techtracer.com/2007/06/22/learn-the-servlet-api-servletrequest-and-httpservletrequest/" rel="bookmark" title="Permanent Link: Learn the Servlet API &#8211; ServletRequest and HttpServletRequest">Learn the Servlet API &#8211; ServletRequest and HttpServletRequest</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Xinu &#8211; Ajax Based Site Statistics Tool</title>
		<link>http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/</link>
		<comments>http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/#comments</comments>
		<pubDate>Sun, 15 Jul 2007 14:17:12 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/</guid>
		<description><![CDATA[You might have used many site statistics checking mechanisms to keep a track of how much popular your site is. Such mechanisms include using Google Pagerank, Alexa&#8217;s ranking tool, Technorati&#8217;s Authority Value, the number of diggs you have got. But this requires you to go to the individual sites to keep a watch. This is [...]]]></description>
			<content:encoded><![CDATA[<p>You might have used many <strong>site statistics</strong> checking mechanisms to keep a track of how much popular your site is. Such mechanisms include using Google <strong>Pagerank</strong>, <strong>Alexa</strong>&#8217;s ranking tool, <strong>Technorati&#8217;s Authority</strong> Value, the number of <strong>diggs</strong> you have got. But this requires you to go to the individual sites to keep a watch. This is time consuming.</p>
<p align="center"><a href="http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/xinupng/" rel="attachment wp-att-74" title="xinu.png"><img src="http://techtracer.com/wp-content/uploads/2007/07/xinu.png" alt="xinu.png" /></a></p>
<p><a href="http://ajaxian.com/archives/xinu-dashboard-for-webmasters" target="_blank">Ajaxian</a> recently reported about this tool by the name <a href="http://www.viciao2k3.net/services/xinu/" target="_blank">Xinu</a> which is simply amazing. Some of the amazing statistics it provides are:</p>
<ol>
<li>Page indexed by various search engines</li>
<li>Keywords listed in your site</li>
<li>Site ranking</li>
<li>Site linked in various social networks</li>
<li>Errors found in your site&#8217;s HTML or CSS code</li>
<li>Backlinks to your site from various engines</li>
</ol>
<p>Isn&#8217;t this simply amazing to see the list of features? Although this tool is in <strong>Spanish</strong> the statistics are easier to understand and valuable. They give an insight even to the most overlooked aspects which might be crucial in getting more popularity to your site. Another nice feature of this tool is it gives you all the statistics in a <strong>downloadable PDF</strong> format.</p>
<p>The user interface of <strong>Xinu</strong> is completely <strong>Ajax based</strong>. So that&#8217;s an added advantage of faster response. One thing that you would particularly like is that the different satistics keep filling one by one and you can <strong>customise</strong> the flow. There are <strong>draggable</strong> blocks of statistics categories as in the above mentioned list and the the blocks are filled acoording to their placement i.e upper blocks will be proccessed first.</p>
<p>Although not very sophisticated enough the idea is very innovative and it would be very nice to have such facilities in an English version and with customizable statistics features! Feel free to share if you know any other such utilities available elsewhere.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/" rel="bookmark" title="Permanent Link: NASA adopts Ajax, Launches NASA 5.0">NASA adopts Ajax, Launches NASA 5.0</a></li><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/07/30/plagiarism-black-listing-of-sites-is-a-must/" rel="bookmark" title="Permanent Link: Plagiarism &#8211; Black Listing of Sites is a Must">Plagiarism &#8211; Black Listing of Sites is a Must</a></li><li><a href="http://techtracer.com/2008/06/15/best-tools-for-editing-your-photos-online/" rel="bookmark" title="Permanent Link: Best Tools For Editing Your Photos Online">Best Tools For Editing Your Photos Online</a></li><li><a href="http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/" rel="bookmark" title="Permanent Link: Optimal use of Ajax &#8211; use Ajax the smart way">Optimal use of Ajax &#8211; use Ajax the smart way</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ajax Exposed &#8211; Myth and Reality</title>
		<link>http://techtracer.com/2007/04/29/ajax-exposed-myth-and-reality/</link>
		<comments>http://techtracer.com/2007/04/29/ajax-exposed-myth-and-reality/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 17:00:00 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/04/29/ajax-exposed-myth-and-reality/</guid>
		<description><![CDATA[Ajax, from its onset, has seen many debates and discussions which not only have helped it flourish even more in its overall popularity but also have made it gain world wide acceptance and more standardized approach. However, there are still a lot of myths associated with Ajax and many of them have come out through [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ajax</strong>, from its onset, has seen many debates and discussions which not only have helped it flourish even more in its overall popularity but also have made it gain world wide acceptance and more standardized approach. However, there are still a lot of myths associated with <strong>Ajax</strong> and many of them have come out through discussions in forums and through the blogosphere. This article tries to relate all of them and recall their origin and the realities attached behind the scenes.</p>
<p><u><strong>Ajax is not about XMLHttprequest Object</strong></u><br />
Most of the people think that if they know about the <strong>XMLHttpRequest</strong> (XHR) object then they are Ajax programmers. Only a part of this statement is true since the base of Ajax is about <strong>XHR</strong>. But Ajax is not just about <strong>XHR</strong>.</p>
<p><a href="http://www.adaptivepath.com/publications/essays/archives/000385.php">The article by Jesse James Garet</a> (who originally coined the term <strong>Ajax</strong>) mentions the same as,</p>
<blockquote><p>XMLHttpRequest is only part of the Ajax equation. XMLHttpRequest is the technical component that makes the asynchronous server communication possible; Ajax is our name for the overall approach described in the article, which relies not only on XMLHttpRequest, but on CSS, DOM, and other technologies.</p></blockquote>
<p>Working with Ajax means that you intend to use asynchronous behavior in your web page. The next thing which comes into practicality of Ajax usage is the <strong>XHR</strong> object. Although asynchronous, your web page will be far away from using Ajax in the right manner.</p>
<p>Ajax was not just meant for providing asynchronous behavior, but to make a web page shed its primitive look from blocking a view whenever a request was made to a look, which more seemed as if a person was working on his desktop application, by a combination of features provided through CSS, DOM, etc along with the specialty of <strong>XHR</strong>. The driving force to the popularity that Ajax has received is majorly speed and natural responsiveness which means that a response is generated to only what is demanded keeping the other things constant without changing.</p>
<p>Thus a person gives a preference more to a quick responsive page rather than the one which takes intervals in each and every request initiated and makes changes to the other things as well. <strong>XMLHttpRequest</strong> might be the base but along with the asynchronous behavior that <strong>XHR</strong> inherently provides you should be using it carefully with a proper separation of concerns between DOM, JavaScript and CSS along with XML, XSLT and XHTML.</p>
<p><strong><u>Ajax is not an acronym</u><br />
</strong>The fact is that, Ajax is just a shorthand for <em>Asynchronous JavaScript and XML</em>. When the Ajax hype happened about a year ago all the work done in Ajax was a miracle for those who hadn&#8217;t been much into the user interface driven aspects like CSS, JavaScript and XML. With the advent of Ajax, people have recently become more enthusiastic about<strong> JavaScript</strong> which was once a hated language by programmers amidst all the heavy duty strict counterparts like <strong>Java, C#,</strong> etc.</p>
<p>However, people failed to realize that this comparison was baseless since JavaScript was <strong>client side UI driven technology</strong> and had nothing to do with remote technology that Java, C# provided. Both belong to the different paradigms and cannot be compared. The name might itself suggest, JavaScript is nothing more than a scripting language for browsers in order to make the DOM active in its response. It is <strong>UI related</strong> and not meant for server side. However if you have used ASP you might disagree with this statement. But that is a different thing concerning with familiarity of JavaScript users for ASP using JavaScript.</p>
<p>In the <a href="http://www.gcn.com/blogs/tech/41547.html">Story behind Ajax</a>, <a href="http://jjg.net/">Garett</a> once again comes upfront to clearly mention this</p>
<blockquote><p>I thought of Ajax as a convenient [term]. It was never intended as an acronym.</p></blockquote>
<p><strong>Ajax</strong> came into the popularity charts due its <strong>catchy term</strong> and powerful way of representing a number of different things under its hood. Many JavaScript libraries which were providing a set of dynamic functionality to a web page became full fledged <strong>Ajax Toolkits</strong> since the emergence of this term. However if you see the source of these toolkits, you would come to know that they are a pure blend of many complicated modules involving CSS, XML, iFrames, Closures,etc.</p>
<p>The only place where the asynchronous behavior comes into picture is where the <strong>XHR</strong> object is used or where a graceful degradation in the form of an <strong>iFrame</strong> is provided for old browser compatibility. Rest of the rich interface experience is brought by other prior existing features like JavaScript special effects and utilities. Now these have come into limelight due to the coinage of the term &#8220;<strong>Ajax</strong>&#8220;. It can be compared to as a brand name rather than an paradigm shift.</p>
<p><u><strong>Ajax is not AJAX</strong></u><br />
When <strong>Jesse James Garett</strong> had coined the term <strong>Ajax</strong> it was used in <strong>camel case</strong>. But due to its expansion coming into the limelight as &#8220;<em>Asynchronous JavaScript and XML</em>&#8221; (notice the uppercase of the words) people represented it as <strong>AJAX</strong> and not <strong>Ajax</strong>. Much hue and uproar was made about this inclusion. Should Ajax or AJAX be used, is of more importance in the data driven aspects.</p>
<p>If you have a tool or search engine which you use to search case sensitive terms then using <em>Ajax</em> will fetch different results than <em>AJAX</em>. The same applies to using case sensitive <strong>switch cases</strong> in your applications which might be disturbing of search intensive applications. So it is required that people across the world stick to a single norm. The reference of the usage is correctly attributed to the creator of the term itself i.e <strong>Jesse James Garette</strong>. He used <strong>Ajax</strong> <em>(camel case)</em>. <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">Wikipedia</a> also uses in the same way, alongwith many big vendors, so it ought to be <strong>Ajax</strong> and <strong>not AJAX</strong>.</p>
<p><strong>Arun Gupta</strong> recalls his experience in <a href="http://weblogs.java.net/blog/arungupta/archive/2007/04/ajax_vs_ajax_aj.html">making the changes at Sun Microsystems</a>.</p>
<blockquote><p>Ajax is a popular term for past few months but is still being written incorrectly as &#8220;AJAX&#8221; (all capitals) instead of &#8220;Ajax&#8221; (camel case). I started using AJAX but then corrected myself and have been using Ajax since then.</p></blockquote>
<p><strong>Arun</strong> has mentioned a set of nice resources which prove the need of using a globally accepted term. Its analogy can be put forward to the acceptance of English as a global language. Even this site needs to make the changes to the usages of the term <em>AJAX</em> wherever used. So if you are in the <em>AJAX</em> bandwagon it would be better to jump on to the <em>Ajax</em> one, due to the global directives.</p>
<p><u><strong>Ajax is not Web 2.0</strong></u><br />
<a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> is a conceptual term and rather a representational term which in recent times is being used on a tremendous scale to put forward the freedom of data usage on the web. Earlier the web was used to share data statically and allow limited interactions in the form of feedbacks from the user. But today if we see the web, its a lot more interactive and user has the power to generate content, publish at ease and choose various alternatives to acquire it.</p>
<p>The web sites today cater more to the user inputs rather than passive information being pushed to the users. The result being the increasing number of <strong>blogs, forums, social networks</strong> and <strong>communities</strong>. In addition to the increasing user interactions, Web 2.0 is about using data freely. There is no limitation to getting data only in a pre-specified format or a pre-specified contractual terms.</p>
<p>The user is free to choose how he can receive the same data in various ways. The proof of the fact is the number of technologies that are being built to cater to this aspect. <strong>Web Services, RSS Feeds, Webcasts, Podcasts</strong> etc. Spreading of data more accurately and in a wide spread manner is another aspect of Web 2.0. <strong>Tagging, Online bookmarking</strong> are only the beginning of such techniques and the web is about to see a lot more than this.</p>
<p>In his article, <strong>De Witt Clinton</strong> tries to showcase this is a rather detailed approach on <a href="http://blog.unto.net/work/on-web-20/">how communication has evolved,</a></p>
<blockquote><p>Web 2.0 is about giving up control. It is about setting the data free. It is about providing services that work with other peopleâ€™s data. It is about having a valuable resource and making no presumptions about how or where that resource will be used.</p></blockquote>
<p>In my opinion, the <strong>web</strong> just might become obsolete in the near future. The fact being it might be something closer to having <strong>online desktops</strong>. It might be possible that computers will be replaced entirely by mobiles which would become more handy than a computer, with power packed business and multimedia features.</p>
<p><strong>Ajax</strong> can be considered to as a part of the implementation process but not a concept of Web 2.0. <strong>Web 2.0</strong> is also just a term used to replace long statements indicating the changing nature of the web and not a replacement to the existing characteristics of the web, just like <strong>Ajax</strong> did to the underlying technologies. You might read about this aspect in <a href="http://en.wikipedia.org/wiki/Web_2.0#Criticism">Wikipedia&#8217;s information on Web 2.0</a>,</p>
<blockquote><p>The argument also exists that &#8220;Web 2.0&#8243; does not represent a new version of <a href="http://en.wikipedia.org/wiki/World_Wide_Web" title="World Wide Web">World Wide Web</a> at all, but merely continues to use &#8220;Web 1.0&#8243; technologies and concepts.</p></blockquote>
<p>The term <strong>Web 2.0</strong> showcases how data can be shared and used freely without any sort of restrictions while <strong>Ajax</strong> makes it possible to make innovations which attribute to the growth of <strong>Web 2.0</strong>. It&#8217;s more of a marketing strategy when you see <strong>Ajax</strong> and <strong>Web 2.0</strong> used as synonyms just to derive maximum popularity owing to the two latest terms coined. <strong>Web 2.0</strong> shows the way to <em>use</em> and <em>spread</em> data while <strong>Ajax</strong> is a practical approach to <em>present</em> the data in an effective and interactive manner.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/" rel="bookmark" title="Permanent Link: NASA adopts Ajax, Launches NASA 5.0">NASA adopts Ajax, Launches NASA 5.0</a></li><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/03/12/the-birth-of-ajax-an-amazing-story/" rel="bookmark" title="Permanent Link: The birth of AJAX &#8211; an amazing story">The birth of AJAX &#8211; an amazing story</a></li><li><a href="http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/" rel="bookmark" title="Permanent Link: Servlet 3.0 &#8211; The Journey Begins Now">Servlet 3.0 &#8211; The Journey Begins Now</a></li><li><a href="http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/" rel="bookmark" title="Permanent Link: Ajax Frameworks &#8211; Server side versus Client side">Ajax Frameworks &#8211; Server side versus Client side</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/04/29/ajax-exposed-myth-and-reality/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Optimal use of Ajax &#8211; use Ajax the smart way</title>
		<link>http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/</link>
		<comments>http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 16:47:06 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Concepts]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/</guid>
		<description><![CDATA[Web 2.0 is the thing that can make your site stand out from the hoard of web sites springing up day by day. But are they efficient enough to make a big impression? You need to analyze on some common principles to make the best impression.  These principles make you use it in the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Web 2.0 </strong>is the thing that can make your site stand out from the hoard of web sites springing up day by day. But are they efficient enough to make a big impression? You need to analyze on some common principles to make the best impression.  These principles make you use it in the smart way!  Web 2.0 today dominates mostly in the usage of <strong>Ajax today. </strong>I had written on how to go about <a href="http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/">choosing the right framework</a> and the <a href="http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/">different types of frameworks</a> which are available to you to join the web 2.0 league. Today let&#8217;s see how can you can use <strong>Web 2.0</strong> features in the smart manner because the smartness will inspire others to work efficiently as well.<a href="http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/"><br />
</a></p>
<p>Looking at the features of <strong>Ajax</strong> that hundreds of frameworks today provide, you might get sometimes tempted to use them all. Its pleasing when the user interface is more interactive and more user friendly at the same time attractive. To make these you have to use the framework which provides such eye candy. But before you decide on a particular you must have these things in mind.</p>
<ol>
<li> Size of the total number of JavaScript pages</li>
<li>Check for frameworks or API for memory leaks</li>
<li>Don&#8217;t bloat your code</li>
<li>Use interactivity only where required</li>
<li>Don&#8217;t try to use <strong>Ajax</strong> where bookmarking is heavily used</li>
<li>Test your <strong>Ajax</strong> code properly</li>
</ol>
<p>Let&#8217;s see each one in detail.  </p>
<p>1. <em><strong>Size of the total number of JavaScript pages</strong></em><br />
This is one of the most important aspects when you go for deciding a framework. The JavaScript in the pages is nothing else than the code which the <strong>client has to download</strong>, in order to make available the features for the frameworks. If you find the download of a particular framework package very heavy then it would be the same feeling that the end user would be getting if you use the same framework API. This is because for using the eye candy features for the framework the end user&#8217;s browser would first download the JavaScript files and then execute the features.</p>
<p>2. <em><strong>Check for frameworks or API for memory leaks</strong></em><br />
This is the second most important thing you should watch out for. Normally while you program you work with an <strong>IDE</strong>. The IDE automatically alerts you when you make an infinite loop in your code accidentally. But when you code either in raw JavaScript or use any framework you do not have any IDE because there are not many good IDE&#8217;s that handle JavaScript well. So it might happen that you leave out a loop in a infinite manner or you could introduce a recursive functions which never ends. This often results in memory overloading on the client side thus crashing the browser or system. The other reasons for a memory leak might be the framework itself.</p>
<p>If you had seen the <strong>DOJO toolkit</strong> site earlier which works on DOJO you might have sometimes cursed the loading time for the site. Many a times my browser has crashed the moment I opened the site. This is because frameworks like DOJO implement the <strong>Ajax</strong> behavior and other features using a lot of code. And hence when the site loads the features use up the system memory for rendering the widgets in the browser.</p>
<p>3.<em><strong> Don&#8217;t bloat your code</strong></em><br />
Using some multiple free script&#8217;s is good but using multiple frameworks is a big no no. This is because of the same reason as stated in the earlier example. Bloating of code takes time to get downloaded and you can sometimes leave some part of the code unattended which results in memory leaks. Bloating of code can also occur if you unnecessary import all the necessary JavaScript file required for the entire website in a single page itself.</p>
<p>This is a common phenomenon since we generally put the import tags in the header files of the site. These header files are included in every page for displaying the header. But behind the load of each page the JavaScript files unnecessary get loaded into the browsers memory on the client side which slows down the execution of the site. In order to avoid this it is important that you just import the required JavaScript files in the appropriate pages and thus make the execution of the pages faster.</p>
<p>4. <em><strong>Use interactivity only where required</strong></em><br />
Never think in the manner that since your site is having the web 2.0 feature each and everything in it should be made via scripts. This is bad thinking. <strong>Ajax promotes interactivity</strong> hence it is must that you just make the page interactive when there are many components on the page. If you have <strong>personalized</strong> the Google homepage you might probably know about this very well. In the personal homepage you can see how convenient it is to modify a single component without disturbing the others. So <strong>Ajax</strong> fits in the picture in such a case.</p>
<p>Now lets take the example of a blog. On the homepage of a blog you see a list of posts and when you click the title of a post, the post page loads up. Now whether you simply load the page in the normal fashion or if <strong>Ajax</strong> is used in here,  <strong>the time taken is the same</strong>.  No fast loading takes place nor nothing on the site looks more appealing if Ajax is used in such situation since the data to be fetched from the server does not change.</p>
<p>The point I am trying to make is that Ajax should be used in those places where it solves some purpose and not in the places where it seems unnecessary. It is just a waste of time to put the efforts in this case.</p>
<p>5. <em><strong>Don&#8217;t try to use Ajax where bookmarking is heavily used.</strong></em><br />
If you are a blog owner then you might understand the importance of <strong>trackbacks</strong> or <strong>permalinks</strong>. Those are the blog&#8217;s savior since they are universally unique and reachable to any person who uses it whenever required. Ajax has a very undesirable feature which might make a blog less popular i.e <strong>Ajax pages cannot be bookmarked</strong>. If you use Ajax to load a post as I had mentioned in the example of point number 4. then the post loads up the same page <strong>without changing the URL</strong>. This is because it is loaded asynchronously.</p>
<p>Now if a person looks at such a loaded page and likes the content he might immediately bookmark without a second thought. But when he requests for the same page again.. voila! he doesn&#8217;t see the post. Instead he sees your homepage. Of course you can avoid this by explicitly specifying the trackback URL but you can never gaurantee that the reader of your content might be even knowledgeable of what <strong>Ajax</strong> is and what trackbacks are used for. Hence your blog traffic might suffer.</p>
<p>6. <em><strong>Test your Ajax code properly</strong></em><br />
There are not many testing tools available in the market nor very well practiced approaches for testing but you can be sure of making your code work properly by using some utilities which target the JavaScript behavior in the browser. One such utility is the <strong>FireBug </strong>which is absolutely marvelous when it comes to checking the Ajax code. I have not explored it completely but it helped to cure many bugs when I had worked in <strong>Ajax</strong> for a web application. It is freely available and comes as a <strong>plugin for Firefox. </strong>So make sure that you test the <strong>Ajax</strong> code to the maximum since a bug in the <strong>Ajax</strong> code can have many side effects.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/" rel="bookmark" title="Permanent Link: NASA adopts Ajax, Launches NASA 5.0">NASA adopts Ajax, Launches NASA 5.0</a></li><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/" rel="bookmark" title="Permanent Link: Servlet 3.0 &#8211; The Journey Begins Now">Servlet 3.0 &#8211; The Journey Begins Now</a></li><li><a href="http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/" rel="bookmark" title="Permanent Link: Ajax Frameworks &#8211; Server side versus Client side">Ajax Frameworks &#8211; Server side versus Client side</a></li><li><a href="http://techtracer.com/2007/07/15/xinu-ajax-based-site-statistics-tool/" rel="bookmark" title="Permanent Link: Xinu &#8211; Ajax Based Site Statistics Tool">Xinu &#8211; Ajax Based Site Statistics Tool</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JSON Web Services &#8211; the XML JSON debate further ahead</title>
		<link>http://techtracer.com/2007/04/01/json-web-services-the-xml-json-debate-further-ahead/</link>
		<comments>http://techtracer.com/2007/04/01/json-web-services-the-xml-json-debate-further-ahead/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 13:52:18 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/04/01/json-web-services-the-xml-json-debate-further-ahead/</guid>
		<description><![CDATA[I have been keeping a track of JSON (JavaScript Object Notation) versus XML for the past couple of months when AJAX came up as a big bang approach.  Arun Gupta also recounts his similar experience with the XML JSON debate and concludes,
XML is document-oriented and JSON is data-oriented. So if you want to deal [...]]]></description>
			<content:encoded><![CDATA[<p>I have been keeping a track of <a href="http://www.json.org/">JSON (JavaScript Object Notation)</a> versus <a href="http://en.wikipedia.org/wiki/XML">XML</a> for the past couple of months when <a href="http://techtracer.com/2007/03/12/the-birth-of-ajax-an-amazing-story/">AJAX</a> came up as a big bang approach.  <a href="http://blogs.sun.com/arungupta/entry/language_neutral_data_format_xml">Arun Gupta</a> also recounts his similar experience with the XML JSON debate and concludes,</p>
<blockquote><p>XML is document-oriented and JSON is data-oriented. So if you want to deal with highly structured documents that requires a complex structure, binary data, exact ordering of elements and be able to render itself then use XML. If you are focused on light-weight data exchange then JSON is the way to go.</p></blockquote>
<p>In my opinion too JSON is handy only for <strong>light weight data transfer</strong> and nothing more than that. But with more nesting of data JSON can get utterly complex than XML. With XML you can define <strong>Schemas</strong>, form standardized document structures , extend exisiting document structures or import them when needed. The <strong>namespaces</strong> concept of XML has been very well established and incorporated in today&#8217;s applications and libraries.</p>
<p><u><em><strong>XML Dominance</strong></em></u><br />
XML got more acceptance due to the already well established markup languages like HTML. Due to <a href="http://www.w3.org/XML/">standardization by W3C</a> it got quickly incorporated into the big vendors tools. Even a well documented JSP is purely XML. The main advantage of XML success is the XML Schema defintion language (XSD) which has given rise to numerous other standards like <a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>, <a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a> etc. It is a very <strong>flexible</strong> and <strong>extensible</strong> language.</p>
<p>If you look behind the scenes a bit, XML has been reigning from the past and its usage in the industry has become massive. You might not be aware but all the big applications use XML either for storage, transfer, presentation or configuration of data and also meta data. MS SQL uses XML to transfer data from one database to other. MS WORD uses XML to provide formatting of user input content in the documents.</p>
<p><u><em><strong>JSON- Some Facts</strong></em></u><br />
Coming back to JSON, the main fact which goes against JSON is<strong> it is not standardized</strong>. But now if JSON wants to establish its presence then the only field in my opinion would be <strong>SOA web services and AJAX</strong> where, it has received a lot of attention. Lately the debate on using web services with JSON has started. XML being heavy puts somewhat a hindrance on the acceptance of web services since the network infrastructure needs to get upgraded to get quicker adoption of XML RPC web services. With JSON, if web services give a higher throughput then it might be time to cash upon its acceptance for data transfer. Alexander writes about <a href="http://myarch.com/json-pros-and-cons">JSON pros and cons</a> in his blog <em>MyArch</em>,</p>
<blockquote><p>One of the keys to SOA success is that it should be easy to consume a service, i.e., the entry barrier for service consumers must be low to support &#8220;grass root&#8221; SOA adoption. While a top-down SOA effort may succeed, it will certainly take longer than bottom-up (&#8220;grass-root&#8221;) approach when developers are able to consume services as they see fit. AJAX/JSON fits this bill perfectly &#8211; it is easily understood by developers and it does not require any Web services -specific tools or infrastructure.So overall I&#8217;m pretty enthusiastic about JSON.</p></blockquote>
<p><u><em><strong>Advantages of JSON </strong></em></u><br />
The advantage of using JSON instead of XML is in the inheritent quality of data structuring in JSON. JSON is more closer to being a <span class="tooltip" title="header=[HashMap] body=[An object which consists of name-value pair of data]">HashMap</span> as in java or an <span class="tooltip" title="header=[Associative Array] body=[An array which uses string values instead of numbers as index]">associative array</span> in some other languages like <a href="http://www.php.net">PHP</a>. Hence it does not require parsing libraries in an application as XML does. The time spent however, on parsing XML into the native language, is not so much significant considering the fast processing power of machines today.</p>
<p>The comparison of XML and JSON lies more on the <strong>network bandwidth</strong> aspect. JSON can take almost <strong>half of the bandwidth</strong> as XML for transferring the same data. It can achieve the same throughput as passing simple objects in the network in a distributed computing environment.</p>
<blockquote></blockquote>
<p><u><em><strong>JSON Web Services?</strong></em></u><br />
It would be interesting to see how would a SOAP message with JSON look like. You have to remember that WSDL is an extensible language and till date only <strong>HTTP Bindings</strong> and <strong>SOAP Bindings</strong> have been defined for it. It wont be long before we see <strong>JSON Bindings</strong> coming into the WSDL documents.  Who would not want a quick data transfer while using web services into the application?</p>
<p>AJAX with JSON has got accepted well since JavaScript has the inbuilt capability to handle JSON data and if JSON web services start getting acceptance it might get well flourished to reach the popularity charts as XML did. Is the web service industry looking for a paradigm shift or are we just building a castle in the air?</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2006/10/16/bea-aqualogic-data-services-platform-first-glimpse/" rel="bookmark" title="Permanent Link: BEA Aqualogic Data Services Platform &#8211; First Glimpse">BEA Aqualogic Data Services Platform &#8211; First Glimpse</a></li><li><a href="http://techtracer.com/2007/04/09/web-and-desktop-apps-the-3rd-world-war/" rel="bookmark" title="Permanent Link: Web and Desktop Apps &#8211; the 3rd World War!">Web and Desktop Apps &#8211; the 3rd World War!</a></li><li><a href="http://techtracer.com/2007/03/15/scdjws-preparation-a-kick-start-guide/" rel="bookmark" title="Permanent Link: SCDJWS preparation &#8211; a kick start guide">SCDJWS preparation &#8211; a kick start guide</a></li><li><a href="http://techtracer.com/2007/03/17/scdjws-study-material-and-resources-the-most-searched-thing/" rel="bookmark" title="Permanent Link: SCDJWS study material and resources &#8211; The most searched thing">SCDJWS study material and resources &#8211; The most searched thing</a></li><li><a href="http://techtracer.com/2007/08/19/working-with-jax-ws-in-jdk-16/" rel="bookmark" title="Permanent Link: Working With JAX-WS in JDK 1.6">Working With JAX-WS in JDK 1.6</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/04/01/json-web-services-the-xml-json-debate-further-ahead/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ajax Frameworks &#8211; Server side versus Client side</title>
		<link>http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/</link>
		<comments>http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 16:41:54 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/</guid>
		<description><![CDATA[The advent of Ajax has brought about a lot of frameworks to the bill board, all boasting about their inept qualities in providing you the best from the rest. But how would you go about choosing a right kind of framework for your application.
In order to make things simple, the overall horde of Ajax frameworks [...]]]></description>
			<content:encoded><![CDATA[<p>The advent of Ajax has brought about a lot of frameworks to the bill board, all boasting about their inept qualities in providing you the best from the rest. But how would you go about choosing a right kind of framework for your application.</p>
<p>In order to make things simple, the overall horde of Ajax frameworks can be classified into two major leagues:</p>
<ol>
<li>Server Side Framework</li>
<li>Client Side Frameworks</li>
</ol>
<p><em><strong>Server Side Frameworks<br />
</strong></em>Server side frameworks as the name suggests are <strong>used on the server side</strong>. But you would ask as to how Ajax, which involves JavaScript is used on the server side. Its not actually JavaScript that is used in such frameworks on the server side. In fact you use the same language API&#8217;s provided by the framework to do your client side activities and on deployment these client side activities coded on the server side get translated to normal Ajax functionalities when deployed. Confused? Let me clarify your this with an existing server side framework.</p>
<p><strong>Google Web Toolkit (GWT)</strong> is such a server side framework which is used as a normal Java Swing kind of programming on the server side in web pages using the GWT API. The GWT provides a tool for deploying your web application having such pages. During the deployment of the web application the GWT tools help in translating the Java syntax into the corresponding Ajax functionality to be brought on the client side.</p>
<p><em><strong> Advantage of Server Side Frameworks</strong></em><br />
The advantage of using a server side framework is that you use the existing language you are working in. You do not have to dwell in the wild wild world of JavaScript. Its easier to use a server side framework rather than to learn JavaScript.</p>
<p>Other server side frameworks are : <strong>Yahoo Toolkit, DWR </strong></p>
<p><em><strong>Client Side Frameworks</strong></em><br />
You must have done Ajax in the normal fashion using the <strong>XMLHTTPRequest</strong> object in a JavaScript file and then provided some callbacks to do the asynchronous requests. Providing this much is good enough for a simple Ajax page to do one or two requests. But in a large application much more functionality is required. I would list out some of these functionalities as follows:</p>
<ul>
<li><strong>Cross browser compatibility</strong> &#8211; When you code its always a necessity that the code works independent of the browser type requesting it</li>
<li><strong>Mutliple request handling</strong> &#8211; Multiple asynchronous request have to handled properly when doing the callbacks</li>
<li><strong>Graceful degradation</strong>  &#8211; You don&#8217;t want your code to fall flat on its face in case the browser does not support the XMLHTTPRequest object</li>
<li><strong>Exception and error handling</strong> &#8211; You should be able to catch the exceptions in your code instead of displaying it to the user</li>
</ul>
<p>To do all this yourself is very tedious and requires a lot of JavaScript expertise. To avoid all this mayhem you have client side frameworks to your rescue. They provide packages and API&#8217;s which help you to implement all of the above functionalities and also provide a lot of extra features which currently can be either found in free JavaScript code snippets over the net.</p>
<p>The extra features include <strong>widgets or even an IDE</strong>. <strong>Widgets</strong> are small interfaces or components which can be incorporated in an application easily through the client side frameworks. These widgets might compose of the following:</p>
<ol>
<li>Auto completing combobox</li>
<li>A Menu system</li>
<li>An accordian</li>
<li>A tabbed pane windows</li>
<li>Effects like fade, zoom in /out</li>
</ol>
<p><em><strong>Advantages of Client Side Frameworks</strong></em><br />
Besides the above specialties the advantage of a client side framework over a server side framework is that you have the complete flexibility in your hands. You can mix and match the widget features and at the same time provide extra flexibility as you have the world of JavaScript at your disposal. Some frameworks like <strong>TIBCO GI </strong>even provide a GUI to build your web pages with Ajax components in a complete drag n drop style.</p>
<p>The examples of a client side framework are <strong>Prototype, DOJO Toolkit, Rico, Script.aculo.us</strong>, etc.</p>
<p>Going out to choose a framework in the Ajax field can be a bit overwhelming  since you might think all look the same. But if you keep in mind the above classification then you can well have a feature matrix in front of you and also take less time in deciding on going for a particular one.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/07/30/plagiarism-black-listing-of-sites-is-a-must/" rel="bookmark" title="Permanent Link: Plagiarism &#8211; Black Listing of Sites is a Must">Plagiarism &#8211; Black Listing of Sites is a Must</a></li><li><a href="http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/" rel="bookmark" title="Permanent Link: First step in Ajax &#8211; Choosing the right framework">First step in Ajax &#8211; Choosing the right framework</a></li><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/" rel="bookmark" title="Permanent Link: Optimal use of Ajax &#8211; use Ajax the smart way">Optimal use of Ajax &#8211; use Ajax the smart way</a></li><li><a href="http://techtracer.com/2007/07/23/servlet-30-the-journey-begins-now/" rel="bookmark" title="Permanent Link: Servlet 3.0 &#8211; The Journey Begins Now">Servlet 3.0 &#8211; The Journey Begins Now</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>First step in Ajax &#8211; Choosing the right framework</title>
		<link>http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/</link>
		<comments>http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 16:44:33 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/</guid>
		<description><![CDATA[If you are going for a framework or a commercial AJAX IDE then first of all you should compare the different frameworks and IDE&#8217;s to make sure the availability of all the necessary widgets and functionality which would form a part of your application. There are a lot of frameworks which can help in your [...]]]></description>
			<content:encoded><![CDATA[<p>If you are going for a framework or a commercial AJAX IDE then first of all you should compare the different frameworks and IDE&#8217;s to make sure the availability of all the necessary <span class="tooltip" title="header=[Definition] body=[A widget (or control) is an interface element that a computer user interacts with, such as a window or a text box]">widgets</span> and functionality which would form a part of your application. There are a lot of frameworks which can help in your frequently used functionalities. For a start, you can choose from the immensely popular ones like <a href="http://dojotoolkit.org">DOJO</a>, <a href="http://www.prototypejs.org">Prototype</a>, <a href="http://www.openrico.org">Rico</a> (which is based on Protoype), <a href="http://script.aculo.us">Script.aculo.us</a>, etc</p>
<p><em><strong>Considerations</strong></em><br />
All the frameworks compete with each other in their implementation as well as the methodologies of request/ response. You might be less considerate on this aspect of technicalities but the thing which might be of more consideration is the number of <strong>rich features</strong> which they provide. The rich features comprise of the widgets like, an <strong>auto completing text box</strong>, a <strong>customizable calender</strong>, <strong>fade effects</strong>, an <span class="tooltip" title="header=[Definition] body=[An expand / collapse vertical menu bar ]">accordian</span> , a <strong>dynamic menu </strong>etc which is most commonly required by a web application. The frameworks which I mentioned might provide some or the other combinations of these widgets. So for settling on a particular framework, you will have to work out all your features meant to be implemented in your application and only then finalize.</p>
<p><em><strong>My own example</strong></em><br />
For an application I had chosen the <a href="http://getahead.org/dwr">DWR</a> framework. The DWR framework allows an easy technique to expose your JAVA program function as JavaScript calls on the client side. The call made through JavaScript is requested on the server side through the DWR framework and the output coming from the Java function is passed on to the requesting client through it. I was happy working with DWR until I was having JAVA functions. When I was given the task of doing the client side request for bringing in a JSP output from the server side with the help of AJAX I was not having any option to do so with DWR as the framework only supported only exposure of Java functions and not JSP/ Servlets. This made me to change my framework to <a href="http://dojotoolkit.org">DOJO</a> which made it possible to get content from JSP/Servlets, but it didnt expose normal Java functionalities like DWR did, anyways I didn&#8217;t require it. But the point I am trying to make here is that I had to remove all the dependencies in my application which were concerned with usage of DWR just to make everything work with DOJO.</p>
<p><em><strong>Think Twice</strong></em><br />
You must not combine a multitude of frameworks if you like features from many of them. All of the frameworks come with their own rich features as well with their own drawbacks. In order to finalize on a particular framework always compare and contrast the features of the frameworks so that you don&#8217;t have to jump to another one in the middle of your developmental efforts when you don&#8217;t find the current framework much of use.</p>
<p><em><strong>Conclusion</strong></em><br />
Avoid the unnecessary pain that can be caused due to hasty decision of choosing a framework. You should not chose one just because the other guy told you that he found it cool. It might have been for his particular reasons but that isn&#8217;t the same for you always. Just choose one framework which best suits your needs. Its easier to maintain and use.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/04/10/optimal-use-of-ajax-use-web-20-the-smart-way/" rel="bookmark" title="Permanent Link: Optimal use of Ajax &#8211; use Ajax the smart way">Optimal use of Ajax &#8211; use Ajax the smart way</a></li><li><a href="http://techtracer.com/2007/03/27/ajax-frameworks-server-side-versus-client-side/" rel="bookmark" title="Permanent Link: Ajax Frameworks &#8211; Server side versus Client side">Ajax Frameworks &#8211; Server side versus Client side</a></li><li><a href="http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/" rel="bookmark" title="Permanent Link: 5 tips to use Ajax in the proper way">5 tips to use Ajax in the proper way</a></li><li><a href="http://techtracer.com/2007/06/03/the-struts-framework-why-choose-it/" rel="bookmark" title="Permanent Link: The Struts Framework &#8211; Why choose it?">The Struts Framework &#8211; Why choose it?</a></li><li><a href="http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/" rel="bookmark" title="Permanent Link: NASA adopts Ajax, Launches NASA 5.0">NASA adopts Ajax, Launches NASA 5.0</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/03/26/first-step-in-ajax-choosing-the-right-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>5 tips to use Ajax in the proper way</title>
		<link>http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/</link>
		<comments>http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 16:45:26 +0000</pubDate>
		<dc:creator>nitinpai</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/</guid>
		<description><![CDATA[Ajax (Asynchronous JavaScript with XML) is used to provide a rich user interface, which allows the users to browse through a second component of a web page while the page fetches some data from some server for the first component. This type of request is called as an asynchronous request and it makes a web [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ajax (Asynchronous JavaScript with XML)</strong> is used to provide a rich user interface, which allows the users to browse through a second component of a web page while the page fetches some data from some server for the first component. This type of request is called as an <strong>asynchronous request</strong> and it makes a web application more user-friendly since the request made does not block the user from doing other activities in the page.</p>
<p>This does not mean that all of the page content should be brought asynchronously as it would be the doing the same old things in a new fashion. AJAX promotes interactivity i.e. where in a web page which has a lot of components along with data to display to the user, some of the components can be dynamically updated without having to move the user away from the page for refreshing or doing some other activity. The user can access other components of the page while the update is in progress, which adds to the richness of the site or application. Web applications developed in this manner are called as a <strong>Rich Internet Applications (RIA).</strong></p>
<p>The 5 tips to use AJAX in the proper way are:</p>
<ol>
<li>Choose the right framework</li>
<li>Decide on a server side or a client side framework</li>
<li>Never bloat your code</li>
<li>Never try to ajaxify all the pages</li>
<li>Test your code properly</li>
</ol>
<p>I will be elaborating on each of these tips in the coming posts since they are have a detailed explanation and I will be providing some examples that I myself have come across and will relate the explanations to them.</p>
<h2>Related posts:</h2><ul><li><a href="http://techtracer.com/2007/12/26/techtracer-20-is-coming/" rel="bookmark" title="Permanent Link: Techtracer 2.0 is Coming">Techtracer 2.0 is Coming</a></li><li><a href="http://techtracer.com/2007/09/26/seo-for-wordpress-beginners/" rel="bookmark" title="Permanent Link: SEO for Wordpress Beginners">SEO for Wordpress Beginners</a></li><li><a href="http://techtracer.com/2007/10/10/resolving-the-unsupported-majorminor-version-490-error/" rel="bookmark" title="Permanent Link: Resolving the &#8220;Unsupported major.minor version 49.0&#8243; Error">Resolving the &#8220;Unsupported major.minor version 49.0&#8243; Error</a></li><li><a href="http://techtracer.com/2007/12/01/nasa-adopts-ajax-launches-nasa-50/" rel="bookmark" title="Permanent Link: NASA adopts Ajax, Launches NASA 5.0">NASA adopts Ajax, Launches NASA 5.0</a></li><li><a href="http://techtracer.com/2007/12/10/5-rules-for-a-good-web-design/" rel="bookmark" title="Permanent Link: 5 Rules For A Good Web Design">5 Rules For A Good Web Design</a></li></ul><br /><a href="http://techtracer.com/">Techtracer.com</a> Copyright &copy; 2008<br /> ]]></content:encoded>
			<wfw:commentRss>http://techtracer.com/2007/03/21/5-tips-to-use-ajax-in-the-proper-way/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
