<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Debasishphp&#039;s Blog</title>
	<atom:link href="https://debasishphp.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://debasishphp.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 22 Jan 2012 15:02:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='debasishphp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://secure.gravatar.com/blavatar/661cfda46506529329762214789881f4?s=96&#038;d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Fbuttonw-com.png</url>
		<title>Debasishphp&#039;s Blog</title>
		<link>https://debasishphp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://debasishphp.wordpress.com/osd.xml" title="Debasishphp&#039;s Blog" />
	<atom:link rel='hub' href='https://debasishphp.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Twitter Tools and Tutorials For Designers and Developers</title>
		<link>https://debasishphp.wordpress.com/2011/11/04/twitter-tools-and-tutorials-for-designers-and-developers/</link>
		<comments>https://debasishphp.wordpress.com/2011/11/04/twitter-tools-and-tutorials-for-designers-and-developers/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 19:44:07 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[Twitter API]]></category>
		<category><![CDATA[Twitter PHP]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=221</guid>
		<description><![CDATA[50 Twitter Tools and Tutorials For Designers and Developers Ref: http://www.smashingmagazine.com Twitter appears on innumerable personal and professional websites nowadays, whether it is a simple “Follow me” badge in the header or a display of the author’s latest tweets in the sidebar. No longer a fad, Twitter is now a necessity for every website, not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=221&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><a href="http://www.smashingmagazine.com/2009/03/02/twitter-web-designer-and-developer-toolbox-api-and-tutorials/">50 Twitter Tools and Tutorials For Designers and Developers</a></h2>
<div>Ref: http://www.smashingmagazine.com</p>
<div id="mediumrectangletarget">
<div id="mediumrectangle">
<div id="beacon_186edf9531"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/lg.php?bannerid=2360&amp;campaignid=880&amp;zoneid=22&amp;loc=http%3A%2F%2Fwww.smashingmagazine.com%2F2009%2F03%2F02%2Ftwitter-web-designer-and-developer-toolbox-api-and-tutorials%2F&amp;referer=http%3A%2F%2Fwww.google.co.in%2F&amp;cb=186edf9531" alt="" width="0" height="0" /></div>
</div>
</div>
</div>
<p>Twitter appears on innumerable personal and professional websites nowadays, whether it is a simple “Follow me” badge in the header or a display of the author’s latest tweets in the sidebar. No longer a fad, Twitter is now a necessity for every website, not just for sharing your thoughts and keeping in touch with people, but also for marketing, advertising and even searching. But you may be wondering, How can I make Twitter work the way I want on my website?</p>
<p>Below, we present <strong>Twitter Web Designer and Developer Toolbox, API and Tutorials</strong>, a series of tutorials, links, references, libraries and plug-ins that will help you do everything you’ve always wanted to do with Twitter.</p>
<div id="textadtarget">
<div id="textad">[<strong>Editor's note</strong>: Have you already got your copy of the <em>Smashing Book #2</em>? The book shares valuable practical insight into design, usability and coding. <a href="http://auslieferung.commindo-media-ressourcen.de/www/delivery/ck.php?oaparams=2__bannerid=2862__zoneid=68__OXLCA=1__cb=1091759f6a__oadest=https%3A%2F%2Fshop.smashingmagazine.com%2Fsmashing-book-2.html%3Fpk_campaign%3Dsmashing-book-2%26pk_kwd%3Dsm-ta-01" target="_self">Have a look at the contents</a>.]</p>
<div id="beacon_1091759f6a"><img src="http://auslieferung.commindo-media-ressourcen.de/www/delivery/lg.php?bannerid=2862&amp;campaignid=1018&amp;zoneid=68&amp;loc=1&amp;referer=http%3A%2F%2Fwww.smashingmagazine.com%2F2009%2F03%2F02%2Ftwitter-web-designer-and-developer-toolbox-api-and-tutorials%2F&amp;cb=1091759f6a" alt="" width="0" height="0" /></div>
</div>
</div>
<h3>Twitter Development Links</h3>
<p><img src="http://media.smashingmagazine.com/images/twitter-web-designers/official.png" alt="Twitter Web App" width="480" height="152" /></p>
<p><a href="http://dev.twitter.com/">Twitter Technology Blog</a><br />
If you’re writing an application for the Twitter API or just curious about the code, tools and practices, this blog has something for you.</p>
<p><a href="http://apiwiki.twitter.com/">Twitter API Wiki home page</a><br />
Download the Twitter API here, and it’s also a great reference for developers.</p>
<p><a href="http://groups.google.com/group/twitter-api-announce">Twitter API Announcements – Google Groups</a><br />
This website is updated only when changes to the Twitter API are released or there is a pending release.</p>
<p><a href="http://groups.google.com/group/twitter-development-talk">Twitter Development Talk – Google Groups</a><br />
Discussion about the development and use of the Twitter API</p>
<p><a href="http://twitter.com/twitterapi">Follow Twitter Development via Twitter</a><br />
Keep up to date with all news via Twitter.</p>
<h3>Introduction to the Twitter API</h3>
<p><img src="http://media.smashingmagazine.com/images/twitter-web-designers/using.png" alt="Twitter Web App" width="480" height="200" /></p>
<p><a href="http://twittut.netsensei.nl/">Twitter API for Dummies</a><br />
This is an easy-to-follow tutorial with several examples based on different Web technologies. It has just enough for you to start your own Twitter project.</p>
<p><a href="http://papermashup.com/using-the-twitter-api/">Using the Twitter API</a><br />
This is an excellent introduction to using the Twitter API. The API offers many different ways to connect to your details including XML, JSON, Atom and RSS. This tutorial uses XML, PHP and cURL.</p>
<p><a href="http://www.webmonkey.com/tutorial/Get_Started_With_the_Twitter_API">Get Started With the Twitter API</a><br />
If you’re looking to try out an API for the first time, Twitter’s is a great one to start with. Its API is simple and easy to use. The only thing to keep in mind is that Twitter limits you to 70 requests per 60-minute intervals, so remember to cache or otherwise store your results.</p>
<p><a href="http://www.devx.com/webdev/Article/40359?trk=DXRSS_LATEST">Getting Started with the Twitter API</a><br />
Twitter’s API lets you read and write Twitter messages with minimal coding in nearly any programming language. In fact, you can use this API without doing any programming. A slightly more advanced tutorial than the previous three.</p>
<h3>Building Your Website Around Twitter</h3>
<p><a href="http://css-tricks.com/build-your-own-social-home/">Build Your Own Social Home!</a><br />
Many of us have not only our own websites, but also Twitter, Flickr, ScrnShots and Facebook accounts, too. This tutorial brings all of these together neatly on one page.</p>
<p><a href="http://css-tricks.com/build-your-own-social-home/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/socialhome.png" alt="Twitter Web App" width="468" height="219" /></a></p>
<p><a href="http://thinkvitamin.com/features/how-to-create-an-rss-enabled-micro-blog-with-twitter/">How to Create an RSS-Enabled Micro-Blog with Twitter</a><br />
Have you ever wanted to create a simple multi-person blog but didn’t want to bother setting up an entire WordPress installation? If so, this tutorial is for you. By combining Twitter Search, Atom feeds, hash-tags and PHP, you can create an RSS-enabled, micro-blog using Twitter and be up and running in less than 10 minutes.</p>
<p><a href="http://thinkvitamin.com/features/how-to-create-an-rss-enabled-micro-blog-with-twitter/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/createrss.png" alt="Twitter Web App" width="323" height="262" /></a></p>
<p><a href="http://tutorialblog.org/how-to-make-a-unique-website-for-your-twitter-updates/">How to Make a Unique Website for Your Twitter Updates</a><br />
Twitter offer a little JavaScript widget that automatically uses the API and returns simple HTML of your recent tweets. This tutorial shows you how to design a unique website for your Twitter updates using this widget.</p>
<p><a href="http://tutorialblog.org/how-to-make-a-unique-website-for-your-twitter-updates/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/tweet.png" alt="Twitter Web App" width="385" height="319" /></a></p>
<p><a href="http://nettuts.com/site-builds/how-to-build-a-maintainable-site-using-cushycms-and-twitter/">How to Build a Maintainable Website Using CushyCMS and Twitter</a><br />
In this tutorial, you build a simple one-page website and then, in less than 5 minutes, set it up with a Twitter feed for daily updates and with CushyCMS for general content.</p>
<p><a href="http://nettuts.com/site-builds/how-to-build-a-maintainable-site-using-cushycms-and-twitter/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/collis.png" alt="Twitter Web App" width="401" height="264" /></a></p>
<p><a href="http://woork.blogspot.com/2007/10/twitter-send-message-from-php-page.html">Send Message from a PHP Page Using the Twitter API</a><br />
This is a very simple tutorial (really just a few lines of codes!) that explains how to post a message using the Twitter API from a PHP page.</p>
<p><a href="http://woork.blogspot.com/2007/10/twitter-send-message-from-php-page.html"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/woork.png" alt="Twitter Web App" width="463" height="198" /></a></p>
<p><a href="http://forthelose.org/how-to-run-multiple-twitter-feeds-on-the-same-page">How to Run Multiple Twitter Feeds on the Same Page</a><br />
What if you want to display the Twitter feed of someone you admire or perhaps the feed of another author on your blog? This tutorial shows you how.</p>
<p><a href="http://forthelose.org/how-to-run-multiple-twitter-feeds-on-the-same-page"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/multiple.png" alt="Twitter Web App" width="463" height="176" /></a></p>
<p><a href="http://remysharp.com/2007/05/18/add-twitter-to-your-blog-step-by-step/">Add Twitter to Your Blog (step by step)</a><br />
This is a simple but great tutorial: a “step-by-step guide to adding Twitter to your blog without it hanging your website”. Great description.</p>
<p><a href="http://remysharp.com/2007/05/18/add-twitter-to-your-blog-step-by-step/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/addtwit.png" alt="Twitter Web App" width="479" height="219" /></a></p>
<p><a href="http://www.sakana.fr/blog/2007/03/18/scripting-twitter-with-curl/">Scripting Twitter with cURL</a><br />
cURL is a versatile command-line utility designed to script Web page interactions. As a little demo, this tutorial shows you how to use it to easily to overcome the shortcomings of Twitter’s API. You can also view the Perl + LWP version of this tutorial here: <a href="http://www.sakana.fr/blog/2007/03/18/scripting-twitter-with-perl-lwp/">Scripting Twitter with Perl + LWP</a></p>
<p><a href="http://dotjay.co.uk/2008/feb/php-twitter-google-calendar-sms">PHP + Twitter + Google Calendar + SMS</a><br />
This tutorial shows you how to add an event to Google Calendar by text message. It shows you how to hook up your Twitter account to Google Calendar using their APIs.</p>
<p><a href="http://crunchbang.org/archives/2008/02/20/twitterzoid-php-script/">TwitterZoid PHP Script</a><br />
TwitterZoid is the name of this PHP script for parsing Twitter RSS feeds. This tutorial shows you how to successfully implement this.</p>
<h3>Twitter and AJAX Tutorials</h3>
<p><a href="http://tweet.seaofclouds.com/">Tweet! Unobtrusive jQuery Twitter Widget Tutorial</a><br />
Tweet is an unobtrusive, fast-loading, feature-rich jQuery plug-in that lets you easily display your tweets on your website.</p>
<p><a href="http://tweet.seaofclouds.com/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/tweet2.png" alt="Twitter Web App" width="463" height="191" /></a></p>
<p><a href="http://coda.co.za/blog/2008/10/26/jquery-plugin-for-twitter">jQuery Plug-in for Twitter</a><br />
This is a simple, unobtrusive and customizable client-side method for easily embedding a Twitter feed on a Web page. From Coda, you know it’s going to be smooth. View <a href="http://coda.co.za/content/projects/jquery.twitter/demo.html">demo here</a>.</p>
<p><a href="http://coda.co.za/blog/2008/10/26/jquery-plugin-for-twitter"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/coda.png" alt="Twitter Web App" width="250" height="191" /></a></p>
<p><a href="http://www.reynoldsftw.com/2009/02/using-jquery-php-ajax-with-the-twitter-api/">PHP and Ajax with the Twitter API</a><br />
This tutorial shows you how to use jQuery, PHP and a little AJAX to connect to the Twitter API and return results.</p>
<p><a href="http://www.reynoldsftw.com/2009/02/using-jquery-php-ajax-with-the-twitter-api/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/jq.png" alt="Twitter Web App" width="463" height="191" /></a></p>
<p><a href="http://www.reynoldsftw.com/2009/02/authenticating-twitter-api-calls-with-php-and-jquery/">Authenticating Twitter API Calls with PHP and jQuery</a><br />
In this tutorial, you are shown how to authenticate the API calls to your Twitter credentials (to be able to return your favorites).</p>
<p><a href="http://blog.ajaxmasters.com/year/2009/month/1/title/Twitter-followers-counter-tutorial/post.htm">Twitter Followers Counter Tutorial</a><br />
Here, you are taught how to create your very own Twitter counter, showing how many followers you have. View <a href="http://blog.ajaxmasters.com/demos/twitter_followers/followers_test.php">demo here</a>.</p>
<p><a href="http://blog.ajaxmasters.com/year/2009/month/1/title/Twitter-followers-counter-tutorial/post.htm"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/counter.png" alt="Twitter Web App" width="179" height="93" /></a></p>
<p><a href="http://juitter.com/">Juitter – jQuery Plug-In to Put Twitter Live on your Website</a><br />
Juitter is a small and fast-loading plug-in. It not only shows tweets to or from a user, but can be filtered to show tweets containing a specific word or restrict searches by language. You can also show avatars, which makes this jQuery plug-in quite unique. View <a href="http://juitter.com/">demo here</a>.</p>
<p><a href="http://juitter.com/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/juitter.png" alt="Twitter Web App" width="401" height="232" /></a></p>
<p><a href="http://nettuts.com/tutorials/php/twitter-emulation-using-mootools-12-and-php/">Twitter Emulation, Using MooTools 1.2 and PHP</a><br />
What most people probably don’t know is how simple it is to emulate Twitter’s functionality. Using PHP, MySQL and MooTools JavaScript, you can implement a Twitter-like status system in no time.</p>
<p><a href="http://nettuts.com/tutorials/php/twitter-emulation-using-mootools-12-and-php/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/moo.png" alt="Twitter Web App" width="392" height="304" /></a></p>
<h3>Sidebar, Widgets and Badges</h3>
<p><a href="http://blog.pinkandyellow.com/css/create-a-twitter-box-in-your-sidebar-20081106/">Create a Twitter Box in Your Sidebar</a><br />
In this tutorial, you’ll learn how to easily create a fancy box that displays your latest Twitter rants in your sidebar, without having to turn to clunky plug-ins that bog down your blog.</p>
<p><a href="http://blog.pinkandyellow.com/css/create-a-twitter-box-in-your-sidebar-20081106/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/clunky.png" alt="Twitter Web App" width="360" height="158" /></a></p>
<p><a href="http://www.problogdesign.com/wordpress/how-to-create-your-own-twitter-widget/">How to Create Your Own Twitter WP Plug-In</a><br />
In this tutorial, you will be shown how to write a simple widget to allow your readers to share your posts on their Twitter accounts.</p>
<p><a href="http://www.problogdesign.com/wordpress/how-to-create-your-own-twitter-widget/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/wp.png" alt="Twitter Web App" width="320" height="120" /></a></p>
<p><a href="http://www.maverickwebcreations.com/2008/11/06/twitter-status-message-speech-bubble-wordpress.html">How to Display Your Twitter Status Message in a Speech Bubble</a><br />
Display your latest tweet in a nice speech bubble. It can be a pain in the neck creating this with pure CSS and images, so this tutorial will help. A nice effect.</p>
<p><a href="http://www.maverickwebcreations.com/2008/11/06/twitter-status-message-speech-bubble-wordpress.html"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/bubble.png" alt="Twitter Web App" width="320" height="129" /></a></p>
<p><a href="http://www.wait-till-i.com/2008/04/11/example-of-an-unobtrusive-lazy-loading-badge-using-the-twitter-api/">Unobtrusive, Lazy-Loading Badge Using the Twitter API</a></p>
<p><a href="http://www.wait-till-i.com/2008/04/11/example-of-an-unobtrusive-lazy-loading-badge-using-the-twitter-api/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge.png" alt="Twitter Web App" width="480" height="199" /></a></p>
<p><a href="http://trainque.com/blog/2007/06/03/a-resizable-css-based-twitter-site-badge/">A Resizable CSS-Based Twitter Website Badge</a><br />
If you find the official Twitter badges too big and clunky, then this tutorial is for you. Display your latest tweet in a neat CSS-designed widget that resizes depending on the size of your tweet.</p>
<p><a href="http://trainque.com/blog/2007/06/03/a-resizable-css-based-twitter-site-badge/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge3.png" alt="Twitter Web App" width="315" height="95" /></a></p>
<p><a href="http://www.nouveller.com/css/get-yourself-a-great-looking-custom-twitter-badge/">Custom Twitter Badge Tutorial CSS</a><br />
If you’re struggling to get Twitter to suit your website, then this tutorial will show you how to customize the different elements and create your own Twitter badge. View <a href="http://www.nouveller.com/css/get-yourself-a-great-looking-custom-twitter-badge/">demo here</a>.</p>
<p><a href="http://www.thelastknight.co.uk/tutorials/adding-and-customising-a-twitter-feed/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge2.png" alt="Twitter Web App" width="315" height="165" /></a></p>
<p><a href="http://www.upsidedowncity.net/building-my-own-twitter-badge-with-rss/">Building My Own Twitter Badge with RSS</a><br />
In this tutorial, you will make your own Twitter badge with PHP by reading the RSS feed that Twitter provides. The default Twitter badge uses script tags that do not display when a user has JavaScript disabled. This code will render no matter what and still displays links and the names of tweeters.</p>
<p><a href="http://twitter.com/badges">Official Twitter Badges</a><br />
Display your latest updates with a customized widget (or “badge”) from Twitter itself.</p>
<p><a href="http://twitter.com/badges"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/twbadgeoff.png" alt="Twitter Web App" width="431" height="194" /></a></p>
<p><a href="http://www.drweb.de/magazin/20-twitter-icons-websites/">30+ Twitter Icons And Badges</a><br />
A large collection of Twitter badges, buttons and icons, available for free download.</p>
<p><a href="http://www.drweb.de/magazin/20-twitter-icons-websites/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/rev.jpg" alt="Twitter Web App" width="261" height="257" /></a></p>
<h3>Building a Twitter Application</h3>
<p><a href="http://aralbalkan.com/999">How to Build Your First Flash Twitter Mash-Up in Four Lines of Code!</a><br />
Build a Twitter mash-up in four lines of code? That’s all you need, according to this tutorial, to get the latest public timeline updates from Twitter into Flash.</p>
<p><a href="http://davanum.wordpress.com/2007/11/21/twitter-client-for-android-how-to-make-xml-over-http-calls/">Twitter Client for Android</a><br />
A tutorial showing how to create a Twitter client for Android (i.e. how to make XML-over-HTTP calls).</p>
<p><a href="http://www.devx.com/webdev/Article/40511?trk=DXRSS_LATEST">Building an Application with the Twitter API</a><br />
Twitter API libraries are available for most popular programming languages, and they’re opening up new possibilities for publishing information. In this tutorial, you will use a short Python script to create tweets when the Dow Jones Industrial Average (or any stock or index you like) makes a big jump.</p>
<p><a href="http://dominiek.com/articles/2008/2/15/how-to-build-a-twitter-agent">How to Build a Twitter Agent</a><br />
In this article, you will build a useful Twitter service to track the blogosphere.</p>
<p><a href="http://dominiek.com/articles/2008/2/15/how-to-build-a-twitter-agent"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/obs.png" alt="Twitter Web App" width="480" height="228" /></a></p>
<p><a href="http://www.peterkrantz.com/2008/twitter-client-with-fluid-and-jquery/">Building Your Own Twitter Client with Fluid and jQuery</a><br />
Here, you will learn how to build your own Twitter client using Fluid (which contains Web apps in their own process/window), to see if it is possible to build a completely open-source, ad-free Twitter-like client on a single Web page, using only JavaScript and HTML.</p>
<p><a href="http://www.peterkrantz.com/2008/twitter-client-with-fluid-and-jquery/"><img src="http://media.smashingmagazine.com/images/twitter-web-designers/twoot.png" alt="Twitter Web App" width="350" height="372" /></a></p>
<h3>Twitter Libraries of Note</h3>
<p><img src="http://media.smashingmagazine.com/images/twitter-web-designers/devhead.png" alt="Twitter Web App" width="477" height="144" /></p>
<p><a href="http://code.google.com/p/twitterscript/">TwitterScript</a> (Actionscript)<br />
This is an ActionScript 3.0 library for accessing Twitter’s APIs. This was originally code from Twitter, but it is being open sourced so that it can be maintained and kept current.</p>
<p><a href="http://twitlib.googlecode.com/">QTwitLib</a>(C++)<br />
QTwitLib is currently in a functioning stage, which allows a user to make calls to the library, which in turn makes POST/GET requests to Twitter and returns a message and status code for the action request.</p>
<p><a href="http://code.google.com/p/java-twitter/">java-twitter</a> (Java)<br />
A Java wrapper around the Twitter API.</p>
<p><a href="http://www.winterwell.com/software/jtwitter.php">jtwitter</a> (Java)<br />
JTwitter is a small library providing easy access to the Twitter API. Set and get your status, manage your network of friends, message friends, etc.</p>
<p><a href="http://www.phpclasses.org/browse/package/4075.html">My Twitter</a> (PHP)<br />
This class can be used to set and retrieve a Twitter user status.</p>
<p><a href="http://github.com/jdp/twitterlibphp">TwitterLibPHP</a> (PHP)<br />
An object-oriented PHP interface for the Twitter API.</p>
<p><a href="http://code.google.com/p/php-twitter/">PHP Twitter</a> (PHP)<br />
A Twitter class for PHP, forked, modified and enhanced.</p>
<p><a href="http://classes.verkoyen.eu/twitter/">PHP Twitter</a> (PHP)<br />
PHP Twitter is a (wrapper) class for communicating with the Twitter API.</p>
<p><a href="http://code.google.com/p/python-twitter/">python-twitter</a> (Python)<br />
A Python wrapper around the Twitter API.</p>
<p><a href="http://github.com/dustin/twitty-twister/tree/master">twitty-twister</a> (Python)<br />
A twisted client for Twitter-like APIs.</p>
<p><a href="http://rubyforge.org/projects/twittery">Twittery</a> (Ruby)<br />
Twittery is a lightweight Ruby class that interfaces with Twitter’s API to make interacting with Twitter as simple as possible.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=221&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/11/04/twitter-tools-and-tutorials-for-designers-and-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>

		<media:content url="http://auslieferung.commindo-media-ressourcen.de/www/delivery/lg.php?bannerid=2360&#38;campaignid=880&#38;zoneid=22&#38;loc=http%3A%2F%2Fwww.smashingmagazine.com%2F2009%2F03%2F02%2Ftwitter-web-designer-and-developer-toolbox-api-and-tutorials%2F&#38;referer=http%3A%2F%2Fwww.google.co.in%2F&#38;cb=186edf9531" medium="image" />

		<media:content url="http://auslieferung.commindo-media-ressourcen.de/www/delivery/lg.php?bannerid=2862&#38;campaignid=1018&#38;zoneid=68&#38;loc=1&#38;referer=http%3A%2F%2Fwww.smashingmagazine.com%2F2009%2F03%2F02%2Ftwitter-web-designer-and-developer-toolbox-api-and-tutorials%2F&#38;cb=1091759f6a" medium="image" />

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/official.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/using.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/socialhome.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/createrss.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/tweet.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/collis.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/woork.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/multiple.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/addtwit.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/tweet2.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/coda.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/jq.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/counter.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/juitter.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/moo.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/clunky.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/wp.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/bubble.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge3.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/twbadge2.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/twbadgeoff.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/rev.jpg" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/obs.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/twoot.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/images/twitter-web-designers/devhead.png" medium="image">
			<media:title type="html">Twitter Web App</media:title>
		</media:content>
	</item>
		<item>
		<title>MVC Architecture &#8230;.</title>
		<link>https://debasishphp.wordpress.com/2011/11/04/mvc-architecture/</link>
		<comments>https://debasishphp.wordpress.com/2011/11/04/mvc-architecture/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 19:37:24 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[MVC Architecture]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=218</guid>
		<description><![CDATA[Model View Controller Probably the widest quoted pattern in UI development is Model View Controller (MVC) &#8211; it&#8217;s also the most misquoted. I&#8217;ve lost count of the times I&#8217;ve seen something described as MVC which turned out to be nothing like it. Frankly a lot of the reason for this is that parts of classic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=218&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Model View Controller</h2>
<p>Probably the widest quoted pattern in UI development is Model View Controller (MVC) &#8211; it&#8217;s also the most misquoted. I&#8217;ve lost count of the times I&#8217;ve seen something described as MVC which turned out to be nothing like it. Frankly a lot of the reason for this is that parts of classic MVC don&#8217;t really make sense for rich clients these days. But for the moment we&#8217;ll take a look at its origins.</p>
<p>As we look at MVC it&#8217;s important to remember that this was one of the first attempts to do serious UI work on any kind of scale. Graphical User Interfaces were not exactly common in the 70&#8242;s. The Forms and Controls model I&#8217;ve just described came after MVC &#8211; I&#8217;ve described it first because it&#8217;s simpler, not always in a good way. Again I&#8217;ll discuss Smalltalk 80&#8242;s MVC using the assessment example &#8211; but be aware that I am taking a few liberties with the actual details of Smalltalk 80 to do this &#8211; for start it was monochrome system.</p>
<p>At the heart of MVC, and the idea that was the most influential to later frameworks, is what I call <a href="http://martinfowler.com/eaaDev/SeparatedPresentation.html">Separated Presentation</a>. The idea behind <a href="http://martinfowler.com/eaaDev/SeparatedPresentation.html">Separated Presentation</a> is to make a clear division between domain objects that model our perception of the real world, and presentation objects that are the GUI elements we see on the screen. Domain objects should be completely self contained and work without reference to the presentation, they should also be able to support multiple presentations, possibly simultaneously. This approach was also an important part of the Unix culture, and continues today allowing many applications to be manipulated through both a graphical and command-line interface.</p>
<p>In MVC, the domain element is referred to as the model. Model objects are completely ignorant of the UI. To begin discussing our assessment UI example we&#8217;ll take the model as a reading, with fields for all the interesting data upon it. (As we&#8217;ll see in a moment the presence of the list box makes this question of what is the model rather more complex, but we&#8217;ll ignore that list box for a little bit.)</p>
<p>In MVC I&#8217;m assuming a <a href="http://martinfowler.com/eaaCatalog/domainModel.html">Domain Model</a> of regular objects, rather than the <a href="http://martinfowler.com/eaaCatalog/recordSet.html">Record Set</a> notion that I had in Forms and Controls. This reflects the general assumption behind the design. Forms and Controls assumed that most people wanted to easily manipulate data from a relational database, MVC assumes we are manipulating regular Smalltalk objects.</p>
<p>The presentation part of MVC is made of the two remaining elements: view and controller. The controller&#8217;s job is to take the user&#8217;s input and figure out what to do with it.</p>
<p>At this point I should stress that there&#8217;s not just one view and controller, you have a view-controller pair for each element of the screen, each of the controls and the screen as a whole. So the first part of reacting to the user&#8217;s input is the various controllers collaborating to see who got edited. In the case that&#8217;s it&#8217;s the actuals text field so that text field controller would now handle what happens next.</p>
<div>
<p><a name="uiArchs_mvc-deps.gif"></a><img src="http://martinfowler.com/eaaDev/uiArchs/mvc-deps.gif" alt="Figure 4" /></p>
<p>Figure 4: Essential dependencies between model, view, and controller. (I call this essential because in fact the view and controller do link to each other directly, but developers mostly don&#8217;t use this fact.)</p>
</div>
<p>Like later environments, Smalltalk figured out that you wanted generic UI components that could be reused. In this case the component would be the view-controller pair. Both were generic classes, so needed to be plugged into the application specific behavior. There would be an assessment view that would represent the whole screen and define the layout of the lower level controls, in that sense similar to a form in Forms and Controllers. Unlike the form, however, MVC has no event handlers on the assessment controller for the lower level components.</p>
<div>
<p><a name="uiArchs_mvc-cd.gif"></a><img src="http://martinfowler.com/eaaDev/uiArchs/mvc-cd.gif" alt="Figure 5" /></p>
<p>Figure 5: Classes for an MVC version of an ice-cream monitor display</p>
</div>
<p>The configuration of the text field comes from giving it a link to its model, the reading, and telling it what what method to invoke when the text changes. This is set to &#8216;#actual:&#8217; when the screen is initialized (a leading &#8216;#&#8217; indicates a symbol, or interned string, in Smalltalk). The text field controller then makes a reflective invocation of that method on the reading to make the change. Essentially this is the same mechanism as occurs for <a href="http://martinfowler.com/eaaDev/DataBinding.html">Data Binding</a>, the control is linked to the underlying object (row) and told which method (column) it manipulates.</p>
<div>
<p><a name="uiArchs_mvc-seq.gif"></a><img src="http://martinfowler.com/eaaDev/uiArchs/mvc-seq.gif" alt="Figure 6" /></p>
<p>Figure 6: Changing the actual value for MVC.</p>
</div>
<p>So there is no overall object observing low level widgets, instead the low level widgets observe the model, which itself handles many of the decision that would be made by the form. In this case, when it comes to figuring out the variance, the reading object itself is the natural place to do that.</p>
<p>Observers do occur in MVC, indeed it&#8217;s one of the ideas credited to MVC. In this case all the views and controllers observe the model. When the model changes, the views react. In this case the actual text field view is notified that the reading object has changed, and invokes the method defined as the aspect for that text field &#8211; in this case #actual &#8211; and sets its value to the result. (It does something similar for the color, but this raises its own specters that I&#8217;ll get to in a moment.)</p>
<p>You&#8217;ll notice that the text field controller didn&#8217;t set the value in the view itself, it updated the model and then just let the observer mechanism take care of the updates. This is quite different to the forms and controls approach where the form updates the control and relies on data binding to update the underlying record-set. These two styles I describe as patterns: <a href="http://martinfowler.com/eaaDev/FlowSynchronization.html">Flow Synchronization</a> and <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a>. These two patterns describe alternative ways of handling the triggering of synchronization between screen state and session state. Forms and Controls do it through the flow of the application manipulating the various controls that need to be updated directly. MVC does it by making updates on the model and then relying of the observer relationship to update the views that are observing that model.</p>
<p><a href="http://martinfowler.com/eaaDev/FlowSynchronization.html">Flow Synchronization</a> is even more apparent when data binding isn&#8217;t present. If the application needs to do synchronization itself, then it was typically done at important point in the application flow &#8211; such as when opening a screen or hitting the save button.</p>
<p>One of the consequences of <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a> is that the controller is very ignorant of what other widgets need to change when the user manipulates a particular widget. While the form needs to keep tabs on things and make sure the overall screen state is consistent on a change, which can get pretty involved with complex screens, the controller in <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a> can ignore all this.</p>
<p>This useful ignorance becomes particularly handy if there are multiple screens open viewing the same model objects. The classic MVC example was a spreadsheet like screen of data with a couple of different graphs of that data in separate windows. The spreadsheet window didn&#8217;t need to be aware of what other windows were open, it just changed the model and <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a> took care of the rest. With <a href="http://martinfowler.com/eaaDev/FlowSynchronization.html">Flow Synchronization</a> it would need some way of knowing which other windows were open so it tell them to refresh.</p>
<p>While <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a> is nice it does have a downside. The problem with <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a> is the core problem of the observer pattern itself &#8211; you can&#8217;t tell what is happening by reading the code. I was reminded of this very forcefully when trying to figure out how some Smalltalk 80 screens worked. I could get so far by reading the code, but once the observer mechanism kicked in the only way I could see what was going on was via a debugger and trace statements. Observer behavior is hard to understand and debug because it&#8217;s implicit behavior.</p>
<p>While the different approaches to synchronization are particularly noticeable from looking at the sequence diagram, the most important, and most influential, difference is MVC&#8217;s use of <a href="http://martinfowler.com/eaaDev/SeparatedPresentation.html">Separated Presentation</a>. Calculating the variance between actual and target is domain behavior, it is nothing to do with the UI. As a result following <a href="http://martinfowler.com/eaaDev/SeparatedPresentation.html">Separated Presentation</a> says we should place this in the domain layer of the system &#8211; which is exactly what the reading object represents. When we look at the reading object, the variance feature makes complete sense without any notion of the user interface.</p>
<p>At this point, however, we can begin to look at some complications. There&#8217;s two areas where I&#8217;ve skipped over some awkward points that get in the way of MVC theory. The first problem area is to deal with setting the color of the variance. This shouldn&#8217;t really fit into a domain object, as the color by which we display a value isn&#8217;t part of the domain. The first step in dealing with this is to realize that part of the logic is domain logic. What we are doing here is making a qualitative statement about the variance, which we could term as good (over by more than 5%), bad (under by more than 10%), and normal (the rest). Making that assessment is certainly domain language, mapping that to colors and altering the variance field is view logic. The problem lies in where we put this view logic &#8211; it&#8217;s not part of our standard text field.</p>
<p>This kind of problem was faced by early smalltalkers and they came up with some solutions. The solution I&#8217;ve shown above is the dirty one &#8211; compromise some of the purity of the domain in order to make things work. I&#8217;ll admit to the occasional impure act &#8211; but I try not to make a habit of it.</p>
<p>We could do pretty much what Forms and Controls does &#8211; have the assessment screen view observe the variance field view, when the variance field changes the assessment screen could react and set the variance field&#8217;s text color. Problems here include yet more use of the observer mechanism &#8211; which gets exponentially more complicated the more you use it &#8211; and extra coupling between the various views.</p>
<p>A way I would prefer is to build a new type of the UI control. Essentially what we need is a UI control that asks the domain for a qualitative value, compares it to some internal table of values and colors, and sets the font color accordingly. Both the table and message to ask the domain object would be set by the assessment view as it&#8217;s assembling itself, just as it sets the aspect for the field to monitor. This approach could work very well if I can easily subclass text field to just add the extra behavior. This obvious depends on how well the components are designed to enable sub-classing &#8211; Smalltalk made it very easy &#8211; other environments can make it more difficult.</p>
<div>
<p><a name="uiArchs_mvc-withSubWidget-seq.gif"></a><img src="http://martinfowler.com/eaaDev/uiArchs/mvc-withSubWidget-seq.gif" alt="Figure 7" /></p>
<p>Figure 7: Using a special subclass of text field that can be configured to determine the color.</p>
</div>
<p>The final route is to make a new kind of model object, one that&#8217;s oriented around around the screen, but is still independent of the widgets. It would be the model for the screen. Methods that were the same as those on the reading object would just be delegated to the reading, but it would add methods that supported behavior relevant only to the UI, such as the text color.</p>
<div>
<p><a name="uiArchs_mvc-withPM-seq.gif"></a><img src="http://martinfowler.com/eaaDev/uiArchs/mvc-withPM-seq.gif" alt="Figure 8" /></p>
<p>Figure 8: Using an intermediate <a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model</a> to handle view logic.</p>
</div>
<p>This last option works well for a number of cases and, as we&#8217;ll see, became a common route for Smalltalkers to follow &#8211; I call this a <a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model</a> because it&#8217;s a model that is really designed for and thus part of the presentation layer.</p>
<p>The <a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model</a> works well also for another presentation logic problem &#8211; presentation state. The basic MVC notion assumes that all the state of the view can be derived from the state of the model. In this case how do we figure out which station is selected in the list box? The <a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model</a> solves this for us by giving us a place to put this kind of state. A similar problem occurs if we have save buttons that are only enabled if data has changed &#8211; again that&#8217;s state about our interaction with the model, not the model itself.</p>
<p>So now I think it&#8217;s time for some soundbites on MVC.</p>
<ul>
<li>Make a strong separation between presentation (view &amp; controller) and domain (model) &#8211; <a href="http://martinfowler.com/eaaDev/SeparatedPresentation.html">Separated Presentation</a>.</li>
<li>Divide GUI widgets into a controller (for reacting to user stimulus) and view (for displaying the state of the model). Controller and view should (mostly) not communicate directly but through the model.</li>
<li>Have views (and controllers) observe the model to allow multiple widgets to update without needed to communicate directly &#8211; <a href="http://martinfowler.com/eaaDev/MediatedSynchronization.html">Observer Synchronization</a>.
<p>Ref : http://martinfowler.com</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/218/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=218&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/11/04/mvc-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>

		<media:content url="http://martinfowler.com/eaaDev/uiArchs/mvc-deps.gif" medium="image">
			<media:title type="html">Figure 4</media:title>
		</media:content>

		<media:content url="http://martinfowler.com/eaaDev/uiArchs/mvc-cd.gif" medium="image">
			<media:title type="html">Figure 5</media:title>
		</media:content>

		<media:content url="http://martinfowler.com/eaaDev/uiArchs/mvc-seq.gif" medium="image">
			<media:title type="html">Figure 6</media:title>
		</media:content>

		<media:content url="http://martinfowler.com/eaaDev/uiArchs/mvc-withSubWidget-seq.gif" medium="image">
			<media:title type="html">Figure 7</media:title>
		</media:content>

		<media:content url="http://martinfowler.com/eaaDev/uiArchs/mvc-withPM-seq.gif" medium="image">
			<media:title type="html">Figure 8</media:title>
		</media:content>
	</item>
		<item>
		<title>UI Design Patterns</title>
		<link>https://debasishphp.wordpress.com/2011/11/04/ui-design-patterns/</link>
		<comments>https://debasishphp.wordpress.com/2011/11/04/ui-design-patterns/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 19:35:34 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[PHP-MYSQL INTERVIEW PAPERS]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UI Patterns]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=216</guid>
		<description><![CDATA[&#60;!&#8211; &#8211;&#62; UI Design Patterns You Should Be Paying Attention To Design patterns were first described in the 1960s by Christopher Alexander, an architect who noticed that many things in our lives happen according to patterns. He adapted his observations to his work and published many findings on the topic. Since then, design patterns have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=216&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&lt;!&#8211;</p>
<div id="leaderboardtarget"></div>
<p>&#8211;&gt;</p>
<h2><a>UI Design Patterns You Should Be Paying Attention To</a></h2>
<p><strong>Design patterns</strong> were first described in the 1960s by Christopher Alexander, an architect who noticed that many things in our lives happen according to patterns. He adapted his observations to his work and published many findings on the topic. Since then, design patterns have found their place in many areas of our lives, and can be found in the design and development of user interfaces as well.</p>
<p>In short, design patterns are <strong>solutions to recurring problems</strong>. By extension, UI design patterns are solutions to common user interface problems. This article goes over 10 interesting UI design patterns that you can use in your own projects. In fact, you may already be using them now without knowing it.</p>
<p>You may be interested in the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/06/03/9-crucial-ui-features-of-social-media-and-networking-sites/">9 Crucial UI Features of Social Media and Networking Sites</a></li>
<li><a href="http://www.smashingmagazine.com/2009/06/15/40-helpful-resources-on-user-interface-design-patterns/">40+ Helpful Resources On User Interface Design Patterns</a></li>
<li><a href="http://www.smashingmagazine.com/2008/12/15/10-useful-techniques-to-improve-your-user-interface-designs/">10 Useful Techniques To Improve Your User Interface Designs</a></li>
<li>Web Form Design Patterns: Sign-Up Forms: <a href="http://www.smashingmagazine.com/2008/07/04/web-form-design-patterns-sign-up-forms/">part 1</a>, <a href="http://www.smashingmagazine.com/2008/07/08/web-form-design-patterns-sign-up-forms-part-2/">part 2</a>.</li>
</ul>
<h3>1. Lazy Registration</h3>
<p>To fully appreciate the problem of registration, we should consider an annoyance that has led to the opinion that <a href="http://www.alistapart.com/articles/signupforms">sign-up forms must die</a>. This certainly doesn’t mean they should be completely omitted but rather that they should be only one part in the process of introducing users to a system, and <strong>should come late in the process</strong>. Such an approach is called “lazy registration” and relates to the account registration pattern.</p>
<p>When would you actually use lazy registration? Although it may seem like lazy registration could be used all the time, some circumstances are ideal:</p>
<ul>
<li>When users are allowed to try out your website product or service before making a decision (which not every website permits, though).</li>
<li>When it is important to familiarize users with your system before they sign up, which can be a crucial step in their process of deciding whether to register.</li>
</ul>
<p><a href="http://www.amazon.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/amazon_shoppingcart.jpg" alt="Amazon.com shopping cart" /></a><br />
<em>Amazon lets you browse and add products to your shopping cart before signing up.</em></p>
<p>This pattern is meant to allow users to use your system and <strong>take action before registering</strong>. If satisfied with your service so far, users will regard this quick act of registration as just another small step in the entire process and not an obligation. The shopping cart is a good example of this pattern: users can browse and choose products and only have to register when they proceed to check out.</p>
<p><a href="http://www.picnik.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/picnik_signup.jpg" alt="Picnik.com sign-up form" /></a><br />
<em>Picnik is another good example of lazy registration. Users can use all of the service’s functions to edit their photos online. They are asked to register only before saving their work.</em></p>
<h4>Recommended reading</h4>
<ul>
<li><a href="http://www.90percentofeverything.com/2009/03/16/signup-forms-must-die-heres-how-we-killed-ours/">Sign-up forms must die: here’s how we killed ours!</a><br />
An interesting article on how 90percentofeverything implemented lazy registration.</li>
<li><strong>Web Form Design Patterns: Sign-Up Forms</strong>, <a href="http://www.smashingmagazine.com/2008/07/04/web-form-design-patterns-sign-up-forms/">Part 1</a> and <a href="http://www.smashingmagazine.com/2008/07/08/web-form-design-patterns-sign-up-forms-part-2/">Part 2</a><br />
Interesting and useful research that Smashing Magazine conducted last year</li>
</ul>
<h3>2. Progressive Disclosure</h3>
<p>This pattern is used to show only the information or features relevant to the user’s current activity and to delay other information until it is requested. By hiding more complex or infrequently used features, you de-clutter the user interface; by revealing them only as they are needed, you help users perform a complex, multi-step process on a single page.</p>
<p>The goal is to show only essential information in the first step and then invite users to take the next step. When the user completes a step, you reveal the information in the next step, keeping all previous steps visible. By keeping previous steps visible, you allow users to change what they have entered. And the data they input in the current step can affect the behavior of the next step.</p>
<p><a href="http://www.digg.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/digg1.gif" alt="Digg.com comments" width="533" height="120" /></a><br />
<em>Digg uses progressive disclosure in its comments section. Users can read a comment and, by clicking on the “Replies” link, see all of the replies to that comment. The link also tells you how many replies will be shown.</em></p>
<p><a href="http://www.digg.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/digg2.gif" alt="Digg.com replies" width="536" height="299" /></a><br />
<em>Once the replies are revealed, users can not only read them but also reply to and rate them. Comments below the viewing threshold are collapsed by default and are revealed by clicking “Show.”</em></p>
<p>Examples of progressive disclosure are everywhere. A simple “Show more” link that reveals more information is one of the simplest forms of progressive disclosure. But it can be used for more complex cases, such as filling out Web forms. Try to open an account on <a href="http://www.picnik.com/">Picnik</a> (which we mentioned in the lazy registration pattern) to see how progressive disclosure can be used at a more complex level.</p>
<p><a href="http://www.youtube.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/image6.gif" alt="YouTube customize section" width="500" height="599" /></a><br />
<em>YouTube uses progressive disclosure when users customize the look of the video player. When a user clicks the icon, customization features open up below.</em></p>
<h4>Recommended reading</h4>
<ul>
<li><a href="http://www.useit.com/alertbox/progressive-disclosure.html">Progressive disclosure</a><br />
Excellent insight from Jakob Nielsen.</li>
<li><a href="http://thinkvitamin.com/features/read-more-about-progressive-disclosure/">Read more… about progressive disclosure</a><br />
Good explanation of progressive disclosure, with several examples.</li>
</ul>
<h3>3. Forgiving Format</h3>
<p>Search functions can offer users various options and sometimes be complex. When searching weather and street maps, for example, users can use such criteria as city name, street name and zip code. To indicate to users that they can use several criteria, interfaces tend to show multiple options and become overly complex. Instead of adding clutter to the interface, use the forgiving format pattern, which lets users enter data in various formats and leaves it to the system to parse the data.</p>
<p><a href="http://www.yahoo.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/yahoo_forgiving.jpg" alt="Yahoo weather search" /></a><br />
<em>Yahoo weather search allows users to search by city or zip code.</em></p>
<p>To convey which formats are supported, give users hints on how to search, whether by listing all available formats, as in the example above, or by providing a link to a help page, as in the example below.</p>
<p><a href="http://maps.google.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/googlemaps_forgiving.jpg" alt="Google maps search" /></a><br />
<em>Google Maps allows users to search by city, street, zip code and even latitudinal and longitudinal values.</em></p>
<p>The forgiving format pattern significantly simplifies user interfaces. However, it may require a lot of work from back-end developers. The more options users have, the more difficult parsing becomes.</p>
<h3>4. Clear Primary Actions</h3>
<p>Simple Web forms often allow just one action (“Submit,” “Save” or “Send”). The user knows exactly what their final action in filling out the form will be, because they have only one option. However, users may sometimes be faced with several options and have to distinguish between primary and secondary actions.</p>
<p><a href="http://www.clearleft.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/email.gif" alt="Clearleft contact form" width="500" height="185" /></a><br />
<em>Clearleft makes a distinction between primary and secondary actions with color.</em></p>
<p>What are primary and secondary actions? Primary actions lead to the completion of a form; for example, clicking “Save” or “Send.” Secondary actions usually do not lead to a form’s completion; these include clicking “Cancel.” There are exceptions, though. Which are the primary and secondary actions when you see “Save,” “Save and continue” and “Publish” buttons all in a row? When users have several options, <strong>highlighting primary actions</strong> and de-emphasizing secondary actions are good practice.</p>
<p>This can be done in two ways:</p>
<ul>
<li>By giving primary and secondary actions different colors; for example, giving primary actions a vibrant color and secondary actions a shade of gray.</li>
<li>By styling primary actions as buttons and secondary actions as links.</li>
</ul>
<p><a href="http://www.flickr.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/privacy.gif" alt="Flickr upload images form" width="335" height="236" /></a><br />
<em>Flickr highlights the primary action by putting the secondary action in a small label below.</em></p>
<p>Both ways clearly distinguish between primary and secondary actions, relieving the user from having to think about which option to choose in order to complete their task.</p>
<h4>Recommended reading</h4>
<ul>
<li><a href="http://www.lukew.com/resources/web_form_design.asp">Web Form Design: Filling in the Blanks</a><br />
Probably one of the best resources for designing Web forms.</li>
</ul>
<h3>5. Breadcrumbs</h3>
<p>Breadcrumbs show the <strong>path from the front page of the site to the current location of th users</strong> in the website’s page hierarchy. They are a form of secondary navigation that helps users understand the hierarchy and structure of the website. Breadcrumbs start with the home page and end with the page currently being viewed. Each label in a breadcrumb trail is linked to its respective page or section in the hierarchy, the exception being the one for the current page, which should just be an unlinked label.</p>
<p><a href="http://www.apple.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/mac.gif" alt="Apple breadcrumbs" width="423" height="133" /></a><br />
<em>Apple’s breadcrumbs are graphic elements that fit the overall design of the website well.</em></p>
<p>Breadcrumbs take up minimal space and are usually positioned at the top of the page, below the header and above the content. They would serve no purpose on the home page and so should not appear there. Breadcrumbs can appear simply as text links separated by the “&gt;” sign, or they can be graphic elements, like the breadcrumbs on Apple’s website:</p>
<h4>Recommended reading</h4>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/php/user-membership-with-php/">Breadcrumb Navigation Increasingly Useful</a><br />
Jakob Nielsen explains breadcrumbs in depth.</li>
<li><a href="http://veerle.duoh.com/blog/comments/simple_scalable_css_based_breadcrumbs/">Simple scalable CSS-based breadcrumbs</a><br />
A very good simple tutorial on how to create breadcrumbs.</li>
</ul>
<h3>6. Account Registration</h3>
<p>The definition of this pattern varies from place to place, but we can say that it solves three somewhat related problems:</p>
<ul>
<li>Certain content is accessible only to registered users,</li>
<li>Users need to re-enter their personal data often,</li>
<li>Users need to be able to access personalized content on a system.</li>
</ul>
<p>The solution to allowing users to access protected content is to have them register for an account on the system and store their personal data, to be reused later. The benefits are numerous. For instance, users can be shown personalized offers, as seen on Amazon. Users could also perform tasks more efficiently if the system reused the information submitted during registration. Storing shipping details is just one example. Because filling out forms is not a favorite task of users, <strong>requiring only necessary information</strong> is important. Another important thing is to clearly highlight all of the benefits users will receive, so that they become more willing to register.</p>
<p><a href="http://www.vimeo.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/vimeo_signup.jpg" alt="Vimeo.com sign-up form" /></a><br />
<em>Vimeo has a simple but attractive sign-up form.</em></p>
<p><a href="http://www.tumblr.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/tumblr_signup.jpg" alt="Tumblr.com sign-up form" /></a><br />
<em>Tumblr requires only minimal information of the user to sign up.</em></p>
<h4>Recommended reading</h4>
<ul>
<li><a href="http://www.lukew.com/resources/web_form_design.asp">Web Form Design: Filling in the Blanks</a><br />
A must-read book on creating usable Web forms in general.</li>
<li><a href="http://net.tutsplus.com/tutorials/php/user-membership-with-php/">User Membership With PHP</a><br />
A simple implementation of sign-up and log-in forms.</li>
<li><a href="http://www.webstandards.org/learn/tutorials/accessible-forms/beginner/">Accessible HTML/XHTML Forms: Beginner Level</a><br />
How to create an accessible Web form.</li>
</ul>
<h3>7. Required Field Marker</h3>
<p>Making the user interface obvious is essential. This applies just as much to Web forms. One of the best ways to make the interface of Web forms obvious is by marking required fields. The purpose of these markers is to alert the user to information they will need to provide. This way, users won’t feel they have to fill out the entire form to avoid seeing an error message.</p>
<p>Ideally, you should remove all optional fields and let the user type only the information that is necessary for the interaction. A rule of thumbs: the simpler and shorter a web form is, the better is the user experience. Another interesting idea is to make it possible for users to remove all optional fields – you can find more about how to implement it in practice (as well as a ready-to-be-used-script) in Andy Clarke’s article <a href="http://www.stuffandnonsense.co.uk/archives/trimming_form_fields.html">Trimming Form Fields</a>.</p>
<p><a href="http://www.haveamint.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/fields.gif" alt="Haveamint.com contact form" width="412" height="273" /></a><br />
<em>Haveamint.com puts “Required” markers next to field labels on its contact form.</em></p>
<p>You can position required field markers in one of two places:</p>
<ul>
<li>Next to labels, allowing users to scan the form quickly,</li>
<li>Next to or inside input fields; if the fields are the same width, users will be able to scan the form quickly.</li>
</ul>
<p>When deciding on which fields to require, take into account the total number of fields in the form. If the form is complex and most of its fields are required, the user will likely see it as unnecessary clutter.</p>
<h3>8. Steps Left</h3>
<p>This pattern is widely implemented when users have to <strong>fill in data in multiple steps</strong>. The purpose of this pattern is to:</p>
<ul>
<li>Guide users,</li>
<li>Explain the scope of the process by clearly stating how many steps are needed to complete it,</li>
<li>Show the user’s current position in the process by visually highlighting the current step.</li>
</ul>
<p><a href="http://www.statementstacker.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/statement_steps.jpg" alt="StatementStacker sign-up process" /></a><br />
<em>StatementStacker clearly shows the number of steps and highlights the current step.</em></p>
<p>Steps are usually displayed horizontally and connected by arrows, showing the order in which the steps will be performed. Also, each step is usually marked with a large number and very concise description of what users should do in that step. The important thing here is consistency: a progress indicator should always appear in the same position across the pages and show users where they are at.</p>
<p>This pattern is usually combined with the well-known “wizard” pattern to create a multi-step process, such as for registration or a shopping cart.</p>
<p><a href="http://www.delicious.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/delicious_steps.jpg" alt="Delicious sign-up process" /></a><br />
<em>Delicious has a good-looking progress indicator that clearly defines the purpose of each step. It also highlights the current step by displaying it in a different color.</em></p>
<h3>9. Subscription plans</h3>
<p>This pattern is suitable if the website <strong>offers one product or service that comes in different plans and requires regular payments</strong>, usually monthly payments. Each plan should be descriptive and provide the following information:</p>
<ul>
<li>Name of the plan, such as “Basic” or “Professional,”</li>
<li>Price of the subscription plan and how long it is valid for,</li>
<li>List of features (the cheapest plan usually has the fewest features),</li>
<li>Sign-up button.</li>
</ul>
<p><a href="http://www.wufoo.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/wufoo_subscription.jpg" alt="Wufoo subscription plans" /></a><br />
<em>Wufoo clearly shows its subscription plans, the prices and the differences between them.</em></p>
<p>Always show your plans in order. Plans are usually ordered from most to least expensive. You can <strong>highlight the plan you want users to buy</strong> by using a different color or size.</p>
<p><a href="http://www.crazyegg.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/crazyegg_subscription.jpg" alt="CrazyEgg subscription plans" /></a><br />
<em>Crazyegg’s subscription table draws attention to the “Basic” plan.</em></p>
<h3>10. Hover Controls</h3>
<p>When a user interface has many elements in which the user can perform actions, the page can become cluttered and hard to scan. This is especially common in the administration section of Web applications, where users can change table data. A good way to handle this is to hide each element and reveal it when the user hovers over that area.</p>
<p><a href="http://www.facebook.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/facebook_hover2.jpg" alt="Facebook" /></a><br />
<em>An “Edit” link is revealed as the user hovers over each section of their Facebook profile page.</em></p>
<p>Hiding controls and revealing them on hover significantly de-clutters the user interface without taking away functionality.</p>
<p><a href="http://www.twitter.com/"><img src="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/twitter.gif" alt="Twitter" width="541" height="274" /></a><br />
<em>Twitter reveals “Reply” and “Favorite” links when the user hovers over each tweet.<br />
Reference: http://uxdesign.smashingmagazine.com<br />
</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/216/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=216&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/11/04/ui-design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/amazon_shoppingcart.jpg" medium="image">
			<media:title type="html">Amazon.com shopping cart</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/picnik_signup.jpg" medium="image">
			<media:title type="html">Picnik.com sign-up form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/digg1.gif" medium="image">
			<media:title type="html">Digg.com comments</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/digg2.gif" medium="image">
			<media:title type="html">Digg.com replies</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/image6.gif" medium="image">
			<media:title type="html">YouTube customize section</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/yahoo_forgiving.jpg" medium="image">
			<media:title type="html">Yahoo weather search</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/googlemaps_forgiving.jpg" medium="image">
			<media:title type="html">Google maps search</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/email.gif" medium="image">
			<media:title type="html">Clearleft contact form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/privacy.gif" medium="image">
			<media:title type="html">Flickr upload images form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/mac.gif" medium="image">
			<media:title type="html">Apple breadcrumbs</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/vimeo_signup.jpg" medium="image">
			<media:title type="html">Vimeo.com sign-up form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/tumblr_signup.jpg" medium="image">
			<media:title type="html">Tumblr.com sign-up form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/fields.gif" medium="image">
			<media:title type="html">Haveamint.com contact form</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/statement_steps.jpg" medium="image">
			<media:title type="html">StatementStacker sign-up process</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/delicious_steps.jpg" medium="image">
			<media:title type="html">Delicious sign-up process</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/wufoo_subscription.jpg" medium="image">
			<media:title type="html">Wufoo subscription plans</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/crazyegg_subscription.jpg" medium="image">
			<media:title type="html">CrazyEgg subscription plans</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/facebook_hover2.jpg" medium="image">
			<media:title type="html">Facebook</media:title>
		</media:content>

		<media:content url="http://media.smashingmagazine.com/wp-content/uploads/images/ui-patterns/twitter.gif" medium="image">
			<media:title type="html">Twitter</media:title>
		</media:content>
	</item>
		<item>
		<title>UI VS UX &#8230;. A good reference I found</title>
		<link>https://debasishphp.wordpress.com/2011/11/04/ui-vs-ux-a-good-reference-i-found/</link>
		<comments>https://debasishphp.wordpress.com/2011/11/04/ui-vs-ux-a-good-reference-i-found/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 19:30:46 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UI/UX]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=214</guid>
		<description><![CDATA[UX Design Versus UI Development “At the heart of the tension between them is the fact that most UI Developers consider themselves—and sometimes rightfully so—to be UI Designers.” One of the more interesting tensions I have observed—since getting into user experience design about five years ago—is the almost sibling-rivalry tension between UX Designers and User [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=214&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>UX Design Versus UI Development</h1>
<div>“At the heart of the tension between them is the fact that most UI <em>Developers</em> consider themselves—and sometimes rightfully so—to be UI <em>Designers</em>.”</div>
<p>One of the more interesting tensions I have observed—since getting into user experience design about five years ago—is the almost sibling-rivalry tension between UX Designers and User Interface (UI) Developers. At the heart of the tension between them is the fact that most UI <em>Developers</em> consider themselves—and sometimes rightfully so—to be UI <em>Designers</em>. The coding part is like Picasso’s having to understand how to mix paint. It’s not the value they add, just the mechanics of delivering the creative concepts.</p>
<p>When I worked on the Body of Knowledge Task Force for the Society for Technical Communication, the interesting question we wrestled with was: <em>What value does a technical communicator add above what an engineer who writes well offers?</em>UX Designers or UX Architects have the same problem to solve: <em>What value do we add that differentiates us from a UI developer who is user focused?</em> This question strikes to the very heart of what differentiates us, as UX professionals, from UI Developers. If <em>we</em> don’t provide a compelling answer, the only one left is that they code and we don’t. <em>Hmm</em>…, <em>not</em> the kind of value proposition I’d be comfortable with in this economy.</p>
<p>I was recently reminded of the import of this problem, when a UX Designer lamented that he had approached the Product Manager for a new product with the question: “Have you thought about how to ensure the quality of the user experience?” The Product Manager’s answer was: “Oh yes, so-and-so is developing the UI,” where <em>so-and-so</em> was a talented and user-focused UI Developer. So, how do we break into the product-design process when something like that happens?</p>
<div>“It’s <em>not</em> like we have a monopoly on secrets about design patterns and best practices for user interactions.”</div>
<p>I thought about this on my drive home that night—on almost empty roads, because the weatherman had predicted two millimeters of snow for Atlanta, and the town was shut down in anticipation—wondering how to counter in response to a statement like this: “We have a talented developer working on it.” My conclusion: I’d come back with, “Great, he’s good! Where is he going to get his user data?”</p>
<p>I think a mistake we sometimes make as UX Designers is that we believe, if the race starts at wireframing, we will win. But if that’s where the race starts, we have <em>no</em> advantage over a talented UI programmer. It’s <em>not</em> like we have a monopoly on secrets about design patterns and best practices for user interactions. Some UI Developers have the same knowledge and, in some cases, were even the ones who pioneered those patterns and best practices.</p>
<p>In this column, I’ll examine the differences and commonalities between the UX Designer and UI Developer roles and discuss how the two can complement each other rather than compete.</p>
<h2>Role Definitions</h2>
<div>“The area of shared expertise between the two roles includes knowledge of UI patterns and standards—the widgets and elements that make up a user interface—as well as knowledge about the software development process.”</div>
<p>The following descriptions of roles are a bit oversimplified, but provide a workable framework for a discussion of the respective contributions of UX Designers and UI Developers.</p>
<ul>
<li>UX Designer—One who <em>designs</em> the user experience for applications <em>after</em> doing user and workflow analysis, producing user-centered design artifacts such as personas, site maps, taxonomies, and wireframes. A UX Designer may also conduct usability testing on prototypes or finished products to assess the quality of a user experience.</li>
<li>UI Developer—One who <em>builds</em> user interfaces that support the exchange of information between an application’s users and its back-end processes and databases. This could be either a fully dedicated role on a development team or a hat a developer who is also responsible for coding the back-end processes might wear. A UI Developer’s output is functional, testable, shippable code that lets users accomplish their goals when using an application. The UI Developer is also responsible for documentation that allows others to maintain their code.</li>
</ul>
<p>Figure 1 illustrates the resultant overlap of traditional UX design skills and UI development skills.</p>
<p>Figure 1—Overlap between UX design and UI development skills</p>
<p><img src="http://www.uxmatters.com/mt/archives/2010/03/images/hughes_DesVsDev_Fig1.gif" alt="Overlap between UX design and UI development skills" width="317" height="226" /></p>
<p>The area that tends to fall under the exclusive domain of UI development includes the programming skills and knowledge. If you had a pin labeled <em>Ruby on Rails</em>, the UI development role would be a good place to stick it. The area that tends to be the exclusive domain of User Experience relates to user research and usability testing. Thus, if you had a pin labeled <em>card sorting</em>, the UX side of the diagram would be its predictable home. The area of shared expertise between the two roles includes knowledge of UI patterns and standards—the widgets and elements that make up a user interface—as well as knowledge about the software development process. This diagram is somewhat oversimplified—imagine one where the borders are fuzzy rather than crisp lines of demarcation, and you’d get closer to the truth.</p>
<h2>How These Roles View Themselves and Each Other</h2>
<div>“If you ask a UX Designer and a UI Developer who is the principal designer of the user experience, expect to hear a resounding “I am!” from both of them.”</div>
<p>As I’ve worked with and listened to UX Designers and UI Developers, I’ve noticed how they view themselves and each other. I am reminded of the crime shows on TV and who is the primary crime solver on each of them. You get a very different impression depending on which show you watch. The CSI shows would lead us to believe that the forensic scientists solve the crimes—including the arrest and interrogation of suspects. Quincy ME tried to convince us that it was the coroner. And patrol cops, detectives, profilers, prosecutors, and defense attorneys might emerge as the central crime solvers, depending on what show you watch.</p>
<p>In short, if you ask a UX Designer and a UI Developer <em>who</em> is the principal designer of the user experience, expect to hear a resounding <em>I am!</em> from both of them.</p>
<p>UX Designers see their validity as coming from the user research that informs their designs. “We’ve talked to the customers, and we know what they want.” UI Developers see their validity as coming from their knowledge of the underlying technology’s capabilities and constraints, along with their knowledge of how to use the widget library at their disposal.</p>
<p>And the tension between the people in these two roles has been known to generate hard feelings. UX Designers resent the disregard developers sometimes give their designs. And UI Developers feel that UX wireframes are too static and don’t take into account what they discover during the process of building a user interface. As a design comes to life, the developers gain new insights—either while interacting with the back-end processes or by testing the interactions they are building.</p>
<p>Another source of resentment that sometimes arises is UX Designers’ feeling that they’re getting left out of the development process as their wireframes move into production and would like to be more involved when changes are necessary. Conversely, UI Developers feel left out up front, where they feel they could provide informative inputs about what the available technology and tools can do and what they constrain.</p>
<h2>Complementary Roles</h2>
<div>“The professional value UX Designers offer includes their processes and the artifacts they create that help <em>inform and validate</em> design and development around user needs.”</div>
<p>I think the two roles have distinct areas in which they respectively add their unique value.</p>
<p>The professional value UX Designers offer includes their processes and the artifacts they create that help <em>inform and validate</em> design and development around user needs. When we create a wireframe or prototype, it’s our way of communicating data-driven—or at least process-driven—design considerations. Such a design artifact should be a straw man that starts a collaborative process of review and refinement. (Sometimes, being a UX Designer feels like being a forensic sketch artist who draws a nose, any nose, so a witness can say broader, thinner, whatever.) The best case is when a design deliverable both visually communicates data-driven requirements <em>and</em> provides a working space for collaborative input.</p>
<p>The professional value UI developers offer is their use of technology to actually make the best user experience happen. In that role, the UI Developer is a rightful participant in the design process. Bringing a conceptual design to life is a creative function, and a UI Developer can help the design mature and emerge by applying his or her own creativity to the process. If a UX Designer were to insist that his wireframes were unquestionable blueprints, we’d lose the insights that could come from a UI Developer’s craftsmanship in building that blueprint into a functional structure in which a user would want to work.</p>
<p>So, as UX professionals, our ultimate value is that we follow a process that includes data gathering, data validation, collaborative design, and usability testing of our designs. Our process can channel the talents of UI Developers and support their involvement in design <em>by informing them of user needs, then validating that the emergent design meets those needs</em>.</p>
<p>If we think of ourselves just as better UI Designers, we might lose the value proposition to talented UI Developers who can both design and code</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=214&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/11/04/ui-vs-ux-a-good-reference-i-found/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>

		<media:content url="http://www.uxmatters.com/mt/archives/2010/03/images/hughes_DesVsDev_Fig1.gif" medium="image">
			<media:title type="html">Overlap between UX design and UI development skills</media:title>
		</media:content>
	</item>
		<item>
		<title>JQUERY SLIDER</title>
		<link>https://debasishphp.wordpress.com/2011/10/31/jquery-slider/</link>
		<comments>https://debasishphp.wordpress.com/2011/10/31/jquery-slider/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:20:24 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[JQUERY]]></category>
		<category><![CDATA[JQUERY SLIDER]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=210</guid>
		<description><![CDATA[25 Incredible jQuery Slider Tutorials and Plugins Written ByTomas LaurinavičiusinCoding, Tools, Tutorials 19digg To purchase WDF’s very own jQuery slider, click here. Content sliders are a great way to show large amount of content or images on a smaller area in a website or blog. They are commonly used in portfolio sites, corporate sites or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=210&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><a title="http://webdesignfan.com/jquery-slider-tutorials-and-plugins/" href="http://webdesignfan.com/jquery-slider-tutorials-and-plugins/">25 Incredible jQuery Slider Tutorials and Plugins</a></h2>
<div></div>
<div>Written By<a title="Visit Tomas Laurinavičius’s website" href="http://tomaslau.tumblr.com/" rel="external">Tomas Laurinavičius</a>in<a title="View all posts in Coding" href="http://webdesignfan.com/category/coding/" rel="category tag">Coding</a>, <a title="View all posts in Tools" href="http://webdesignfan.com/category/tools/" rel="category tag">Tools</a>, <a title="View all posts in Tutorials" href="http://webdesignfan.com/category/tutorials/" rel="category tag">Tutorials</a></div>
<div>19<a>digg</a></p>
</div>
<p>To purchase WDF’s very own jQuery slider, <a href="http://webdesignfan.com/store/premium-jquery-scripts/image-slideshow-jquery-effect/">click here</a>.</p>
<p>Content sliders are a great way to show large amount of content or images on a smaller area in a website or blog. They are commonly used in portfolio sites, corporate sites or blogs. You may probably heard that jQuery isn’t very hard to learn. If you are interested in implementing a content slider in your website please check our jQuery tutorials and plugins collection.</p>
<p>In this collection you will find <strong>25 Excellent jQuery Slider Tutorials and Plugins</strong> that you can implement into your website.</p>
<p>To have your own slider, <a href="http://webdesignfan.com/store/premium-jquery-scripts/image-slideshow-jquery-effect/">simply visit our store and buy one for your site today.</a></p>
<h4>1. <a href="http://www.dreamcss.com/2009/04/create-beautiful-jquery-sliders.html">Create Beautiful jQuery slider tutorial</a></h4>
<p><img title="Create Beautiful jQuery slider tutorial" src="http://webdesignfan.com/wp-content/uploads/2009/12/01_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Create Beautiful jQuery slider tutorial" width="590" height="176" /></p>
<h4>2.<a href="http://jqueryglobe.com/article/feature-list"> jQuery Plugin – Feature List</a></h4>
<p><img title="jQuery Plugin - Feature List" src="http://webdesignfan.com/wp-content/uploads/2009/12/02_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="jQuery Plugin - Feature List" width="590" height="291" /></p>
<h4>3. <a href="http://designm.ag/tutorials/image-rotator-css-jquery/">Create an Image Rotator with Description (CSS/jQuery)</a></h4>
<p><img title="Create an Image Rotator with Description (CSS/jQuery)" src="http://webdesignfan.com/wp-content/uploads/2009/12/03_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Create an Image Rotator with Description (CSS/jQuery)" width="590" height="340" /></p>
<h4>4. <a href="http://css-tricks.com/moving-boxes/" rel="bookmark">Moving Boxes</a></h4>
<p><img title="Moving Boxes" src="http://webdesignfan.com/wp-content/uploads/2009/12/04_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Moving Boxes" width="590" height="274" /></p>
<h4>5. <a href="http://net.tutsplus.com/javascript-ajax/using-the-wonderful-jflow-plugin-screencast/">Using the Wonderful jFlow Plugin</a></h4>
<p><img title="Using the Wonderful jFlow Plugin" src="http://webdesignfan.com/wp-content/uploads/2009/12/05_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Using the Wonderful jFlow Plugin" width="590" height="243" /></p>
<h4>6. <a href="http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/" rel="bookmark">Creating a Slick Auto-Playing Featured Content Slider</a></h4>
<h4><img title="Creating a Slick Auto-Playing Featured Content Slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/06_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Creating a Slick Auto-Playing Featured Content Slider" width="590" height="362" /></h4>
<h4>7. <a href="http://www.gomediazine.com/tutorials/design-elegant-featured-content-slider-wordpress/" rel="bookmark">Design An Elegant Featured Content Slider for WordPress</a></h4>
<p><img title="Design An Elegant Featured Content Slider for WordPress" src="http://webdesignfan.com/wp-content/uploads/2009/12/07_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Design An Elegant Featured Content Slider for WordPress" width="590" height="302" /></p>
<h4>8. <a href="http://blog.egorkhmelev.com/2009/11/jquery-slider-safari-style/">jQuery Slider plugin (Safari style)</a></h4>
<p><img title="jQuery Slider plugin (Safari style)" src="http://webdesignfan.com/wp-content/uploads/2009/12/08_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="jQuery Slider plugin (Safari style)" width="590" height="117" /></p>
<h4>9. <a href="http://www.reindel.com/accessible_news_slider/">Accessible News Slider</a></h4>
<p><img title="Accessible News Slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/09_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Accessible News Slider" width="590" height="240" /></p>
<h4>10. <a href="http://www.leigeber.com/2008/10/animated-javascript-accordion/">Animated JavaScript Accordion V2</a></h4>
<p><img title="Animated JavaScript Accordion V2" src="http://webdesignfan.com/wp-content/uploads/2009/12/10_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Animated JavaScript Accordion V2" width="590" height="197" /></p>
<h4>11.<a href="http://www.filamentgroup.com/lab/update_jquery_ui_16_slider_from_a_select_element/"> jQuery UI 1.7 Slider from a Select Element</a></h4>
<p><img title="jQuery UI 1.7 Slider from a Select Element" src="http://webdesignfan.com/wp-content/uploads/2009/12/11_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="jQuery UI 1.7 Slider from a Select Element" width="590" height="106" /></p>
<h4>12. <a href="http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-slider">Easy Slider 1.7 – Numeric Navigation jQuery Slider</a></h4>
<p><img title="Easy Slider 1.7 - Numeric Navigation jQuery Slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/12_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Easy Slider 1.7 - Numeric Navigation jQuery Slider" width="590" height="234" /></p>
<h4>13. <a href="http://www.hieu.co.uk/blog/index.php/tabswitch/">TabSwitch</a></h4>
<p><img title="TabSwitch" src="http://webdesignfan.com/wp-content/uploads/2009/12/13_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="TabSwitch" width="590" height="176" /></p>
<h4>14. <a href="http://css-tricks.com/anythingslider-jquery-plugin/" rel="bookmark">AnythingSlider jQuery Plugin</a></h4>
<p><img title="AnythingSlider jQuery Plugin" src="http://webdesignfan.com/wp-content/uploads/2009/12/14_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="AnythingSlider jQuery Plugin" width="590" height="281" /></p>
<h4>15. <a href="http://tutorialzine.com/2009/10/jquery-twitter-ticker/">A jQuery Twitter Ticker</a></h4>
<p><img title="A jQuery Twitter Ticker" src="http://webdesignfan.com/wp-content/uploads/2009/12/15_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="A jQuery Twitter Ticker" width="590" height="327" /></p>
<h4>16. <a href="http://www.php-help.ro/examples/slideitmoo_1.1/">SlideItMoo 1.1 – improved image slider</a></h4>
<p><img title="SlideItMoo 1.1 - improved image slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/16_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="SlideItMoo 1.1 - improved image slider" width="590" height="224" /></p>
<h4>17. <a href="http://tutorialzine.com/2009/10/google-wave-history-slider-jquery/">Making a Google Wave History Slider</a></h4>
<p><img title="Making a Google Wave History Slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/17_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Making a Google Wave History Slider" width="590" height="308" /></p>
<h4>18. <a href="http://bxslider.com/">bxSlider – jQuery content slider</a></h4>
<p><img title="bxSlider - jQuery content slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/18_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="bxSlider - jQuery content slider" width="590" height="167" /></p>
<h4>19. <a href="http://tutorialzine.com/2009/10/slick-content-slider-jquery/">Making A Slick Content Slider</a></h4>
<p><img title="Making A Slick Content Slider" src="http://webdesignfan.com/wp-content/uploads/2009/12/19_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Making A Slick Content Slider" width="590" height="158" /></p>
<h4>20. <a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/svwt/">SlideViewerPro 1.0</a></h4>
<p><img title="slideViewerPro 1.0" src="http://webdesignfan.com/wp-content/uploads/2009/12/20_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="slideViewerPro 1.0" width="590" height="278" /></p>
<h4>21. <a href="http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/">A Beautiful Apple-style Slideshow Gallery With CSS &amp; jQuery</a></h4>
<p><img title="A Beautiful Apple-style Slideshow Gallery With CSS &amp; jQuery" src="http://webdesignfan.com/wp-content/uploads/2009/12/21_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="A Beautiful Apple-style Slideshow Gallery With CSS &amp; jQuery" width="590" height="291" /></p>
<h4>22. <a href="http://sixrevisions.com/tutorials/javascript_tutorial/create-a-slick-and-accessible-slideshow-using-jquery/" rel="bookmark">Create a Slick and Accessible Slideshow Using jQuery</a></h4>
<p><img title="Create a Slick and Accessible Slideshow Using jQuery" src="http://webdesignfan.com/wp-content/uploads/2009/12/22_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Create a Slick and Accessible Slideshow Using jQuery" width="590" height="234" /></p>
<h4>23. <a href="http://www.ndoherty.biz/2009/10/coda-slider-2/">Coda-Slider 2.0</a></h4>
<p><img title="Coda-Slider 2.0" src="http://webdesignfan.com/wp-content/uploads/2009/12/23_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Coda-Slider 2.0" width="590" height="218" /></p>
<h4>24. <a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html">jQuery Multimedia Portfolio</a></h4>
<p><img title="jQuery Multimedia Portfolio" src="http://webdesignfan.com/wp-content/uploads/2009/12/24_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="jQuery Multimedia Portfolio" width="590" height="184" /></p>
<h4>25. <a href="http://jqueryfordesigners.com/slider-gallery/" rel="bookmark">Slider Gallery</a></h4>
<p><img title="Slider Gallery" src="http://webdesignfan.com/wp-content/uploads/2009/12/25_incredible_jquery_slider_tutorials_and_plugins.jpg" alt="Slider Gallery" width="590" height="190" /></p>
<p>Thank you for reading this article on jQuery Sliders.</p>
<p>Pass <a href="http://www.test-king.com/exams/VCP-410.htm">VCP-410</a> exam on first try with test-king. Our certified <a href="http://www.test-king.com/exams/350-001.htm">350-001</a> questions and answers plus live demo tests for <a href="http://www.test-king.com/exams/70-680.htm">70-680</a> are extremely useful to pass your certification in single attempt.</p>
<p><a href="http://www.psprint.com/">PsPrint online printing</a> services – affordable and high quality <a href="http://www.psprint.com/calendars">calendar printing</a> you can trust!<br />
Ref: http://webdesignfan.com</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=210&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/10/31/jquery-slider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/01_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Create Beautiful jQuery slider tutorial</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/02_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">jQuery Plugin - Feature List</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/03_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Create an Image Rotator with Description (CSS/jQuery)</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/04_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Moving Boxes</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/05_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Using the Wonderful jFlow Plugin</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/06_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Creating a Slick Auto-Playing Featured Content Slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/07_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Design An Elegant Featured Content Slider for WordPress</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/08_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">jQuery Slider plugin (Safari style)</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/09_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Accessible News Slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/10_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Animated JavaScript Accordion V2</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/11_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">jQuery UI 1.7 Slider from a Select Element</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/12_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Easy Slider 1.7 - Numeric Navigation jQuery Slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/13_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">TabSwitch</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/14_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">AnythingSlider jQuery Plugin</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/15_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">A jQuery Twitter Ticker</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/16_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">SlideItMoo 1.1 - improved image slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/17_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Making a Google Wave History Slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/18_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">bxSlider - jQuery content slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/19_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Making A Slick Content Slider</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/20_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">slideViewerPro 1.0</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/21_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">A Beautiful Apple-style Slideshow Gallery With CSS &#38; jQuery</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/22_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Create a Slick and Accessible Slideshow Using jQuery</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/23_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Coda-Slider 2.0</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/24_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">jQuery Multimedia Portfolio</media:title>
		</media:content>

		<media:content url="http://webdesignfan.com/wp-content/uploads/2009/12/25_incredible_jquery_slider_tutorials_and_plugins.jpg" medium="image">
			<media:title type="html">Slider Gallery</media:title>
		</media:content>
	</item>
		<item>
		<title>CSS AND JQUERY LIGHT BOX OVERLAY</title>
		<link>https://debasishphp.wordpress.com/2011/10/31/css-and-jquery-light-box-overlay/</link>
		<comments>https://debasishphp.wordpress.com/2011/10/31/css-and-jquery-light-box-overlay/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:08:52 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[JQUERY]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML Over Lay]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Light Box]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=208</guid>
		<description><![CDATA[CSS techniques to overlay images on a webpage. Lightbox JS : Original; a simple, unobtrusive script used to overlay images on the current page. Greased Lightbox : Greasemonkey/Creammonkey/Opera user script designed to enhance browsing on websites that link to images such as Google Image Search, Flickr, Wikipedia, Facebook, MySpace, and deviantART. GreyBox : A pop-up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=208&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>CSS techniques to overlay images on a webpage.</h2>
<ol>
<li><a href="http://www.huddletogether.com/projects/lightbox2/">Lightbox JS</a> : Original; a simple, unobtrusive script used to overlay images on the current page.</li>
<li><a href="http://shiftingpixel.com/lightbox/">Greased Lightbox</a> : Greasemonkey/Creammonkey/Opera user script designed to enhance browsing on websites that link to images such as Google Image Search, Flickr, Wikipedia, Facebook, MySpace, and deviantART.</li>
<li><a href="http://orangoo.com/labs/?page_id=5">GreyBox</a> : A pop-up window that doesn’t suck.</li>
<li><a href="http://jquery.com/demo/grey/">Greybox Redux</a> : Completely unobtrusive – no need to embed Javascript into your site.</li>
<li><a href="http://www.eight.nl/files/leightbox/">Leightbox</a> : uses inline div’s instead of AJAX calls.</li>
<li><a href="http://serennz.cool.ne.jp/sb/sp/lightbox/">Lightbox Plus</a> : by Takuya Otani</li>
<li><a href="http://particletree.com/features/lightbox-gone-wild/">Lightbox Gone Wild</a> : at ParticleTree</li>
<li><a href="http://pjhyett.com/articles/2006/02/09/the-lightbox-effect-without-lightbox">The Lightbox Effect without Lightbox</a> : by PJ Hyett</li>
<li><a href="http://www.ryanjlowe.com/?p=9">LITBox 2.0</a> : modified Thickbox made into a Prototype class based off of the Scriptaculous.</li>
<li><a href="http://www.gregphoto.net/lightbox/">Multifaceted Lightbox</a> : at GregPhoto</li>
<li><a href="http://prototype-window.xilinus.com/">Prototype Window Class</a> : at Xilinus</li>
<li><a href="http://www.mondaybynoon.com/2006/03/27/suckerfish-hoverlightbox/">Suckerfish HoverLightbox</a> : hover + gallery + lightbox at MondayByNoon</li>
<li><a href="http://jquery.com/demo/thickbox/">Thickbox – One box to rule them all.</a> : by Cody Lindley</li>
<li><a href="http://www.jasons-toolbox.com/SlightlyThickerBox/">Slightly ThickerBox</a> : Thickbox with Prev and Next links at Jasons Toolbox</li>
<li><a href="http://zeo.unic.net.my/notes/wp-lightbox-js-wordpress-plugin/">WP lightbox JS WordPress plugin</a> : WordPress Plugin by Safirul Alredha</li>
<li><a href="http://www.m3nt0r.de/blog/lightbox-wordpress-plugin/">Lightbox2</a> : WordPress Plugin at m3nt0r – beyond the net</li>
<li><a href="http://www.anieto2k.com/2006/02/11/greybox-plugin/">GreyBox Plugin</a> : WordPress Plugin at aNieto2K
<p>Ref:  http://webdeveloper.econsultant.com</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=208&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/10/31/css-and-jquery-light-box-overlay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>
	</item>
		<item>
		<title>COMMON AJAX MISTAKES</title>
		<link>https://debasishphp.wordpress.com/2011/10/23/common-ajax-mistakes/</link>
		<comments>https://debasishphp.wordpress.com/2011/10/23/common-ajax-mistakes/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:49:47 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[JQUERY]]></category>
		<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[PHP-MYSQL INTERVIEW PAPERS]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[MISTAKES]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=204</guid>
		<description><![CDATA[With the advent of Web 2.0 the Web Application has now become more interactive in nature thanks to AJAX. But this interactive using AJAX comes with some mistakes that people generally doesn’t follows. Below are the list of mistakes that AJAX gives you as a gift. No Back Button Functionality By default the browser stores the web page [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=204&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the advent of <strong>Web 2.0</strong> the Web Application has now become more interactive in nature thanks to <strong>AJAX</strong>. But this interactive using AJAX comes with some mistakes that people generally doesn’t follows.</p>
<p>Below are the list of mistakes that AJAX gives you as a gift.</p>
<p><strong>No Back Button Functionality</strong><br />
By default the browser stores the web page visited in the History Folder, but with AJAX the browser is unable to retrieve the dynamic content.</p>
<p><strong>2. Waiting Endlessly</strong><br />
The AJAX functionality largely depend on the network connection and the bandwidth. AJAX works well with good Internet Connection so if you are using dial-up you will have to wait until the response comes from the server. But if your browser get struck in between the AJAX call irrespective of the internet connection then your browser window is dead until the user reloads the page or opens a same page and writes the same content again and submit.</p>
<p><strong>Using AJAX for the sake of AJAX.</strong><br />
AJAX is a very good feature to implement in todays web world but you also have to make count of the usability of it.</p>
<p><strong>Cross Browser Compatible</strong><br />
If your web application is targeting multiple browser you will have to make sure that the <strong>AJAX Application</strong> works seamlessly on all the browsers.</p>
<p><strong>Browsers Load</strong><br />
Making too much AJAX calls will degrade the <strong>browser performance</strong> and it will become slow. This will make the user experience horrible for your site.</p>
<p><strong>Bookmarking</strong><br />
Users cannot bookmark the page having dynamic content fetched using AJAX. The reason is AJAX will fetch dynamic data from the server and the bookmark link will only store the static data stored in the internet cache folder.</p>
<p>&nbsp;</p>
<p><strong>Enable/Disable JavaScript</strong><br />
AJAX purely works with JavaScript and if the users browsers has JavaScript disabled then the AJAX functionality will not work.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=204&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/10/23/common-ajax-mistakes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>
	</item>
		<item>
		<title>PHP SCRAPPER</title>
		<link>https://debasishphp.wordpress.com/2011/10/23/php-scrapper/</link>
		<comments>https://debasishphp.wordpress.com/2011/10/23/php-scrapper/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:45:50 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[PHP SCRAPPER]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=202</guid>
		<description><![CDATA[Sometimes we want to extract the HTML content of the remote website page, this technique is called as HTML scrapper. This article will discuss on how we can extract the HTML content of the remote webpage. We can achieve HTML scrapper operation in 2 step operation: Call to Remote Web Page and extract the HTML [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=202&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sometimes we want to extract the HTML content of the remote website page, this technique is called as HTML scrapper. This article will discuss on how we can extract the HTML content of the remote webpage.</p>
<p>We can achieve HTML scrapper operation in 2 step operation:</p>
<ul>
<li>Call to Remote Web Page and extract the HTML content.</li>
<li>Match the HTML tags using Regular Expression.</li>
</ul>
<p><strong>Call to Remote Web Page using PHP:</strong><br />
In PHP there are various ways we can call the remote webpage, for more information on connecting to remote web page we can refer to . But here we will be using CURL to achieve our operation.</p>
<div>
<div>
<pre>$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);</pre>
</div>
</div>
<p>$url holds the Remote URL you want to connect to; and $file_contents holds the HTML content of the remote web page that we have called.</p>
<p><strong>Match the HTML tags using Regular Expression using PHP:</strong><br />
Here we will be using preg_match/preg_match_all to read the HTML tags from the HTML source. Here i am posting few Regular Expression code that will extract the content inside the HTML tags.</p>
<p>&nbsp;</p>
<p><strong>Extracting data from HTML tags</strong></p>
<div>
<div>
<pre>    preg_match_all('/&lt;span&gt;[\/\(\)-:&lt;&gt;\w\s]+&lt; \/span&gt;/',$file_contents,$htmlContent);
&lt;/span&gt;</pre>
</div>
</div>
<p>Assume that the $file_contents holds the HTML source code and after executing the above preg_match it will extract all the span tags from the HTML source code. Isn’t it simple, so now instead of span we want data from any other tag just replace the tag with that tag.</p>
<div>
<div>
<pre>    preg_match_all('/&lt;span&gt;[\/\(\)-:&lt;&gt;\w\s]+&lt; \/span&gt;/',$file_contents,$htmlContent);
&lt;/span&gt;</pre>
</div>
</div>
<p>Assume that the $file_contents holds the HTML source code and after executing the above preg_match it will extract all the span tags having class=”test” from the HTML source code. This will ensure that we extract only those span tags that will have class attributes only.</p>
<div>
<div>
<pre>    preg_match('%&lt;table.*&gt;.*\s*\s*&lt;/table&gt;%',  $file_contents, $htmlContent);</pre>
</div>
</div>
<p>Assume that the $file_contents holds the HTML source code and after executing the above preg_match it will extract all the table tags from the HTML source code. This will ensure that we extract only those table tags that will have class=’test’ attributes only. Now we have the table tag content, now we will extract the data inside td tags.</p>
<div>
<div>
<pre>   preg_match_all('#&lt;td [^&gt;]*&gt;(.*?)&lt;/td&gt;]*&gt;#is', $htmlContent[0], $td_matches);</pre>
</div>
</div>
<p>Here we pass the extracted table tags details to the preg_match_all, this will ensure that we read all the data that resides inside the td tags.</p>
<p>Ref: <a href="http://www.hiteshagrawal.com/">http://www.hiteshagrawal.com</a></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=202&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/10/23/php-scrapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>
	</item>
		<item>
		<title>PHP-Magic Methods</title>
		<link>https://debasishphp.wordpress.com/2011/10/23/php-magic-methods/</link>
		<comments>https://debasishphp.wordpress.com/2011/10/23/php-magic-methods/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:42:53 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRAINING]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[MAGIC METHODS]]></category>
		<category><![CDATA[PHP MAGIC METHODS]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=200</guid>
		<description><![CDATA[With PHP 5 Object Oriented Programming seems to becoming a reality in PHP but we all know that in PHP a variable can take any form depending on the data passed to it. Also PHP automatically creates variable and assigns values to it even is the variables are not defined. But in Object Oriented Programming all the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=200&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With <strong>PHP 5</strong> Object Oriented Programming seems to becoming a reality in PHP but we all know that in PHP a variable can take any form depending on the data passed to it. Also PHP automatically creates variable and assigns values to it even is the variables are not defined. But in Object Oriented Programming all the data members/methods needs to be defined. To solve some of these problems in OOPS environment magic methods have been introduced in PHP5.</p>
<p><strong>NOTE ON MAGIC METHODS:</strong></p>
<ul>
<li>Magic methods are the members functions that is available to all the instance of class</li>
<li>Magic methods always starts with “__”. Eg. __construct</li>
<li>All magic methods needs to be declared as public</li>
<li>To use magic method they should be defined within the class or program scope</li>
</ul>
<p>Various Magic Methods used in PHP 5 are:</p>
<ul>
<li>__construct()</li>
<li>__destruct()</li>
<li>__set()</li>
<li>__get()</li>
<li>__call()</li>
<li>__toString()</li>
<li>__sleep()</li>
<li>__wakeup()</li>
<li>__isset()</li>
<li>__unset()</li>
<li>__autoload()</li>
<li>__clone()<br />
<strong>__construct()</strong><br />
This methods gets called whenever an object of a class is instantiated. This method is a part of Object Oriented Programming concept in PHP 5. To know more about this methods refer <a href="http://www.hiteshagrawal.com/php/oops-in-php5/oops-in-php5-__construct-method">PHP 5 Tutorial – __construct Method</a>.&nbsp;</p>
<p><strong>__destruct()</strong><br />
This methods gets called whenever an object of a class is destroyed or object goes out of scope. This method is a part of Object Oriented Programming concept in PHP 5. To know more about this methods refer <a href="http://www.hiteshagrawal.com/php/oops-in-php5/oops-in-php5-__destruct-method">PHP 5 Tutorial – __destruct Method</a>.</p>
<p><strong>__set()</strong><br />
This methods get automatically called whenever you assigns data to a undefined attributes of an class in PHP 5. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__set-magic-method">PHP 5 Tutorial – __set() magic method</a>.</p>
<p><strong>__get()</strong><br />
This methods get automatically called when you try to retrieves the data of undefined attributes of an class in PHP 5. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__get-magic-method">PHP 5 Tutorial – __get() magic method</a>.</p>
<p><strong>__call()</strong><br />
This methods get automatically called you call and undefined methods of an class in PHP 5. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__call-magic-method">PHP 5 Tutorial – __call() magic method</a>.</p>
<p><strong>__toString()</strong><br />
This method is called whenever an class object is treated as string and is echo or print(). This methods is very useful if you want to check the object methods and attributes. To know more on this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__tostring-magic-method">PHP 5 Tutorial – __toString magic method</a>.</p>
<p><strong>__sleep()</strong><br />
This methods gets called when you serialize the object in PHP 5. With this method call we can define the way how the data object will be stored. To know more on this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__sleepmagic-method">PHP 5 Tutorial – __sleep magic method</a>.</p>
<p><strong>__wakeup()</strong><br />
This methods gets called when the object is about to be unserialized in PHP 5. With this method call we can do necessary initial operation before starting operation on the received data object. To know more on this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__wakeup-magic-method">PHP 5 Tutorial – __wakeup magic method</a>.</p>
<p><strong>__isset()</strong><br />
This methods get automatically called whenever you try to check the existence of the undeclared attributes of the class using <em>isset</em> function of PHP. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__isset-magic-method">PHP 5 Tutorial – __isset() magic method</a>.</p>
<p><strong>__unset()</strong><br />
This methods get automatically called whenever you try to check the destroy or clear an undeclared attributes of the class using <em>unset</em> function of PHP. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__unset-magic-method">PHP 5 Tutorial – __unset() magic method</a>.</p>
<p><strong>__autoload()</strong><br />
This methods get automatically called whenever you try to load an object of class which resides in separate file and you have not included those files using include,require and include_once. To use this method it is mandatory to the PHP filename as that of the class name because this methods accepts the class name as the argument. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php5-tutorial-__autoload-magic-method">PHP 5 Tutorial – __autoload() magic method</a>.</p>
<p><strong>__clone()</strong><br />
PHP5 has introduced clone method which creates an duplicate copy of the object. __clone methods automatically get called whenever you try to call <em>clone</em> methods in PHP 5. This operator does not creates a reference copy. To know more about this method refer <a href="http://www.hiteshagrawal.com/php/magic-methods-in-php5/php-5-tutorial-__clone-magic-method">PHP5 Tutorial – __clone() magic method</a>.</p>
<p>Ref: <a href="http://www.hiteshagrawal.com/">http://www.hiteshagrawal.com</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=200&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/10/23/php-magic-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>
	</item>
		<item>
		<title>Transaction in MYSQL</title>
		<link>https://debasishphp.wordpress.com/2011/09/30/transaction-in-mysql-2/</link>
		<comments>https://debasishphp.wordpress.com/2011/09/30/transaction-in-mysql-2/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 04:24:01 +0000</pubDate>
		<dc:creator>debasish</dc:creator>
				<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP TRICKS]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Transaction in Mysql]]></category>
		<category><![CDATA[Using Transaction]]></category>

		<guid isPermaLink="false">http://debasishphp.wordpress.com/?p=197</guid>
		<description><![CDATA[Ref: http://dev.mysql.com START TRANSACTION, COMMIT, and ROLLBACK Syntax START TRANSACTION [WITH CONSISTENT SNAPSHOT] &#124; BEGIN [WORK] COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE] ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE] SET autocommit = {0 &#124; 1} The BEGIN statement begins a new transaction. ROLLBACK rolls back the current transaction, canceling its changes. The COMMIT and BEGIN [WORK]as the beginning of a START TRANSACTIONinstead. The AND CHAIN clause causes a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=197&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<div>
<h3>Ref: <a href="http://dev.mysql.com/">http://dev.mysql.com</a></h3>
<h3><code>START TRANSACTION</code>, <code>COMMIT</code>, and <code>ROLLBACK</code> Syntax</h3>
</div>
</div>
</div>
<p><a name="id870270"></a><a name="id870279"></a><a name="id870288"></a><a name="id870297"></a></p>
<pre>START TRANSACTION [WITH CONSISTENT SNAPSHOT] | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET autocommit = {0 | 1}</pre>
<p>The <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> or <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>BEGIN</code></a> statement begins a new transaction. <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>COMMIT</code></a> commits the current transaction, making its changes permanent. <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a> rolls back the current transaction, canceling its changes. The <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>SET autocommit</code></a> statement disables or enables the default autocommit mode for the current session.</p>
<p>Beginning with MySQL 5.0.3, the optional <code>WORK</code> keyword is supported for <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>COMMIT</code></a> and <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a>, as are the <code>CHAIN</code>and <code>RELEASE</code> clauses. <code>CHAIN</code> and <code>RELEASE</code> can be used for additional control over transaction completion. The value of the <a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_completion_type"><code>completion_type</code></a> system variable determines the default completion behavior. See <a title="5.1.3. Server System Variables" href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html">Section 5.1.3, “Server System Variables”</a>.</p>
<div>
<div>Note</div>
<p>Within stored programs (stored procedures and functions, and triggers), the parser treats <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>BEGIN [WORK]</code></a>as the beginning of a <a title="12.7.1. BEGIN ... END<br />
      Compound Statement Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/begin-end.html&#8221;><code>BEGIN ... END</code></a> block. Begin a transaction in this context with <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a>instead.</p>
</div>
<p>The <code>AND CHAIN</code> clause causes a new transaction to begin as soon as the current one ends, and the new transaction has the same isolation level as the just-terminated transaction. The <code>RELEASE</code> clause causes the server to disconnect the current client session after terminating the current transaction. Including the <code>NO</code> keyword suppresses <code>CHAIN</code> or <code>RELEASE</code> completion, which can be useful if the <a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_completion_type"><code>completion_type</code></a> system variable is set to cause chaining or release completion by default.</p>
<p>By default, MySQL runs with autocommit mode enabled. This means that as soon as you execute a statement that updates (modifies) a table, MySQL stores the update on disk to make it permanent. To disable autocommit mode, use the following statement:</p>
<pre>SET autocommit=0;</pre>
<p>After disabling autocommit mode by setting the <a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_autocommit"><code>autocommit</code></a> variable to zero, changes to transaction-safe tables (such as those for <code>InnoDB</code>, <code>BDB</code>, or <a title="Chapter 16. MySQL Cluster" href="http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster.html"><code>NDBCLUSTER</code></a>) are not made permanent immediately. You must use <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>COMMIT</code></a> to store your changes to disk or <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a> to ignore the changes.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_autocommit"><code>autocommit</code></a> is a session variable and must be set for each session. If you want to disable autocommit mode for each new connection, see the description of the <a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_autocommit"><code>autocommit</code></a> system variable at <a title="5.1.3. Server System Variables" href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html">Section 5.1.3, “Server System Variables”</a>.</p>
<p>To disable autocommit mode for a single series of statements, use the <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> statement:</p>
<pre>START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;</pre>
<p>With <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a>, autocommit remains disabled until you end the transaction with <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>COMMIT</code></a> or <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a>. The autocommit mode then reverts to its previous state.</p>
<p><a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>BEGIN</code></a> and <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>BEGIN WORK</code></a> are supported as aliases of <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> for initiating a transaction. <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> is standard SQL syntax and is the recommended way to start an ad-hoc transaction.</p>
<div>
<div>Important</div>
<p>Many APIs used for writing MySQL client applications (such as JDBC) provide their own methods for starting transactions that can (and sometimes should) be used instead of sending a <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> statement from the client. See <a title="Chapter 19. Connectors and APIs" href="http://dev.mysql.com/doc/refman/5.0/en/connectors-apis.html">Chapter 19, <em>Connectors and APIs</em></a>, or the documentation for your API, for more information.</p>
</div>
<p>The <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>BEGIN</code></a> statement differs from the use of the <code>BEGIN</code> keyword that starts a <a title="12.7.1. BEGIN ... END<br />
      Compound Statement Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/begin-end.html&#8221;><code>BEGIN ... END</code></a> compound statement. The latter does not begin a transaction. See <a title="12.7.1. BEGIN ... END<br />
      Compound Statement Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/begin-end.html&#8221;>Section 12.7.1, “<code>BEGIN ... END</code> Compound Statement Syntax”</a>.</p>
<p>You can also begin a transaction like this:</p>
<pre>START TRANSACTION WITH CONSISTENT SNAPSHOT;</pre>
<p>The <code>WITH CONSISTENT SNAPSHOT</code> clause starts a consistent read for storage engines that are capable of it. This applies only to <code>InnoDB</code>. The effect is the same as issuing a <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>START TRANSACTION</code></a> followed by a <a title="12.2.8. SELECT Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/select.html"><code>SELECT</code></a> from any<code>InnoDB</code> table. See <a title="13.2.8.2. Consistent Nonlocking Reads" href="http://dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html">Section 13.2.8.2, “Consistent Nonlocking Reads”</a>. The <code>WITH CONSISTENT SNAPSHOT</code> clause does not change the current transaction isolation level, so it provides a consistent snapshot only if the current isolation level is one that permits consistent read (<a href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html#isolevel_repeatable-read"><code>REPEATABLE READ</code></a> or <a href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html#isolevel_serializable"><code>SERIALIZABLE</code></a>).</p>
<p>Beginning a transaction causes any pending transaction to be committed. See <a title="12.3.3. Statements That Cause an Implicit Commit" href="http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html">Section 12.3.3, “Statements That Cause an Implicit Commit”</a>, for more information.</p>
<p>Beginning a transaction also causes table locks acquired with <a title="12.3.5. LOCK TABLES and<br />
      UNLOCK<br />
      TABLES Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html&#8221;><code>LOCK TABLES</code></a> to be released, as though you had executed <a title="12.3.5. LOCK TABLES and<br />
      UNLOCK<br />
      TABLES Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html&#8221;><code>UNLOCK TABLES</code></a>. Beginning a transaction does not release a global read lock acquired with <a title="12.4.6.2. FLUSH Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/flush.html"><code>FLUSH TABLES WITH READ LOCK</code></a>.</p>
<p>For best results, transactions should be performed using only tables managed by a single transaction-safe storage engine. Otherwise, the following problems can occur:</p>
<div>
<ul>
<li>If you use tables from more than one transaction-safe storage engine (such as <code>InnoDB</code> and <code>BDB</code>), and the transaction isolation level is not <a href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html#isolevel_serializable"><code>SERIALIZABLE</code></a>, it is possible that when one transaction commits, another ongoing transaction that uses the same tables will see only some of the changes made by the first transaction. That is, the atomicity of transactions is not guaranteed with mixed engines and inconsistencies can result. (If mixed-engine transactions are infrequent, you can use <a title="12.3.6. SET TRANSACTION Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html"><code>SET TRANSACTION ISOLATION LEVEL</code></a> to set the isolation level to<a href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html#isolevel_serializable"><code>SERIALIZABLE</code></a> on a per-transaction basis as necessary.)</li>
<li>If you use tables that are not transaction-safe within a transaction, changes to those tables are stored at once, regardless of the status of autocommit mode.</li>
<li>If you issue a <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a> statement after updating a nontransactional table within a transaction, an<a href="http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html#error_er_warning_not_complete_rollback"><code>ER_WARNING_NOT_COMPLETE_ROLLBACK</code></a> warning occurs. Changes to transaction-safe tables are rolled back, but not changes to nontransaction-safe tables.</li>
</ul>
</div>
<p>Each transaction is stored in the binary log in one chunk, upon <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>COMMIT</code></a>. Transactions that are rolled back are not logged. (<strong>Exception</strong>: Modifications to nontransactional tables cannot be rolled back. If a transaction that is rolled back includes modifications to nontransactional tables, the entire transaction is logged with a <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a> statement at the end to ensure that modifications to the nontransactional tables are replicated.) See <a title="5.2.3. The Binary Log" href="http://dev.mysql.com/doc/refman/5.0/en/binary-log.html">Section 5.2.3, “The Binary Log”</a>.</p>
<p>You can change the isolation level for transactions with <a title="12.3.6. SET TRANSACTION Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html"><code>SET TRANSACTION ISOLATION LEVEL</code></a>. See<a title="12.3.6. SET TRANSACTION Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html">Section 12.3.6, “<code>SET TRANSACTION</code> Syntax”</a>.</p>
<p>Rolling back can be a slow operation that may occur implicitly without the user having explicitly asked for it (for example, when an error occurs). Because of this, <a title="12.4.5.27. SHOW PROCESSLIST Syntax" href="http://dev.mysql.com/doc/refman/5.0/en/show-processlist.html"><code>SHOW PROCESSLIST</code></a> displays <code>Rolling back</code> in the <code>State</code>column for the session, not only for explicit rollbacks performed with the <a title="12.3.1. START TRANSACTION,<br />
      COMMIT, and<br />
      ROLLBACK Syntax&#8221; href=&#8221;http://dev.mysql.com/doc/refman/5.0/en/commit.html&#8221;><code>ROLLBACK</code></a> statement but also for implicit rollbacks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/debasishphp.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/debasishphp.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/debasishphp.wordpress.com/197/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=debasishphp.wordpress.com&amp;blog=5749688&amp;post=197&amp;subd=debasishphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://debasishphp.wordpress.com/2011/09/30/transaction-in-mysql-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://secure.gravatar.com/avatar/4afd6253fb753a4c0792843183ef3e68?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">debasish</media:title>
		</media:content>
	</item>
	</channel>
</rss>
