<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Srirangan</title>
	<atom:link href="http://srirangan.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://srirangan.net</link>
	<description>tweaking flex, java and python code</description>
	<lastBuildDate>Sat, 15 May 2010 14:29:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Setting Up Google AppEngine Dev Environment on Ubuntu 10.x</title>
		<link>http://srirangan.net/?p=289</link>
		<comments>http://srirangan.net/?p=289#comments</comments>
		<pubDate>Sat, 15 May 2010 14:22:41 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[google appengine]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=289</guid>
		<description><![CDATA[Yesterday upgraded to Ubuntu 10.4 and am glad that I did. Everything worked, even on older hardware. Next step, to set up my dev environment. Started off with installing Mercurial using Synaptic Package Manager. Then Eclipse 3.5 along with PyDev, Yedit and MercurialEclipse plugins. Then downloaded the Google AppEngine SDK (Python) and extracted it to [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday upgraded to <a href="http://www.ubuntu.com/getubuntu/download">Ubuntu 10.4</a> and am glad that I did. Everything worked, even on older hardware. Next step, to set up my dev environment.</p>
<p>Started off with installing <a href="http://mercurial.selenic.com/">Mercurial</a> using Synaptic Package Manager. Then <a href="http://www.eclipse.org/downloads/">Eclipse 3.5</a> along with <a href="http://www.pydev.org/">PyDev</a>, <a href="http://code.google.com/p/yedit/">Yedit</a> and <a href="http://www.vectrace.com/mercurialeclipse/">MercurialEclipse</a> plugins.</p>
<p>Then downloaded the <a href="http://code.google.com/appengine/downloads.html">Google AppEngine SDK (Python)</a> and extracted it to <strong><em>/home/{username}/google_appengine</em></strong></p>
<div>Appended my <strong>/home/{username}/.bashrc</strong> file with:</div>
<blockquote>
<div id="_mcePaste">export PATH=${PATH}:/home/{username}/google_appengine</div>
</blockquote>
<p>This is optional but makes life easier, unless of course you enjoy typing long absolute file paths in the console.</p>
<p>And that’s it. You’re done.</p>
<p>Next for me, setting up dev environments for Android and Flex.</p>
<p><strong>Cheats codes</strong></p>
<ul>
<li>Ubuntu 10.4 = New version of a popular Linux OS distribution</li>
<li>Mercurial = Source code management</li>
<li>Eclipse = IDE</li>
<li>PyDev = Eclipse plugin for Python programming language</li>
<li>Yedit = Eclipse plugin for .yaml files</li>
<li>MercurialEclipse = Eclipse plugin for Mercurial</li>
<li>Google AppEngine SDK = Libraries, tools, development sandbox for Google AppEngine</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=289</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simplefacebook: Facebook Library for Google App Engine (Python)</title>
		<link>http://srirangan.net/?p=275</link>
		<comments>http://srirangan.net/?p=275#comments</comments>
		<pubDate>Fri, 19 Feb 2010 05:08:56 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=275</guid>
		<description><![CDATA[Apologize for not updating this blog so far in 2010. A very happy new year to all my readers. (Yes, all three of you! ) Occasionally have been blogging for Xebee as well, that is my employers blog. Check it out as it has some cool posts. I take this opportunity to announce a few things. [...]]]></description>
			<content:encoded><![CDATA[<p>Apologize for not updating this blog so far in 2010. A very happy new year to all my readers. (Yes, all three of you! ) Occasionally have been blogging for <a href="http://xebee.xebia.in/">Xebee</a> as well, that is my employers blog. Check it out as it has some cool posts.</p>
<p>I take this opportunity to announce a few things. I have been working on a Facebook App these days, based on Adobe Flex, Google and (of course) Facebook APIs/libraries/platforms. For this app, I needed a very simple Python based Facebook library. I tried couple of API’s already available, none of them fitted the bill.</p>
<p>That lead me to create <strong><a href="http://www.bitbucket.org/srirangan/simplefacebook/">Simplefacebook</a></strong></p>
<p style="padding-left: 30px;"><strong><a href="http://code.google.com/p/simplefacebook/"></a><span style="font-weight: normal;">“<em>simplefacebook is a minimalistic Facebook’s RESTful web service wrapper for Google App Engine (Python)</em><em>”</em>.</span></strong></p>
<p>Check it out if you are looking for a minimalist Facebook library for a python web application deployed on the Google App Engine. Yes, its dependencies include Google App Engine libraries.</p>
<p>But that can be easily rectified, so feel free to <em>fork it</em>.</p>
<p>—</p>
<p><em>Update:</em> I’ve moved <a href="http://www.bitbucket.org/srirangan/simplefacebook/">Simplefacebook</a> from SVN / Google Code to Mercurial / BitBucket. SVN to Mercurial for many reasons but primarily the ability to work in offline mode, and Google Code to BitBucket so that all my projects, public and private, are in the same place.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=275</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enterprise adoption: Does HTML5 stand a chance against Flash technologies?</title>
		<link>http://srirangan.net/?p=244</link>
		<comments>http://srirangan.net/?p=244#comments</comments>
		<pubDate>Fri, 11 Dec 2009 06:28:41 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=244</guid>
		<description><![CDATA[I had been following up on HTML5 for the last few months and Abhay’s XKE session a couple of days ago really helped better understand the scope and capabilities of HTML5 as a technology. But having worked with Flex for nearly three years and being familiar with what the Flash platform does offer, there was not [...]]]></description>
			<content:encoded><![CDATA[<p>I had been following up on HTML5 for the last few months and Abhay’s XKE session a couple of days ago really helped better understand the scope and capabilities of HTML5 as a technology. But having worked with Flex for nearly three years and being familiar with what the Flash platform does offer, there was not much in HTML5 that got me really excited.</p>
<p>In fact I am going to stick my neck out and make a series of claims and eventually conclude that the benefits of choosing Adobe Flex today completely overshadow HTML5.<span id="more-244"></span><a href="http://xebee.xebia.in/wp-content/uploads/2009/12/stats_432x309.gif"><img style="float: right; border: 0px initial initial;" title="Content for Flash Player reaches 99% of Internet-enabled desktops" src="http://xebee.xebia.in/wp-content/uploads/2009/12/stats_432x309.gif" alt="Content for Flash Player reaches 99% of Internet-enabled desktops" width="155" height="111" /></a></p>
<p><strong>Flash/Flex reaches 99% of internet enabled desktops</strong></p>
<p>I am not making this claim, Adobe is. And they have backed it up with real data including the <a href="http://www.adobe.com/products/player_census/flashplayer/">Milward Brown survey</a>conducted as recently as September 2009 showing Flash runtime as the clear leader in this segment. In addition the <a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html">Ubiquity survey for September 2009</a> shows that in average 93.5% of users in mature markets (i.e. U.S., Canada, Europe, Japan, Australia and New Zealand) use the latest version for the Flash plugin which is version 10.</p>
<p>Comparing this with HTML5, which is only partially supported by only the latest versions of Chrome, Opera, Safari and Firefox (all of which put together don’t command a majority in the browser market share) is a no-contest. I’m with all of you and I use Chrome myself (with the Flash plugin!) and I am all for open standards prevailing over proprietary technologies, however when making a business decision personal preferences are to be put aside and market realities are to be acknowledged.</p>
<p>More people can view your web application if developed in Flash/Flash than in HTML5. I write this in December 2009 and I think this would hold true at least for the next 18 to 24 months.</p>
<p><strong>Greater interoperability with your existing systems is achieved with Flash/Flex</strong></p>
<p>Both HTML5 and Flash/Flex allow for asynchronous and persistent communications with server side layers. However Flex has been around longer than HTML5, hence its support for interoperability has matured significantly and provides for a lot more. Open technologies such as BlazeDS can be used to integrate Flex easily with your Java investments. I don’t want to make this post read like an ad for Adobe so I am not mentioning Adobe LiveCycle but if you’re looking for greater enterprise support, that would be the way to go. .Net too isn’t unfamiliar territory for Flex with inbuilt support for SOAP based web services.</p>
<p>Other popular server side languages such as PHP and Python also have popular AMF libraries – <a href="http://www.amfphp.org/">AMFPHP</a>, <a href="http://code.google.com/p/amfast/">AMFast </a>and <a href="http://pyamf.org/">PYAMF </a>just to name a few.</p>
<p>Offering a technology stack including Adobe Flex, Python and AMFast deployed on Google infrastructure (via the Google App Engine) would give us a solution where in development time is low (Python and Flex are popular for rapid app development) while the solution itself is secure, well backed up and highly scalable.</p>
<p><strong>Do more with Flash/Flex</strong></p>
<p>I am yet to see a good enough data visualization application in HTML5 that competes with everything that Flex offers i.e. the chart components, the simple and advanced data grids and OLAP data grids as well.</p>
<p>Data visualization being just one example. There is a lot more Flex can natively provide for that HTML5 simply does not at this point of time.  Not to mention the scores of open source and proprietary third party libraries available for ActionScript/Flex. <a href="http://birdeye.googlecode.com/svn/branches/ng/examples/demo/BirdEyeExplorer.html">BirdEye</a>, <a href="http://blog.papervision3d.org/category/demos/">PaperVision3D</a> to name a couple, and <a href="http://code.google.com/search/#q=flex">this</a> is a good place to get started.</p>
<p>Capability-wise HTML5 / Javascript libraries are just not there yet.</p>
<p><strong>Finding developers</strong></p>
<p><a href="http://www.google.co.in/search?q=%22flex+developer%22">http://www.google.co.in/search?q=“flex+developer”</a> returns 1,060,000 results<br />
<a href="http://www.google.co.in/search?q=%22html5+developer%22">http://www.google.co.in/search?q=“html5+developer”</a> returns 863 results</p>
<p>Not claiming this to be a scientific poll but you get my point! <img src='http://srirangan.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Flash/Flex has been out there for many years now, good reference material is widely available, training programmes and certification exams are conducted and well supported by Adobe and third parties. Meanwhile HTML5 is still a “draft specification”.</p>
<p><strong>Conclusion</strong></p>
<p>As a developer I am excited about HTML5 and I would love to see an open technology succeed. But it would just not be practical to opt for HTML5 over Flex at the moment. The silver lining for HTML5 would be that it has an opportunity in the mobile devices segment where Adobe Flash does lag behind.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=244</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Building a simple chat application using Flex 3 and BlazeDS</title>
		<link>http://srirangan.net/?p=235</link>
		<comments>http://srirangan.net/?p=235#comments</comments>
		<pubDate>Tue, 06 Oct 2009 06:27:40 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[BlazeDS]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=235</guid>
		<description><![CDATA[This post contains the steps to build a simple chat client and server application using Flex 3 and BlazeDS. This will be a brief post, a detailed tutorial will be posted in subsequent posts. 1. Deploy the default BlazeDS war file 2. Modify “WEB-INF\flex\messaging-config.xml” to add “SimpleChatDestination” &#60;?xml version=“1.0″ encoding=“UTF-8″?&#62; &#60;service id=“message-service”&#62;     &#60;adapters&#62;         &#60;adapter-definition [...]]]></description>
			<content:encoded><![CDATA[<p>This post contains the steps to build a simple chat client and server application using Flex 3 and BlazeDS. This will be a brief post, a detailed tutorial will be posted in subsequent posts.</p>
<p><span id="more-235"></span></p>
<p>1. Deploy the default <strong>BlazeDS</strong> war file</p>
<p>2. Modify “WEB-INF\flex\messaging-config.xml” to add “SimpleChatDestination”</p>
<p><span style="color: #3366ff;">&lt;?xml version=“1.0″ encoding=“UTF-8″?&gt;<br />
&lt;service id=“message-service”&gt;</span></p>
<p><span style="color: #3366ff;">    &lt;adapters&gt;<br />
        &lt;adapter-definition id=“actionscript” default=“true” /&gt;<br />
        &lt;!– &lt;adapter-definition id=“jms”/&gt; –&gt;<br />
    &lt;/adapters&gt;</span></p>
<p><span style="color: #3366ff;">    &lt;default-channels&gt;<br />
        &lt;channel ref=“my-polling-amf”/&gt;<br />
    &lt;/default-channels&gt;<br />
 <br />
 &lt;destination id=“SimpleChatDestination”&gt;<br />
  &lt;properties&gt;<br />
   &lt;network&gt;<br />
    &lt;subscription-timeout-minutes&gt;0&lt;/subscription-timeout-minutes&gt;<br />
   &lt;/network&gt;<br />
   &lt;server&gt;<br />
    &lt;message-time-to-live&gt;0&lt;/message-time-to-live&gt;<br />
    &lt;allow-subtopics&gt;true&lt;/allow-subtopics&gt;<br />
    &lt;subtopic-separator&gt;.&lt;/subtopic-separator&gt;<br />
   &lt;/server&gt;<br />
  &lt;/properties&gt;<br />
  &lt;channels&gt;<br />
   &lt;channel ref=“my-polling-amf”/&gt;<br />
  &lt;/channels&gt;<br />
 &lt;/destination&gt;</span></p>
<p><span style="color: #3366ff;">&lt;/service&gt;</span></p>
<p>3. Create a new project in Flex Builder 3 and configure it to your BlazeDS deployment. You will need to enter the root folder of the WAR package (usually in “server/default/deploy”), Root URL and Context Root.</p>
<div class="mceTemp">
<dl id="attachment_237" class="wp-caption alignright" style="width: 160px;">
<dt class="wp-caption-dt"><a href="http://srirangan.net/wp-content/uploads/2009/10/flex-builder-blazeds.PNG"><img class="size-thumbnail wp-image-237" title="flex-builder-blazeds" src="http://srirangan.net/wp-content/uploads/2009/10/flex-builder-blazeds-150x150.PNG" alt="Configuring BlazeDS while creating project in Flex Builder 3" width="150" height="150" /></a></dt>
<dd class="wp-caption-dd">Configuring BlazeDS while creating project in Flex Builder 3</dd>
</dl>
<p>4. Create a simple chat client using MXML and ActionScript. Here’s an example:</p></div>
<p><span style="color: #3366ff;">&lt;?xml version=“1.0″ encoding=“utf-8″?&gt;<br />
&lt;mx:Application xmlns:mx=“</span><a href="http://www.adobe.com/2006/mxml"><span style="color: #3366ff;">http://www.adobe.com/2006/mxml</span></a><span style="color: #3366ff;">“<br />
 layout=“vertical“<br />
 creationComplete=“consumer.subscribe()”&gt;<br />
 <br />
 &lt;mx:Script&gt;<br />
  &lt;![CDATA[<br />
   import mx.controls.Alert;<br />
   import mx.messaging.messages.AsyncMessage;<br />
   import mx.messaging.messages.IMessage;<br />
   <br />
   public function send():void {<br />
                var message:IMessage = new AsyncMessage();<br />
                message.destination = “SimpleChatDestination”;<br />
                message.body = “\n” + usernameInput.text + “:\t” + messageInput.text;<br />
               <br />
                trace(producer.connected);<br />
                producer.send(message);<br />
               <br />
                messageInput.text = “”;<br />
   }<br />
   <br />
   public function messageHandler( message:IMessage ):void {<br />
    textArea.text += message.body;<br />
   }<br />
  ]]&gt;<br />
 &lt;/mx:Script&gt;<br />
 <br />
 &lt;mx:Producer id=“producer” destination=“SimpleChatDestination”/&gt;<br />
 <br />
 &lt;mx:Consumer id=“consumer” destination=“SimpleChatDestination” message=“messageHandler(event.message)”/&gt;<br />
 <br />
 &lt;mx:TextArea id=“textArea” width=“400” height=“300”/&gt;<br />
 <br />
 &lt;mx:HBox horizontalGap=“0”&gt;<br />
  &lt;mx:TextInput id=“usernameInput” width=“80”/&gt;<br />
  &lt;mx:TextInput id=“messageInput” width=“180”/&gt;<br />
  &lt;mx:Button label=“Send” click=“send();”/&gt;<br />
 &lt;/mx:HBox&gt;<br />
 <br />
&lt;/mx:Application&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=235</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparison of Flex Data Access methods</title>
		<link>http://srirangan.net/?p=230</link>
		<comments>http://srirangan.net/?p=230#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:52:41 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[httpservice]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[remoteobject]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=230</guid>
		<description><![CDATA[This is a quick comparison of the three Flex Data Access methods. Reference: Adobe Flex Live Docs HTTPService WebService RemoteObject Methodology RESTful web service SOAP compliant web service AMF Data format Text (usually XML or JSON) Text Binary Client side memory requirement Medium High Low Technology dependencies None None Java, ColdFusion Note: AMFPHP provides a [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick comparison of the three Flex Data Access methods. Reference: <a id="pzt3" title="Adobe Flex Live Docs" href="http://livedocs.adobe.com/flex/3/html/help.html?content=data_intro_2.html#188004">Adobe Flex Live Docs</a></p>
<div>
<table id="xrf9" border="1" cellspacing="0" cellpadding="3" width="100%" bordercolor="#000000">
<tbody>
<tr>
<td width="25%"></td>
<td width="25%"><strong>HTTPService<br />
</strong></td>
<td width="25%"><strong>WebService<br />
</strong></td>
<td width="25%"><strong>RemoteObject<br />
</strong></td>
</tr>
<tr>
<td width="25%"><strong>Methodology<br />
</strong></td>
<td width="25%">RESTful web service</td>
<td width="25%">SOAP compliant web service</td>
<td width="25%">AMF</td>
</tr>
<tr>
<td width="25%"><strong>Data format<br />
</strong></td>
<td width="25%">Text (usually XML or JSON)</td>
<td width="25%">Text</td>
<td width="25%">Binary</td>
</tr>
<tr>
<td width="25%"><strong>Client side memory requirement<br />
</strong></td>
<td width="25%">Medium</td>
<td width="25%">High</td>
<td width="25%">Low</td>
</tr>
<tr>
<td width="25%"><strong>Technology dependencies<br />
</strong></td>
<td width="25%">None</td>
<td width="25%">None</td>
<td width="25%">Java, ColdFusion<br />
<em>Note: AMFPHP provides a 3rd party solution for developing PHP based applications</em></td>
</tr>
<tr>
<td width="25%"><strong>Speed</strong></td>
<td width="25%">Medium</td>
<td width="25%">Slow</td>
<td width="25%">Fast</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=230</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survey: Coping with the Recession (Subrato Banerjee)</title>
		<link>http://srirangan.net/?p=217</link>
		<comments>http://srirangan.net/?p=217#comments</comments>
		<pubDate>Sat, 18 Jul 2009 05:35:10 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Current Affairs]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[recession]]></category>
		<category><![CDATA[subrato banerjee]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=217</guid>
		<description><![CDATA[Help Subrato Banerjee complete his research by letting him know how you have been coping with the recession by filling in this private online survey. Results and analysis will be published in a leading business journal. Survey: http://subrato2009.questionpro.com]]></description>
			<content:encoded><![CDATA[<div id="attachment_220" class="wp-caption alignright" style="width: 105px"><img class="size-full wp-image-220 " title="Subrato Banerjee" src="http://srirangan.net/wp-content/uploads/2009/07/subroto-avatar.jpg" alt="Subroto Banerjee" width="95" height="95" /><p class="wp-caption-text">Subrato Banerjee</p></div>
<p>Help Subrato Banerjee complete his research by letting him know how you have been coping with the recession by filling in <a href="http://subrato2009.questionpro.com"><strong>this</strong></a><strong> </strong>private online survey. Results and analysis will be published in a leading business journal.</p>
<p><strong>Survey: </strong><a style="color: #413f3f; text-decoration: underline;" href="http://subrato2009.questionpro.com"><strong>http://subrato2009.questionpro.com</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=217</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choropleth Map Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=209</link>
		<comments>http://srirangan.net/?p=209#comments</comments>
		<pubDate>Mon, 22 Jun 2009 02:35:14 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Choropleth Map]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[map]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=209</guid>
		<description><![CDATA[As promised, releasing an Adobe Flex 3 component for Choropleth Map. The Choropleth Map component is an extension/implementation of my Map component released earlier. What is a Choropleth Map? A choropleth map (Greek χωρα + πληθαίν:, (“area/region” + “multiply”) is a thematic map in which areas are shaded or patterned in proportion to the measurement of the [...]]]></description>
			<content:encoded><![CDATA[<p>As promised, releasing an Adobe Flex 3 component for Choropleth Map. The Choropleth Map component is an extension/implementation of my <a href="http://srirangan.net/?p=186">Map component</a> released earlier.</p>
<p><a href="http://srirangan.net/wp-content/uploads/2009/06/choropleth-map-example.jpg"><img class="alignleft size-medium wp-image-210" title="choropleth-map-example" src="http://srirangan.net/wp-content/uploads/2009/06/choropleth-map-example-300x226.jpg" alt="choropleth-map-example" width="300" height="226" /></a> <strong>What is a Choropleth Map?<br />
<span style="font-weight: normal;"> </span> <span style="font-weight: normal;">A <strong>choropleth map</strong> (Greek χωρα + πληθαίν:, (“area/region” + “multiply”) is a thematic map in which areas are shaded or patterned in proportion to the measurement of the statistical variable being displayed on the map, such as population density or per-capita<a style="text-decoration: none; color: #002bb8; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial;" title="Per-capita income" href="http://en.wikipedia.org/wiki/Per-capita_income"> </a>income.</span></strong></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;">The choropleth map provides an easy way to visualize how a measurement varies across a geographic area or it shows the level of variable within a region. — <a href="http://en.wikipedia.org/wiki/Choropleth_map">Wikipedia</a></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;">—</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;">The component does just that. It plots a map and then applies a theme to the various regions of the map. Relevant data and legend information needs to be provided to the component. (See example attached below!)</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;">The component also provides tooltips on specific regions and provides an “Active Legend” that lets you highlight and hide/unhide specific regions of the map based on the data and legend.</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"><strong><a href="http://srirangan.net/FlexLibrary/ChoroplethMapExample.html">Demo</a> | <a href="http://srirangan.net/FlexLibrary/release-20090622-ChoroplethMap-0.1.zip">Source code</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=209</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Map Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=186</link>
		<comments>http://srirangan.net/?p=186#comments</comments>
		<pubDate>Mon, 15 Jun 2009 02:46:19 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=186</guid>
		<description><![CDATA[Releasing a simple, powerful and extensible Map component developed using ActionScript and Flex 3. The idea is that a map contains one or more polygons representing each sub-region. Each polygon can have mouse events attached to it and can have further properties set. This concept is further extended in my second map component i.e. the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-187" title="map-example" src="http://srirangan.net/wp-content/uploads/2009/06/map-example.png" alt="map-example" width="280" />Releasing a simple, powerful and extensible Map component developed using ActionScript and Flex 3. The idea is that a map contains one or more polygons representing each sub-region. Each polygon can have mouse events attached to it and can have further properties set. This concept is further extended in my second map component i.e. the Choropleth Map that will be released later this week so stay tuned!</p>
<p><strong><a href="http://srirangan.net/FlexLibrary/MapExample.html">Demo</a> | <a href="http://srirangan.net/FlexLibrary/release-20090615-Map0.1.zip">Source code</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=186</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Adobe releases public beta of Flex 4 SDK, Flash Builder 4 and Flash Catalyst</title>
		<link>http://srirangan.net/?p=182</link>
		<comments>http://srirangan.net/?p=182#comments</comments>
		<pubDate>Tue, 02 Jun 2009 01:39:50 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[flash builder 4]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flex 4 sdk]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=182</guid>
		<description><![CDATA[So its time to get our hands on Adobe’s Flex 4 technologies. Public beta’s are available on Adobe Labs. Here’s from the Adobe AIR Team Blog: Exciting news! Now available on Adobe Labs are the public beta releases of Adobe Flash Builder 4 (formerly Flex Builder), Adobe Flash Catalyst and the Flex 4 Framework. Flash Builder 4 is the [...]]]></description>
			<content:encoded><![CDATA[<p>So its time to get our hands on Adobe’s Flex 4 technologies. Public beta’s are available on <a href="http://labs.adobe.com/technologies/flash/">Adobe Labs</a>.</p>
<p>Here’s from the Adobe AIR Team Blog:</p>
<blockquote><p>Exciting news! Now available on <a href="http://labs.adobe.com/technologies/flash/">Adobe Labs</a> are the public beta releases of <a href="http://labs.adobe.com/technologies/flashbuilder4/">Adobe Flash Builder 4</a> (formerly Flex Builder), <a href="http://labs.adobe.com/technologies/flashcatalyst/">Adobe Flash Catalyst</a> and the <a href="http://labs.adobe.com/technologies/flex4sdk/">Flex 4 Framework</a>.</p>
<p>Flash Builder 4 is the next evolution of Flex Builder, and includes a long list of feature improvements, new data-centric development features, and a new design-develop workflow with Flash Catalyst. Flash Catalyst, also now available in public beta, is a new interaction design tool for rapidly building application user interfaces without coding. Both Flash Builder and Flash Catalyst are based on the updated Flex 4 framework, also available for beta download.</p>
<p>Visit <a href="http://labs.adobe.com/technologies/flash/">Adobe Labs</a> to find out more and to download the installers.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=182</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Acquires Sun: Is this the end for MySQL?</title>
		<link>http://srirangan.net/?p=165</link>
		<comments>http://srirangan.net/?p=165#comments</comments>
		<pubDate>Tue, 21 Apr 2009 09:52:36 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sun microsystems]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=165</guid>
		<description><![CDATA[Putting an end to IBM’s quest for Sun Microsystems, Oracle has announced the acquisition of The Java Company Sun Microsystems priced at USD 9.50 per share. For us who’ve worked extensively on the LAMP platform, Sun’s acquisition of MySQL last year was promising for it strengthened the future of MySQL. MySQL is the most popular [...]]]></description>
			<content:encoded><![CDATA[<p>Putting an end to IBM’s quest for Sun Microsystems, Oracle has announced the <a href="http://www.livemint.com/2009/04/20172333/Oracle-agrees-to-buy-Sun.html?h=E">acquisition </a>of <em>The Java Company</em> Sun Microsystems priced at USD 9.50 per share. For us who’ve worked extensively on the LAMP platform, Sun’s <a href="http://www.mysql.com/news-and-events/sun/">acquisition</a> of MySQL last year was promising for it strengthened the future of MySQL. MySQL is the most popular Database Management System leading its nearest competitor Oracle by a steady margin. But Oracle, through its acquisition of Sun, now also owns its biggest competitor — MySQL.</p>
<p><img class="alignleft" title="MySQL Market Share" src="http://www.mysql.com/why-mysql/marketshare/JoinVisionAbb3e_485.gif" alt="" width="485" height="255" />The acquisition gives Oracle a massive 55% (approx.) market share as far as Database Management Systems are concerned. The acquisition also raises doubts of the future viability or growth of MySQL as a platform for obvious reasons.</p>
<p>Some could argue that there is space for two variants of DBMS’s in today’s market. MySQL being Open Source has a huge following and a very attractive adoption rate among small to medium business, personal and not for profit operations. While Oracle is generally preferred for mission critical, enterprise or other high end requirements.</p>
<p>One thing is certain — MySQL with a 30% (approx.) market share isn’t going to disappear in a hurry. In fact MySQL could continue to survive as a community, open source project but the chances of MySQL Enterprise Edition’s survival look bleak.</p>
<p>Could the forthcoming demise of MySQL be the opening <a href="http://www.postgresql.org/">PostgreSQL</a> needs? Time will tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=165</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe Flex 3 Certification Study Material</title>
		<link>http://srirangan.net/?p=154</link>
		<comments>http://srirangan.net/?p=154#comments</comments>
		<pubDate>Tue, 07 Apr 2009 04:58:25 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[flex 3 certification]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=154</guid>
		<description><![CDATA[I plan to get the Adobe Flex 3 with AIR certification this summer. Over the weekend I jotted down all the study material I could find. That makes for useful a blog post I recon.  This is what I could find grouped by source. Adobe resources Adobe Flex 3 with AIR Exam Preparation Guide Adobe Devnet Tutorial Flex [...]]]></description>
			<content:encoded><![CDATA[<p>I plan to get the <a href="http://partners.adobe.com/public/ace/main.html">Adobe Flex 3 with AIR certification </a>this summer. Over the weekend I jotted down all the study material I could find. That makes for useful a blog post I recon.  This is what I could find grouped by source.</p>
<h4><strong>Adobe resources</strong></h4>
<ul class="link-list">
<li><a href="http://partners.adobe.com/public/en/ace/ACE_Exam_Guide_FlexAIR.pdf" target="_blank">Adobe Flex 3 with AIR Exam Preparation Guide</a></li>
<li><a href="http://www.adobe.com/devnet/flex/learn/" target="_blank">Adobe Devnet Tutorial</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_cairngorm.html" target="_blank">Flex 3: Introducing Cairngorm</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex2_rca.html" target="_blank"></a><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_arc_cairng.html">Flex 3: Architecting Applications with Cairngorm</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_use_as3.html" target="_blank">Flex 3: Using ActionScript 3</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_drca.html" target="_blank">Flex 3: Developing Rich Client Applications</a><a href="http://srirangan.net/support/training/instructor_led_curriculum/program_visual_experience.html"></a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_lcd.html" target="_blank">Flex 3 and LiveCycle Data Services: Integrating with Data and Messaging</a><a href="http://srirangan.net/support/training/instructor_led_curriculum/flex2_dashboard.html"></a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_icf.html" target="_blank">Flex 3 and LiveCycle Data Services: Integrating with ColdFusion</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_bda.html" target="_blank">Flex 3: Building Charting and Dashboard Applications</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_esc.html" target="_blank">Flex 3: Extending and Styling Components</a></li>
<li><a href="http://www.adobe.com/support/training/instructor_led_curriculum/flex3_dria.html" target="_blank">Flex 3: Developing Rich Internet Applications</a></li>
<li><a href="http://www.adobe.com/devnet/flex/videotraining/" target="_blank">Flex in a week</a> (Video)</li>
</ul>
<h4>Third-party resources</h4>
<ul class="link-list">
<li><a href="http://oreilly.com/catalog/9780596520649/index.html" target="_blank">Getting Started with Flex 3</a> (O’Reilly, June 2008)<br />
<a href="http://www.adobe.com/devnet/flex/pdfs/getting_started_with_Flex3.pdf" target="_blank">Download the PDF version</a> of the book (PDF, 1.44M)</li>
<li><a title="http://www.amazon.com/Programming-Flex-Comprehensive-Creating-Applications/dp/059652689X/ref=pd_bbs_sr_1/103-3072731-2179849?ie=UTF8&amp;s=books&amp;qid=1175003758&amp;sr=8-1" href="http://www.amazon.com/Programming-Flex-Comprehensive-Creating-Applications/dp/059652689X/ref=pd_bbs_sr_1/103-3072731-2179849?ie=UTF8&amp;s=books&amp;qid=1175003758&amp;sr=8-1" target="_blank"></a><a href="http://www.oreilly.com/catalog/9780596529857/" target="_blank">Flex 3 Cookbook</a> (O’Reilly, June 2008)</li>
<li><a href="http://oreilly.com/catalog/9780596517328/index.html" target="_blank">Learning Flex 3</a> (O’Reilly, June 2008)</li>
<li><a href="http://software.pxldesigns.com/attest/index.php" target="_blank">Attest</a> — a standalone Adobe AIR application that allows you to take your mock exam, view results and helpful tips, and refer to the Flex 3 livedocs website in real time.</li>
</ul>
<p>Feel free to suggest more resources to add to the list above.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=154</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>It’s official: Google Chrome is the safest web browser!</title>
		<link>http://srirangan.net/?p=149</link>
		<comments>http://srirangan.net/?p=149#comments</comments>
		<pubDate>Sat, 21 Mar 2009 07:19:15 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[mozilla firefox]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=149</guid>
		<description><![CDATA[From: ARS Technica A recent contest at CanSecWest, an event that brings together some of the most skilled experts in the security community, has demonstrated that the three most popular browser are susceptible to security bugs despite the vigilance and engineering prowess of their creators. Firefox, Safari, and Internet Explorer were all exploited during the [...]]]></description>
			<content:encoded><![CDATA[<p>From: <a href="http://arstechnica.com/security/news/2009/03/chrome-is-the-only-browser-left-standing-in-pwn2own-contest.ars">ARS Technica</a></p>
<blockquote><p>A recent contest at <a href="http://dvlabs.tippingpoint.com/blog/2009/02/25/pwn2own-2009">CanSecWest</a>, an event that brings together some of the most skilled experts in the security community, has demonstrated that the three most popular browser are susceptible to security bugs despite the vigilance and engineering prowess of their creators. Firefox, Safari, and Internet Explorer were all exploited during the Pwn2Own competition that took place at the conference. Google’s Chrome browser, however, was the only one left standing—a victory that security researchers attribute to its innovative sandbox feature.</p></blockquote>
<p>And my choice of dumping Firefox for Chrome stands vindicated. <img src='http://srirangan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=149</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>See you at OSSCamp New Delhi — 28th, 29th March 2009</title>
		<link>http://srirangan.net/?p=141</link>
		<comments>http://srirangan.net/?p=141#comments</comments>
		<pubDate>Wed, 18 Mar 2009 09:59:24 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[osscamp]]></category>
		<category><![CDATA[recession]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=141</guid>
		<description><![CDATA[I’ll be giving a 20–25 minute session at OSSCamp New Delhi on open source, entrepreneurship and the current recession. It will be on 28th March 2009. I haven’t got most of the material ready, but I have pasted many Katrina Kaif pics in the slides … so yes! the most important part is done! On [...]]]></description>
			<content:encoded><![CDATA[<p>I’ll be giving a 20–25 minute session at OSSCamp New Delhi on open source, entrepreneurship and the current recession. It will be on 28th March 2009. I haven’t got most of the material ready, but I have pasted many Katrina Kaif pics in the slides … so yes! the most important part is done! <img src='http://srirangan.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>On a serious note,  <a href="http://osscamp.in/">OSSCamp</a> is one of the largest conferences in India focusing on IT, Open Source and entrepreneurship. They have their camp this time at the IIT Delhi campus which is right in the heart of New Delhi. If you’re anywhere in India, this is be one event you shouldn’t want to miss. At least not when I’m speaking. <img src='http://srirangan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For event details, go here: <a href="http://osscamp.in/event/osscamp-delhi-march-2009">http://osscamp.in/event/osscamp-delhi-march-2009</a></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=141</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AdvancedLegend Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=119</link>
		<comments>http://srirangan.net/?p=119#comments</comments>
		<pubDate>Sun, 18 Jan 2009 08:45:44 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AdvancedLegend]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=119</guid>
		<description><![CDATA[This component extends the default Legend component and adds to it few item highlighting related features. It works with all chart types and clicking on a legend item will lead to its visibility being toggled. Furthermore mouse over legend item leads to reduction of alphas of other chart series except the related chart series of [...]]]></description>
			<content:encoded><![CDATA[<p>This component extends the default Legend component and adds to it few item highlighting related features. It works with all chart types and clicking on a legend item will lead to its visibility being toggled. Furthermore mouse over legend item leads to reduction of alphas of other chart series except the related chart series of the legend item on which the mouse is over.</p>
<p><strong>Code:</strong></p>
<pre style="font-size:11px">&lt;visualization:AdvancedLegend dataProvider="{lineChart}"/&gt;</pre>
<p><strong>Screenshot:</strong><br />
<img class="alignnone size-full wp-image-120" title="AdvancedLegend" src="http://srirangan.net/wp-content/uploads/2009/01/advancedlegend.jpg" alt="AdvancedLegend" width="391" height="295" /></p>
<p><strong>What’s next?</strong><br />
– Checkboxes based selectable legend items <br />
– Chart series item style controls via legend </p>
<p><strong><a href="http://srirangan.net/FlexLibrary/AdvancedLegend.html" target="_blank">Demo</a></strong><strong> | </strong><strong><a href="http://srirangan.net/FlexLibrary/release-20090118-AdvancedLegend.zip">Source code</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=119</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>AdvancedTitleWindow Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=104</link>
		<comments>http://srirangan.net/?p=104#comments</comments>
		<pubDate>Sun, 18 Jan 2009 06:31:44 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AdvancedTitleWindow]]></category>
		<category><![CDATA[Flex components]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=104</guid>
		<description><![CDATA[This component extends the default TitleWindow component and add two very useful features which make the container resize able and movable. The AdvancedTitleWindow can be moved using the mouse drag on the titleBar and it can be resized using the mouse drag on the bottom right region. Code: &#60;containers:AdvancedTitleWindow width="400" height="300"/&#62; Screenshot:   What’s next? [...]]]></description>
			<content:encoded><![CDATA[<p>This component extends the default TitleWindow component and add two very useful features which make the container resize able and movable. The AdvancedTitleWindow can be moved using the mouse drag on the titleBar and it can be resized using the mouse drag on the bottom right region.</p>
<p><strong>Code:</strong></p>
<pre style="font-size:11px">&lt;containers:AdvancedTitleWindow width="400" height="300"/&gt;</pre>
<p><strong>Screenshot:</strong><br />
 <img class="alignnone size-full wp-image-108" title="AdvancedTitleWindow" src="http://srirangan.net/wp-content/uploads/2009/01/advancedtitlewindow.jpg" alt="AdvancedTitleWindow" width="256" height="136" /></p>
<p><strong>What’s next?</strong><br />
– Docking<br />
– Minimize, Maximize options<br />
– Selectable style patterns</p>
<p><strong><a href="http://srirangan.net/FlexLibrary/AdvancedTitleWindow.html" target="_blank">Demo</a></strong><strong> | </strong><strong><a href="http://srirangan.net/FlexLibrary/release-20090118-AdvancedTitleWindow0.1.zip">Source code</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=104</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DashedLineSeries Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=90</link>
		<comments>http://srirangan.net/?p=90#comments</comments>
		<pubDate>Sun, 04 Jan 2009 05:03:24 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DashedLineSeries]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=90</guid>
		<description><![CDATA[This version (0.1) of the DashedLineSeries component is an extension and implementation of the wonderful code posted on Quietly Scheming by Ely Greensfield. The component is an extension of a regular LineSeries except that it has a custom LineSeriesRenderer that draws a dashed line instead of a straight line. Screen shot:   Code: &#60;?xml version="1.0"?&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>This version (0.1) of the DashedLineSeries component is an extension and implementation of the wonderful code posted on <a href="http://www.quietlyscheming.com/">Quietly Scheming</a> by Ely Greensfield. The component is an extension of a regular LineSeries except that it has a custom LineSeriesRenderer that draws a dashed line instead of a straight line.</p>
<p><strong>Screen shot:</strong><br />
<img class="alignnone size-full wp-image-91" title="dashed-line-series" src="http://srirangan.net/wp-content/uploads/2009/01/dashed-line-series.jpg" alt="dashed-line-series" width="429" height="486" /> </p>
<p><strong>Code:</strong></p>
<pre style="font-size: 11px">&lt;?xml version="1.0"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:visualization="net.srirangan.visualization.*"&gt;
  &lt;mx:Script&gt;&lt;![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
     public var expenses:ArrayCollection = new ArrayCollection([
        {Month:"Jan", Profit:2000, Expenses:1500, Amount:450},
        {Month:"Feb", Profit:1000, Expenses:200, Amount:600},
        {Month:"Mar", Profit:1500, Expenses:500, Amount:300}
     ]);]]&gt;&lt;/mx:Script&gt;
&lt;mx:Panel title="Line Chart With Strokes"&gt;
     &lt;mx:LineChart id="myChart" dataProvider="{expenses}" showDataTips="true" seriesFilters="{new Array}"&gt;
        &lt;mx:horizontalAxis&gt;
           &lt;mx:CategoryAxis dataProvider="{expenses}" categoryField="Month"/&gt;
        &lt;/mx:horizontalAxis&gt;
        &lt;mx:series&gt;
           &lt;visualization:DashedLineSeries yField="Profit" displayName="Profit"/&gt;
           &lt;mx:LineSeries yField="Expenses" displayName="Expenses"/&gt;
           &lt;mx:LineSeries yField="Amount" displayName="Amount"/&gt;
        &lt;/mx:series&gt;
     &lt;/mx:LineChart&gt;
     &lt;mx:Legend dataProvider="{myChart}" direction="horizontal"/&gt;
  &lt;/mx:Panel&gt;
&lt;/mx:Application&gt; </pre>
<p><strong>What’s next?</strong><br />
– Pre defined multiple line patterns<br />
– User defined line patterns </p>
<p><strong><a href="http://srirangan.net/FlexLibrary/dashedLineChart.html" target="_blank">Demo</a></strong><strong> | </strong><strong><a href="http://srirangan.net/FlexLibrary/release-20090104-DashedLineSeries0.1.zip">Source code</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=90</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Code sample: CheckBox as itemRenderer for DataGridColumn (Adobe Flex)</title>
		<link>http://srirangan.net/?p=75</link>
		<comments>http://srirangan.net/?p=75#comments</comments>
		<pubDate>Thu, 01 Jan 2009 11:21:58 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[CheckBox]]></category>
		<category><![CDATA[Code samples]]></category>
		<category><![CDATA[DataGrid]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=75</guid>
		<description><![CDATA[Another useful code sample (originally posted on Experts-Exchange.com by yours truly) that allows CheckBox’s to be part of a DataGrid. This is accomplished is by setting the itemRenderer of a DataGridColumn to be a CheckBox and handling the selected and click properties of the CheckBox. Note: It is important to set the DataGridColumn’s editable property [...]]]></description>
			<content:encoded><![CDATA[<p>Another useful code sample (originally posted on Experts-Exchange.com by yours truly) that allows CheckBox’s to be part of a DataGrid. This is accomplished is by setting the itemRenderer of a DataGridColumn to be a CheckBox and handling the selected and click properties of the CheckBox.</p>
<p><strong> Note:</strong> It is important to set the DataGridColumn’s editable property to false as the itemRenderer itself is the itemEditor.</p>
<p><img class="size-full wp-image-76 alignnone" title="DataGrid CheckBox" src="http://srirangan.net/wp-content/uploads/2009/01/datagridcheckbox.jpg" alt="DataGrid CheckBox" width="351" height="362" /></p>
<p><strong>Code:</strong></p>
<pre style="font-size:11px">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="center" verticalAlign="middle"&gt;
&lt;mx:DataGrid id="dataGrid" editable="true"&gt;
&lt;mx:dataProvider&gt;
&lt;mx:XMLList xmlns=""&gt;
&lt;node isTrue="true" name="xxxxxxxx" location="yyyyyyy"/&gt;
&lt;node isTrue="false" name="xxxxxxxx" location="yyyyyyy"/&gt;
&lt;node isTrue="true" name="xxxxxxxx" location="yyyyyyy"/&gt;
&lt;node isTrue="false" name="xxxxxxxx" location="yyyyyyy"/&gt;
&lt;node isTrue="true" name="xxxxxxxx" location="yyyyyyy"/&gt;
&lt;/mx:XMLList&gt;
&lt;/mx:dataProvider&gt;
&lt;mx:columns&gt;
&lt;mx:DataGridColumn dataField="@isTrue" width="25" headerText=" " editable="false"&gt;
&lt;mx:itemRenderer&gt;
&lt;mx:Component&gt;
&lt;mx:CheckBox selected="{(data.@isTrue == 'true')?true:false}" click="{data.@isTrue = (data.@isTrue != 'true') ? 'true' : 'false';}"/&gt;
&lt;/mx:Component&gt;
&lt;/mx:itemRenderer&gt;
&lt;/mx:DataGridColumn&gt;
&lt;mx:DataGridColumn dataField="@name" headerText="Name"/&gt;
&lt;mx:DataGridColumn dataField="@location" headerText="Location"/&gt;
&lt;/mx:columns&gt;
&lt;/mx:DataGrid&gt;
&lt;mx:DataGrid dataProvider="{dataGrid.dataProvider}"/&gt;
&lt;/mx:Application&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Code sample: Static data tips for Data Grid Column (Adobe Flex)</title>
		<link>http://srirangan.net/?p=70</link>
		<comments>http://srirangan.net/?p=70#comments</comments>
		<pubDate>Thu, 01 Jan 2009 08:29:26 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Code samples]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=70</guid>
		<description><![CDATA[Here’s a code sample I provided for a question posted on Experts Exchange. The asker wanted a static text tooltip for a particular column in a data grid. The code below uses the dataTipFunction to provide for the same. Screenshot   Code &#60;?xml version="1.0" encoding="utf-8"?&#62; &#60;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"&#62; &#60;mx:Script&#62; &#60;![CDATA[ public function customDataTip(item:Object):String { return [...]]]></description>
			<content:encoded><![CDATA[<p>Here’s a code sample I provided for a question posted on Experts Exchange. The asker wanted a static text tooltip for a particular column in a data grid. The code below uses the dataTipFunction to provide for the same.</p>
<p><strong>Screenshot</strong><br />
 <img class="alignnone size-medium wp-image-71" title="data grid column data tip" src="http://srirangan.net/wp-content/uploads/2009/01/datagridcolumndatatip-300x155.jpg" alt="data grid column data tip" width="300" height="155" /></p>
<p><strong>Code</strong></p>
<pre style="font-size:11px">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"&gt;
&lt;mx:Script&gt;
&lt;![CDATA[
public function customDataTip(item:Object):String {
return "custom static data tip";
}
]]&gt;
&lt;/mx:Script&gt;
&lt;mx:DataGrid&gt;
&lt;mx:columns&gt;
&lt;mx:DataGridColumn headerText="Name" dataField="@name"/&gt;
&lt;mx:DataGridColumn headerText="Age" dataField="@age"/&gt;
&lt;mx:DataGridColumn headerText="Location" dataField="@location" dataTipFunction="customDataTip" showDataTips="true"/&gt;
&lt;/mx:columns&gt;
&lt;mx:dataProvider&gt;
&lt;mx:XMLList xmlns=""&gt;
&lt;node name="AAA" age="1" location="New Delhi"/&gt;
&lt;node name="BBB" age="2" location="New Delhi"/&gt;
&lt;node name="CCC" age="3" location="New Delhi"/&gt;
&lt;/mx:XMLList&gt;
&lt;/mx:dataProvider&gt;
&lt;/mx:DataGrid&gt;
&lt;/mx:Application&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=70</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CheckBoxTree Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=56</link>
		<comments>http://srirangan.net/?p=56#comments</comments>
		<pubDate>Tue, 30 Dec 2008 05:51:26 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[CheckBox]]></category>
		<category><![CDATA[CheckBoxTree]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[Tree]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=56</guid>
		<description><![CDATA[Building on already available CheckTree renderers, here is the first release (0.1)  of the CheckBoxTree component. Supports three state items i.e. “checked”, “unchecked”, “schrodinger” and it has a basic search function implemented. Sample code: &#60;inputs:CheckBoxTree width="480" height="320" title="Indian Subcontinent"&#62; &#60;inputs:dataProvider&#62; &#60;mx:XMLListCollection&#62; &#60;mx:source&#62; &#60;mx:XMLList xmlns=""&#62; &#60;node state='checked' label='All' value='1'/&#62; &#60;node state='unchecked' label='Afghanistan' value='2'/&#62; &#60;node state='unchecked' label='Bangladesh' [...]]]></description>
			<content:encoded><![CDATA[<p>Building on already available CheckTree renderers, here is the first release (0.1)  of the CheckBoxTree component. Supports three state items i.e. “checked”, “unchecked”, “schrodinger” and it has a basic search function implemented.</p>
<p>Sample code:</p>
<pre>&lt;inputs:CheckBoxTree width="480" height="320" title="Indian Subcontinent"&gt;
&lt;inputs:dataProvider&gt;
&lt;mx:XMLListCollection&gt;
&lt;mx:source&gt;
&lt;mx:XMLList xmlns=""&gt;
&lt;node state='checked' label='All' value='1'/&gt;
&lt;node state='unchecked' label='Afghanistan' value='2'/&gt;
&lt;node state='unchecked' label='Bangladesh' value='3'/&gt;
&lt;node state='unchecked' label='Bhutan' value='4'/&gt;
&lt;node state='unchecked' label='India' value='91'&gt;
&lt;node state='unchecked' label='Jammu and Kashmir' value='10'/&gt;
&lt;node state='unchecked' label='Himachal Pradesh' value='11'/&gt;
&lt;node state='unchecked' label='Punjab' value='12'/&gt;
&lt;node state='unchecked' label='Haryana' value='13'/&gt;
&lt;node state='unchecked' label='Uttaranchal' value='14'/&gt;
&lt;/node&gt;
&lt;node state='unchecked' label='Nepal' value='5'/&gt;
&lt;node state='unchecked' label='Pakistan' value='6'/&gt;
&lt;node state='unchecked' label='Sri Lanka' value='7'/&gt;
&lt;/mx:XMLList&gt;
&lt;/mx:source&gt;
&lt;/mx:XMLListCollection&gt;
&lt;/inputs:dataProvider&gt;
&lt;/inputs:CheckBoxTree&gt;</pre>
<p>A quick screen shot..<br />
<img class="alignleft size-full wp-image-57" title="CheckBoxTree component" src="http://srirangan.net/wp-content/uploads/2008/12/checkboxtree.jpg" alt="CheckBoxTree component" width="298" height="203" /> Again, all code self explanatory. Proper documentation will follow when advanced features will be introduced into the component.</p>
<p><strong> What’s next?</strong><br />
– Select all, Clear all features<br />
– Support for multiple dataProviders<br />
– getCheckedItems(), setCheckedItems() methods etc.</p>
<p> <strong><a href="http://srirangan.net/FlexLibrary/CheckBoxTreeExample.html" target="_blank">Demo</a> </strong><strong>| </strong><a href="http://srirangan.net/FlexLibrary/release-20081230-CheckBoxTree0.1.zip"><strong>Source code (Zip 6kB)</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>MultiChart Component (Adobe Flex 3)</title>
		<link>http://srirangan.net/?p=47</link>
		<comments>http://srirangan.net/?p=47#comments</comments>
		<pubDate>Sun, 28 Dec 2008 05:29:43 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex components]]></category>
		<category><![CDATA[MultiChart]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=47</guid>
		<description><![CDATA[Worked on a charting component for Adobe Flex 3. The idea behind the component is to create one single object, specify a single dataProvider and have 6 different charts generated. Simple, routine stuff. &#60;visualizations:MultiChart id="multiChart" width="640" height="480" backgroundColor="#ffffff" title="Default chart title" legendHeight="40"/&#62; [Bindable] public var dataArrayCollection:ArrayCollection = new ArrayCollection; public function creationCompleteHandler():void { dataArrayCollection.addItem(new ArrayCollection([{"x":115, [...]]]></description>
			<content:encoded><![CDATA[<p>Worked on a charting component for Adobe Flex 3. The idea behind the component is to create one single object, specify a single dataProvider and have 6 different charts generated. Simple, routine stuff.</p>
<pre style="font-size:11px">&lt;visualizations:MultiChart id="multiChart" width="640" height="480"
backgroundColor="#ffffff" title="Default chart title" legendHeight="40"/&gt;

[Bindable]
public var dataArrayCollection:ArrayCollection = new ArrayCollection;
public function creationCompleteHandler():void {
dataArrayCollection.addItem(new ArrayCollection([{"x":115, "y":120, "z":125, label: "Series1.1"},{"x":215, "y":220, "z":225, label: "Series1.2"},{"x":215, "y":220, "z":225, label: "Series1.3"}]));
dataArrayCollection.addItem(new ArrayCollection([{"x":415, "y":420, "z":425, label: "Series2.1"},{"x":15, "y":520, "z":525, label: "Series2.2"},{"x":615, "y":620, "z":625, label: "Series2.3"}]));
dataArrayCollection.addItem(new ArrayCollection([{"x":75, "y":75, "z":75, label: "Series3.1"},{"x":45, "y":50, "z":235, label: "Series3.2"},{"x":324, "y":654, "z":345, label: "Series3.3"}]));
multiChart.dataProvider = dataArrayCollection;
multiChart.refresh();
}</pre>
<p>A few screens..</p>
<p><a href="http://srirangan.net/wp-content/uploads/2008/12/20081228-multichart-bubble.jpg"><img class="alignleft size-medium wp-image-48" title="Bubbles" src="http://srirangan.net/wp-content/uploads/2008/12/20081228-multichart-bubble-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://srirangan.net/wp-content/uploads/2008/12/20081228-multichart-line.jpg"><img class="alignleft size-medium wp-image-49" title="Lines" src="http://srirangan.net/wp-content/uploads/2008/12/20081228-multichart-line-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p>This is the first release so there isn’t any real documentation available, but there is a demo, an example and the source code. It should really be self explanatory at this stage. One thing, the object needs to be refreshed [refresh()] after changing the dataProvider. It has been left like this on purpose.</p>
<p><strong>What’s next?</strong><br />
– Smart legends<br />
– Timer based chart switcher<br />
– Exposing more chart, axis, legend, panel styles to the user<br />
– Themes.. etc.</p>
<p><a href="http://srirangan.net/FlexLibrary/MultiChartExample.html" target="_blank"><strong>Demo</strong></a><strong> | </strong><a href="http://srirangan.net/FlexLibrary/release-20081228-MultiChart0.1.zip"><strong>Source Code (Zip 22kb)</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Flame Burns Forever!</title>
		<link>http://srirangan.net/?p=40</link>
		<comments>http://srirangan.net/?p=40#comments</comments>
		<pubDate>Fri, 28 Nov 2008 17:48:06 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Current Affairs]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[Mumbai]]></category>
		<category><![CDATA[Terror]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=40</guid>
		<description><![CDATA[Prayers for the families of all soldiers and victims of the Mumbai Terror Attacks. To the soldiers who’ve given us the ultimate sacrifice, you will not be forgotten. Your loved ones will be taken care of and your legacy shall shine forever. Jai Hind!]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 210px"><img title="NSG Major Sandeep Unnikrishnan" src="http://timesofindia.indiatimes.com/thumb.cms?msid=3770324&amp;width=200&amp;resizemode=4" alt="NSG Major Sandeep Unnikrishnan" width="200" height="260" /><p class="wp-caption-text">NSG Major Sandeep Unnikrishnan</p></div>
<div id="attachment_43" class="wp-caption alignnone" style="width: 310px"><a href="http://srirangan.net/wp-content/uploads/2008/12/96839963_d4e960615a.jpg"><img class="size-medium wp-image-43" title="Amar Jawan Jyoti" src="http://srirangan.net/wp-content/uploads/2008/12/96839963_d4e960615a-300x225.jpg" alt="Amar Jawan Jyoti" width="300" height="225" /></a><p class="wp-caption-text">Amar Jawan Jyoti</p></div>
<p>Prayers for the families of all soldiers and victims of the Mumbai Terror Attacks. To the soldiers who’ve given us the ultimate sacrifice, you will not be forgotten. Your loved ones will be taken care of and your legacy shall shine forever.</p>
<p>Jai Hind!</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=40</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mumbai Terror — 11/26</title>
		<link>http://srirangan.net/?p=37</link>
		<comments>http://srirangan.net/?p=37#comments</comments>
		<pubDate>Wed, 26 Nov 2008 19:08:20 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Current Affairs]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[Mumbai]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Terror]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=37</guid>
		<description><![CDATA[  VT Terminus Colaba Cafe Leopold Oberoi Hotel Taj Hotel Ville Parle Cama Hospital Cinema hall near VT BP petrol pump in colaba blown up Oberoi hotel lobby set on fire  Board of Unilever and Global CEO hostage in Taj Hotel .. and the terror continues through the night Prayers for Mumbai.]]></description>
			<content:encoded><![CDATA[<p> </p>
<ul>
<li>VT Terminus</li>
<li>Colaba Cafe Leopold</li>
<li>Oberoi Hotel</li>
<li>Taj Hotel</li>
<li>Ville Parle</li>
<li>Cama Hospital</li>
<li>Cinema hall near VT</li>
<li>BP petrol pump in colaba blown up</li>
<li>Oberoi hotel lobby set on fire </li>
<li>Board of Unilever and Global CEO hostage in Taj Hotel<br />
.. and the terror continues through the night</li>
</ul>
<p>Prayers for Mumbai.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communication — Is this how it should be?</title>
		<link>http://srirangan.net/?p=32</link>
		<comments>http://srirangan.net/?p=32#comments</comments>
		<pubDate>Mon, 24 Nov 2008 06:17:59 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Adobe Flash Collaboration Service]]></category>
		<category><![CDATA[Communication]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=32</guid>
		<description><![CDATA[Tuesday — Am talking to a client (Skype) and he needs to demostrate to me a product running on his system (LogMeIn). Then we need to share Excel and Powerpoint files (Gmail). Friday — The client is traveling and only has access to his laptop. We need to talk (Phone) and I need to send [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Tuesday — Am talking to a client (<strong>Skype</strong>) and he needs to demostrate to me a product running on his system (<strong>LogMeIn</strong>). Then we need to share Excel and Powerpoint files (<strong>Gmail</strong>).</p>
<p>Friday — The client is traveling and only has access to his laptop. We need to talk (<strong>Phone</strong>) and I need to send him back the documents he originally sent me (<strong>Gmail</strong>). I also need to send him additional documents (<strong>Gmail</strong>) and need to share a prototype developed (<strong>Web</strong>) and he needs to make notes and send them back to me (<strong>Screenshots </strong>+ <strong>Powerpoint </strong>via <strong>Gmail</strong>)</p></blockquote>
<p>This is one of the better situations. It can get worse, much worse.</p>
<p>I feel every communication session I participate in should be automatically archived, reference material preserved and easily accessible and I must be able to restart/continue the session again with one or more participants.</p>
<p><span style="font-size: 9px;">I might have a prototype soon that addresses some of these concerns. (-: </span></p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting return users when offering an online service</title>
		<link>http://srirangan.net/?p=19</link>
		<comments>http://srirangan.net/?p=19#comments</comments>
		<pubDate>Thu, 04 Sep 2008 20:41:18 +0000</pubDate>
		<dc:creator>Srirangan</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[E commerce]]></category>
		<category><![CDATA[User experience]]></category>

		<guid isPermaLink="false">http://srirangan.net/?p=19</guid>
		<description><![CDATA[The simple answer to this would be to offer a good service that adds enough value at a reasonable price to keep them hooked. The core service and the pricing will play a critical role. Of course the key aspect would be the User Experience. It is one thing to have a good service but [...]]]></description>
			<content:encoded><![CDATA[<p>The simple answer to this would be to offer a good service that adds enough value at a reasonable price to keep them hooked. The core service and the pricing will play a critical role.</p>
<p>Of course the key aspect would be the <a href="http://en.wikipedia.org/wiki/User_experience">User Experience</a>. It is one thing to have a good service but another to “serve” it well enough. Usability, clean design and the general “feeling” the user gets after using the service must be taken care off with proper User Experience design.</p>
<p>For web based services, user convenience is also very important. Make sure you provide mobile access. Make sure the user can subscribe for RSS feeds into Outlook (or whichever reader he/she uses). Make sure user can opt in for newsletter or periodical alerts via email. In short make sure your service reaches the user at his/her convenience.</p>
<p>Support. Quick, accurate, helpful support always adds that little extra that make users feel welcome. It also ensures that users can actually use your service effectively. Your clients are paying their hard earned money, they deserve proper support. The importance of proper support can never be stressed enough, especially if the product is technical keeping the average user in mind.</p>
<p>I think I’ve covered some of the general points that apply to all. Of course this is not an exhaustive list and there’s always scope for doing more.</p>
]]></content:encoded>
			<wfw:commentRss>http://srirangan.net/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
