<?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>Noupe Design Blog &#187; AJAX</title>
	<atom:link href="http://www.noupe.com/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://www.noupe.com</link>
	<description>Web Designer&#039;s Online Resource</description>
	<lastBuildDate>Thu, 02 Sep 2010 14:31:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>50 Useful JavaScript and jQuery Techniques and Plugins</title>
		<link>http://www.noupe.com/javascript/50-useful-javascript-and-jquery-techniques-and-plugins.html</link>
		<comments>http://www.noupe.com/javascript/50-useful-javascript-and-jquery-techniques-and-plugins.html#comments</comments>
		<pubDate>Tue, 20 Jul 2010 12:19:42 +0000</pubDate>
		<dc:creator>vitaly</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.noupe.com/?p=42638</guid>
		<description><![CDATA[<table width="650"><tr><td width="650"><div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt="" /></a>
    </div></td></tr></table>
&nbsp;&nbsp; We are regulalry collecting useful JavaScript and jQuery snippets, libraries, articles, tools and resources and present them in compact round-ups here, on Noupe. This time we are again covering some useful JavaScript and jQuery techniques, plugins and tools that may help you improve the user experience for your site. Useful JavaScript and jQuery Techniques [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="Advertisement in " border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt=" in "  /></a>
    </div>
</td>
</tr>
</table>
<p>We are regulalry collecting useful JavaScript and jQuery snippets, libraries, articles, tools and resources and present them in compact round-ups here, on Noupe. This time we are again covering  some <strong>useful JavaScript and jQuery techniques, plugins and tools</strong> that may help you improve the user experience for your site.</p>
<p><span id="more-42638"></span></p>
<h3>Useful JavaScript and jQuery Techniques</h3>
<p><a href="http://tutorialzine.com/2010/03/colorful-sliders-jquery-css3/">Colorful Sliders With jQuery &amp; CSS3 </a><br /> In this tutorial we are using jQuery and the new transformation features brought by CSS3 to create a three dimensional dynamic slider effect. The techniques presented here – for creating sliders, and CSS dynamic resizable bars, can be used together or in part for powering all sorts of jQuery goodness.</p>
<p class="showcase"><a href="http://tutorialzine.com/2010/03/colorful-sliders-jquery-css3/"><img src="http://www.noupe.com/wp-content/uploads/2010/07/JS-03.jpg" alt="JS-03 in " width="480" height="300" /></a></p>
<p><a href="http://tutorialzine.com/2010/03/sponsor-wall-flip-jquery-css/">Sponsor Flip Wall With jQuery &amp; CSS </a><br />
Designing and coding a sponsors page is part of the developer’s life (at least the lucky developer’s life, if it is about a personal site of theirs). It, however, follows different rules than those for the other pages of the site. You have to find a way to fit a lot of information and organize it clearly, so that the emphasis is put on your sponsors, and not on other elements of your design.</p>
<p class="showcase"><a href="http://tutorialzine.com/2010/03/sponsor-wall-flip-jquery-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-39.jpg" alt="JS-39 in " width="480" height="300" /></a></p>
<p><a href="http://code.drewwilson.com/entry/tiptip-jquery-plugin">TipTip jQuery Plugin</a><br />
TipTip detects the edges of the browser window and will make sure the tooltip stays within the current window size. As a result the tooltip will adjust itself to be displayed above, below, to the left or to the right of the element with TipTip applied to it, depending on what is necessary to stay within the browser window.<br />
TipTip is a very lightweight and intelligent custom tooltip jQuery plugin.  It uses ZERO images and is completely customizable via CSS.</p>
<p class="showcase"><a href="http://code.drewwilson.com/entry/tiptip-jquery-plugin"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-00.jpg" alt="JS-00 in " width="480" height="300" /></a></p>
<p><a href="http://nivo.dev7studios.com/">Nivo Slider </a><br />
The Most Awesome jQuery Image Slider</p>
<p class="showcase"><a href="http://nivo.dev7studios.com/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-02.jpg" alt="JS-02 in " width="480" height="300" /></a></p>
<p><a href="http://www.oriontransfer.co.nz/software/jquery-syntax/index">jQuery.Syntax </a><br />
jQuery.Syntax is an extremely fast and lightweight syntax highlighter. It has dynamic loading of syntax source files and integrates cleanly using CSS or modelines.</p>
<p class="showcase"><a href="http://www.oriontransfer.co.nz/software/jquery-syntax/index"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-04.jpg" alt="JS-04 in " width="480" height="300" /></a></p>
<p><a href="http://haineault.com/media/examples/jquery-utils/demo/ui-timepickr.html">jquery.timepickr.js</a><br />
This is my humble attempt to enhence web time picking.</p>
<p class="showcase"><a href="http://haineault.com/media/examples/jquery-utils/demo/ui-timepickr.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-05.jpg" alt="JS-05 in " width="480" height="300" /></a></p>
<p><a href="http://tympanus.net/codrops/2010/03/07/photo-zoom-out-effect-with-jquery/">Photo Zoom Out Effect with jQuery</a><br />
Today we will show you how to create a simple image zoom out effect with jQuery. The idea is show some images which are zoomed in initially and when hovering over an image it gets zoomed out. This effect could be used in photography websites or image galleries. Our example uses some black and white images to focus on the effect.</p>
<p class="showcase"><a href="http://tympanus.net/codrops/2010/03/07/photo-zoom-out-effect-with-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-06.jpg" alt="JS-06 in " width="480" height="300" /></a></p>
<p><a href="http://tympanus.net/codrops/2010/03/09/a-fresh-bottom-slide-out-menu-with-jquery/">A Fresh Bottom Slide Out Menu with jQuery</a><br />
In this tutorial we will create a unique bottom slide out menu. This large menu will contain some title and a description of the menu item. It will slide out from the bottom revealing the description text and some icon. We will use some CSS3 properties for some nice shadow effects and jQuery for the interaction.</p>
<p class="showcase"><a href="http://tympanus.net/codrops/2010/03/09/a-fresh-bottom-slide-out-menu-with-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-07.jpg" alt="JS-07 in " width="480" height="300" /></a></p>
<p><a href="http://tutorialzine.com/2010/03/mosaic-slideshow-jquery-css/">Making a Mosaic Slideshow With jQuery &amp; CSS </a><br />
Today we are making a jQuery &amp; CSS mosaic gallery. Mosaic, because it will feature an interesting tile transition effect when moving from one slide to another.</p>
<p class="showcase"><a href="http://tutorialzine.com/2010/03/mosaic-slideshow-jquery-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-08.jpg" alt="JS-08 in " width="480" height="300" /></a></p>
<p><a href="http://www.tripwiremagazine.com/2010/03/17-jquery-plugins-for-easy-and-efficient-reordering-and-filtering-page-elements.html"> 17 jQuery Plugins for Easy and Efficient Reordering and Filtering Page Elements </a><br />
Having full control of elements on a page and the order they are presented in can be quite useful. jQuery as always is a safe choice to go for. There are several good quality plugins to pick from. This post provides an overview of plugins you can use to provide simple yet powerful functionality to reorder, filter, add drag and drop capabilities etc.</p>
<p class="showcase"><a href="http://www.tripwiremagazine.com/2010/03/17-jquery-plugins-for-easy-and-efficient-reordering-and-filtering-page-elements.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-09.jpg" alt="JS-09 in " width="480" height="300" /></a></p>
<p><a href="http://webitect.net/development/phpmysql/create-an-impressive-content-editing-system-with-jquery-and-php/">Create an Impressive Content Editing System with jQuery and PHP </a><br />
I’m going to show you how to use jQuery and PHP to build a content editing system that will allow you or your client to easily edit .html pages visually.</p>
<p class="showcase"><a href="http://webitect.net/development/phpmysql/create-an-impressive-content-editing-system-with-jquery-and-php/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-10.jpg" alt="JS-10 in " width="480" height="300" /></a></p>
<p><a href="http://www.geektantra.com/projects/jquery-megamenu/index.html">jQuery MegaMenu Plugin</a></p>
<p class="showcase"><a href="http://www.geektantra.com/projects/jquery-megamenu/index.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-11.jpg" alt="JS-11 in " width="480" height="300" /></a></p>
<p><a href="http://www.antsmagazine.com/2009/11/excellent-jquery-plugins-to-enhance-form-validation/">Excellent JQuery Plugins To Enhance Form Validation </a><br />
Simple jquery plugins can enhance and beautify HTML form elements, these simple jquery scripts turn a simple HTML website to a fantastic look and feel. These plugins can be enabled very easily. In this roundup I have gathered most beautiful Jquery plugins that are related to all kinds of form validation. This list also includes roundups of some blogs. Go ahead and enjoy</p>
<p><a href="http://gamequery.onaluf.org/">gameQuery &#8211; a javascript game engine with jQuery</a><br />
gameQuery is a jQuery plug-in to help make javascript game development easier by adding some simple game-related classes. It&#8217;s still in an early stage of development and may change a lot in future versions. The project has a Google Code page where the SVN repository of the project is hosted and a twitter page where you can follow the daily progress of the development.</p>
<p class="showcase"><a href="http://gamequery.onaluf.org/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-13.jpg" alt="JS-13 in " width="480" height="300" /></a></p>
<p><a href="http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/">Getting Buggy CSS Selectors to Work Cross-Browser via jQuery</a><br />
Below I’ve prepared a simple table that describes a number of CSS selectors that are not cross-browser compatible, along with the jQuery syntax for each. The syntaxes are exactly the same as they would be in CSS, save for the jQuery wrapper (just remove $() and the quotes to get the CSS syntax), so using these selectors in jQuery will provide somewhat of a practice ground to prepare you for when they’re fully supported by all commonly-used browsers.</p>
<p class="showcase"><a href="http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-14.jpg" alt="JS-14 in " width="480" height="300" /></a></p>
<p><a href="http://workshop.rs/projects/jqfancytransitions/">jqFancyTransitions: jQuery Image Rotator Plugin</a><br />
jqFancyTransitions is easy-to-use jQuery plugin for displaying your photos as slideshow with fancy transition effects.</p>
<p class="showcase"><a href="http://workshop.rs/projects/jqfancytransitions/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-15.jpg" alt="JS-15 in " width="480" height="300" /></a></p>
<p><a href="http://coffeescripter.com/code/ad-gallery/">A demo of AD Gallery</a><br />
A highly customizable gallery/showcase plugin for jQuery.</p>
<p class="showcase"><a href="http://coffeescripter.com/code/ad-gallery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-16.jpg" alt="JS-16 in " width="480" height="300" /></a></p>
<p><a href="http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select">jQuery UI Selectmenu: An ARIA-Accessible Plugin for Styling a Custom HTML Select Element </a><br />
Our latest contribution to labs is the selectmenu plugin, which is designed to duplicate and extend the functionality of a native HTML select element, and lets you customize the look and feel, add icons, and create hierarchy within the options. Best of all, it&#8217;s built with progressive enhancement and accessibility in mind, has all the native mouse and keyboard controls, and is ThemeRoller-ready.</p>
<p class="showcase"><a href="http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-17.jpg" alt="JS-17 in " width="480" height="300" /></a></p>
<p><a href="http://www.webappers.com/2009/07/13/create-a-content-rich-tooltip-with-json-and-jquery/"> Create a Content Rich Tooltip with JSON and jQuery</a><br />
Today we’re going to break the mold of the traditional tooltip. This tutorial will demonstrate how to build tooltips that are powered by jQuery, with information pulled from a JSON array.</p>
<p class="showcase"><a href="http://www.webappers.com/2009/07/13/create-a-content-rich-tooltip-with-json-and-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-18.jpg" alt="JS-18 in " width="480" height="300" /></a></p>
<p><a href="http://papermashup.com/jquery-image-zoom-effect/">jQuery image zoom effect </a><br />
So today I’m going to run through the technique used to zoom the image thumbnails and display the overlay of text.</p>
<p class="showcase"><a href="http://papermashup.com/jquery-image-zoom-effect/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-19.jpg" alt="JS-19 in " width="480" height="300" /></a></p>
<p><a href="http://fredhq.com/projects/roundabout-shapes/">jQuery Roundabout Shapes</a><br />
Roundabout Shapes provide even more paths along which your Roundabout can move. The current version of Roundabout Shapes offers eleven additional movements.</p>
<p class="showcase"><a href="http://fredhq.com/projects/roundabout-shapes/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-20.jpg" alt="JS-20 in " width="480" height="300" /></a></p>
<p><a href="http://james.padolsey.com/javascript/extending-jquerys-selector-capabilities/">Extending jQuery&#8217;s selector capabilities </a></p>
<p class="showcase"><a href="http://james.padolsey.com/javascript/extending-jquerys-selector-capabilities/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-21.jpg" alt="JS-21 in " width="480" height="300" /></a></p>
<p><a href="http://www.skyrocketlabs.com/articles/jquery-hidden-form-input.php">How to show/hide a hidden input form field using jQuery</a><br />
This past week I was working on a project at work which included building a request form with multiple fields. It was a rather large form that included a dropdown list with an &#8216;other&#8217; option. I wanted to allow users to select the &#8216;other&#8217; option which then would show an input field so they can enter a specific description of what that &#8216;other&#8217; item is. I didn&#8217;t want to clutter the form by displaying that additional field by default so I used a little jQuery, thus displaying it dynamically and only when needed.</p>
<p class="showcase"><a href="http://www.skyrocketlabs.com/articles/jquery-hidden-form-input.php"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-22.jpg" alt="JS-22 in " width="480" height="300" /></a></p>
<p><a href="http://www.viget.com/inspire/a-better-jquery-in-field-label-plugin/"> A Better jQuery In-Field Label Plugin</a><br />
This is a pretty nice effect, and it can really help to save space on forms. There are a billion different ways to implement this, and I don&#8217;t suggest you use the example from above because that was just a quick way to show the effect. So let&#8217;s walk through a couple of different implementation approaches and figure out the best way to implement this feature.</p>
<p class="showcase"><a href="http://www.viget.com/inspire/a-better-jquery-in-field-label-plugin/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-24.jpg" alt="JS-24 in " width="480" height="300" /></a></p>
<h3>Useful JavaScript / jQuery Tools</h3>
<p><a href="http://javascriptmvc.com/">JavaScriptMVC</a><br />
JavaScriptMVC is an open-source framework containing the best ideas in enterprise JavaScript development. It guides you to successfully completed projects by promoting best practices, maintainability, and convention over configuration.</p>
<p class="showcase"><a href="http://javascriptmvc.com/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-26.jpg" alt="JS-26 in " width="480" height="300" /></a></p>
<p><a href="http://pegjs.majda.cz/">PEG.js &#8211; Parser Generator for JavaScript</a><br />
PEG.js is a parser generator for JavaScript based on the parsing expression grammar formalism. It enables you to easily bulid fast parsers which process complex data or computer languages. You can use it as an underlying tool when writing various data processors, transformers, interpreters, or compilers.</p>
<p class="showcase"><a href="http://pegjs.majda.cz/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-27.jpg" alt="JS-27 in " width="480" height="300" /></a></p>
<p><a href="http://phonegap.com/"> PhoneGap </a><br />
PhoneGap is an open source development tool for building fast, easy mobile apps with JavaScript.</p>
<p class="showcase"><a href="http://phonegap.com/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-28.jpg" alt="JS-28 in " width="480" height="300" /></a></p>
<p><a href="http://www.squarefree.com/shell/">JavaScript Shell</a><br />
A command-line interface for JavaScript and DOM.</p>
<p class="showcase"><a href="http://www.squarefree.com/shell/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-29.jpg" alt="JS-29 in " width="480" height="300" /></a></p>
<p><a href="http://javascript.neyric.com/wireit/">WireIt &#8211; a Javascript Wiring Library</a><br />
WireIt is an open-source javascript library to create web wirable interfaces for dataflow applications, visual programming languages, graphical modeling, or graph editors.</p>
<p class="showcase"><a href="http://javascript.neyric.com/wireit/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-30.jpg" alt="JS-30 in " width="480" height="300" /></a></p>
<p><a href="http://www.klauskomenda.com/code/javascript-programming-patterns/">JavaScript Programming Patterns </a><br />
In this article I am trying to present some of the techniques out there that I have discovered. The patterns I would like to mention are the following:<br />
- The Old-School Way<br />
- Singleton<br />
- Module Pattern<br />
- Revealing Module Pattern<br />
- Custom Objects<br />
- Lazy Function Definition</p>
<p class="showcase"><a href="http://www.klauskomenda.com/code/javascript-programming-patterns/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-31.jpg" alt="JS-31 in " width="480" height="300" /></a></p>
<p><a href="http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html">Compare JavaScript frameworks</a><br />
Modern Web sites and Web applications tend to rely quite heavily on client-side JavaScript to provide rich interactivity, particularly through the advent of asynchronous HTTP requests that do not require page refreshes to return data or responses from a server-side script or database system. In this article, you will discover how JavaScript frameworks make it easier and faster to create highly interactive and responsive Web sites and Web applications.</p>
<p class="showcase"><a href="http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-32.jpg" alt="JS-32 in " width="480" height="300" /></a></p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/">How to Test your JavaScript Code with QUnit </a><br />
QUnit, developed by the jQuery team, is a great framework for unit testing your JavaScript. In this tutorial, I’ll introduce what QUnit specifically is, and why you should care about rigorously testing your code.</p>
<p class="showcase"><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-33.jpg" alt="JS-33 in " width="480" height="300" /></a></p>
<p><a href="http://jashkenas.github.com/coffee-script/">CoffeeScript</a><br />
CoffeeScript is a little language that compiles into JavaScript. Think of it as JavaScript&#8217;s less ostentatious kid brother — the same genes, roughly the same height, but a different sense of style. Apart from a handful of bonus goodies, statements in CoffeeScript correspond one-to-one with their equivalent in JavaScript, it&#8217;s just another way of saying it.</p>
<p class="showcase"><a href="http://jashkenas.github.com/coffee-script/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-34.jpg" alt="JS-34 in " width="480" height="300" /></a></p>
<p><a href="http://blog.insicdesigns.com/2010/02/mind-blowing-javascript-experiments/"> Mind-blowing JavaScript Experiments</a><br />
The following JavaScript experiments demonstrates the amazing capabilities of the modern browsers such as Chrome and Safari. In this post I will showcase to you an array of experiments that will surely blows your mind off.</p>
<p class="showcase"><a href="http://blog.insicdesigns.com/2010/02/mind-blowing-javascript-experiments/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-35.jpg" alt="JS-35 in " width="480" height="300" /></a></p>
<p><a href="http://jsbeautifier.org/">Online javascript beautifier</a><br />
This little beautifier will reformat and reindent bookmarklets, ugly javascript, unpack scripts packed by the popular Dean Edward&#8217;s packer, as well as deobfuscate scripts processed by javascriptobfuscator.com.</p>
<p class="showcase"><a href="http://jsbeautifier.org/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-36.jpg" alt="JS-36 in " width="480" height="300" /></a></p>
<p><a href="http://www.evotech.net/blog/2007/08/css-javascript-character-entities/"> CSS &amp; Javascript Character Entity Calculator </a><br />
Enter your HTML Entity Character number  (such as &amp;#2335 or just 2335 &#8211; ?) to get the CSS and JS values for that entity.</p>
<p class="showcase"><a href="http://www.evotech.net/blog/2007/08/css-javascript-character-entities/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-37.jpg" alt="JS-37 in " width="480" height="300" /></a></p>
<p><a href="http://www.appsheriff.com/web-apps/script/dygraphs-create-interactive-zoomable-charts/  "> Dygraphs: Create interactive graphs from open source Javascript library </a><br />
Dygraphs is an open source JavaScript library that produces an interactive, zoom-able charts of the present time series. It is mainly designed to display the dense data sets and enable the users to explore and interpret them. It is a JavaScript Visualization Library.</p>
<p class="showcase"><a href="http://www.appsheriff.com/web-apps/script/dygraphs-create-interactive-zoomable-charts/  "><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-38.jpg" alt="JS-38 in " width="480" height="300" /></a></p>
<p><a href="http://attacklab.net/showdown/">Showdown &#8211; Markdown in JavaScript</a><br />
Showdown &#8211; a JavaScript port of Markdown</p>
<p class="showcase"><a href="http://attacklab.net/showdown/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-40.jpg" alt="JS-40 in " width="480" height="300" /></a></p>
<p><a href="http://beckelman.net/post/2009/01/22/Copy-to-Clipboard-with-ZeroClipboard-Flash-10-and-jQuery.aspx"> Copy to Clipboard with ZeroClipboard, Flash 10 and jQuery</a><br />
With today’s post I will show you a contrived example to get you started. I eventually hope to add this to the contextMenu.js jQuery plugin that I use, but for now this should be pretty straight forward. I do want to note that in the demo and download I am loading the latest version of the jQuery library (1.3.1) from Google’s CDN for the first time in any of my posts. For more information on how to do this see the instructions from Google.</p>
<p class="showcase"><a href="http://beckelman.net/post/2009/01/22/Copy-to-Clipboard-with-ZeroClipboard-Flash-10-and-jQuery.aspx"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-41.jpg" alt="JS-41 in " width="480" height="300" /></a></p>
<p><a href="http://wiki.github.com/getify/LABjs/flabjs">fLABjs</a><br />
fLABjs is a special API wrapper around LABjs which adapts the code to work properly in a file:// local filesystem environment. There are a number of things with core LABjs does which are not appropriate for local filesystems, such as XHR, special path handling rules, etc.</p>
<p class="showcase"><a href="http://wiki.github.com/getify/LABjs/flabjs"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-43.jpg" alt="JS-43 in " width="480" height="300" /></a></p>
<p><a href="http://www.web2ajax.fr/2010/03/25/jquery-lazyload-ad-defer-advertisement-loading/">jQuery LazyLoad Ad : Delays loading of advertising</a><br />
jQuery LazyLoad Ad is a jQuery plugin that takes advantage of LazyLoad delaying ads loading.</p>
<p><a href="http://craigsworks.com/projects/qtip/">qTip &#8211; The jQuery tooltip plugin </a><br />
qTip is a tooltip plugin for the jQuery framework. It&#8217;s cross-browser, customizable and packed full of features!</p>
<p class="showcase"><a href="http://craigsworks.com/projects/qtip/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-47.jpg" alt="JS-47 in " width="480" height="300" /></a></p>
<p><a href="http://www.exforsys.com/tutorials/jquery/jquery-collapsing-and-expanding-table-rows.html"> jQuery Collapsing and Expanding Table Rows </a></p>
<p class="showcase"><a href="http://www.exforsys.com/tutorials/jquery/jquery-collapsing-and-expanding-table-rows.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-48.jpg" alt="JS-48 in " width="480" height="300" /></a></p>
<p><a href="http://yensdesign.com/2009/01/improving-search-boxes-with-jquery/">Improving Search Boxes with jQuery </a><br />
This time we will learn how to improve a little more our sites by adding some additional interactions to our search boxes like autofocus, highlighting, autoreplace default text and more by using jQuery.</p>
<p class="showcase"><a href="http://yensdesign.com/2009/01/improving-search-boxes-with-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-49.jpg" alt="JS-49 in " width="480" height="300" /></a></p>
<p><a href="http://www.trirand.com/blog/?page_id=6">jQuery Grid Plugin </a></p>
<p class="showcase"><a href="http://www.trirand.com/blog/?page_id=6"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-50.jpg" alt="JS-50 in " width="480" height="300" /></a></p>
<p><a href="http://pines.svn.sourceforge.net/viewvc/pines/trunk/pnotify/index.html">Pines Notify jQuery Plugin</a><br />
Pines Notify&#8217;s features include:<br />
- Timed hiding with visual effects.<br />
- Sticky (no automatic hiding) notices.<br />
- Optional hide button.<br />
- Supports dynamically updating text, title, icon, type&#8230;<br />
- Stacks allow notice sets to stack independently.<br />
- Control stack direction and push to top or bottom.</p>
<p class="showcase"><a href="http://pines.svn.sourceforge.net/viewvc/pines/trunk/pnotify/index.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-51.jpg" alt="JS-51 in " width="480" height="300" /></a></p>
<p><a href="http://blog.egorkhmelev.com/2009/11/jquery-slider-safari-style/">jQuery Slider plugin (Safari style) </a><br />
jQuery Slider is easy to use and multifunctional jQuery plugin.</p>
<p class="showcase"><a href="http://blog.egorkhmelev.com/2009/11/jquery-slider-safari-style/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/04/JS-52.jpg" alt="JS-52 in " width="480" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noupe.com/javascript/50-useful-javascript-and-jquery-techniques-and-plugins.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>30 Fresh AJAX Tutorials And Techniques</title>
		<link>http://www.noupe.com/ajax/30-fresh-ajax-tutorials-and-techniques.html</link>
		<comments>http://www.noupe.com/ajax/30-fresh-ajax-tutorials-and-techniques.html#comments</comments>
		<pubDate>Mon, 04 Jan 2010 13:33:52 +0000</pubDate>
		<dc:creator>vitaly</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[TUTORIAL]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.noupe.com/?p=38547</guid>
		<description><![CDATA[<table width="650"><tr><td width="650"><div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt="" /></a>
    </div></td></tr></table>
&nbsp;&nbsp; By Paul Andrew Using AJAX on websites and applications is pretty much taken for granted nowadays. Users expect it. They want to be able to edit a page in-place, they want search queries to be auto-suggested, and they want to be able to submit a form without refreshing the page. Why? Because those things [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="Advertisement in " border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt=" in "  /></a>
    </div>
</td>
</tr>
</table>
<p><em>By Paul Andrew</em></p>
<p>Using <strong>AJAX</strong> on websites and applications is pretty much taken for granted nowadays. Users expect it. They want to be able to edit a page in-place, they want search queries to be auto-suggested, and they want to be able to submit a form without refreshing the page. Why? Because those things make browsing quicker, easier and, more importantly, enjoyable.</p>
<p>As great as AJAX is, though, it is not for every website or application. Part of the developer&#8217;s job is to know exactly where AJAX (or any technology for that matter) is needed. Too little can lead to user frustration. Too much causes misunderstanding. A balance and some restraints are always needed.</p>
<p>In this round-up, we have collected <strong>30 fresh AJAX tutorials and techniques</strong>, covering almost every aspect of AJAX development: forms, applications, polls, editing, parsing, visual effects and much more.</p>
<p><span id="more-38547"></span></p>
<h3>AJAX Tutorials And Techniques</h3>
<p><a href="http://tutorialzine.com/2009/09/shopping-cart-php-jquery/">An AJAX-Based Shopping Cart with PHP, CSS and jQuery</a><br />
In this tutorial, you will create an AJAX-driven shopping cart and store all of the products in a MySQL database, using PHP to process the data. jQuery will deliver the AJAX on the page, and with help of the <a href="http://craigsworks.com/projects/simpletip/">simpletip plug-in</a>, you will be able to deliver a high-end interactive check-out process.<br /><a href="http://demo.tutorialzine.com/2009/09/shopping-cart-php-jquery/demo.php">View the demo</a>.</p>
<p><a href="http://tutorialzine.com/2009/09/shopping-cart-php-jquery/"><img src="http://www.noupe.com/wp-content/uploads/2010/01/ajaxresources1.jpg" width="480" height="231" alt="Ajaxresources1 in "  /></a></p>
<p><a href="http://blog.themeforest.net/tutorials/creating-an-ajax-web-app-using-the-bitly-api/">Creating an AJAX Web App Using the Bit.ly API</a><br />
Using Twitter’s URL shortener, <a href="bit.ly">bit.ly</a>, and the jQuery library, you will be taken through the process of building an AJAX Web app. This is a great beginner tutorial, giving a detailed introduction to APIs and the basics of PHP and jQuery.<br />
<a href="http://dev-tips.com/demo/bitly/demo.php">View the demo</a>.</p>
<p><a href="http://blog.themeforest.net/tutorials/creating-an-ajax-web-app-using-the-bitly-api/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources2.jpg" width="480" height="231" alt="Ajaxresources2 in "  /></a></p>
<p><a href="http://tutorialzine.com/2009/11/twitter-list-ajax-fanpage/">A Twitter List AJAX-Powered Fan Page</a><br />
Twitter recently launched its new &#8220;lists&#8221; feature, which allows you to compile a list of your followers and organize them into categories. Using the newly expanded API (with list-management functionality added), you will learn how to create a widget that flips lists the other way round: this fan widget that goes in the sidebar allows visitors to fill in their Twitter name and join a special fan list from your Twitter account.<br />
<a href="http://demo.tutorialzine.com/2009/11/twitter-list-ajax-fanpage/demo.html">View the demo</a>.</p>
<p><a href="http://tutorialzine.com/2009/11/twitter-list-ajax-fanpage/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources3.jpg" width="480" height="361" alt="Ajaxresources3 in "  /></a></p>
<p><a href="http://net.tutsplus.com/videos/screencasts/learn-how-to-ajaxify-comment-forms/">Learn How to AJAXify Comment Forms</a><br />
Learn how to take a simple boring contact form and add some simple animation with an AJAX post request to submit the form to your MySQL database asynchronously.</p>
<p><a href="http://net.tutsplus.com/videos/screencasts/learn-how-to-ajaxify-comment-forms/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources4.jpg" width="480" height="231" alt="Ajaxresources4 in "  /></a></p>
<p><a href="http://tutorialzine.com/2009/09/simple-ajax-website-jquery/">A Simple AJAX Website with jQuery</a><br />
Using jQuery, PHP and CSS, you will go through the process of creating a basic AJAX website. The finished product will load pages through AJAX from the PHP back-end and even completely support the browser history (something that is normally difficult to achieve with any AJAX or Flash website).<br />
<a href="http://demo.tutorialzine.com/2009/09/simple-ajax-website-jquery/demo.html">View the demo</a>.</p>
<p><a href="http://tutorialzine.com/2009/09/simple-ajax-website-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources5.jpg" width="480" height="231" alt="Ajaxresources5 in "  /></a></p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/create-a-twitter-like-load-more-widget/">Create a Twitter-Like “Load More” Widget</a><br />
In this tut, you will learn the technique&mdash;used by both Twitter and the Apple App Store&mdash;for loading more information. Simply by clicking the link or button, more content will appear, as if by magic.  You will use AJAX, CSS, Javascript, JSON, PHP and HTML to build this widget. This tutorial features both the jQuery and the MooTools versions of the script.<br />
<a href="http://davidwalsh.name/dw-content/load-more.php">View the demo</a>.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/create-a-twitter-like-load-more-widget/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources6.jpg" width="480" height="366" alt="Ajaxresources6 in "  /></a></p>
<p><a href="http://www.noupe.com/ajax/create-a-simple-twitter-app.html">A Simple Twitter App with Ruby on Rails</a><br />
In this three-part tutorial series, you will set up a simple messaging model that holds posted messages. You will also learn how to post a message asynchronously.<br />
<a href="http://www.therailworld.com/posts/18-Create-a-Twitter-App-with-Rails-Demo-Data">View the demo</a>.</p>
<p><a href="http://www.noupe.com/ajax/create-a-simple-twitter-app.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources7.jpg" width="480" height="231" alt="Ajaxresources7 in "  /></a></p>
<p><a href="http://webdeveloperplus.com/jquery/ajax-multiple-file-upload-form-using-jquery/">AJAX Multiple-File-Upload Form Using jQuery</a><br />
With this article, you will learn to develop an AJAXified multiple-file-upload form that uses much less server-side code and has a nice user interface. Thanks to the power of jQuery, the time spent on actual development is substantially reduced.<br />
<a href="http://demo.webdeveloperplus.com/ajax-file-upload/">View the demo</a>.</p>
<p><a href="http://webdeveloperplus.com/jquery/ajax-multiple-file-upload-form-using-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources8.jpg" width="480" height="231" alt="Ajaxresources8 in "  /></a></p>
<p><a href="http://lastwebdesigner.com/jquery/how-to-send-a-mail-with-php-ajax-and-jquery-in-facebook-style.html">How to Send Facebook-Style Mail with PHP, AJAX and jQuery</a><br />
The Facebook website is choc full of unique features, especially the system for sending mail and messages. Using PHP, AJAX and jQuery, you can recreate this technique using this step-by-step tutorial.<br />
<a href="http://lastwebdesigner.com/tests/mail-jquery-php-ajax/">View the demo</a>.</p>
<p><a href="http://lastwebdesigner.com/jquery/how-to-send-a-mail-with-php-ajax-and-jquery-in-facebook-style.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources9.jpg" width="480" height="231" alt="Ajaxresources9 in "  /></a></p>
<p><a href="http://www.noupe.com/php/how-to-create-your-own-stats.html">How to Create Your Own Stats Program (JavaScript, AJAX, PHP)</a><br />
Chances are, you use an analytics programs such as Google Analytics, Get Clicky or Urchin to track every move and twitch on your website. They all track page views, visits, unique visitors, browsers, IP addresses and much more. But how exactly is this accomplished? Follow this tutorial and learn how to create your own basic Web statistics program using PHP, JavaScript, AJAX and SQLite.<br />
<a href="http://karthik-testing.nfshost.com/web-stats/">View the demo</a>.</p>
<p><a href="http://www.noupe.com/php/how-to-create-your-own-stats.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources10.jpg" width="480" height="231" alt="Ajaxresources10 in "  /></a></p>
<p><a href="http://www.problogdesign.com/wordpress/how-to-ajax-post-pagination-in-mootools/">AJAX Post Pagination in MooTools</a><br />
Patiently browsing through the archive of posts on your WordPress website can be frustrating. A fix for this problem would be to use MooTools and AJAX to do the loading.</p>
<p><a href="http://www.problogdesign.com/wordpress/how-to-ajax-post-pagination-in-mootools/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources11.jpg" width="480" height="231" alt="Ajaxresources11 in "  /></a></p>
<p><a href="http://papermashup.com/jquery-ajax-delete/">jQuery AJAX delete</a><br />
Being able to remove content with Ajax is useful for any Web designer. Using a few lines of jQuery, you can remove both a DIV and a record from the database with AJAX. In this demo, you’ll see a small red cross to the right of each comment. Clicking the cross will remove the comment&#8217;s DIV, and the slide-up animation allows you to remove the DIV.<br />
<a href="http://papermashup.com/demos/jquery-delete/">View the demo</a>.</p>
<p><a href="http://papermashup.com/jquery-ajax-delete/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources12.jpg" width="480" height="231" alt="Ajaxresources12 in "  /></a></p>
<p><a href="http://9lessons.blogspot.com/2009/08/vote-with-jquery-ajax-and-php.html">Voting System with jQuery, AJAX and PHP</a><br />
Dzone offers users the chance to vote up or down on any particular link, giving an indication of how well an article has been received. In this tutorial, you learn how to recreate this unique voting system using jQuery, AJAX and PHP.<br />
<a href="http://9lessons.net63.net/voting.php">View the demo</a>.</p>
<p><a href="http://9lessons.blogspot.com/2009/08/vote-with-jquery-ajax-and-php.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources14.jpg" width="480" height="231" alt="Ajaxresources14 in "  /></a></p>
<p><a href="http://net.tutsplus.com/javascript-ajax/creating-a-dynamic-poll-with-jquery-and-php/">Creating a Dynamic Poll with jQuery and PHP</a><br />
When you combine the neat functionality of PHP and the cleverness of jQuery, you can produce some pretty cool results. In this tutorial, you will create a poll using PHP and XHTML, then use some jQuery AJAX effects to eliminate the need for page refreshing and to give it a nice touch of animation.<br />
<a href="http://nettuts.com/demos/test_poll/">View the demo</a>.</p>
<p><a href="http://net.tutsplus.com/javascript-ajax/creating-a-dynamic-poll-with-jquery-and-php/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources15.jpg" width="480" height="231" alt="Ajaxresources15 in "  /></a></p>
<p><a href="http://webdeveloperplus.com/wordpress/how-to-ajaxify-wordpress-comment-posting/">AJAXify WordPress Comment Posting</a><br />
Many WordPress plug-ins will AJAXify comments, but how do they do it? In this step-by-step tutorial, you will learn how to enable AJAXed comments with client-side JavaScript comment-form validation for any WordPress blog.<br />
<a href="http://demo.webdeveloperplus.com/wordpress/">View the demo</a>.</p>
<p><a href="http://webdeveloperplus.com/wordpress/how-to-ajaxify-wordpress-comment-posting/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources16.jpg" width="480" height="231" alt="Ajaxresources16 in "  /></a></p>
<p><a href="http://webdeveloperplus.com/jquery/create-a-dynamic-scrolling-content-box-using-ajax/">Create a Dynamic Scrolling Content Box Using AJAX</a><br />
If you use Google Reader, then you may have noticed how it shows feed items. After you click on a feed, it loads a few items first, and as you scroll down to view more items, it adds more items dynamically to the list. This tutorial shows you how to create a similar content box that loads content dynamically as the user scrolls to the bottom of the box.<br />
<a href="http://demo.webdeveloperplus.com/dynamic-scrollbox/">View the demo</a>.</p>
<p><a href="http://webdeveloperplus.com/jquery/create-a-dynamic-scrolling-content-box-using-ajax/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources17.jpg" width="480" height="231" alt="Ajaxresources17 in "  /></a></p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/create-an-in-place-editing-system/">Create an In-Place Editing System</a><br />
Making users click through multiple pages just to edit a single field is annoying. This tutorial shows you how to create an in-place editing system, as found on popular websites such as Flickr and then take things further with AJAX.<br />
<a href="http://nettuts.s3.amazonaws.com/443_editing/demo/code.html">View the demo</a>.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/create-an-in-place-editing-system/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources18.jpg" width="480" height="231" alt="Ajaxresources18 in "  /></a></p>
<p><a href="http://net.tutsplus.com/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/">Submit A Form Without Page Refresh using jQuery</a><br />
This article outlines a great way to use jQuery and AJAX to enhance the user experience, not just by validating the form but by submitting the contact form without having to refresh the page.<br />
<a href="http://nettuts.com/demos/contactform/">View the demo</a>.</p>
<p><a href="http://net.tutsplus.com/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources19.jpg" width="480" height="231" alt="Ajaxresources19 in "  /></a></p>
<p><a href="http://www.vagrantradio.com/2009/10/how-to-parse-xml-using-jquery-and-ajax.html">How To Parse XML Using jQuery and Ajax</a><br />
In this tutorial you will learn how to parse or process an XML document and display the data on a page in HTML. This process can be used to filter raw RSS feeds, set up a cool site map on your blog or even lay the groundwork for your own auto-complete search.<br />
<a href="http://www.vagrantradio.com/demos/jquery_xml/index.html">View the demo</a>.</p>
<p><a href="http://www.vagrantradio.com/2009/10/how-to-parse-xml-using-jquery-and-ajax.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources20.jpg" width="480" height="231" alt="Ajaxresources20 in "  /></a></p>
<p><a href="http://davidwalsh.name/cache-ajax">Caching AJAX Results in Javascript</a><br />
AJAX requests are usually faster than regular page loads and allow for a wealth of dynamism within the page. Unfortunately, many people do not properly cache request information when they can. The author shows you his improved method for caching AJAX requests.</p>
<p><a href="http://davidwalsh.name/cache-ajax"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources21.jpg" width="480" height="231" alt="Ajaxresources21 in "  /></a></p>
<p><a href="http://www.vagrantradio.com/2009/09/how-to-create-an-ajax-file-uploader.html">How to Create an AJAX File Uploader</a><br />
The application you will build in this tut uses jQuery&#8217;s versatility to allow multiple file uploads without a page refresh or redirection, complete with front- and back-end validation to prevent unwanted files from being uploaded to your server.<br />
<a href="http://www.vagrantradio.com/demos/file_uploader/index.html">View the demo</a>.</p>
<p><a href="http://www.vagrantradio.com/2009/09/how-to-create-an-ajax-file-uploader.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources22.jpg" width="480" height="231" alt="Ajaxresources22 in "  /></a></p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-simple-web-based-chat-application/">How to Create a Simple Web-Based Chat Application</a><br />
The multiple-user Web-based chat application that you will build in this tutorial includes a log-in and log-out system, with AJAX-style features. The finished product would be perfect for a live support system for your website, as seen on the Vodafone and T-Mobile websites.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-simple-web-based-chat-application/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources23.jpg" width="480" height="231" alt="Ajaxresources23 in "  /></a></p>
<p><a href="http://9lessons.blogspot.com/2009/06/autosuggestion-with-jquery-ajax-and-php.html">Facebook-like Auto-Suggestion with jQuery, AJAX and PHP</a><br />
This article shows you how to recreate the unique auto-suggestion search feature of Facebook using jQuery, PHP and, of course, AJAX.<br />
<a href="http://9lessons.net63.net/auto.htm">View the demo</a>.</p>
<p><a href="http://9lessons.blogspot.com/2009/06/autosuggestion-with-jquery-ajax-and-php.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources25.jpg" width="480" height="231" alt="Ajaxresources25 in "  /></a></p>
<p><a href="http://net.tutsplus.com/articles/web-roundups/20-more-excellent-ajax-effects-you-should-know/">20 More Excellent AJAX Effects You Should Know</a><br />
This article rounds up 20 relatively easy AJAX effects and techniques that can be used to spice up any page.</p>
<p><a href="http://net.tutsplus.com/articles/web-roundups/20-more-excellent-ajax-effects-you-should-know/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources26.jpg" width="480" height="231" alt="Ajaxresources26 in "  /></a></p>
<p><a href="http://davidwalsh.name/text-selection-ajax">Record Text Selections Using MooTools or jQuery AJAX</a><br />
This post demonstrates a useful technique for keeping track of what text users are highlighting and copying on a given Web page. It is helpful because it gives you an indication of what visitors really want from your website.</p>
<p><a href="http://davidwalsh.name/text-selection-ajax"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources27.jpg" width="480" height="231" alt="Ajaxresources27 in "  /></a></p>
<p><a href="http://www.ibm.com/developerworks/library/wa-aj-dynamic/?S_TACT=105AGY30&#038;S_CMP=ajaxlp">Automatically Update a Web Page with Dynamic Elements</a><br />
You may know how to hide and display optional JavaServer Faces (JSF) components using JavaScript and CSS. To do this, you would first identify all JSF components and write them into JSF pages. But that is impossible when you are developing a Web page that contains dynamic elements that are unknown until runtime. With this article, learn how you can clear old UI components while automatically updating the dynamic elements of a Web page, as well as use Java code to add new elements and put them in their proper spot on a Web page. You&#8217;ll also learn how to bind different event handlers to different dynamic elements of a Web page, how to register a listener listening to changes of server-side data to invoke a page refresh, and how to use AJAX techniques to refresh only the dynamic parts of the Web page.</p>
<p><a href="http://www.ibm.com/developerworks/library/wa-aj-dynamic/?S_TACT=105AGY30&#038;S_CMP=ajaxlp"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources28.jpg" width="480" height="231" alt="Ajaxresources28 in "  /></a></p>
<p><a href="http://www.ibm.com/developerworks/library/wa-aj-presentation1/">Build a Web Presentation Application using AJAX</a><br />
How does Google Docs have such amazing functionality? It leverages Web 2.0 technologies, which provide robust functionality with relatively simple code. In this article, learn how to build a Web application to create slideshow presentations using AJAX.</p>
<p><a href="http://www.ibm.com/developerworks/library/wa-aj-presentation1/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources29.jpg" width="480" height="231" alt="Ajaxresources29 in "  /></a></p>
<p><a href="http://dev.base86.com/solo/51/javascript_datepicker_calender_eightysix_released.html">Calendar Eightysix</a><br />
Calendar Eightysix is an unobtrusive, developer-friendly JavaScript calendar and date-picker that offers a better user experience for date-related functionality. It is highly customizable and offers unique and quick navigation by jumping back and forth between months, years and decades without drop-down boxes.<br />
<a href="http://dev.base86.com/scripts/datepicker_calendar_eightysix.html">View the demo</a>.</p>
<p><a href="http://dev.base86.com/solo/51/javascript_datepicker_calender_eightysix_released.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources30.jpg" width="480" height="231" alt="Ajaxresources30 in "  /></a></p>
<p><a href="http://conceptlogic.com/jcart/">jCart: AJAX/PHP Shopping Cart</a><br />
jCart is a customizable jQuery plug-in that offers a simple e-commerce solution by handling visitor input without reloading the page.</p>
<p><a href="http://conceptlogic.com/jcart/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources31.jpg" width="480" height="231" alt="Ajaxresources31 in "  /></a></p>
<p><a href="http://www.webdesignbeach.com/beachbar/ajax-fancy-captcha-jquery-plugin">AJAX Fancy Captcha</a><br />
The Fancy Captcha jQuery plug-in is an intuitive and fresh way to complete those &#8220;verify humanity&#8221; tasks, offering reasonable protection against unwanted guests, namely bots and spammers. It works by asking you to verify yourself simply by dragging and dropping an item into a circle.</p>
<p><a href="http://www.webdesignbeach.com/beachbar/ajax-fancy-captcha-jquery-plugin"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2009/12/ajaxresources32.jpg" width="480" height="284" alt="Ajaxresources32 in "  /></a></p>
<h4>About the Author</h4>
<p><em>Paul Andrew is a freelance Web designer. He is chief admin for  <a href="http://speckyboy.com/">Speckyboy &#8211; Design Magazine</a>, a Web design, Web development and graphic design resource blog. Follow him on Twitter here: <a href="http://twitter.com/speckyboy">twitter.com/speckyboy</a>.</em></p>
<p><em>(al)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noupe.com/ajax/30-fresh-ajax-tutorials-and-techniques.html/feed</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Free Slideshow, Gallery And Lightboxes Scripts</title>
		<link>http://www.noupe.com/ajax/free-slideshow-gallery-and-lightboxes-scripts.html</link>
		<comments>http://www.noupe.com/ajax/free-slideshow-gallery-and-lightboxes-scripts.html#comments</comments>
		<pubDate>Wed, 14 Oct 2009 10:26:08 +0000</pubDate>
		<dc:creator>Guest Posting</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.noupe.com/?p=26713</guid>
		<description><![CDATA[<table width="650"><tr><td width="650"><div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt="" /></a>
    </div></td></tr></table>
&nbsp;&nbsp; by Obaid ur Rehman For Web design projects, you may find yourself sometimes scrounging around for a simple yet useful image gallery and slideshow. But imagine having a huge collection of AJAX, JavaScript, Lightbox, CSS and Flash-based image galleries at your fingertips. Hopefully, this post will do the trick and provide all the resources [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="Advertisement in " border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt=" in "  /></a>
    </div>
</td>
</tr>
</table>
<p><em>by Obaid ur Rehman</em></p>
<p>For Web design projects, you may find yourself sometimes scrounging around for a simple yet useful image gallery and slideshow. But imagine having a huge collection of AJAX, JavaScript, Lightbox, CSS and Flash-based image galleries at your fingertips. Hopefully, this post will do the trick and provide all the resources you might need.</p>
<p><span id="more-26713"></span></p>
<h3>Free Slideshows And Lightboxes Scripts</h3>
<p><a href="http://www.no3dfx.com/polaroid/">Polaroid Gallery v.1.01</a><br />
<a href="http://www.no3dfx.com/polaroid/"><img src="http://www.noupe.com/wp-content/uploads/2009/10/24.jpg" alt="24 in " width="500" height="501" /></a><br />
Polaroid Gallery is a free open-source Flash gallery developed by Christopher Einarsrud.</p>
<p><a href="http://www.fwzone.net/go?11360">Active Slideshow Pro</a><br />
<a href="http://www.fwzone.net/go?11360"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/1.jpg" alt="1 in " width="500" height="416" /></a><br />
Create dazzling multimedia presentations, slideshows and banners with Active Slideshow Pro. This extension builds on the success of Active Slideshow and gives you new spectacular effects and optimal control over your slides, texts, transitions and sounds.</p>
<p><a href="http://www.paulvanroekel.nl/picasa/piclens/index.asp">PicLens Slideshow</a><br />
<a href="http://www.paulvanroekel.nl/picasa/piclens/index.asp"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/2.jpg" alt="2 in " width="500" height="340" /></a><br />
Take your favourite images full-screen. This template is based on PicLens and combines the power of PicLens and Media RSS technology to give you an easy way to add immersive multimedia slideshows to your own website. The exported Piclens gallery can also easily be used as a complete Web page.</p>
<p><a href="http://www.plogger.org/">Plogger</a><br />
<a href="http://www.plogger.org/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/3.jpg" alt="3 in " width="500" height="381" /></a><br />
Plogger is the next generation in open-source photo gallery systems. A Web application not bloated with superfluous features or complicated configuration settings. Plogger is a simple yet powerful tool, everything you need to share your images with the world.</p>
<p><a href="http://www.shadowbox-js.com/">Shadowbox</a><br />
<a href="http://www.shadowbox-js.com/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/4.jpg" alt="4 in " width="500" height="340" /></a><br />
Shadowbox is an online media viewer application that supports all of the Web&#8217;s most popular media publishing formats. Shadowbox is written entirely in JavaScript and CSS and is highly customizable.</p>
<p><a href="http://www.phatfusion.net/slideshow/">PhatFusion Slideshow</a><br />
<a href="http://www.phatfusion.net/slideshow/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/5.jpg" alt="5 in " width="500" height="565" /></a><br />
Transition between images.</p>
<p><a href="http://www.twospy.com/galleriffic/">Galleriffic</a><br />
<a href="http://www.twospy.com/galleriffic/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/6.jpg" alt="6 in " width="500" height="256" /></a><br />
Galleriffic was inspired by Mike Alsup&#8217;s Cycle plug-in, but with performance in mind for delivering a high volume of photos.</p>
<p><a href="http://www.efectorelativo.net/laboratory/noobSlide/">NoobSlide</a><br />
<a href="http://www.efectorelativo.net/laboratory/noobSlide/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/7.jpg" alt="7 in " width="500" height="278" /></a></p>
<p><a href="http://fancybox.net/">Fancybox</a><br />
<a href="http://fancybox.net/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/8.jpg" alt="8 in " width="500" height="262" /></a><br />
FancyBox is a tool for displaying images, HTML content and multimedia in a Mac-style Lightbox that floats over top the Web page.</p>
<p><a href="http://scriptandstyle.com/automatically-generate-a-photo-gallery-from-a-directory-of-images">Auto Generating Gallery</a><br />
<a href="http://scriptandstyle.com/automatically-generate-a-photo-gallery-from-a-directory-of-images"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/9.jpg" alt="9 in " width="500" height="341" /></a><br />
If you are creating a fairly small gallery, hand-coding a grid of thumbnails will probably do. But for larger galleries or doing a lot of adding, editing and swapping of photos, you will probably want a better solution. And that solution is: an automatically generating photo gallery!</p>
<p><a href="http://www.leigeber.com/2008/05/ajax-image-gallery-slideshow/">Dynamic Image Gallery and Slideshow</a><br />
<a href="http://www.leigeber.com/2008/05/ajax-image-gallery-slideshow/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/10.jpg" alt="10 in " width="500" height="380" /></a></p>
<p><a href="http://devthought.com/blog/projects-news/2008/06/barackslideshow-an-elegant-lightweight-slideshow-script/">Barack Slideshow</a><br />
<a href="http://devthought.com/blog/projects-news/2008/06/barackslideshow-an-elegant-lightweight-slideshow-script/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/11.jpg" alt="11 in " width="500" height="230" /></a><br />
Pretty much everyone has seen Barack Obama’s website by now, which is clearly one of the most attractive ones done by a presidential candidate. Not only is it an example of state-of-the-art design, but it’s also nice to navigate and interact with.</p>
<p><a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html?lang=en">jQuery Multimedia Portfolio</a><br />
<a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html?lang=en"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/12.jpg" alt="12 in " width="500" height="359" /></a><br />
This plug-in for jQuery automatically detects the extension of each media file and applies the right player.</p>
<p><a href="http://www.e2interactive.com/e2_photo_gallery/">(E)2 Photo Gallery</a><br />
<a href="http://www.e2interactive.com/e2_photo_gallery/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/13.jpg" alt="13 in " width="500" height="223" /></a><br />
(E)2 Photo Gallery is a open-source gallery built with MooTools JavaScript Library in a compact, modular and object-oriented framework. Tell the (E)2 Photo Gallery what folder your images are stored in, and it will automatically load them using PHP.</p>
<p><a href="http://www.flickrshow.com/">Flickrshow </a><br />
<a href="http://www.flickrshow.com/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/14.jpg" alt="14 in " width="500" height="366" /></a><br />
Flickrshow is a lightweight, cross-browser JavaScript slideshow, giving you an easy way to display Flickr images on your website.</p>
<p><a href="http://www.deensoft.com/lab/protoflow/">ProtoFlow</a><br />
<a href="http://www.deensoft.com/lab/protoflow/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/15.jpg" alt="15 in " width="500" height="248" /></a><br />
ProtoFlow is a coverflow effect written in JavaScript. It uses Prototype and Scriptaculous to do the bulk of the work, and it uses Reflection.js to do all of the image reflection stuff.</p>
<p><a href="http://www.paulvanroekel.nl/picasa/Flip/index.asp">Flip 3D Flash Slideshow</a><br />
<a href="http://www.paulvanroekel.nl/picasa/Flip/index.asp"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/16.jpg" alt="16 in " width="500" height="335" /></a><br />
A very nice Flash-based template. Each image that flips to the next casts a subtle reflection on the ground. The size of the images can be easily adjusted by editing the template files. And adding a background image is a piece of cake.</p>
<p><a href="http://imago.codeboje.de/">Imago</a><br />
<a href="http://imago.codeboje.de/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/17.jpg" alt="17 in " width="500" height="244" /></a><br />
Imago is an AJAX image gallery focused on simplicity and ease of use. It&#8217;s in plain JavaScript and builds on the mature AJAX library MooTools. No server-side scripting is required! Neither is Flash. Whether your photos are on Flickr, SmugMug or your own server, Imago can show them.</p>
<p><a href="http://87.230.15.86/~dado/devel/mootools/thumbnoo/#examples">Thumbnoo</a><br />
<a href="http://87.230.15.86/~dado/devel/mootools/thumbnoo/#examples"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/18.jpg" alt="18 in " width="500" height="374" /></a></p>
<p><a href="http://www.db798.com/pictobrowser/">PictoBrowser</a><br />
<a href="http://www.db798.com/pictobrowser/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/19.jpg" alt="19 in " width="500" height="490" /></a><br />
A free Web application that displays Flickr and Picasa images on websites and blogs.</p>
<p><a href="http://www.getintothis.com/blog/2006/10/12/image-gallery-using-jquery-interface-reflections/">jQuery Gallery</a><br />
<a href="http://www.getintothis.com/blog/2006/10/12/image-gallery-using-jquery-interface-reflections/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/20.jpg" alt="20 in " width="500" height="602" /></a><br />
Here is an image gallery with smooth transitions, thumbnails and pretty reflections.</p>
<p><a href="http://www.simpleviewer.net/postcardviewer/">PostcardViewer</a><br />
<a href="http://www.simpleviewer.net/postcardviewer/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/21.jpg" alt="21 in " width="500" height="393" /></a><br />
PostcardViewer is a free customizable Flash image viewer. The interface looks like a set of postcards shuffled on a table.</p>
<p><a href="http://labs.adobe.com/technologies/spry/home.html">Spry</a><br />
<a href="http://labs.adobe.com/technologies/spry/home.html"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/22.jpg" alt="22 in " width="500" height="346" /></a><br />
Spry is a JavaScript-based framework that enables the rapid development of AJAX-powered Web pages. Not a JavaScript guru? No problem. Spry is designed to feel like an extension of HTML and CSS, so anyone with basic Web production skills can create a next-generation Web experience by adding the power of AJAX.</p>
<p><a href="http://www.flashmo.com/preview/flashmo_122_3d_curve_gallery">3D Curve Photo Gallery</a><br />
<a href="http://www.flashmo.com/preview/flashmo_122_3d_curve_gallery"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/23.jpg" alt="23 in " width="500" height="272" /></a></p>
<p><a href="http://nicora.net/projects/photoViewer/index.cfm/home">PhotoViewer</a><br />
<a href="http://nicora.net/projects/photoViewer/index.cfm/home"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/25.jpg" alt="25 in " width="500" height="368" /></a></p>
<p><a href="http://www.moopix.org/">Moopix</a><br />
<a href="http://www.moopix.org/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/26.jpg" alt="26 in " width="500" height="333" /></a></p>
<p><a href="http://slideshowpro.net/">Slideshowpro</a><br />
<a href="http://slideshowpro.net/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/27.jpg" alt="27 in " width="500" height="306" /></a></p>
<p><a href="http://www.paulvanroekel.nl/picasa/lightbox/index.asp">Lightbox Photo Gallery and Slideshow for Picasa</a><br />
<a href="http://www.paulvanroekel.nl/picasa/lightbox/index.asp"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/28.jpg" alt="28 in " width="500" height="356" /></a><br />
This template uses the excellent Lightbox JavaScript by Lakesh Dakar.</p>
<p><a href="http://vistaphotogallery.com/">Vista photo gallery</a><br />
<a href="http://vistaphotogallery.com/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/29.jpg" alt="29 in " width="500" height="373" /></a><br />
Vista Photo Gallery is a photo album builder that allows you to create and publish rich, interactive photo galleries for your website.</p>
<p><a href="http://tools.uvumi.com/gallery.html">UvumiTools Gallery Plugin</a><br />
<a href="http://tools.uvumi.com/gallery.html"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/30.jpg" alt="30 in " width="500" height="269" /></a><br />
The UvumiTools Gallery allows you to display fancy photo galleries on your website without requiring you to be a master programmer, thanks to the powerful MooTools JavaScript framework. Just include a couple JavaScript and CSS files.</p>
<p><a href="http://www.webdesignerwall.com/tutorials/parallax-gallery/">Parallax Gallery</a><br />
<a href="http://www.webdesignerwall.com/tutorials/parallax-gallery/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/31.jpg" alt="31 in " width="500" height="321" /></a></p>
<p><a href="http://www.simpleviewer.net/tiltviewer/">TiltViewer</a><br />
<a href="http://www.simpleviewer.net/tiltviewer/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/32.jpg" alt="32 in " width="500" height="724" /></a><br />
TiltViewer is a free customizable 3-D Flash image viewing application.</p>
<p><a href="http://cssglobe.com/post/3783/jquery-plugin-easy-image-or-content-slider">jQuery plugin &#8211; Easy Image or Content Slider</a><br />
<a href="http://cssglobe.com/post/3783/jquery-plugin-easy-image-or-content-slider"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/33.jpg" alt="33 in " width="500" height="190" /></a></p>
<p><a href="http://www.nickstakenburg.com/projects/lightview/">Lightview</a><br />
<a href="http://www.nickstakenburg.com/projects/lightview/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/34.jpg" alt="34 in " width="500" height="428" /></a></p>
<p><a href="http://devkick.com/lab/galleria/">DevKick Galleria</a><br />
<a href="http://devkick.com/lab/galleria/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/35.jpg" alt="35 in " width="500" height="398" /></a><br />
Galleria is a JavaScript image gallery written in jQuery. It loads images one by one from an unordered list and displays thumbnails when each image is loaded. It can create thumbnails, scaled or unscaled, centered and cropped, inside a fixed thumbnail box defined by CSS.</p>
<p><a href="http://www.puidokas.com/portfolio/frogjs/">FrogJS Javascript Gallery</a><br />
<a href="http://www.puidokas.com/portfolio/frogjs/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/36.jpg" alt="36 in " width="500" height="185" /></a><br />
FrogJS is a simple unobtrusive JavaScript gallery. It’s not a replacement for other thumbnail galleries such as Lightbox JS, but is a different way of showcasing galleries. It is best for page-by-page galleries, such as photo stories.</p>
<p><a href="http://www.openstudio.fr/jQuery-virtual-tour.html?lang=en">jQuery virtual tour</a><br />
<a href="http://www.openstudio.fr/jQuery-virtual-tour.html?lang=en"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/37.jpg" alt="37 in " width="500" height="692" /></a></p>
<p><a href="http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/">Featured Content Slider</a><br />
<a href="http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/38.jpg" alt="38 in " width="500" height="404" /></a></p>
<p><a href="http://www.flashnifties.com/">Flashnifties</a><br />
<a href="http://www.flashnifties.com/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/39.jpg" alt="39 in " width="500" height="373" /></a><br />
Flash image gallery, video gallery, MP3 music player, updatable Flash website with advanced navigation&#8230; all in one!</p>
<p><a href="http://ptflickrgallery.sourceforge.net/web/index.html">JQuery flickrGallery</a><br />
<a href="http://ptflickrgallery.sourceforge.net/web/index.html"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/40.jpg" alt="40 in " width="500" height="393" /></a></p>
<p><a href="http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/">prettyPhoto</a><br />
<a href="http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/41.jpg" alt="41 in " width="500" height="520" /></a><br />
prettyPhoto is a jQuery-based Lightbox clone. It supports not only images but video, Flash, YouTube and iFrames. It&#8217;s a full-blown media Lightbox.</p>
<p><a href="http://www.paulvanroekel.nl/picasa/flashpageflip/index.asp">Flash Page Flip Photo Gallery template for Picasa</a><br />
<a href="http://www.paulvanroekel.nl/picasa/flashpageflip/index.asp"><img src="http://media2.smashingmagazine.com/images/slideshow-lightbox-scripts/42.jpg" alt="42 in " width="500" height="187" /></a></p>
<p><em>(al)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noupe.com/ajax/free-slideshow-gallery-and-lightboxes-scripts.html/feed</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>A Simple Twitter App with Ruby on Rails &#8211; Messages With Ajax</title>
		<link>http://www.noupe.com/ajax/create-a-simple-twitter-app.html</link>
		<comments>http://www.noupe.com/ajax/create-a-simple-twitter-app.html#comments</comments>
		<pubDate>Tue, 23 Jun 2009 21:01:11 +0000</pubDate>
		<dc:creator>Editorial</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.noupe.com/?p=14323</guid>
		<description><![CDATA[<table width="650"><tr><td width="650"><div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt="" /></a>
    </div></td></tr></table>
&nbsp;&nbsp; Ruby on Rails is a web application framework that promotes rapid development. Clients&#8217; demands are ever increasing yet they still expect the same quality of output. Frameworks, like Rails, help to achieve this; why?&#8230; here are some of the reasons: The second part of this tutorial: A Simple Twitter App with Ruby on Rails [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="Advertisement in " border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt=" in "  /></a>
    </div>
</td>
</tr>
</table>
<p>Ruby on Rails is a web application framework that promotes rapid development.  Clients&#8217; demands are ever increasing yet they still expect the same quality of output. </p>
<p> Frameworks, like Rails, help to achieve this; why?&#8230; here are some of the reasons:</p>
<ul class="post">
<li>The <strong>second part </strong>of this tutorial: <a href="http://www.noupe.com/ror/a-simple-twitter-app-with-ruby-on-rails-user-authentication.html">A Simple Twitter App with Ruby on Rails – User Authentication</a></li>
<li>The <strong>third part </strong>of this tutorial: <a href="http://www.noupe.com/ror/a-simple-twitter-app-with-ruby-on-rails-building-friendships.html"> A Simple Twitter App with Ruby on Rails – Building Friendships</a></li>
</ul>
<hr/><span id="more-14323"></span></p>
<ul class="post">
<li><strong>Convention over Configuration (CoC): </strong><br />
<hr/>This is used to reduce the amount of up-front configuartion.  The idea is; if you abide by certain coding conventions, you will have little, to none, configuration to do.</li>
<li><strong>Object-Relational Mapping (ORM):</strong><br />
<hr/>ORM reducing coupling to the database.  This abstraction allows you changed the DBMS provider with little trouble.</li>
<li><strong>Structured Code:</strong><br />
<hr/>The MVC pattern forces you to organise your code in a clean, structured way.  This results in more maintainable code.</li>
<li><strong>Plugins:</strong><br />
<hr/>Plugins save you from re-inventing the wheel every time you want to add functionality to your app.  For instance, making you web app capable of performing searches can be easily added with the acts_as_ferret plugin.  There are many more plugins!</li>
</ul>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/twitterblog.jpg" alt="Twitterblog in "  /></p>
<h3 class="title">Who is this Tutorial for?</h3>
<p>This tutorial is for people who have learnt the basics of Rails and want to take things to the next level.  This tutorial is not a beginners guide for getting started with Rails.  If you are just starting out with Rails I suggest this <a href="http://sixrevisions.com/web-development/how-to-create-a-blog-from-scratch-using-ruby-on-rails/">article from Six Revisions</a>.</p>
<h3 class="title">What this Tutorial Covers</h3>
<p>In the first part of this three part series, we cover setting up a simple message model, which will hold the messages posted.  Further to this, we will learn how to post a message asynchronously, using AJAX.</p>
<p style="background-color:#F0EEE6;<br />
border:1px solid #E7E5DD; padding:20px" class="img"><a target="_blank" href="http://www.therailworld.com/posts/18-Create-a-Twitter-App-with-Rails-Demo-Data" style="border:none">View Demo of Twitter App with Ruby on Rails</a></p>
<h3 class="title">Basic Application Design</h3>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/webdesign.jpg" alt="Webdesign in "  /></p>
<p>Ok, so you&#8217;ve decided to create a &#8220;twitter&#8221; style micro-blog using Ruby on Rails.  First, we need to think about our basic requirements and from this we can model our application.</p>
<p>There are many ways that this can be done, but we will use a simple technique in which you jot down a few paragraphs about how and what the application is expected to do then highlight the nouns.  So, lets try it.</p>
<p><i>My web app should work in a similar way to twitter.  <b>Users</b> should be able to register with the site and create short <b>posts</b>.  Users should be able to follow other users.  Each user should be able to see their own posts plus the users they are following.</i></p>
<p>Note that I&#8217;ve been selective in what nouns I&#8217;ve highlighted.  You only really need to take notice of the nouns which you feel will need to store data to the database.</p>
<p>I know there is more to twitter than this, but lets leave it simple.  As you can see the &#8220;nouns&#8221;, which will need to store data to the database are &#8220;posts&#8221; and &#8220;users&#8221;.  So we require two models:</p>
<p><b>In the first part of the tutorial, we are going to deal with posts only.</b></p>
<ul>
<li>Post</li>
<li>User</li>
</ul>
<h3 class="title">Creating the Project Files</h3>
<p>Before we do anything we need to create a project for our twitter web app.</p>
<pre name="code" class="javascript">
  > rails twitter -d mysql
</pre>
<p>As you can see, I will be using MySQL as the DBMS, however, feel free to use whatever database you want.</p>
<p>Open the database.yml file in the config folder and modify the password as required.  An example is shown below.</p>
<pre name="code" class="javascript">
development:
  adapter: mysql
  encoding: utf8
  database: twittest_development
  pool: 5
  username: root
  password: yourpassword
  host: localhost
</pre>
<p>Now, create the database with the &#8220;rake&#8221; command.</p>
<pre name="code" class="javascript">
  > rake db:create
</pre>
<h3 class="title">Implementing the basic Message Model</h3>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/messages.jpg" alt="Messages in "  /></p>
<p>So let&#8217;s go right ahead and generate the &#8220;Post&#8221; model and migrate it.</p>
<pre name="code" class="javascript">
  > ruby script/generate model post message:text
  > rake db:migrate
</pre>
<h3 class="title">Controller</h3</p>
<p>Now, let&#8217;s create a controller for the post model.</p>
<pre name="code" class="javascript">
  > ruby script/generate controller posts
</pre>
<p>We need to set up some methods for interacting with the model.   Edit your &#8220;posts_controller.rb&#8221; file and add the following methods:</p>
<pre name="code" class="javascript">
class PostsController &lt; ApplicationController
  def index
    @posts = Post.all(:order => "created_at DESC")
    respond_to do |format|
      format.html
    end
  end

  def create
    @post = Post.create(:message => params[:message])
    respond_to do |format|
      if @post.save
        format.html { redirect_to posts_path }
      else
        flash[:notice] = "Message failed to save."
        format.html { redirect_to posts_path }
      end
    end
  end
end
</pre>
<p>We only need two methods, &#8220;index&#8221; and &#8220;create&#8221;.  The index method creates an instance variable containing all the posts in descending order.  The create method is used to create a new post.</p>
<h3 class="title">Views</h3>
<p>Let&#8217;s create the &#8220;index&#8221; view.  First, we&#8217;ll create a partial for posts.  Create a file called &#8220;_post.html.erb&#8221; in the views/posts folder and add the code below.</p>
<pre name="code" class="javascript">
&lt;p&gt;&lt;b&gt;Posted &lt;%= time_ago_in_words(post.created_at) %&gt; ago&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;%= post.message %&gt;&lt;/p&gt;
</pre>
<p>The index view is now very simple.  Create a file called &#8220;index.html.erb&#8221; in the views/posts folder and add the code below.</p>
<pre name="code" class="javascript">
&lt;%= render :partial =&gt; @posts %&gt;
</pre>
<h3 class="title">Create some Posts</h3>
<p>Open a console session and create a few new messages, as shown below.</p>
<pre name="code" class="javascript">
  > ruby script/console
  Loading development environment (Rails 2.3.2)
  >> Post.create!(:message =&gt; "My first post" )
  >> Post.create!(:message =&gt; "Post number two!" )
</pre>
<h3 class="title">Create a Form for Posts</h3>
<p>Obviously you&#8217;re not going to get the user to use the console to create messages.  So, our next task is to inject some functionality into our web app to allow the user to create messages.  Twitter has an input box above the indexed messages, which is used for submitting a new message;  We will keep our web app the same.</p>
<p>First, we will create a partial for the form, then we will render that partial at the top of the index view.  Create a file called &#8220;_message_form.html.erb&#8221; in the posts view folder and add the following code:</p>
<pre name="code" class="javascript">
&lt;% form_tag(:controller =&gt; "posts", :action =&gt; "create") do %&gt;
  &lt;%= label_tag(:message, "What are you doing?") %>&lt;br /&gt;
  &lt;%= text_area_tag(:message, nil, :size => "44x6") %>&lt;br /&gt;
  &lt;%= submit_tag("Update") %&gt;
&lt;% end %&gt;
</pre>
<p>Now, we need to modify the index view to render this partial at the top.  Open the index.html.erb file and modify the code as follows:</p>
<pre name="code" class="javascript">
<b><%= render :partial => "message_form" %></b>
<%= render :partial => @posts %>
</pre>
<p>For this to work we need to make one last modification.  Open the route.rb file and map a new &#8220;posts&#8221; resource, as shown below.  (Note: the comments from this file have been removed).</p>
<pre name="code" class="javascript">
ActionController::Routing::Routes.draw do |map|
  map.resources :posts
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end
</pre>
<p>This creates a few named routes.  If you look back to the &#8220;create&#8221; method in the posts controller, you&#8217;ll see that we make use of the posts_path named route; Defining the posts resource makes this named route available.</p>
<p>So, lets fire up the web server and a see how things look.</p>
<pre name="code" class="javascript">
  > ruby script/server
</pre>
<p>Now open a browser and go to http://localhost:3000/posts.  You should see a screen, as shown below.</p>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/twitter1.jpg" alt="Twitter1 in "  /></p>
<h3 class="title">Adding some AJAX</h3>
<p>AJAX allows you to make asynchronous requests to the server using JavaScript.  We will make use of AJAX to make the posting a message a bit smoother.</p>
<p>When the user clicks on the &#8220;Update&#8221; button, we want the message to update without refreshing the browser.  We have a few things to do to add AJAX functionality.  First, lets change the &#8220;create&#8221; method in the posts controller:</p>
<pre name="code" class="javascript">
  def create
    @post = Post.create(:message => params[:message])
    respond_to do |format|
      if @post.save
        format.html { redirect_to posts_path }
        format.js
      else
        flash[:notice] = "Message failed to save."
        format.html { redirect_to posts_path }
      end
    end
  end
</pre>
<p>The only change here is the &#8220;format.js&#8221; code, allowing the create method to respond to JavaScript.  Next, we need to create a posts layout file.  In the views/layout folder create a file called &#8220;posts.html.erb&#8221; and add the following code:</p>
<pre name="code" class="javascript">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
  &lt;%= javascript_include_tag :all %&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id="content"&gt;
    &lt;%= yield %&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>The main purpose of this is to make use of the &#8220;javascript_include_tag&#8221; call, which includes the relevant JavaScript files for AJAX and some visual effects.  Next, we need to make a small addition to the index view (&#8220;index.html.erb&#8221;).</p>
<pre name="code" class="javascript">
&lt;%= render :partial =&gt; "message_form" %&gt;
<b>&lt;div id="posts"&gt;</b>
  &lt;%= render :partial =&gt; @posts %&gt;
<b>&lt;/div&gt;</b>
</pre>
<p>As you can see all we have added is a div block surrounding the posts partial.  This will be used later when we are specifying where the AJAX response should be placed.  Nearly there!  Now we will add a div_for block to our post partial (&#8220;_post.html.erb&#8221;).</p>
<pre name="code" class="javascript">
&lt;% div_for post do %&gt;
  &lt;p&gt;&lt;b&gt;Posted &lt;%= time_ago_in_words(post.created_at) %&gt; ago&lt;/b&gt;&lt;/p&gt;
  &lt;p&gt;&lt;%= post.message %&gt;&lt;/p&gt;
&lt;% end %&gt;
</pre>
<p>Edit the &#8220;_message_form.html.erb&#8221; partial and change the form_tag call to form_remote_tag as show in the code extract below:</p>
<pre name="code" class="javascript">
&lt;% form_remote_tag(:controller =&gt; "posts", :action =&gt; "create") do %&gt;
</pre>
<p>The div_for operation create a div block with a unique id, this is especially useful when looping through several records.  Finally, we need to create the rjs template.  To do this, create a file called &#8220;create.js.rjs&#8221; in the views/posts folder and add the following code.</p>
<pre name="code" class="javascript">
page.insert_html :top, :posts, :partial => @post
page[@post].visual_effect :highlight
</pre>
<p>The first line specifies that a new post partial will be rendered at the top of the posts div when the asynchronous call responds.  The second line specifies that a &#8220;highlight&#8221; visual effect will be applied to that block when it is rendered.</p>
<p>That&#8217;s it!  Start you web server again, browse to http://localhost:3000/posts and give it a go.</p>
<h3 class="title">Make it Look Pretty!</h3>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/style.jpg" alt="Style in "  /></p>
<p>I&#8217;ve created a stylesheet, which we can use to make things look a bit more respectful.  Create a file called layout.css in the public/stylesheets folder then add the following CSS code:</p>
<pre name="code" class="css">
body
{
  font-family: tahoma, sans-serif;
  font-size: 18px;
  background-color: #4B7399;
  width: 100%;
  color: #ffffff;
  margin: 0;
  text-align: center;
}

#content
{
  width: 800px;
  margin: 0 auto;
  text-align: left;
}

.post
{
  padding: 5px 20px 5px 20px;
  background-color: #ffffff;
  margin: 20px 0 20px 0;
  color: #000000;
}
</pre>
<p>Finally, you will need to add stylesheet_link_tag call to the posts.html.erb layout file.  As per below, the call should be placed in the head tag.</p>
<pre name="code" class="javascript">
&lt;head&gt;
  &lt;%= javascript_include_tag :all %&gt;
  <b>&lt;%= stylesheet_link_tag 'layout' %&gt;</b>
&lt;/head&gt;
</pre>
<p>OK! It doesn&#8217;t look that pretty, but it will do for our purposes.</p>
<p class="img"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ruby1/twitter2.jpg" alt="Twitter2 in "  /></p>
<h3 class="title">Setting up a Home Page</h3>
<p>To have the root URL (http://localhost:3000) direct the user towards your posts you will first need to delete the public/index.html file.  Do this now.</p>
<p>The second thing you need to do is set up a route in your config\routes.rb file.  Open routes.rb in notepad and add a new line to the end using map.root, as shown below.</p>
<pre name="code" class="javascript">
ActionController::Routing::Routes.draw do |map|
  map.resources :posts
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
  map.root :controller => "posts"
end
</pre>
<p>For more on routes, try the <a href="http://api.rubyonrails.org/classes/ActionController/Routing.html">Rails API Documentation</a></p>
<p>Now if you browse to http://localhost:3000.  The request will be routed to the posts controller.</p>
<h3 class="title">Summary</h3>
<p>This concludes the first part of the series.  Depending on the popularity of this article, parts 2 and 3 will follow shortly.</p>
<h4 class="title">What have we Learnt?</h4>
<p>You&#8217;ve learnt how to carry out basic application design and how to use this design to work out what models are required.  Further to this, you&#8217;ve learnt how to use the console to help with the development of your application.  Finally, you used AJAX to perform asynchronous requests to the server.</p>
<div class="author-box">
<div class="author-text">
<img height="80" width="80" class="author-photo" src="http://www.noupe.com/wp-content/uploads/2009/06/phil_mcclure_small.jpg" alt="Phil Mcclure Small in "  />   </p>
<h4><strong>Author</strong>: <a href="http://therailworld.com">Phil McClure</a></h4>
<p>Phil McClure is a Software Developer from Belfast, Northern Ireland. His main interests are software architecture, design patterns and how these can be applied to web development. Phil blogs at <a href="http://therailworld.com">Therailworld</a>. Follow him on <a href="http://www.twitter.com/overture8">Twitter</a>.</p>
</p></div>
<div class="write-for-us"><strong class="red">Write for Us!</strong> We are looking for exciting and creative articles, if you want to contribute, just send us an <a href="mailto:info@noupe.com">email</a>.</div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.noupe.com/ajax/create-a-simple-twitter-app.html/feed</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>How AJAX Works: 10 Practical Uses For AJAX</title>
		<link>http://www.noupe.com/ajax/how-ajax-works.html</link>
		<comments>http://www.noupe.com/ajax/how-ajax-works.html#comments</comments>
		<pubDate>Sat, 13 Jun 2009 21:01:20 +0000</pubDate>
		<dc:creator>Editorial</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.noupe.com/?p=14241</guid>
		<description><![CDATA[<table width="650"><tr><td width="650"><div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt="" /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt="" /></a>
    </div></td></tr></table>
&nbsp;&nbsp; AJAX has gotten more and more popular over the years, and has allowed web applications to act more and more like desktop applications. AJAX can provide a lot of additional functionality that could not be accomplished any other way. What Is AJAX? How Does It Work? AJAX stands for Asynchronous JavaScript and XML. It [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px;">
      <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="Advertisement in " border="0" /><br />
      <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=8" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=8" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=9" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=9" border="0" alt=" in "  /></a>&nbsp;<a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?zoneid=10" target="_blank"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/avw.php?zoneid=10" border="0" alt=" in "  /></a>
    </div>
</td>
</tr>
</table>
<p>AJAX has gotten more and more popular over the years, and has allowed web applications to act more and more like desktop applications. AJAX can provide a lot of additional functionality that could not be accomplished any other way.</p>
<p><span id="more-14241"></span></p>
<h3 class="title"><strong>What Is AJAX? How Does It Work?</strong></h3>
<p>AJAX stands for Asynchronous JavaScript and XML. It is used for allowing the client side of an application to communitcate with the server side of the application. Before AJAX, there was no way for the client side of a web application to communicate directly with the server. Instead, you would have to use page loads. With AJAX, the client and server can communicate freely with one another.</p>
<h4 class="title">Here is how the usual AJAX script goes:</h4>
<ul class="post">
<li>Some action triggers the event, like the user clicking a button.</li>
<li>The AJAX call fires, and sends a request to a server-side script, using XML</li>
<li>The server-side script (PHP, ASP, or whatever) takes the input from JavaScript, can access the database if it needs to, and processes the data.</li>
<li>Using XML again, the script sends the data back to the original client-side page that made the request</li>
<li>A second JavaScript function, called a callback function,catches the data, and updates the web page</li>
</ul>
<p>Throughout this tutorial, we will discuss how various scripts use this routine to accomplish a wide variety of effects.</p>
<h3 class="title"><strong>1. Login Forms</strong></h3>
<p class="img"><a href="http://www.digg.com"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-1.jpg" alt="Ajax-1 in " width="?" height="?" /></a></p>
<p>Instead of going to a login page, and then navigating back to the page you originally wanted, with AJAX, a user can type in their user name and password directly into the original page. From there AJAX will send a request to the server to log them in. The server let’s the page know they’ve been logged in, and the page you are on can update as needed. Digg has a login-system that works like this.</p>
<p><strong>Example: </strong><a href="http://www.digg.com">Digg.com</a> (top of page)</p>
<p>Plugin:<a href="http://malsup.com/jquery/form/"> jQuery Form Plugin</a></p>
<h3 class="title"><strong>2. Auto-Complete</strong></h3>
<p class="img"><a href="http://www.google.com"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-2.jpg" alt="Ajax-2 in " width="?" height="?" /></a></p>
<p>Google was one of the first major companies to start using AJAX, and Google’s search suggestion tool was one of the first ways they used it, and one of the first auto-complete tools made. When typing into the Google search bar, it starts to use AJAX to get common results from the database on each keystroke. Auto-Complete is great for forms where you have a lot of possible inputs, and making a select drop down would be too long and cumbersome.</p>
<p><strong>Example: </strong><a href="http://www.google.com">Google Search</a></p>
<p>Plugin:&nbsp; <a href="http://plugins.jquery.com/project/jq-autocomplete">jq autocomplete</a></p>
<h3 class="title"><strong>3. Voting and Rating</strong></h3>
<p class="img"><a href="http://www.reddit.com"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-3.jpg" alt="Ajax-3 in " width="?" height="?" /></a></p>
<p>Social bookmarking sites like Digg and Reddit let the users decide the main content of the site by voting on content that the users like. They use AJAX to handle all of the voting, so that the users are able to voice their opinions on a number of stories quickly and easily.</p>
<p><strong>Example: </strong><a href="http://www.reddit.com">Reddit</a></p>
<h3 class="title"><strong>4. Updating With User Content</strong></h3>
<p class="img"><a href="http://www.twitter.com"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-4.jpg" alt="Ajax-4 in " width="?" height="?" /></a></p>
<p>One of the things that made Twitter so popular was their simple and easy-to-use interface. When someone makes a ‘tweet’, it is instantly added to their feed, and everything is updated. Recently, Twitter has started using AJAX with their ‘trending topics’ pages. Every few seconds, the page lets the user know that more tweets have been made about the subject, giving them up-to-the-second updates.</p>
<p><strong>Example: </strong><a href="http://www.twitter.com">Twitter</a></p>
<h3 class="title"><strong>5. Form Submission &#038; Validation </strong></h3>
<p class="img"><a href="http://kawika.org/jquery/checkbox/"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-5.jpg" alt="Ajax-5 in " width="?" height="?" /></a></p>
<p>Forms have always tricky to work with, but AJAX can make them a lot better for the users. AJAX can be used in a variety of ways, from the auto complete mentioned above, to validation and submission as well. Some sites use AJAX to check if a form meets certain requirements, such as password strength, or if something is a valid email or URL.</p>
<p><strong>Example: </strong><a href="http://www.thinkflick.com/freebies/10-great-jquery-form-plugins/">10 Cool jQuery Form Plugins</a></p>
<h3 class="title"><strong>6. Chat Rooms And Instant Messaging</strong></h3>
<p class="img"><a href="http://www.meebo.com/"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-6.jpg" alt="Ajax-6 in " width="?" height="?" /></a></p>
<p>Chatting online has come a long way from the days of IRC. Chat rooms and instant messaging can now be handled in the browser completely. There are two main AJAX processes in a chat room or IM application. Think of one of them as your ears, and one of them as your mouth. Your ‘mouth’ updates the server and lets it know that you have sent a message. The ‘ears’ check with the server constantly, and updates your page with messages that have been sent by whoever you are chatting with.</p>
<p><strong>Example: </strong><a href="http://www.meebo.com/">Meebo Chat (Uses Ajax)</a></p>
<p><strong>Plugin: </strong><a href="http://anantgarg.com/2009/05/13/gmail-facebook-style-jquery-chat/">GMail/Facebook Style Chat Script</a></p>
<h3 class="title"><strong>7. Slicker UIs</strong></h3>
<p class="img"><a href="http://jqueryui.com/demos/droppable/"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-7.jpg" alt="Ajax-7 in " width="?" height="?" /></a></p>
<p>Creating a clean, slick user interface is a very popular use of AJAX. It allows users to accomplish more on a single page. The benefits of this are twofold: First, it makes using the web application quicker and easier for the user; Secondly, it cuts down on the number of requests you have to make to the server, which cuts down on bandwidth and load times. A free file upload service called Drop.io uses this well. Google has also really pushed the envelope of what is possible with AJAX by making desktop-like applications like Google Docs and Google Maps.</p>
<p><a href="http://jqueryui.com/">jQuery UI Library</a></p>
<h3 class="title"><strong>8. External Widgets</strong></h3>
<p class="img"><a href="https://www.google.com/adsense/static/en_US/AdFormats.html?hl=en_US&#038;gsessionid=jfcW8Ypze14jT1AcH9jPTg"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-8.jpg" alt="Ajax-8 in " width="?" height="?" /></a></p>
<p>When using AJAX, the page that is using the JavaScript isn’t just limited to the server it is located on. The AJAX can make a call to any server online. This is how a number of plug-ins for Content Management Systems like WordPress work, and other various scripts like Google Adsense.</p>
<p><strong>Example: </strong><a href="http://www.adsense.com">Google Adsense</a></p>
<p><strong>Plugin: </strong><a href="http://www.hotscripts.com/listing/jquery-load-external-content-into-div/">Script for loading external content into div</a></p>
<h3 class="title"><strong>9. Lightboxes instead of pop-ups</strong></h3>
<p class="img"><a href="http://www.logosauce.com/"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-9.jpg" alt="Ajax-9 in " width="?" height="?" /></a></p>
<p>Pop-up blockers are very common place these days, and for a good reason: pop-ups are annoying. Using light boxes, which are pop-ups inside the browser window, the pop-up blocker can’t stop it, and they aren’t quite as irritating to the user. Some people use them for advertising, like on Darren Rowe’s ProBlogger.com. They can also be used for something like a login or register box, like Reddit does when you try to vote and you are not logged in.</p>
<p><strong>Example: </strong><a href="http://www.logosauce.com/">Logo Sauce</a></p>
<p><strong>Plugin: </strong><a href="http://leandrovieira.com/projects/jquery/lightbox/">Lightbox Plugin</a></p>
<h3 class="title"><strong>10. Using AJAX With Flash</strong></h3>
<p class="img"><a href="http://www.kongregate.com"><img src="http://media.smashingmagazine.com/cdn_noupe/img/ajax-works/ajax-10.jpg" alt="Ajax-10 in " width="?" height="?" /></a></p>
<p>Using AJAX along with Flash is a rarely used technique, but it can be used to generate some impressive results. The flash game website Kongregate uses this to great effect. Using their API, they have their own achievement system that involves winning ‘badges’ for completing various accomplishments in games. When a badge is earned, the API in Flash sends a response back to JavaScript, which then uses AJAX to update the user’s profile with the newly earned award.</p>
<p><strong>Example: </strong><a href="http://www.kongregate.com">Kongregate</a></p>
<p><strong>Plugin: </strong><a href="http://webscripts.softpedia.com/scriptDownload/jQuery-Flash-Plugin-Download-44476.html">jQuery Flash Plugin</a></p>
<p>I hope this article has given you a lot of ideas of how you can use AJAX to improve and expand your web applications. What are some other uses you can think of for AJAX?</p>
<div class="author-box">
<div class="author-text">
<h4><strong>Author</strong>: Joel Reyes</h4>
<p>Joel Reyes Has been designing and coding web sites for several years, this has lead him to be the creative mind behind Looney Designer a design resource and portfolio site that revolves around web and graphic design.</p>
</p></div>
<div class="write-for-us"><strong class="red">Write for Us!</strong> We are looking for exciting and creative articles, if you want to contribute, just send us an <a href="mailto:info@noupe.com">email</a>.</div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.noupe.com/ajax/how-ajax-works.html/feed</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached (user agent is rejected)
Database Caching using memcached
Object Caching 838/1667 objects using memcached
Content Delivery Network via media.smashingmagazine.com/cdn_noupe (user agent is rejected)

Served from: www.noupe.com @ 2010-09-02 19:29:33 -->