<?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:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Xoriant Software Product Engineering Blog &#187; admin</title>
	<atom:link href="http://www.xoriant.com/blog/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xoriant.com/blog</link>
	<description>Product Engineering Outsourcing, Tech Talk</description>
	<lastBuildDate>Tue, 01 Nov 2011 09:02:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>FitNesse- Testing Business scenarios for UAT- II</title>
		<link>http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html</link>
		<comments>http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html#comments</comments>
		<pubDate>Wed, 06 Apr 2011 11:39:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Testing and QA]]></category>
		<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[UAT]]></category>
		<category><![CDATA[User Acceptance testing]]></category>
		<category><![CDATA[Wiki server]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=1267</guid>
		<description><![CDATA[Introduction As explained earlier, FitNesse is a wiki server; it helps us to organize all our test scripts in the form or Wiki pages. It is a web server, it enables multiple people to work on automation scripts by keeping them at a central location. Even when fixture is doing all the work, at some [...]


Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat.html' rel='bookmark' title='Permanent Link: FitNesse- Testing Business scenarios for UAT'>FitNesse- Testing Business scenarios for UAT</a> <small>In this blog I will be introducing FitNesse tool, an automated testing tool for user acceptance testing. This blog will give an overview of the tool which is a Wiki...</small></li>
<li><a href='http://www.xoriant.com/blog/software-testing-and-qa/best_practices_internationalization_testing.html' rel='bookmark' title='Permanent Link: Best practices in Internationalization testing'>Best practices in Internationalization testing</a> <small>This blog will focus on the best practices to be followed for Internationalization &amp; Localization testing of web based applications. Introduction Internationalization testing is the process of testing software which...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h4><strong>Introduction </strong></h4>
<p>As explained earlier, FitNesse is a wiki server; it helps us to organize all our test scripts in the form or Wiki pages. It is a web server, it enables multiple people to work on automation scripts by keeping them at a central location. Even when fixture is doing all the work, at some point of time when the fixture has to be invoked, FitNesse wiki is the calling application. It supplies the fixture right automation scripts at right time as and when the tester wants to do the testing. FitNesse receives the statistics about the test status (pass or fail) and creates a report in wiki page itself which is easy to debug. For creating the wiki pages we should follow the following steps:</p>
<h4><strong>Downloading and Installing FitNesse</strong></h4>
<p>It really takes very little time and effort to get FitNesse running on your machine.</p>
<p>Go to <a href="http://fitnesse.org/FrontPage.FitNesseDevelopment.DownLoad">http://fitnesse.org/FrontPage.FitNesseDevelopment.DownLoad</a> and click on the most recent fitnesse.jar file. Download the fitnesse.jar to some location in local machine.</p>
<p><strong>Type java      -jar fitnesse.jar</strong></p>
<div id="_mcePaste">
<ul>
<li>It will perform the installation /updates</li>
<li>When it&#8217;s done, it will ask you to reload fitnesse. Type java -jar fitnesse.jar –p 8080.</li>
<li>If you have nothing running on port 8080 on your machine, you should see a message similar to the following:</li>
<li>Fitnesse (date code) Started&#8230;
<ul>
<li>Port: 8080</li>
<li>root page: fitnesse.wiki.FileSystemPage at ./FitNesseRoot</li>
<li>logger: none</li>
<li>authenticator: fitnesse.html.HtmlPageFactory</li>
</ul>
</li>
<li>If you don&#8217;t see this, you may have something running on port 8080 already,
<ul>
<li>So try the command java -jar fitnesse.jar -p 8090</li>
<li>If you are still having trouble then check out FitNesseWontStart.</li>
</ul>
</li>
</ul>
</div>
<p><strong>Start up a browser and go to http://localhost:8080</strong></p>
<p><strong>The main FitNesse screen should come up. That&#8217;s it. You&#8217;re ready to start using FitNesse.</strong></p>
<h4><span style="line-height: 17px;"><strong>Process for creating/editing new wiki page:</strong></span></h4>
<ul>
<li>Go to the home page http://localhost:8080</li>
<li>Click on edit link on LHS side</li>
<li>Enter the CamelCase text as a name of the page link e.g. QueryTest, NewTestPage</li>
</ul>
<p>(The names: newTestpage, newTestPage are invalid and the names: NewTestPage, NewtestPage, SampleTestPage, SampleTestpage, SampleExample are valid)</p>
<ul>
<li>Click on save button</li>
<li>Check the frontpage displayed with the text QueryTest? With a link on “?”</li>
<li>Click the link on “?”</li>
<li>New page displayed with URL http://localhost:8080/QueryTest?edit&amp;nonExistent=true</li>
</ul>
<p><a href="http://www.xoriant.com/blog/wp-content/uploads/2011/04/untitled.jpg"><img class="aligncenter size-medium wp-image-1289" title="frontpage " src="http://www.xoriant.com/blog/wp-content/uploads/2011/04/untitled-300x213.jpg" alt="" width="300" height="213" /></a></p>
<p><strong>OR</strong></p>
<ul>
<li>For creating or editing new wiki page directly through URL:
<ul>
<li>current-url.NewPageName</li>
<li>current-url.NewPageName?edit</li>
</ul>
</li>
<li>click on save and again go to this new page and click on ‘Properties’ link on LHS panel</li>
<li>This displays the page for setting up the page properties for the page
<ul>
<li>Select Test from Page type, check all check boxes from Actions and keep others default</li>
<li>Click on ‘Save properties’ button at the bottom</li>
<li>Check the new page with the buttons like Test, Edit and so on… at the LHS panel</li>
</ul>
</li>
</ul>
<p>For more detailed commands related to creating and editing the new wiki pages check out the page: http://fitnesse.org/FitNesse.UserGuide.QuickReferenceGuide
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;title=FitNesse-+Testing+Business+scenarios+for+UAT-+II&amp;summary=Introduction%20%0D%0AAs%20explained%20earlier%2C%20FitNesse%20is%20a%20wiki%20server%3B%20it%20helps%20us%20to%20organize%20all%20our%20test%20scripts%20in%20the%20form%20or%20Wiki%20pages.%20It%20is%20a%20web%20server%2C%20it%20enables%20multiple%20people%20to%20work%20on%20automation%20scripts%20by%20keeping%20them%20at%20a%20central%20location.%20Even%20when%20fixture%20is%20doing%20all%20the%20work%2C%20at%20some&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=FitNesse-+Testing+Business+scenarios+for+UAT-+II+-+http://bit.ly/hQl0R0&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;title=FitNesse-+Testing+Business+scenarios+for+UAT-+II" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;title=FitNesse-+Testing+Business+scenarios+for+UAT-+II" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;title=FitNesse-+Testing+Business+scenarios+for+UAT-+II" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html&amp;t=FitNesse-+Testing+Business+scenarios+for+UAT-+II" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat.html' rel='bookmark' title='Permanent Link: FitNesse- Testing Business scenarios for UAT'>FitNesse- Testing Business scenarios for UAT</a> <small>In this blog I will be introducing FitNesse tool, an automated testing tool for user acceptance testing. This blog will give an overview of the tool which is a Wiki...</small></li>
<li><a href='http://www.xoriant.com/blog/software-testing-and-qa/best_practices_internationalization_testing.html' rel='bookmark' title='Permanent Link: Best practices in Internationalization testing'>Best practices in Internationalization testing</a> <small>This blog will focus on the best practices to be followed for Internationalization &amp; Localization testing of web based applications. Introduction Internationalization testing is the process of testing software which...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/software-testing-and-qa/fitnesse-testing-business-scenarios-for-uat-ii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[FitNesse - UAT]]></series:name>
	</item>
		<item>
		<title>Of Doctors and Engineers</title>
		<link>http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html</link>
		<comments>http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html#comments</comments>
		<pubDate>Tue, 06 Oct 2009 20:00:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Product Ideation]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[tech talk]]></category>
		<category><![CDATA[Web App]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[WebUI]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=6</guid>
		<description><![CDATA[At the end of the day, we all realize that an apple, most of the times, is not enough and the doctor can’t be kept away for too long. But what if a specialist doctor is actually not near? This is where Telemedicine or ‘the use of advanced Telecommunication technologies to exchange health information &#38; [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">At the end of the day, we all realize that an apple, most of the times, is not enough and the doctor can’t be kept away for too long. But what if a specialist doctor is actually not near? This is where Telemedicine or ‘the use of advanced Telecommunication technologies to exchange health information &amp; provide health care services across geographies and demographics’ comes into picture.</p>
<p class="MsoNormal"><span>Computer Systems that enable us to do so have been termed as PACS (Picture Archiving and Communication Systems) and essentially are networked computers dedicated towards storing, retrieving, distributing and presenting the medical images and records.</span></p>
<p class="MsoNormal"><span>Typical technical requirements to establish such a system would be:</span></p>
<ol type="1">
<li class="MsoNormal"><span>Broadband communication</span></li>
<li class="MsoNormal"><span>High resolution display devices</span></li>
<li class="MsoNormal"><span>High end video camera      (optional)</span></li>
<li class="MsoNormal"><span>Video-conferencing equipment      (depends on above)</span></li>
<li class="MsoNormal"><span>Highly skilled technologist</span></li>
<li class="MsoNormal"><span>Equipments e.g. Surgical      Robotics</span></li>
</ol>
<p class="MsoNormal"><strong><span>Guidelines for the IT Aspect</span></strong><span><br />
A typical Telemedicine Solution must have following properties:</span></p>
<ol type="1">
<li class="MsoNormal"><span>Interoperability</span></li>
<li class="MsoNormal"><span>Compatibility</span></li>
<li class="MsoNormal"><span>Scalability</span></li>
<li class="MsoNormal"><span>Portability</span></li>
<li class="MsoNormal"><span>Reliability</span></li>
</ol>
<p class="MsoNormal"><span>Having massive implementations, there is a need of maintaining databases. Telemedicine databases comprise of:</span></p>
<ol type="1">
<li class="MsoNormal"><span>Blood Bank inventories</span></li>
<li class="MsoNormal"><span>Case histories</span></li>
<li class="MsoNormal"><span>Different diagnostic test      results</span></li>
<li class="MsoNormal"><span>List of doctors with their      specializations &amp; experiences</span></li>
<li class="MsoNormal"><span>Data about the consulting      doctors.</span></li>
<li class="MsoNormal"><span>List of hospitals with which      video conferencing can be done.</span></li>
</ol>
<p class="MsoNormal"><span>Typical information to be transmitted over networks constitutes:</span></p>
<ol type="1">
<li class="MsoNormal"><span>Images</span></li>
<li class="MsoNormal"><span>Written advices, Textual      information etc.</span></li>
<li class="MsoNormal"><span>Video (Live/Recorded)</span></li>
</ol>
<p class="MsoNormal"><span>So is there any research mechanisms required for Telemedicine? Well, yes. And they typically include Algorithm/software development &amp; hardware customization for Telesurgery, Telehealthcare for surgical patients, distant surgical education. Emphasis is on faster data transfer and quick and accurate diagnosis.</span></p>
<p class="MsoNormal"><span>Typical algorithms that System Architects in Telemedicine would be interested are:</span></p>
<ul type="disc">
<li class="MsoNormal"><span>Dynamic Programming</span></li>
<li class="MsoNormal"><span>Greedy Algorithms</span></li>
<li class="MsoNormal"><span>Elementary Graph Algorithms</span></li>
<li class="MsoNormal"><span>Minimum Spanning Trees</span></li>
<li class="MsoNormal"><span>Single Source Shortest Paths</span></li>
<li class="MsoNormal"><span>All pairs Shortest paths</span></li>
<li class="MsoNormal"><span>Maximum Flow</span></li>
<li class="MsoNormal"><span>Sorting Networks</span></li>
<li class="MsoNormal"><span>Algorithms for Parallel Processing</span></li>
<li class="MsoNormal"><span>String matching</span></li>
<li class="MsoNormal"><span>Approximation algorithms</span></li>
</ul>
<p class="MsoNormal"><span>Typical Imaging file formats that are of special interest in Telemedicine constitute: </span></p>
<ul type="disc">
<li class="MsoNormal"><span>DICOM standard, the de-facto standard in Medical      Imaging</span></li>
<li class="MsoNormal"><span>JPEG and JPEG2000</span></li>
<li class="MsoNormal"><span>MPEG1, MPEG2, MPEG4 Video formats along with other      online streamable video formats.</span></li>
</ul>
<p class="MsoNormal"><span>Though cost factor &amp; some legal concerns need to be addressed, as a conclusive remark for this article, it can be confidently said that Telemedicine provides benefits for:</span></p>
<ul type="disc">
<li class="MsoNormal"><span>The surgeon (doesn’t have to move around) – Quick      access to current scans, ready availability of Patient History, recording      of prescription and print facility of the overall diagnosis – with all      this in few minutes makes it a very viable mode of Patient Care.</span></li>
<li class="MsoNormal"><span>Patient and Family (ready availability of specialists)      – They don’t have to maintain old reports at their end or run around to      gain access to Specialists.</span></li>
<li class="MsoNormal"><span>The Hospital (reduced hiring costs) – With easy access      to outside specialists, they needn’t have an in-house specialist for all      possible departments.</span></li>
<li class="MsoNormal"><span>Health care delivery agencies / Governments (scale of      business) – With access to multiple specialists, the scaleup magnitude of      Telemedicine can be very high.</span></li>
</ul>
<p class="MsoNormal"><span>Telemedicine is here to stay and is surely going to help reduce costs across domains and add benefits across boundaries.</span></p>
<p class="MsoNormal"><span>- Divya Rathore</span></p>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;title=Of+Doctors+and+Engineers&amp;summary=At%20the%20end%20of%20the%20day%2C%20we%20all%20realize%20that%20an%20apple%2C%20most%20of%20the%20times%2C%20is%20not%20enough%20and%20the%20doctor%20can%E2%80%99t%20be%20kept%20away%20for%20too%20long.%20But%20what%20if%20a%20specialist%20doctor%20is%20actually%20not%20near%3F%20This%20is%20where%20Telemedicine%20or%20%E2%80%98the%20use%20of%20advanced%20Telecommunication%20technologies%20to%20exchange%20health%20informa&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Of+Doctors+and+Engineers+-+http://b2l.me/9ydbb&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;title=Of+Doctors+and+Engineers" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;title=Of+Doctors+and+Engineers" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;title=Of+Doctors+and+Engineers" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html&amp;t=Of+Doctors+and+Engineers" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/product-ideation/of-doctors-and-engineers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friendly &amp; Intuitive User Interface</title>
		<link>http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html</link>
		<comments>http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html#comments</comments>
		<pubDate>Fri, 20 Feb 2009 07:00:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web 2.0 / Social Networking]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Intuitive user Interface]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=12</guid>
		<description><![CDATA[Various Definitions of User Interface The part of a computer program that displays on the screen for the user to see A set of controls such as buttons, commands and other devices that allow a user to operate a computer program The part of an application that the end user sees on the screen and [...]


Related posts:<ol><li><a href='http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/user-interface-technology-stacks.html' rel='bookmark' title='Permanent Link: User Interface Technology Stacks'>User Interface Technology Stacks</a> <small>Introduction to Technology Stack In general terms, a technology stack consists of the parts or sections of any set of components or services that are used to deploy or provide...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div>
<h2><span>Various Definitions of User Interface</span><span> </span></h2>
<ul type="disc">
<li class="MsoNormal"><span>The part of a computer program that displays on the screen for the user to see</span></li>
<li class="MsoNormal"><span>A set of controls such as buttons, commands and other devices that allow a user to operate a computer program</span></li>
<li class="MsoNormal"><span>The part of an application that the end user sees on the screen and works with to operate the application, such as menus, forms and buttons</span></li>
</ul>
<p class="MsoNormal"><strong><span> <strong>The Goldmine Rush</strong></span></strong></p>
<p class="MsoNormal"><strong><span>The Boom</span></strong><strong></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Online Medium: A paradigm shift in the information dissemination approach</span></li>
<li class="MsoNormal"><span>Beating the success tape with ‘first to market’</span></li>
</ul>
<p class="MsoNormal"><strong><span>The Bust</span></strong></p>
<p class="MsoNormal"><span>To beat “first-mover” sites, competitors started loading truckloads of features, content, and so on, leading to complexities for end users.</span></p>
<p class="MsoNormal"><strong><span>The Realization</span></strong><strong></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>For a sustainable competitive advantage, focus on quality user experience</span></li>
<li class="MsoNormal"><span>It is user experience that forms the customer’s impression of the company’s offerings</span></li>
<li class="MsoNormal"><span>It is user experience that differentiates the company from its competitors</span></li>
<li class="MsoNormal"><span>It is user experience that determines whether your customer will ever come back</span></li>
</ul>
<p class="MsoNormal"><span> <strong>What Goes Into User Experience</strong></span></p>
<p class="MsoNormal"><span>Understanding every possible expectation and action that a user is likely to take is the key to User Experience.</span></p>
<p class="MsoNormal"><span> The Various Elements of User Experience are:</span></p>
<ul type="disc">
<li class="MsoNormal"><strong><em><span>The Strategy Plane</span></em></strong><em><span> -</span></em><span> Finding out the business and user objectives of any product or site.</span></li>
<li class="MsoNormal"><strong><span>The Scope Plane</span></strong><span> &#8211; Translating user needs and site objectives into specific requirements.</span></li>
<li class="MsoNormal"><strong><span>The Structure Plane</span></strong><span> &#8211; Defines the flow, which the users would possibly take.</span></li>
<li class="MsoNormal"><strong><span>The Skeleton Plane</span></strong><span> &#8211; The placement of buttons, tabs, photos, and blocks of text.</span></li>
<li class="MsoNormal"><strong><span>The Surface Plane</span></strong><span> &#8211; The layer with which a user interacts. This layer is made up of images and text. Some of these images and text might be attached to some function.</span><strong></strong></li>
</ul>
<p class="MsoNormal"><strong><span> <strong>Creating Intuitive User Interfaces</strong></span></strong></p>
<p class="MsoNormal"><span>From a usability perspective, site design is more challenging and important than page design.</span></p>
<p class="MsoNormal"><strong><span>Homepage</span></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Should be designed differently from the rest of the pages</span></li>
<li class="MsoNormal"><span>Should answer the questions, such as, “Where am I?”  and “What does this site do?”</span></li>
<li class="MsoNormal"><span>Should offer these three features:</span></li>
</ul>
<ol>
<li>Directory of the site’s main content area (navigation)</li>
<li>Summary of the most important news or promotions</li>
<li>A search feature</li>
</ol>
<p class="MsoNormal"><strong><span>Navigation &#8211; Should answer these three fundamental questions</span></strong><strong></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Where am I?</span></li>
<li class="MsoNormal"><span>Where have I been?</span></li>
<li class="MsoNormal"><span>Where can I go?</span></li>
<li class="MsoNormal"><span>Create site structure that reflects user’s view of the site and the information they are looking for</span></li>
<li class="MsoNormal"><span>Use icons in navigation only if it helps users to recognize items</span></li>
<li class="MsoNormal"><span>Show hierarchical path through breadcrumb navigation</span></li>
</ul>
<p class="MsoNormal"><strong><span>Search-</span></strong><strong></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Give users an input box to enter search queries, instead of just giving a link</span></li>
<li class="MsoNormal"><span>Don’t offer a feature to “Search the Web” from the site’s search function</span></li>
<li class="MsoNormal"><span>Make search easily available from every single page of site</span></li>
<li class="MsoNormal"><span>Show page description and keywords in search results</span></li>
</ul>
<p class="MsoNormal"><strong><span> Content Design &#8211; Writing for the web</span></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Use the inverted pyramid approach</span></li>
<li class="MsoNormal"><span>Be crisp and to the point</span></li>
<li class="MsoNormal"><span>Write for scannability</span></li>
<li class="MsoNormal"><span>Avoid redundant content</span></li>
<li class="MsoNormal"><span>Don’t use clever phrases that make users work too hard to figure them out</span></li>
<li class="MsoNormal"><span>Use consistent capitalization and other style standards</span></li>
<li class="MsoNormal"><span>Give the Page title on each page</span></li>
<li class="MsoNormal"><span>Emphasize legibility</span></li>
</ul>
<p class="MsoNormal"><strong><span> Some Other Tips</span></strong></p>
<ul type="disc">
<li class="MsoNormal"><span>Use colors with high contrast between the text and the background and readable fonts</span></li>
<li class="MsoNormal"><span>Almost all text should be left-justified, avoiding continuous text in caps</span></li>
<li class="MsoNormal"><span>Offer enough information for user to avoid mistakes</span></li>
<li class="MsoNormal"><span>When errors occur, offer suggestions for recovery</span></li>
<li class="MsoNormal"><span>Error messages should be “polite” and not pin the blame on user</span></li>
<li class="MsoNormal"><span>Optimize your photos for the web.</span></li>
<li class="MsoNormal"><span>Label graphics and photographs if their meaning is not clear, use Alt Text with images</span></li>
<li class="MsoNormal"><span>Optimize video files. Use streaming options wherever possible</span></li>
<li class="MsoNormal"><span>When downloading, indicate file size</span></li>
<li class="MsoNormal"><span>Provide option to users to download any plug-ins.</span></li>
<li class="MsoNormal"><span>Use graphics to show real content, not just decorate your homepage.</span></li>
<li class="MsoNormal"><span>Never animate critical elements of a page such as the logo, tagline or main headline</span></li>
<li class="MsoNormal"><span>Web pages should be dominated by content of interest to the user</span></li>
<li class="MsoNormal"><span>To understand the grouping of information, provide adequate white space.</span></li>
<li class="MsoNormal"><span>Make your design compatible for various browsers like IE, Firefox, Safari, etc.</span></li>
</ul>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>By <em><span>Shubhankar Chakraborty</span></em></span></p>
</div>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;title=+Friendly+%26+Intuitive+User+Interface&amp;summary=%0D%0AVarious%20Definitions%20of%20User%20Interface%20%0D%0A%0D%0A%09The%20part%20of%20a%20computer%20program%20that%20displays%20on%20the%20screen%20for%20the%20user%20to%20see%0D%0A%09A%20set%20of%20controls%20such%20as%20buttons%2C%20commands%20and%20other%20devices%20that%20allow%20a%20user%20to%20operate%20a%20computer%20program%0D%0A%09The%20part%20of%20an%20application%20that%20the%20end%20user%20sees%20on%20the%20scree&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=+Friendly+%26+Intuitive+User+Interface+-+http://b2l.me/9xuss&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;title=+Friendly+%26+Intuitive+User+Interface" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;title=+Friendly+%26+Intuitive+User+Interface" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;title=+Friendly+%26+Intuitive+User+Interface" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html&amp;t=+Friendly+%26+Intuitive+User+Interface" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Related posts:<ol><li><a href='http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/user-interface-technology-stacks.html' rel='bookmark' title='Permanent Link: User Interface Technology Stacks'>User Interface Technology Stacks</a> <small>Introduction to Technology Stack In general terms, a technology stack consists of the parts or sections of any set of components or services that are used to deploy or provide...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/web-2-0-social-networking/friendly-intuitive-user-interface.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Flex</title>
		<link>http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html</link>
		<comments>http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 10:13:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GUI: Flash, Flex, Ajax, Silverlight]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=34</guid>
		<description><![CDATA[Basic introduction about flex and resources for self learning. 


No related posts.]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in 0in 12pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">What is Flex?</span></strong></p>
<p>Flex is a way to make SWF files!<br />
At the heart of Flex is the ability to create SWF files that run in Adobe Flash Player. Distill all the features down and it is a development paradigm that compiles to SWF. It really is that simple, but we often make the definition much harder. Just like Flash can create SWF files, so can Flex, but the way you develop it is completely different.</p>
<p style="margin: 0in 0in 12pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Flex is for developers.</span></p>
<p>Flex was not built for animators, writers, accountants; it was written for software developers and the paradigm matches the development methodology you already know. If you know Java, C, C++, C#, Delphi, VB, PHP, ColdFusion, Python, Ruby, you can learn Flex with little effort. The goal when Flex was created was to make a development paradigm that developers could learn easily matching the methodology they already know, yet create SWF files for Flash Player (and now AIR). Flex has classes, components, a compiler, a debugger, class libraries, and uses XML (MXML) for declarative markup of components. The ActionScript programming language is based on ECMAScript 4 (the language standard behind JavaScript) and has full support for the ECMA XML scripting standard, E4X. It also has most of the UI components that you already use (like button, list, datagrid, combobox, and tree) but it also supports containers like HBox, VBox, TabNavigator, TitleWindow and many others. If you have written software before, you can learn Flex easily. But better still, Flex is compatible with all HTTP servers, version control systems, and any server side programming language, so the knowledge you have of servlets, php, ASP.net, or JSP is really handy. Flex just lets you program the client side in a paradigm you already know and understand.</p>
<p><strong>Flex is for making applications&#8230;</strong></p>
<p>Flex was built for making rich client side application behavior. It wasn&#8217;t built for making web pages, banner ads, or server side logic. It was built for creating client-side applications that run over the Internet talking to remote servers. Flex has been used to make some really great apps like <a href="http://www.buzzword.com/">Buzzword (Document Editor like Microsoft Word but in the web)</a> or <a href="http://www.picnik.com/">Picnik (Photo Editor/Manager for touching up your best snapshots)</a> or <a href="http://www.sliderocket.com/">SlideRocket (Presentation software like Apple Keynote but in the web)</a> or <a href="http://www.news.com/8301-10784_3-9817620-7.html?tag=head">Oracle Sales Prospector (An enterprise ERP application. Yes Oracle uses Adobe Flex! )</a> or many other applications you can see at <a href="http://www.flex.org/">Flex.org</a>. The real key is that all these examples provide an application experience just like desktop software.</p>
<p><strong>…that run on the web (Adobe Flash Player)&#8230;</strong></p>
<p>Flash Player 9 is installed on more than 95% of computers that use the Internet and has been installed more than 3,500,000,000 times at a rate of over 10,000,000 times per day. When you develop software, you want it to run compatibly in as many places as possible. Adobe Flash Player provides a solid foundation to build these experiences without the need to install or update anything on the end user’s computer. If you were running a store you would want that store to be available to as many customers as possible and choosing Flash Player allows you to provide a great experience (rich) to 95% of the web (reach). Make sure you look at the reach of the technology you select. If you choose something not widely installed or incompatible, you are simply turning away customers and business.</p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">…on the desktop</span></strong><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> (<a href="http://www.adobe.com/go/air">Adobe AIR</a>)&#8230; </span></strong></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://www.adobe.com/go/air">Adobe AIR</a> </span><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">is a new runtime in development by Adobe and we are very close to releasing Adobe AIR 1.0.</span><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">AIR allows you to write desktop software that runs on 3 operating systems (MAC, WIN, LINUX) with the same file. This allows your application to be a true desktop application rather then just a website and allows you to do much more than the web allows today. AIR applications are real native desktop applications and provide APIs for writing files, drag-drop, system notifications, network detection, and more. AIR empowers developers to write desktop software that leverages the Internet.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">…on mobile devices.</span></strong></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Adobe is working to enable Flex to build applications for mobile platforms and support a wide range of devices. Just as Flex can be used to write a web based application or desktop application, it can be used to write software for mobile devices. The fact is that devices are becoming ever more powerful and more plentiful. It is just a matter of time before we enable developers to leverage Flex to deliver mobile applications on Flash Lite or AIR on mobile.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">In summary, Flex is a development paradigm that allows you to write software for the web and desktop that many people can use compatibly today. It leverages the tools, servers, and development models that you already know and allows you to write the next generation of software compatibly. At Adobe we are working around the clock to make this ecosystem of software better and provide you with the best tools and platforms to make your projects a success.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">I encourage you to take a fresh look at Adobe Flex and discover the opportunity in learning a new language and ecosystem. Developers around the world are embracing it to create all sorts of new applications and I think you should jump in too.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">If you are looking forward to learn Flex then here are some useful links</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html">Adobe Component Explorer</a>: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">Describes various components available in Flex.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://examples.adobe.com/flex2/consulting/styleexplorer/Flex2StyleExplorer.html">Adobe Style Explorer</a>: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">Helps defining styles for your Flex application.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://www.adobe.com/devnet/flex/quickstart/accessing_xml_data/">Handling XML Data</a>: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">Tricks and techniques of using XML data in Flex.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';">Its fun to play around and learn Flex. Try it…you will definitely enjoy it <img src='http://www.xoriant.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS';"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span class="documentauthor"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">by <a href="http://kms.xoriant.com/author/shetty_s">Saagar Shetty</a></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;title=Introduction+to+Flex&amp;summary=Basic%20introduction%20about%20flex%20and%20resources%20for%20self%20learning.%20&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Introduction+to+Flex+-+http://b2l.me/9ydba&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;title=Introduction+to+Flex" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;title=Introduction+to+Flex" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;title=Introduction+to+Flex" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html&amp;t=Introduction+to+Flex" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/gui-flash-flex-ajax-silverlight/introduction-to-flex.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Selenium for Test Automation</title>
		<link>http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html</link>
		<comments>http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 10:12:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Testing and QA]]></category>
		<category><![CDATA[Automation Testing]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=42</guid>
		<description><![CDATA[Selenium is a suite of tools used to automate web application testing across many platforms. It is an open source tool developed in Java Script and browser technologies and hence supports all the major browsers on all the platforms.


Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/selenium-%e2%80%93-part-iii-advanced-features-of-selenium.html' rel='bookmark' title='Permanent Link: Selenium – Part III: Advanced Features of Selenium'>Selenium – Part III: Advanced Features of Selenium</a> <small>Introduction This is the third and concluding part of a three-part blog on Selenium – a free and open source automated software testing tool. In part one of this blog,...</small></li>
<li><a href='http://www.xoriant.com/blog/software-testing-and-qa/selenium-open-source-test-automation-tool-an-overview.html' rel='bookmark' title='Permanent Link: Selenium -Open Source Test Automation: An Overview'>Selenium -Open Source Test Automation: An Overview</a> <small>Introduction Within the software industry, once a product reaches the stable manual testing phase, every organization usually thinks of automated testing to save on the costs involved in manual testing....</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="documentdescription" style="margin: auto 0in;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium is a suite of tools used to automate web application testing across many platforms. It is an open source tool developed in Java Script and browser technologies and hence supports all the major browsers on all the platforms. It was developed by ThoughtWorks Inc. </span></p>
<p><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">There are 4 components of Selenium:</span></p>
<p><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">1) Selenium Core: </span></strong></p>
<p><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">This is the original JavaScript-based testing system. It is now used primarily as a component of Selenium Remote Control, but it can also be used as a pure JavaScript/HTML testing system. To run Selenium Core tests, they normally have to be installed on the server on which you want to test.</span></p>
<p><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">2) Selenium IDE:</span></strong></p>
<p><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a <span class="spelle">Firefox</span> (2+) extension, and allows you to record, edit, and debug tests.</span></p>
<p><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> <strong><span style="font-family: Arial;">Features:</span></strong></span></p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Easy record and playback </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Intelligent field selection using IDs, names, or <span class="spelle">Xpath,</span> as needed </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span class="spelle"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Autocomplete</span></span><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> for all common Selenium commands </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Walk through tests </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Debug and set breakpoints </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Save tests as HTML, Ruby scripts, or any other format </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Support for Selenium user-<span class="spelle">extensions.js</span> file </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo1;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Option to automatically assert the title of every page</span></li>
</ul>
<p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></strong></p>
<p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Drawbacks:</span></strong></p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The biggest drawback of Selenium IDE is its limitation in terms of browser support. Though Selenium scripts can be used for most of the browsers and operating systems, scripts written using Selenium IDE can be used for only the <span class="spelle">Firefox</span> browser if it is not used with Selenium RC or Selenium Core. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2;"><span class="spelle"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenese</span></span><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">, the simple scripting language used by IDE, is somewhat primitive as it has no conditionals (no &#8220;if&#8221; statements), and no loops (no &#8220;for&#8221; statements). </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Does not help with the launching and closing of the browser</span></li>
</ul>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><em><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Note:</span></em><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> Selenium IDE can be configured to repeat a specific test by using <span class="spelle">flowControl</span> extensions: <span class="spelle">goto</span>, While, and so on, by installing the selenium-goto extension (download it from <a href="http://wiki.openqa.org/pages/viewpageattachments.action?pageId=379">http://wiki.openqa.org/pages/viewpageattachments.action?pageId=379</a>). To install it, open the Options panel in the Selenium IDE browser extension and specify the location of the <em><span style="font-family: Arial;">user-</span></em><span class="spelle"><em>extension.js</em></span> file.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Arial Unicode MS'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="page-break-before: always;" /></span></strong></p>
<p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">3) Selenium Remote Control:</span></strong></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium Remote Control (RC) is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. The RC server also bundles Selenium Core, and automatically loads it into the browser.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium RC comes in two parts: </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">a) A server, which automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">b) Client libraries for your favorite computer language (Java, .NET, Perl, Python, C#, PHP and Ruby).</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Click on<span class="grame"> </span><a title="selenium" href="http://www.xoriant.com/blog/wp-content/themes/stheme/images/untitled.JPG">selenium</a> for a simplified architectural representation.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">As a test suite starts, the following happens</span></p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo3;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The client/driver reaches out to the Selenium-Server. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo3;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The Selenium-Server launches a browser (or reuses an old one) with a URL that will load the Selenium core web page. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo3;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The Selenium-Core gets the first instruction from the client/driver (via the HTTP Proxy built into the Selenium RC Server). </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo3;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The Selenium-Core acts on that first instruction, typically opening a page of the AUT. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo3;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">The web server is asked for that page, and it renders it in the frame/window reserved for it.</span></li>
</ul>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> <strong><span style="font-family: Arial;">4) Selenium Grid:</span></strong></span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium Grid runs tests on many servers at the same time, cutting down on the time it takes to test multiple browsers or operating systems.</span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span></p>
<p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Installation:</span></strong></p>
<ol type="1">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium IDE:</span></strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium IDE can be downloaded from <a href="http://seleniumhq.org/download/">http://seleniumhq.org/download/</a>. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Open <span class="spelle">Mozilla</span> <span class="spelle">Firefox</span>. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Drag and drop the file into it. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Install it and restart F<span class="spelle">irefox</span> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">If installed properly, Selenium can be accessed from <em><span style="font-family: Arial;">Tool &#8211;&gt; Selenium IDE</span></em> in your browser toolbar.</span></li>
</ul>
</li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4;"><strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium RC:</span></strong><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> </span>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Selenium RC can be downloaded from <a href="http://seleniumhq.org/download/">http://seleniumhq.org/download/</a>. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">Unzip the file and extract it in the directory of your choice. </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo4;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">JRE 1.5 or higher version should be installed on your machine. To check the version, type the following command at the dos prompt: <em><span style="font-family: Arial;">java -version</span></em>.</span></li>
</ul>
</li>
</ol>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"> <strong><span style="font-family: Arial;">Bibliography:</span></strong></span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://seleniumhq.org/">http://seleniumhq.org/</a></span></p>
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;"><a href="http://www.testinggeek.com">http://www.testinggeek.com</a> </span></p>
<p style="margin: 0in 0in 0pt;">
<p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt; font-family: Arial; mso-bidi-font-size: 12.0pt;">By Diana Dsouza</span></p>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;title=Selenium+for+Test+Automation&amp;summary=Selenium%20is%20a%20suite%20of%20tools%20used%20to%20automate%20web%20application%20testing%20across%20many%20platforms.%20It%20is%20an%20open%20source%20tool%20developed%20in%20Java%20Script%20and%20browser%20technologies%20and%20hence%20supports%20all%20the%20major%20browsers%20on%20all%20the%20platforms.&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Selenium+for+Test+Automation+-+http://b2l.me/9wejr&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;title=Selenium+for+Test+Automation" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;title=Selenium+for+Test+Automation" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;title=Selenium+for+Test+Automation" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html&amp;t=Selenium+for+Test+Automation" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/selenium-%e2%80%93-part-iii-advanced-features-of-selenium.html' rel='bookmark' title='Permanent Link: Selenium – Part III: Advanced Features of Selenium'>Selenium – Part III: Advanced Features of Selenium</a> <small>Introduction This is the third and concluding part of a three-part blog on Selenium – a free and open source automated software testing tool. In part one of this blog,...</small></li>
<li><a href='http://www.xoriant.com/blog/software-testing-and-qa/selenium-open-source-test-automation-tool-an-overview.html' rel='bookmark' title='Permanent Link: Selenium -Open Source Test Automation: An Overview'>Selenium -Open Source Test Automation: An Overview</a> <small>Introduction Within the software industry, once a product reaches the stable manual testing phase, every organization usually thinks of automated testing to save on the costs involved in manual testing....</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/software-testing-and-qa/selenium-for-test-automation.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Google App Engine</title>
		<link>http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html</link>
		<comments>http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html#comments</comments>
		<pubDate>Wed, 14 Jan 2009 10:04:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cloud Computing for ISVs]]></category>
		<category><![CDATA[google App]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=20</guid>
		<description><![CDATA[This is a Google tool used to build apps on the same scalable systems that power Google applications and run your web applications on Google&#8217;s infrastructure. Google App Engine (GAP) enables users to build scalable web applications very easily and deploy them on Google&#8217;s application infrastructure in the same way that Google is deploying their [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>This is a Google tool used to build apps on the same scalable systems that power Google applications and run your web applications on Google&#8217;s infrastructure.</p>
<p><a href="http://code.google.com/appengine/">Google App Engine</a> (GAP) enables users to build scalable web applications very easily and deploy them on Google&#8217;s application infrastructure in the same way that Google is deploying their own apps.</p>
<p><strong>Traditional approach to Web application development:</strong></p>
<ul>
<li>Setup Linux / Windows      Machine</li>
<li>Install and configure      Webserver</li>
<li>Install and configure      Database</li>
<li>Write your web application      in any programming language</li>
<li>Deploy app on server and      make it available to the entire world</li>
</ul>
<p>There is an extra overhead to maintain the server and manage databases. Also, if the application becomes popular then it has to handle huge traffic. Again, we need to analyze traffic to focus on popular areas of web application. So the cost of maintaining the application increases. Also, there are chances of hard-disk failure, server crashes, and so on.</p>
<p>All these things will not be required if we use GAP,<strong> </strong>because on completion, GAP deploys a web application on Google&#8217;s scalable infrastructure, so there is no possibility of hard-disk failure, server crash, and so on. Developers can mainly focus on the problem.</p>
<p>Lets see how to create a simple Web app, Soutout, which stores messages that are sent by a user in a database and displays it on a webpage in a sorted order.</p>
<p><strong>Create directory Shoutout</strong><strong> </strong></p>
<pre class="brush: plain; title: ; notranslate">
mkdir shoutout
</pre>
<p><strong>Create app.yaml</strong><strong> </strong></p>
<p>This is the main app configuration file.</p>
<pre class="brush: plain; title: ; notranslate">
application: shoutout
version: 1
api_version: 1
runtime: pythonhandlers:
- url: .*
script: main.py
</pre>
<p><strong>Create file main.py</strong><strong> </strong></p>
<pre class="brush: python; title: ; notranslate">
#!/usr/bin/env pythonimport wsgiref.handlers
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template

class Shout(db.Model):
message = db.StringProperty(required=True)
when = db.DateTimeProperty(auto_now_add=True)
who = db.StringProperty()

class MyHandler(webapp.RequestHandler):
def get(self):
shouts = db.GqlQuery(&quot;SELECT * FROM Shout ORDER BY when DESC&quot;)
values = {'shouts' : shouts}
self.response.out.write(template.render(&quot;main.html&quot;, values))

def post(self):
shout = Shout(message=self.request.get(&quot;message&quot;)
, who=self.request.get(&quot;who&quot;))
shout.put()
self.redirect(&quot;/&quot;)

def main():
app = webapp.WSGIApplication([
(r'.*', MyHandler)
])
wsgiref.handlers.CGIHandler().run(app)

if __name__ == &quot;__main__&quot;:
main()
</pre>
<p><strong>Create file main.html</strong><strong> </strong></p>
<p>This is the main page of app.</p>
<p><strong>Run the app using Google App Launcher</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;pre&gt;    &lt;h1&gt;Shout out&lt;/h1&gt;

    {% for shout in shouts%}

    &lt;div class=&quot;container&quot;&gt;

    &lt;div class=&quot;{% ifequal shout.who &quot;&quot;%} row {% else %} row altrow {% endifequal%}&quot;&gt;

    &lt;div class=&quot;text message&quot;&gt; {{ shout.message }} &lt;/div&gt;

    &lt;div class=&quot;text normaltext&quot;&gt; from &lt;/div&gt;

    {% ifequal shout.who &quot;&quot; %}

    &lt;div class=&quot;text username&quot;&gt; Anonymous &lt;/div&gt;

    {% else %}

    &lt;div class=&quot;text username&quot;&gt; {{shout.who}} &lt;/div&gt;

    {% endifequal %}

    &lt;/div&gt;

    &lt;/div&gt;

    {% endfor%}

    &lt;form action=&quot;&quot; method=&quot;post&quot;&gt;

    &lt;p&gt;Message: &lt;input type=&quot;text&quot; name=&quot;message&quot;/&gt;&lt;/p&gt;

    &lt;p&gt;From: &lt;input type=&quot;text&quot; name=&quot;who&quot;/&gt;&lt;/p&gt;

    &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;shout&quot;&gt;&lt;/p&gt;

    &lt;/form&gt;
</pre>
<p>You will see the full application running on localhost.</p>
<p><strong>Deploy App on Google&#8217;s appspot</strong></p>
<p>Click on Deploy in the Google app launcher to deploy it on Google. Then you can access it @ url: http://shoutout.appspot.com</p>
<p>- <strong>Vijayendra Bapte</strong>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;title=Google+App+Engine&amp;summary=This%20is%20a%20Google%20tool%20used%20to%20build%20apps%20on%20the%20same%20scalable%20systems%20that%20power%20Google%20applications%20and%20run%20your%20web%20applications%20on%20Google%27s%20infrastructure.%0D%0A%0D%0AGoogle%20App%20Engine%20%28GAP%29%20enables%20users%20to%20build%20scalable%20web%20applications%20very%20easily%20and%20deploy%20them%20on%20Google%27s%20application%20infrastructur&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Google+App+Engine+-+http://b2l.me/9xgnn&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;title=Google+App+Engine" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;title=Google+App+Engine" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;title=Google+App+Engine" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html&amp;t=Google+App+Engine" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/cloud-computing-for-isvs/google-app-engine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Walking with Ruby… on Rails</title>
		<link>http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html</link>
		<comments>http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html#comments</comments>
		<pubDate>Wed, 31 Dec 2008 10:12:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Product Development]]></category>
		<category><![CDATA[Web 2.0 / Social Networking]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=29</guid>
		<description><![CDATA[Believe me, developing in Ruby language is as fantastic and intuitive as the title sounds. [:)] Jokes apart, if you are in to web development and RoR has not crossed your radar yet, I would like to take the liberty to aver that you are significantly out-of-date. Fortunately though, if you keep reading this blog, [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span>Believe me, developing in Ruby language is as fantastic and intuitive as the title sounds. [:)] Jokes apart, if you are in to web development and RoR has not crossed your radar yet, I would like to take the liberty to aver that you are significantly out-of-date. Fortunately though, if you keep reading this blog, you will certainly get a glimpse of the revolution in web development that open source communities have brought. </span></p>
<p class="MsoNormal"><strong><span>What can Ruby and Rails do for an organization?</span></strong></p>
<p class="MsoNormal"><span>What can any language-framework pair do for an organization? If there are answers popping up in your mind, be kind enough to consider the same for Ruby on Rails. RoR can do all that in a much easier, faster and cost effective way. On the other hand if you don’t know the answers yet, here is a glimpse of what RoR can do:</span></p>
<p class="MsoNormal"><span>·         Build customer centric small/medium websites</span></p>
<p class="MsoNormal"><span>·         Deploy a web product with advanced (web 2.0 -ish) features in a very limited time. </span></p>
<p class="MsoNormal"><span>·         Create automated testing frameworks </span></p>
<p class="MsoNormal"><span>·         Legacy Application extension, integration and migration</span></p>
<p class="MsoNormal"><strong><span>Why only Ruby-on-rails?</span></strong></p>
<p class="MsoNormal"><span>This is what the open source community has to say: </span></p>
<p class="MsoNormal"><span>·Productivity gains: exponential savings because of smaller teams, more productivity, improved time to market. </span></p>
<p class="MsoNormal"><span>· Easy development, easy maintenance : Lesser lines of code (10 times less than Java) , makes development faster and maintenance easier </span></p>
<p class="MsoNormal"><span>· Agility: Rails is Agile, no matter how confused you are on your business concept, rails will help you visualize. It adapts to your changing requirements quickly and easily. </span></p>
<p class="MsoNormal"><span>· Free: Its free and open source, can’t talk more on cost effectiveness. </span></p>
<p class="MsoNormal"><span>· Powerful: Its can be simply put as what you SEEK is what you get. </span></p>
<p class="MsoNormal"><strong><span>Not Convinced?</span></strong><span> Check out RoR comparison with <a href="http://ruby.about.com/od/beginningruby/a/compare.htm">PHP</a>, <a href="http://www-128.ibm.com/developerworks/web/library/wa-rubyonrails/">Java technologies</a>, <a href="http://ruby.about.com/od/beginningruby/a/vsperl.htm">Perl.</a> </span></p>
<p class="MsoNormal"><span>For the more technically demanding soul, here is how ruby on rails score over others:</span></p>
<p class="MsoNormal"><span>· Support for Representational State Transfer (REST) architecture </span></p>
<p class="MsoNormal"><span>· SOA-like integration with enterprise systems </span></p>
<p class="MsoNormal"><span>· Convention over configuration framework simplifies data management </span></p>
<p class="MsoNormal"><span>· Don’t Repeat Yourself or DRY model based on Ruby’s inherent ability to provide Domain specific languages </span></p>
<p class="MsoNormal"><span>· MVC (model view controller) design pattern </span></p>
<p class="MsoNormal"><span>· Built-in testing at every level </span></p>
<p class="MsoNormal"><span>· Capistrano / ActiveRecord migration </span></p>
<p class="MsoNormal"><span>· AJAX support in any framework; runs on any Unix open source platform </span></p>
<p class="MsoNormal"><strong><span>What has RoR done ?</span></strong></p>
<p class="MsoNormal"><span>Testimonials: Some live projects singing the success story for ruby on rails.</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.amazon.com/">Amazon.com</a></span></strong><span><a href="http://www.amazon.com/">:</a> Yes! The same Amazon.com</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.basecamphq.com/">Basecamp:</a></span></strong><span> project management tool by 37 signals</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://bixee.com/">Bixee</a></span></strong><span><a href="http://bixee.com/">:</a> An upcoming Indian job portal</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.bharathrentals.com/">BharathRentals:</a></span></strong><span> India’s car rental service</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.dimewise.com/">Dimewise:</a></span></strong><span> personal finance management</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.hboasia.com/">HBO Asia:</a></span></strong><span> HBO’s Asian broadcast online</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.scribd.com/">Scribd:</a></span></strong><span> online document sharing and publishing</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.shopify.com/">Shopify</a></span></strong><span><a href="http://www.shopify.com/">:</a> e-commerce</span></p>
<p class="MsoNormal"><span>Ø</span><span><span> </span></span><strong><span><a href="http://www.simplifymd.com/">simplifyMD:</a></span></strong><span> digital chart room for small hospitals</span></p>
<p class="MsoNormal"><span>Ø<span><strong> </strong></span><a href="http://twitter.com/"><strong>Twitter:</strong></a></span><span> Online community and social networking</span></p>
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;title=Walking+with+Ruby%E2%80%A6+on+Rails&amp;summary=Believe%20me%2C%20developing%20in%20Ruby%20language%20is%20as%20fantastic%20and%20intuitive%20as%20the%20title%20sounds.%20%5B%3A%29%5D%20Jokes%20apart%2C%20if%20you%20are%20in%20to%20web%20development%20and%20RoR%20has%20not%20crossed%20your%20radar%20yet%2C%20I%20would%20like%20to%20take%20the%20liberty%20to%20aver%20that%20you%20are%20significantly%20out-of-date.%20Fortunately%20though%2C%20if%20you%20keep%20readi&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Walking+with+Ruby%E2%80%A6+on+Rails+-+http://b2l.me/9xbj6&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;title=Walking+with+Ruby%E2%80%A6+on+Rails" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;title=Walking+with+Ruby%E2%80%A6+on+Rails" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/software-product-development/walking-with-ruby…-on-rails.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;title=Walking+with+Ruby%E2%80%A6+on+Rails" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html&amp;t=Walking+with+Ruby%E2%80%A6+on+Rails" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/software-product-development/walking-with-ruby%e2%80%a6-on-rails.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax: The basics</title>
		<link>http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html</link>
		<comments>http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html#comments</comments>
		<pubDate>Wed, 31 Dec 2008 10:10:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web 2.0 / Social Networking]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WebUI]]></category>

		<guid isPermaLink="false">http://www.xoriant.com/blog/?p=27</guid>
		<description><![CDATA[The History In the earlier days, the web used a traditional or classic approach to display information where, for every event, e.g a button click, the whole page used to get refreshed. And people often had to witness a blank white screen till the page was redrawn. If not, then they still had to wait [...]


Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/testing-ajax-with-selenium.html' rel='bookmark' title='Permanent Link: Selenium-part II: Testing AJAX'>Selenium-part II: Testing AJAX</a> <small>Introduction This is the second in a three-part blog on Selenium – a free and open source automated software testing tool. In part one of this blog, we saw the...</small></li>
<li><a href='http://www.xoriant.com/blog/software-product-development/basics-of-securing-java-web-applications.html' rel='bookmark' title='Permanent Link: Basics of Securing Java Web Applications'>Basics of Securing Java Web Applications</a> <small>Web applications are exposed to a number of threats all the time by their very nature of serving content to the public. There are intruders, hackers, impersonators, and eavesdroppers out...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="plain">
<h2>The History</h2>
<p>In the earlier days, the web used a traditional or classic approach to display information where, for every event, e.g a button click, the whole page used to get refreshed. And people often had to witness a blank white screen till the page was redrawn. If not, then they still had to wait till the page was refreshed and in a ready state again. The whole experience was very frustrating&#8230;. every time&#8230;.!!</p>
<h2>Enter Ajax</h2>
<p>There were various attempts made to tackle this frustration. One Samaritan, by the name of Jesse James Garrett, started publishing articles about what he called &#8220;Advanced Web Techniques.&#8221; But yet people were somehow not convinced and ready to use this technic.</p>
<p>Fortuously, in one of his speaking sessions, Garrett revealed that Google used the very same technic. Invoking that single name, Google, was enough to change peoples&#8217; point of view.</p>
<p>AJAX came to life and widespread adoption.</p>
<h2>What is Ajax?</h2>
<div class="O">Ajax is one of the hottest web technologies of the current age.</div>
<p>Ajax consists of HTML, JavaScript™, DHTML, CSS, and DOM, and is an outstanding approach that helps you transform clunky Web interfaces into interactive Ajax applications.</p>
<p>However, Ajax is far more than just a fad; it&#8217;s a powerful approach to building Web sites and it&#8217;s not nearly as hard to learn as an entire new language.</p>
<p>Oh.. and btw, if you were wondering what the full form is, that&#8217;s&#8230;</p>
<h3><span><strong>Asynchronous JavaScript and XML</strong> </span></h3>
<p>And trust me, this is only useful in interviews <img src='http://www.xoriant.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The asynchronous part comes from the fact that when a change has to be made to the current page (the user clicks on a link, or submits some information), only the part to change is transferred from the server, and not the entire page.</p>
</div>
<h2>Now for the name&#8230;</h2>
<p>With apologies to the people who make the cleanser and the detergent, legend has it that the original Ajax was the second most powerful of the Greek warriors at Troy. Even though he had some issues, his strength and skill in battle were second only to Achilles. In naming the technology Ajax, Jesse James Garrett gave the technology both Ajax&#8217;s strengths and issues&#8230; thus the name &#8220;AJAX&#8221;</p>
<p>Here are some reasons why AJAX is disruptive in the way people use the Web.</p>
<h2>Why Ajax rocks</h2>
<p>AJAX has two huge benefits:</p>
<ol>
<li>Speed and invisibility makes for a very slick user experience.</li>
<li>The smaller server resources footprint helps server scalability.</li>
</ol>
<p>I&#8217;ll explain these. If you post using AJAX, only the data (or parameters) that the server function requires is posted. In a login scenario, only the username and password strings (100 bytes maybe) are sent to the server and only a boolean value (1 byte) is returned. This means that only 101 bytes (excluding network handshaking traffic) is sent &amp; received. If we were to create the same functionality using ASP.NET, all the state data is pushed to a server and the whole page is returned. Should the page use 20Kb of traffic, AJAX will save nearly 99.5% of this.</p>
<p>Further more, when using AJAX your web server and or db server (or whatever your config is) does not have to do any processing other than running the called function and returning the return value. No page load events, no xsl transform etc. This can have a huge impact in an enterprise environment.</p>
<h2>When should I use it?</h2>
<ul>
<li>On-the-Fly Form Data Validation</li>
<li>Auto completion</li>
<li>Master Details Operations</li>
<li>Sophisticated UI Controls (widgets)</li>
<li>Quick data store updates</li>
<li>Real-time information feeds</li>
</ul>
<h2>When I shouldn&#8217;t</h2>
<h3>Simple forms.</h3>
<p>Even though forms are the single biggest beneficiary of &#8220;Ajaxification,&#8221; a simple comment form, or submit order form, or other one-off rarely used form does not benefit from Ajax driven submission. Generally, if a form is not used much, or it’s critical to work properly, Ajax is not that helpful.</p>
<h3>Search.</h3>
<p>LiveSearch on blogs is more annoying than useful. There’s a reason that Google Suggest is staying in beta and not going on the front page of Google. Searching on Start.com or Live.com doesn’t allow use of the back button to see a previous search, or previous pages.</p>
<h3>Basic navigation.</h3>
<p>In general, driving basic site/application navigation using Ajax is an awful idea. Why would anyone want to spend time writing code to emulate the browser behavior when they could spend time making their application better? For basic navigating between documents, Javascript doesn’t help.</p>
<h3>Replacing a large amount of text.</h3>
<p>Ajax saves a complete refresh of the page, so small pieces of the page can be more dynamically updated. But if nearly everything on a page is changing, why not just request a new page from the server?</p>
<h3>Display manipulation.</h3>
<p>Even though it seems that Ajax is purely a UI technology, it’s not. It’s actually a data synchronization, manipulation and transfer technology. For maintainable and clean web applications, it’s a good idea not to have Ajax/Javascript manipulate the interface directly at all. Javascript can stay separate and simply manipulate the XHTML/HTML DOM, with CSS rules dictating how the UI displays that data. See this post for a simple example of using CSS instead of Javascript to control display.</p>
<h3>Useless widgets.</h3>
<p>Sliders, drag and drops, bouncies, mouse gestures, whatever. Mostly these widgets can be replaced with more intuitive controls, or eliminated altogether in favor of simplicity. In picking colors, maybe a slider widget is useful to pick the exact shade. But in picking a price point in a store, a slider to pick the price to the cent is just overkill.</p>
<h2>Why Ajax sucks</h2>
<h3>Bookmarks</h3>
<p>Using AJAX to asynchronously load bits of content into an existing page conflicts with the way we are used to navigate and create bookmarks in modern browsers. Because viewing some part of the page information no longer corresponds to a newly loaded page, the browser history and bookmarks will not be able to restore the exact page state.</p>
<h3>History</h3>
<p>Also, clicking the Back button in a browser might not have any effect, since the URL was unchanged (even if parts of the page were changed). To overcome these problems you must implement a way to save the current page state programatically so that it can be restored later on, when called from a bookmark or from the browser history.</p>
<h3>Accessibility</h3>
<p>The biggest concern with AJAX is accessibility. This is because not all browsers (especially older ones) have complete support for JavaScript or the XMLHttpRequest object. Some of the visitors do have browsers with the required features, but they choose or have to turn off JavaScript support. When you design the application you must make sure that a fail-safe solution exists for those users, so it can be accessed by anyone. Further more, the way to access and use the XMLHttpRequest object in Internet Explorer and other browsers is different, which leads to a fork in the code and the need to treat each case separately.</p>
<h2>How it works&#8230;</h2>
<p>Following are the essentials for working with AJAX:</p>
<p>HTML, CSS, XML, any server-side technology and JavaScript</p>
<p><img class="image-inline captioned" src="http://www.xoriant.com/blog/wp-content/themes/stheme/images/Ajax1.gif" alt="" /></p>
<h2>Ajax Frameworks</h2>
<ol>
<li>Pure JavaScript libraries &#8211; provide core remote scripting.</li>
<li>Server-based AJAX libraries &#8211; generate the AJAX code from your server application.</li>
</ol>
<p>Following are some of the most popular AJAX libraries:</p>
<ul>
<li>AjaxPro</li>
<li>ASP.NET AJAX Extensions</li>
<li>Direct Web Remoting (DWR)‏</li>
<li>Google Web Toolkit (GWT)‏</li>
<li>Dojo</li>
<li>Prototype</li>
<li>xAJAX</li>
</ul>
<p><img class="image-inline captioned" src="http://www.xoriant.com/blog/wp-content/themes/stheme/images/Ajax2a.gif" alt="" /></p>
<h2>Who&#8217;s using Ajax</h2>
<p>Rightly said, images speak louder than words&#8230;</p>
<p><img class="image-inline captioned" src="http://www.xoriant.com/blog/wp-content/themes/stheme/images/Ajax2.gif" alt="Usage of Ajax" /></p>
<h2>Getting started&#8230;</h2>
<p>Here are some handy references to get started&#8230;. NOW :</p>
<p><img class="image-inline captioned" src="http://www.xoriant.com/blog/wp-content/themes/stheme/images/Ajax3.gif" alt="" /></p>
<p>So start rockin&#8230;!!!And stay tuned for my next blog on the how to implement Ajax in the real world&#8230;</p>
<p>&#8211;Gautam
<div class="author_member_gravatar_pic" style="display:block;">
			   <a class="author_member_gravatar" style="display:block;float:left;" href="http://www.xoriant.com/blog/?author=1"><img alt='' src='http://0.gravatar.com/avatar/eef61523a4b9247a735d3a0f2e3f34a9?s=60&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D60&amp;r=G' class='avatar avatar-60 photo' height='60' width='60' /><br />
			   <a class="author_member_gravatar" style="padding:5px;font-size:12px;text-decoration:none;font-weight:bold;" href="http://www.xoriant.com/blog/?author=1">admin</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;title=Ajax%3A+The+basics&amp;summary=%0D%0AThe%20History%0D%0AIn%20the%20earlier%20days%2C%20the%20web%20used%20a%20traditional%20or%20classic%20approach%20to%20display%20information%20where%2C%20for%20every%20event%2C%20e.g%20a%20button%20click%2C%20the%20whole%20page%20used%20to%20get%20refreshed.%20And%20people%20often%20had%20to%20witness%20a%20blank%20white%20screen%20till%20the%20page%20was%20redrawn.%20If%20not%2C%20then%20they%20still%20had%20to%20w&amp;source=Xoriant Software Product Engineering Blog" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Ajax%3A+The+basics+-+http://b2l.me/9xbh3&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;title=Ajax%3A+The+basics" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;title=Ajax%3A+The+basics" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;title=Ajax%3A+The+basics" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html&amp;t=Ajax%3A+The+basics" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Related posts:<ol><li><a href='http://www.xoriant.com/blog/software-testing-and-qa/testing-ajax-with-selenium.html' rel='bookmark' title='Permanent Link: Selenium-part II: Testing AJAX'>Selenium-part II: Testing AJAX</a> <small>Introduction This is the second in a three-part blog on Selenium – a free and open source automated software testing tool. In part one of this blog, we saw the...</small></li>
<li><a href='http://www.xoriant.com/blog/software-product-development/basics-of-securing-java-web-applications.html' rel='bookmark' title='Permanent Link: Basics of Securing Java Web Applications'>Basics of Securing Java Web Applications</a> <small>Web applications are exposed to a number of threats all the time by their very nature of serving content to the public. There are intruders, hackers, impersonators, and eavesdroppers out...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xoriant.com/blog/web-2-0-social-networking/ajax-the-basics.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

