<?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>Mrinal Wadhwa &#187; AIR</title>
	<atom:link href="http://weblog.mrinalwadhwa.com/category/apollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.mrinalwadhwa.com</link>
	<description>en route to a richer Internet</description>
	<lastBuildDate>Sat, 29 May 2010 05:48:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FXG paths to Flex components convertor</title>
		<link>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/#comments</comments>
		<pubDate>Fri, 08 May 2009 10:39:59 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[fxg]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[thermo]]></category>
		<category><![CDATA[vector]]></category>
		<category><![CDATA[visualelement]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=894</guid>
		<description><![CDATA[<p>While working on a project yesterday I needed to convert several vectors (hundreds of them) into reusable Flex 4 visual elements that I could then use in my skins, so lets say if I have vectors of chess pieces that I would like to use in my Skin as follows &#8230;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1532.png" alt="Neat and Clean Skin code using FXG to component converter" /></p>
<p>Since I needed these in several skin files I did not want to deal with clunky Path elements which would&#8217;ve looked something like this..</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1531.png" alt="Messy skin code with generated path elements" /></p>
<p>So I created a quick AIR application &#8230;. <!--more--> that that converts the elements into AS3 classes that extend from spark.primitives.Path and look something like this &#8230;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1557.png" alt="Generated Code" /></p>
<p>This way all my path data sits in one place I can use this library of visual elements in a reusable way across several applications and changing something would be really easy. Also, unlike the generated code from Flash Catalyst (Thermo) all my components are not inside Groups which are fairly heavy components.  </p>
<p>Watch this quick video of a detailed demo of how to use the tool &#8230;  </p>
<p><object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2097348&#038;feedurl=http%3A//mrinalwadhwa.blip.tv/rss/&#038;autostart=false&#038;brandname=Mrinal%20Wadhwa&#038;brandlink=http%3A//mrinalwadhwa.blip.tv/" width="640" height="510" allowfullscreen="true" id="showplayer"><param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2097348&#038;feedurl=http%3A//mrinalwadhwa.blip.tv/rss/&#038;autostart=false&#038;brandname=Mrinal%20Wadhwa&#038;brandlink=http%3A//mrinalwadhwa.blip.tv/" /><param name="quality" value="best" /></object></p>
<p>If you think this is something useful for you to &#8230;.</p>
<h2><a href="http://fxg-to-component.googlecode.com/files/fxg-to-component-0.01.air">Download and Install</a></h2>
<p>Since I did this in very little time the code is quick and dirty but it works and is available under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a> on Google Code so feel free to to modify for your own needs. </p>
<h2><a href="http://code.google.com/p/fxg-to-component/source/browse/">View Source at Google Code</a></h2>
<p>An after thought was that this should probably not be called FXG to Component since the generated classes do not inherit from UIComponent but instead from Path which is a GraphicElement. Anyways, who cares as long as it does what its supposed to do.</p>
<p>Please do let me know if you find this useful. </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Using Titanium to do things AIR can&#8217;t do &#8230;</title>
		<link>http://weblog.mrinalwadhwa.com/2009/03/23/titanium-air/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/03/23/titanium-air/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 00:58:00 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Titanium]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[appcellerator]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[runtime]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=834</guid>
		<description><![CDATA[<p>Adobe AIR is a extraordinary platform and the core idea behind AIR <em> i.e enabling web developers to build desktop apps</em> has been revolutionary. But, there are<a href="http://weblog.mrinalwadhwa.com/2007/11/25/air-and-desktop-need-to-be-better-friends/"> things about AIR that are very limiting</a> as a developer &#8230; many real world applications need much more interaction with the desktop than AIR allows, yes Adobe has valid security related reasons not to allow this but once users allow you to install an application on their desktop they expect features that AIR doesn&#8217;t allow you to implement &#8230; not being able to do trivial things like .. launch a file in its default application or register a global keyboard shortcut is sometimes frustrating and has led to developers putting together things like <a href="http://www.merapiproject.net/">The Merapi Project</a> .. which quite frankly is a hack to work around the core problem .. <strong>inextensibility of AIR as a platform</strong>. </p>
<p><a href="http://titaniumapp.com/"><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/03/titanium.png" alt="Titanium" /></a><br />
<!--more--><br />
This is exactly why <a href="http://titaniumapp.com/">Titanium</a>, although very new and not entirely mature, is extremely interesting as an option to deploy desktop applications developed using web technologies. <a href="http://github.com/marshall/titanium/tree/e19ed9d148ac6a22faec6d3b22daec5f5bd81b0b/modules">Titanium has this concept of Modules</a> that allows you to extend the run time in any which way you like. Besides that, Titanium, just with the bundled in set of modules, is much more friendly with the desktop and has features like invoking applications, starting and controlling processes etc.  </p>
<p>I&#8217;ve built a simple Application Launcher as an example that uses Flex/Flash as the front-end technology and Titanium as a runtime. Launcher can be used to launch any application that is installed on your system .. this is something that cannot be built with AIR.    </p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/03/launcher.png" alt="Launcher" /></p>
<p>Here&#8217;s the source ..</p>
<p><iframe src ="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/03/srcview/index.html" width="100%" height="500"><br />
</iframe></p>
<p>Just like several other times when dealing with ExternalInterface <a href="http://www.abdulqabiz.com/blog/archives/macromedia_flex/a_mxml_component_tha.php">Abdul&#8217;s Javascript MXML Tag</a> was very useful.</p>
<h3><a href="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/03/srcview/source/Launcher/dist/osx/Launcher.app">Compiled Distributable for OSX</a></h3>
<p><em>(I haven&#8217;t compiled the Linux and Windows versions since <a href="http://blog.jeffhaynie.us/">Jeff Haynie</a> told me on IRC that Titanium is releasing PR3 today that will allow cross platform compilation from any one platform .. so i will post the other distributables tomorrow)</em> </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/03/23/titanium-air/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Ahead</title>
		<link>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 11:54:18 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[bangalore]]></category>
		<category><![CDATA[blazeds]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash ahead]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[flashahead]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[thermo]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=592</guid>
		<description><![CDATA[<p>I&#8217;ll be at Adobe <a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/">Flash Ahead</a> tomorrow. If you&#8217;re in Bangalore and not planning to attend this event you should .. the event will showcase the finalist&#8217;s of <a href="http://adoberiathon.wordpress.com/">Adobe RIAthon</a> and the cool applications they built&#8230;<br />
&nbsp;&nbsp;<br />
<a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/"><img alt="" src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/01/flash_ahead_logo.png" title="Flash Ahead" class="alignnone" width="100%" /></a><br />
&nbsp; &nbsp;<br />
The event will also have interesting presentations on some of the latest advancements in the Flash platform .. some of the highlights include &#8230;<!--more--></p>
<ul>
<li>Flex 4 (Gumbo)</li>
<li>BlazeDS .NET</li>
<li>Flex plugin for Visual Studio</li>
<li>Flash Catalyst (Thermo)</li>
<li>Flash Player 10 (Astro)</li>
<li>Alchemy etc.</li>
</ul>
<p>More details about the event <a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/">here</a>.</p>
<p>If you&#8217;re planning to attend, please <a href="http://endtoend.in/apps/forms/adobe/flash/adobe.htm">RSVP here</a> &#8230; also if you&#8217;re there do catch up with me and say hi <img src='http://weblog.mrinalwadhwa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What is an RIA?</title>
		<link>http://weblog.mrinalwadhwa.com/2008/10/24/what-is-an-ria/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/10/24/what-is-an-ria/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 06:37:21 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[rich internet applications]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=533</guid>
		<description><![CDATA[<p>After a lot of convincing, <a href="http://blog.abesh.net/">Abesh</a> got me to start writing at <a href="https://www.sdn.sap.com/irj/sdn/weblogs">SAP Network Blogs</a> &#8230; as part of my <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/11696">introductory post</a> I ended up describing what I thought the term RIA meant and I later realized I had never documented my interpretation of Rich Internet Applications so here&#8217;s what I said in the <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/11696">SDN post</a> ..</p>
<blockquote><p>
What are <strong>Rich Internet Applications?</strong> .. while there are many definitions on the web, I like to decide if something is an RIA or not based on the following criteria &#8230;</p>
<ol>
<li>It has to be an <strong>Application</strong> &#8230; something that deals with dynamic data, takes an input and processes it to produce valuable output.</li>
<li>Its primary function should be to deal with data that lives on the <strong>Internet</strong> (or intranets).</li>
<li>It should offer a user experience that is <strong>Richer</strong> than what we&#8217;ve been used to in the past in a particular environment. </li>
</ol>
<p>If a piece of software satisfies the above criteria, in my opinion, its an RIA. If you think about these points for a little bit, you&#8217;ll quickly realize that, even though a fairly new buzzword, is not a new concept &#8230;. Microsoft Outlook, Yahoo Messenger, Gmail etc are all RIAs that came out several years ago. After some more thought, you&#8217;ll realize that in today&#8217;s context majority of applications that we build have something to do with data that lives elsewhere on the network, therefore the dominant factor that defines an RIA is the richness of the experience users have while using it. So if we oversimplify, RIAs are applications built with special attention to user interface and user experience.</p>
<p>Many modern interface development technologies have been labeled as Rich Internet Application Technologies .. these include AJAX, various Javascript libraries and frameworks, modern browsers, Gears, Flex, Flash Player, AIR, Silverlight, JavaFX etc .. while these technologies facilitate building an RIA it does not automatically imply that everything built with them is an RIA &#8230; in fact, it is very easy to build a <strong>Not So Rich Internet Application</strong> with these so called RIA technologies. At the same time, it is important to note that the use of these technologies is not a prerequisite to building an RIA either.
</p></blockquote>
<p>This is how I understand Rich Internet Applications .. <strong>what is your interpretation of the term RIA?<br />
</strong></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/10/24/what-is-an-ria/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>SECURITY WARNING: be careful when you install Adobe AIR applications</title>
		<link>http://weblog.mrinalwadhwa.com/2008/07/21/security-warning-be-careful-when-you-install-adobe-air-applications/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/07/21/security-warning-be-careful-when-you-install-adobe-air-applications/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 13:34:28 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[Loic Le Meur]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[seesmic]]></category>
		<category><![CDATA[signature]]></category>
		<category><![CDATA[thwate]]></category>
		<category><![CDATA[trust]]></category>
		<category><![CDATA[twhirl]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[verisign]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=323</guid>
		<description><![CDATA[<p>I&#8217;ve been building applications for <a href="http://www.adobe.com/products/air/">Adobe AIR</a> since its very first public alpha and I totally love it, its a brilliant platform that opens up several unexplored possibilities by allowing web developers to extend the reach of their applications to their users&#8217; desktops. One aspect of AIR applications that is not talked about enough though is Security.</p>
<p>AIR applications are installed on your desktop and have access to your file system and the Internet at the same time, and this can be a dangerous combo. There are several measures taken by the AIR runtime to ensure the security of your information, you can read <a href="http://www.adobe.com/devnet/air/articles/introduction_to_air_security.html">more about them here</a>, but all in all, just like any other desktop application, you are trusting the creator of the AIR application to be true to his word and not do bad things with your data &#8230;. <!--more--></p>
<p>I establish this trust based on the public reputation of the developer/company who created the application. If the developer/company is well respected in the online world, then its generally safe to install his/its application .. it will be incredibly stupid for a reputed developer/company to do sneaky things because some smart developer could easily catch them in the act. </p>
<p>Another key factor in trusting an AIR application, is knowing for sure that it was actually made by the developer/company I think it was made by .. the AIR platform facilitates this by allowing developers to sign their .air files with security certificates purchased from reputed companies like <a href="https://www.thawte.com/process/retail/new_devel?language=en&#038;productInfo.productType=devel2">Thwate</a> and Verisign. The AIR <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=distributing_apps_4.html">documentation</a> describes this as follows ..</p>
<blockquote><p>When an AIR file is signed, a digital signature is included in the installation file. The signature includes a digest of the package, which is used to verify that the AIR file has not been altered since it was signed, and it includes information about the signing certificate, which is used to verify the publisher identity.</p></blockquote>
<p>So if the .air file is not signed, there is no guarantee that it was not tampered with and actually comes from the developer/company you think it came from. What&#8217;s worrisome though, is that not a lot of users seem to be aware of this or care about it .. also not a lot of developers are signing their applications. </p>
<p>Lets take the example of the probably the most popular AIR application there is &#8230; <a href="http://www.twhirl.org/">Twhirl</a>, the <a href="http://twitter.com">twitter</a> client. The guys at Twhirl yesterday announced a new version that integrates <a href="http://identi.ca/">Identi.ca </a> and allows you to use Identi.ca via twhirl. The cool part, is that twhirl uses Identi.ca &#8217;s XMPP infrastructure to integrate with it allowing Identi.ca to push updates to twhirl, instead of twhirl having to to poll for updates periodically, the way it does for twitter. There are some things to note here though &#8230; quoting <a href="http://news.cnet.com/8301-17939_109-9995303-2.html">the CNET announcement</a> &#8230;         </p>
<blockquote><p>Identi.ca doesn&#8217;t do the pushing itself. Instead, Identi.ca sends its updates to Google Talk, a Jabber-based IM platform that supports the open XMPP standard for instant messaging; and it&#8217;s those XMPP messages that get pushed out to the Twhirl desktop clients installed on users&#8217; computers.</p>
<p>The two-step requires users have two logins: One for Identi.ca, and one for Gtalk, and that they enter them into both Identi.ca and Twhirl. </p></blockquote>
<p>Hmmm, so I have to give my Google login details to Twhirl for it to work with my Identi.ca account, now given that Twhirl is owned by <a href="http://www.seesmic.com/">Seesmic</a>, is supported by guys like <a href="http://www.loiclemeur.com/">Loic Le Meur</a> and is constantly scrutinized in the public domain&#8230; if I feel the need (I don&#8217;t with Identi.ca) I can trust Twhirl with that information, the same way I trust <a href="http://www.adiumx.com/">Adium</a> with my google account info. That&#8217;s the first step of establishing my trust in Twhirl, the second step is ensuring that .air file I downloaded from <a href="http://www.twhirl.org/">twhirl.org</a> actually came form there i.e. there was no man in the middle serving me a .air file that looks and feels exactly like twhirl and does all the things twhirl does but at the same time sends my Google account info to a server somewhere, that stores and later uses this info to do all sorts of unimaginable bad things .. how do I ensure this? Is the .air file signed by Twhirl?</p>
<p>OMG !! NO !! &#8230; sorry twhirl I cannot trust you with my google account info.     </p>
<p>&nbsp;<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/07/2008-07-21_07531.png" alt="" title="Twhirl Installer" width="480" height="386" class="aligncenter size-full wp-image-329" /><br />
&nbsp;</p>
<p>I&#8217;m not saying that twhirl&#8217;s servers are being attacked in this way, but there is a possibility that they could be, so developers please sign you AIR applications so that I can easily trust them and users please take utmost care when installing AIR applications, only install applications that you can trust. </p>
<p><!--more--></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/07/21/security-warning-be-careful-when-you-install-adobe-air-applications/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Mate, a tag-based, event-driven framework for Flex applications</title>
		<link>http://weblog.mrinalwadhwa.com/2008/07/06/mate-a-tag-based-event-driven-framework-for-flex-applications/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/07/06/mate-a-tag-based-event-driven-framework-for-flex-applications/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 02:19:05 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[asfusion]]></category>
		<category><![CDATA[dependency injection]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[implicit invocation]]></category>
		<category><![CDATA[mate]]></category>
		<category><![CDATA[mate framework]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=319</guid>
		<description><![CDATA[<p>I <a href="http://twitter.com/mrinalwadhwa/statuses/844520841">discovered</a> <a href="http://mate.asfusion.com/">Mate</a> a little over a week ago and I am already using it in a live project. The Mate website describes it as ..</p>
<blockquote><p>Mate is a tag-based, event-driven Flex framework.</p>
<p>Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.</p></blockquote>
<p><!--more--><br />
Over the last 2 years, that I&#8217;ve been building applications with Flex, I&#8217;ve explored various application frameworks from time to time, but somehow I was never able to commit to any one of them for various reasons, some of the prominent ones being .. too much boiler plate code to do simple things, too much enforced structure to my code causing unnecessary clunk and clutter etc. etc.</p>
<p>Over time I realized I had somewhat developed my own framework that used standard design patterns and a structure that I had become comfortable with. This approach mostly works and I&#8217;m sure many other developers do the same, but this approach has a scalability problem when working in teams. Luckily for me though all my flex projects till now have involved 1 to 3 developers, so this has never been a problem for me.</p>
<h4>Finally a framework I like</h4>
<p>Then, I found Mate and I was impressed at the very first look, its declarative, yes MXML .. on digging further here are some of the features I liked .. </p>
<ul>
<li>Its declarative &#8211; Mate uses MXML for the most part and hence the code is very clean, readable and very easy to understand even for people who are new to Flex programming
</li>
<li>Highly decoupled &#8211; Mate uses two design patterns .. <a href="http://en.wikipedia.org/wiki/Implicit_invocation">implicit invocation</a> and <a href="http://en.wikipedia.org/wiki/Dependency_injection">dependency injection</a> that enforce very high decoupling between various parts of your application. All the communication happens via an application wide event bus and all dependencies are injected via an EventMap.mxml file that maps dependencies between different parts of your code.
</li>
<li>Unobtrusive &#8211; Mate is also very unobtrusive of your code, which means that it does not enforce any unnecessary structure to your code, you don&#8217;t have to implement framework interfaces all over your code and the boiler plate code needed to do simple things is minimized.
</li>
<li>Easy and quick to learn &#8211; this is the best part, the framework is very easy to grasp and the guys at asfusion have put in a lot of effort to provide <a href="http://mate.asfusion.com/page/documentation">detailed documentation</a>.
</li>
</ul>
<p>Many of the above features are somewhat lacking in the other application framework options available out there. So, if you build Flex applications and you&#8217;re into <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> then I would strongly recommend checking out <a href="http://mate.asfusion.com/">Mate framework for Flex applications.<br />
</a></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/07/06/mate-a-tag-based-event-driven-framework-for-flex-applications/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Flex Builder performance tweak</title>
		<link>http://weblog.mrinalwadhwa.com/2008/06/18/flex-builder-performance-tweak/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/06/18/flex-builder-performance-tweak/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 12:24:22 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tweak]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=307</guid>
		<description><![CDATA[<p><a href='http://twitter.com/mrinalwadhwa/statuses/829293409'><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/06/flex-builder-frustration.png" alt="" title="Flex Builder frustration tweet" width="450"  class="alignnone size-full wp-image-309" /></a><br />
&nbsp;<br />
I&#8217;ve been <a href="http://twitter.com/mrinalwadhwa/statuses/829293409">struggling</a> with Flex Builder these past few days. There&#8217;s something wrong with this one particular project which takes way too long to compile while all the other projects seem to be ok. I haven&#8217;t been able to figure out what&#8217;s wrong with this one project and frankly I haven&#8217;t spent much time on it either. I wonder if there is a debug switch that I could turn on and look at a log that would tell me more about what&#8217;s happening. If you know about such a switch or any other way that would help me figure out what&#8217;s going on, I&#8217;d appreciate the help.</p>
<p>Meanwhile, I was reminded of a performance tweak many people used when working with Flex Builder 2 but I somehow never had to resort to it since Flex Builder 3 came out&#8230;.<!--more--> Flex Builder is essentially Eclipse, and Eclipse allows you to <a href="http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F">control the heap size available for it when it runs</a> in the JVM. This is especially helpful if you are seeing Flex Builder crash or hang indefinitely.</p>
<ol>
<li>Go to the Flex Builder Install directory</li>
<li>Look for the file named FlexBuilder.ini (eclipse.ini if you are using the plugin version) on a Mac you will have to &#8220;Show Packages Contents&#8221; on the FlexBuilder.app file to find it.</li>
<li>My FlexBuilder.ini file looked something like this:<br />
-vmargs<br />
-Xdock:icon=../Resources/flexbuilder.icns<br />
-Xdock:name=Flex Builder<br />
-XstartOnFirstThread<br />
-Xms128m<br />
-Xmx512m<br />
-XX:MaxPermSize=256m<br />
-XX:PermSize=64m<br />
-Dorg.eclipse.swt.internal.carbon.smallFonts<br />
-Dorg.eclipse.swt.internal.carbon.noFocusRing
</li>
<li>This file is used to provide arguments to the java virtual machine and the arguments -Xms and -Xmx define the range (in mega bytes) of the heap size available to FlexBuilder at runtime.</li>
<li>Tweak the -Xms and -Xmx values for optimal performance</li>
</ol>
<p>Changing -Xms to 256m and -Xmx to 1536m on my 2GB RAM system did make things significantly faster. Although, I still have to figure out what is causing this one particular project to take comparatively longer time to compile.<!--more--></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/06/18/flex-builder-performance-tweak/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>AIR + SAP</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/30/air-sap/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/30/air-sap/#comments</comments>
		<pubDate>Fri, 30 May 2008 03:03:43 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[abesh]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[sap widget foundation]]></category>
		<category><![CDATA[wrapper]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=303</guid>
		<description><![CDATA[<p><a href="https://www.sdn.sap.com/irj/sdn/downloads?rid=/webcontent/uuid/b03b6544-c741-2a10-8999-ed04eb2b2c71">SAP Widget Foundation</a> is a desktop software that exposes a <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> API to SAP systems. After you have installed the widget foundation, it exposes the interface as a localhost url using a local webserver instance. You can configure <a href="http://help.sap.com/saphelp_46c/helpdata/en/a5/3ec8464ac011d1894e0000e829fbbd/content.htm">BAPIs</a> that you want to expose from the widget foundation admin interface, under the hood though it uses <a href="http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm">SAP Java Connecter (JCo) </a>and SOAP Web Services to communicate with the SAP back-end.  </p>
<p>Now that we have a url exposing a REST api, it is fairly easy to use an HTTPService and have Flex/AIR applications talk to SAP. Here is a <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/7336">video</a> that <a href="http://blog.abeshbhattacharjee.com/">Abesh</a> created a while ago that walks you step by step through <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/7336">how to do this</a>.</p>
<p>Abesh has now also released <a href="http://blog.abeshbhattacharjee.com/2008/05/29/actionscript-libraries-for-sap-widget-foundation/">an AS3 wrapper around the exposed REST API</a>, which makes it even more simpler to use this method of communicating with SAP from AIR applications.</p>
<p>There are of course several other ways of making AIR talk to SAP, the most obvious one is to expose a BAPI as a web service and make Flex/AIR talk to that directly using the WebService component. You could also have a server part to your application and have that communicate with SAP using the various connecters available for various programming platforms. </p>
<p>When I was working with SAP my job was to create prototype applications that showcased how data from SAP could be used in conjunction with various RIA technologies to make life easy for the enterprise users and I found the widget foundation approach of making my applications talk to to SAP very easy and useful, I hope you do too. </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/30/air-sap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight Mac OSX Desktop Application</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/24/silverlight-mac-osx-desktop-application/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/24/silverlight-mac-osx-desktop-application/#comments</comments>
		<pubDate>Sat, 24 May 2008 09:38:36 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[new york times]]></category>
		<category><![CDATA[NYTimes]]></category>
		<category><![CDATA[times reader]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=302</guid>
		<description><![CDATA[<p><a href="http://firstlook.nytimes.com/?p=49">NYTimes has released</a> a Mac OS version of their desktop application Times Reader, so I decided to install it and here&#8217;s what I saw &#8230;<br />
&nbsp;<br />
<img src="http://weblog.mrinalwadhwa.com/images/timesreader-install.png" alt="Times Reader Install Silverlight" /><br />
&nbsp;<br />
WO ! .. Silverlight for a desktop application? .. I continue installing and get it running and to my surprise it does in fact use Silverlight &#8230;<br />
&nbsp;<br />
<img src="http://weblog.mrinalwadhwa.com/images/timesreader.png" alt="Times Reader" /><br />
&nbsp;</p>
<p>You can read a detailed description of the Application <a href="http://firstlook.nytimes.com/?p=46">here on The New York Times blog</a>, this is what they say about the technology used ..</p>
<blockquote><p>Times Reader for the Mac is a native Cocoa application, which uses the Safari toolkit and Silverlight to render the pages.</p></blockquote>
<p>Now this is not a new approach in the Flash world, but I think this is the first time it has been done with Silverlight.</p>
<p>In the process the guys at NYTimes were able to create a framework that does a lot of what AIR does .. native window, file read write, same code for web app  and desktop app etc etc.  This is very intriguing because if Microsoft decides to build upon this approach they could come with an equivalent of AIR that can run Silverlight based desktop applications across platforms. Of course, they do not need something like this for Windows since conceptually a Silverlight app could be compiled to run on  Windows desktops, but this could be an interesting approach for them to take on other platforms. What do you think?   </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/24/silverlight-mac-osx-desktop-application/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Adobe AIR versus Microsoft Silverlight</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/21/adobe-air-versus-microsoft-silverlight/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/21/adobe-air-versus-microsoft-silverlight/#comments</comments>
		<pubDate>Wed, 21 May 2008 00:28:09 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[all about microsoft]]></category>
		<category><![CDATA[clarify]]></category>
		<category><![CDATA[confusion]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mistake]]></category>
		<category><![CDATA[not equal]]></category>
		<category><![CDATA[readwriteweb]]></category>
		<category><![CDATA[rww]]></category>
		<category><![CDATA[techcrunch]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=300</guid>
		<description><![CDATA[<p>Rich Internet Applications have been gaining a lot of popularity lately, but I had <a href="http://weblog.mrinalwadhwa.com/2008/05/10/latest-example-readwriteweb-a-list-bloggers-are-so-confused-about-ria-technologies/">recently</a> <a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">written</a> about how some of the most popular tech blogs like <a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">TechCrunch</a>, <a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">All About Microsoft</a> and <a href="http://weblog.mrinalwadhwa.com/2008/05/10/latest-example-readwriteweb-a-list-bloggers-are-so-confused-about-ria-technologies/p">ReadWriteWeb</a> had not done their homework and published information that is ridiculously wrong.</p>
<p>One of the most ludicrous results of their posts has been the several ill-informed comparisons of Adobe AIR and Microsoft Silverlight all over the web. Even thought both AIR and Silverlight enable developers to build Rich Internet Applications, both of them are very different beings and cannot be compared&#8230;<br />
<font size=3><br />
Microsoft Silverlight is a browser plugin and is sort of similar to Adobe&#8217;s Flash Player and Flex Framework taken together</p>
<p>Adobe AIR is cross platform desktop runtime that allows developers to build desktop applications using web technologies, it has no real equivalent in the Microsoft world.<br />
</font><br />
In response to my posts, <a href="http://www.peterelst.com/blog/2008/05/15/adobe-air-versus-microsoft-silverlight/">Peter Elst started a badge campaign</a> to let the world know that it is wrong to say the words AIR and Silverlight in the same breath. </p>
<p>So here&#8217;s my badge, feel free to <a href="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/air-vs-silverlight.jpg">use the image</a> in whatever way you like and help spread the word.<br />
&nbsp; &nbsp;<br />
<a href="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/air-vs-silverlight.jpg"><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/air-vs-silverlight.jpg" alt="AIR vs Silverlight" style="align: center" /></a></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/21/adobe-air-versus-microsoft-silverlight/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Flash Player 10 Beta is out</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/15/flash-player-10-beta-is-out/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/15/flash-player-10-beta-is-out/#comments</comments>
		<pubDate>Thu, 15 May 2008 05:46:50 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[hydra]]></category>
		<category><![CDATA[pixel blender]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=296</guid>
		<description><![CDATA[<p><a href="http://www.adobe.com/go/astro/">Flash Player 10 beta (Astro)</a> is now available on <a href="http://labs.adobe.com">Adobe Labs</a> for download and test. This release adds so many great features that we have all been waiting for &#8230;<!--more--></p>
<ul>
<li>Rich Text Layout:<br />
Finally the long awaited text over haul in the player is here, bi-directional text, vertical text, new layout and flow options and a lot more.</li>
<li>3D Effects<br />
3D is now natively supported in the Flash Player, It will be very interesting to see how the various 3D engines evolve from here.</li>
<li>Custom Filters and Effects<br />
If you haven&#8217;t checked out <a href="http://www.adobe.com/go/pixelbender_toolkit">Pixel Blender (Hydra)</a> yet, you should, it is oh so cool</li>
<li>Dynamic Streaming:<br />
Dynamically change the video quality depending on the bandwidth, awesome !!</li>
<li>More Hardware Acceleration:<br />
The users video card is going to do a lot more for your flash apps now, performance !! performance !! performance !!</li>
<li>File Access<br />
Finally !! no useless uploading and downloading from the sever just to access a file a user wants your app to use.. sweet !!</li>
</ul>
<p>So what are you waiting for, <a href="http://www.adobe.com/go/astro/">go and get it</a> and start building some apps, although remember its still in beta and there&#8217;s time before it releases and gets a realistic adoption.</p>
<p>[<a href="http://blog.digitalbackcountry.com/?p=1424">Via Ryan Stewart</a>]</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/15/flash-player-10-beta-is-out/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Latest Example ReadWriteWeb: A-list bloggers are so confused about RIA technologies</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/10/latest-example-readwriteweb-a-list-bloggers-are-so-confused-about-ria-technologies/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/10/latest-example-readwriteweb-a-list-bloggers-are-so-confused-about-ria-technologies/#comments</comments>
		<pubDate>Sat, 10 May 2008 04:46:28 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[confusion]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[readwriteweb]]></category>
		<category><![CDATA[rich internet applications]]></category>
		<category><![CDATA[rww]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=294</guid>
		<description><![CDATA[<p><a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">Yesterday I wrote</a> about how several <a href="http://www.techmeme.com/lb">A-list</a> bloggers are <a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">confused about various Rich Internet Application technologies</a> and don&#8217;t exactly know what each one is. I also shared an example of how <a href="http://blogs.zdnet.com/bio.php?id=foley">Mary Jo Foley</a>&#8217;s recent post was <a href="http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/">wrong</a> in so many ways and how I had noticed a <a href="http://www.techcrunch.com/2008/02/26/adobe-air-vs-microsoft-silverlight-its-all-about-numbers/">similarly confused post</a> on TechCrunch a while back.</p>
<p><a href="http://www.swaroopch.com/">Swaroop</a> just twittered me the latest <a href="http://www.readwriteweb.com/archives/metaaso.php">example from ReadWriteWeb </a>&#8230; <!--more--><a href="http://www.readwriteweb.com/about_bernard.php">Bernard Lunn</a> has post on <a href="http://www.readwriteweb.com/">ReadWriteWeb</a> today titled <a href="http://www.readwriteweb.com/archives/metaaso.php">MetaASO: A Bootstrapped P2P Startup From India</a> and in the middle of the post he says and I quote:</p>
<blockquote><p>MetaASO stumbled at the first hurdle for me, which was that <a href="http://mermaid.metaaso.com/requirements.html">you need Silverlight</a> and that means a PC (I use a Mac). So I would be interested in any first hand experience with their product. PC is still the best shot for volume, so I don&#8217;t doubt the strategic wisdom of going that route.</p></blockquote>
<p>But wait .. Silverlight <a href="http://www.microsoft.com/silverlight/resources/install.aspx">does run on a Mac</a> &#8230; now if you follow the link that <a href="http://mermaid.metaaso.com/requirements.html">Bernard has linked to</a> with the phrase &#8220;you need Silverlight&#8221; it very clearly states that the software runs on Windows XP and Vista using the .Net runtime which Bernard miss-translated to &#8220;you need Silverlight&#8221;.</p>
<p>Microsoft <a href="http://silverlight.net">Silverlight player</a> is a cross operating system, cross <strong>browser plugin</strong> which is very similar to Adobe&#8217;s <a href="http://www.adobe.com/products/flashplayer/">Flash Player</a>. Its has a subset of abilities of the .NET Runtime. The term Silverlight also includes the web application library built on top of the runtime and this library is very similar to Adobe&#8217;s <a href="http://www.adobe.com/products/flex/">Flex Framework</a></p>
<p>Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Microsoft_.NET#Microsoft_.NET">.NET runtime</a> is a Windows only desktop runtime. Some version of it is included in most recent version of Windows. It allows you to run Windows desktop applications.</p>
<p>These examples bother me because some <a href="http://picnik.com">of</a> <a href="http://a.viary.com/">the</a> <a href="http://www.photoshop.com/express">latest</a> <a href="https://buzzword.acrobat.com/">applications</a> <a href="http://twhirl.com">on</a> <a href="http://memorabilia.hardrock.com/">the web</a> are being built with Rich Internet technologies so why don&#8217;t these voices of the web spend some time understanding the buzzwords before using them.</p>
<p><!--more--></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/10/latest-example-readwriteweb-a-list-bloggers-are-so-confused-about-ria-technologies/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A-list bloggers are so confused about Rich Internet Application technologies</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/#comments</comments>
		<pubDate>Fri, 09 May 2008 04:46:55 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[confusion]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[flexbuilder]]></category>
		<category><![CDATA[hydrazine]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[mary jo foley]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[techcrunch]]></category>
		<category><![CDATA[thermo]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=293</guid>
		<description><![CDATA[<p><a href="http://blogs.zdnet.com/bio.php?id=foley">Mary Jo Foley</a>, who blogs about Microsoft on <a href="http://blogs.zdnet.com/microsoft/">her very popular ZDnet blog</a> has an article titled <a href="http://blogs.zdnet.com/microsoft/?p=1382">&#8220;Microsoft Live Mesh to get more competition from Sun&#8221;</a> where she says &#8230;</p>
<blockquote><p>Robert Brewin, Sun Chief Technology Officer and Distinguished Engineer, described Hydrazine to me as a combination of Amazon&#8217;s Elastic Cloud, Microsoft&#8217;s Live Mesh and Google Analytics all rolled into one. It&#8217;s a platform that Sun is building on top of JavaFX &#8230;.</p></blockquote>
<p>Wo !! something seems wrong already &#8230; <!--more-->Hydrazine seems like a server side solution and JavaFX is all about the client side, how can Hydrazine be built &#8220;on top&#8221; of JavaFX .. anyway I continue reading and she completes the above sentence as follows ..</p>
<blockquote><p> .. JavaFX, which is Sun&#8217;s rough equivalent to Adobe AIR and Microsoft&#8217;s Silverlight.</p></blockquote>
<p>Umm, not exactly &#8230;</p>
<ul>
<li>Microsoft <a href="http://silverlight.net">Silverlight</a> and Adobe <a href="http://www.adobe.com/products/air/">AIR</a> are <a href="http://www.onflex.org/ted/2008/02/microsoft-vs-adobe-comparable-runtimes.php">in no way equivalent</a></li>
<li>Microsoft Silverlight is equivalent to Adobe <a href="http://www.adobe.com/products/flashplayer/">Flash Player</a> and Adobe <a href="http://www.adobe.com/products/flex/">Flex framework</a> taken together
</li>
<li>Sun&#8217;s <a href="http://javafx.com">JavaFX</a> is equivalent to Adobe Flash Player + Adobe Flex Framework + Adobe AIR + some more yet to be done stuff in the mobile space</li>
</ul>
<p>Then she goes on to say ..</p>
<blockquote><p>Sun also is working on JavaFX Script, a new scripting language that will do for Java developers what  FlexBuilder and Expression Blend are for Adobe and Microsoft developers, respectively.</p></blockquote>
<p>Oh K .. this statement is all kinds of wrong &#8230;</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/JavaFX_Script">JavaFX Script</a> is a programming language like Adobe&#8217;s <a href="http://en.wikipedia.org/wiki/ActionScript">ActionScript</a>+<a href="http://en.wikipedia.org/wiki/MXML">MXML</a> &#8230; or Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/XAML">XAML</a>+any <a href="http://en.wikipedia.org/wiki/Common_Language_Runtime">CLR language</a>
</li>
<li>Adobe&#8217;s <a href="http://www.adobe.com/products/flex/features/flex_builder/">FlexBuilder</a> is an Integrated Development Environment like Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Microsoft_Visual_Studio">Visual Studio</a> or Sun&#8217;s <a href="http://en.wikipedia.org/wiki/NetBeans">NetBeans</a>
</li>
<li>Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Microsoft_Expression_Blend">Expression Blend</a> is an RIA design tool which has no equivalent yet .. Adobe is building <a href="http://labs.adobe.com/wiki/index.php/Thermo">Thermo</a> which will fill this gap on their RIA stack .. and apparently Sun is doing something in this space too.</li>
</ul>
<p>Mary is not the only one among the A-listers who is confused about all these technologies, not too long ago I remember seeing an article on <a href="http://techcrunch.com">TechCrunch</a> which <a href="http://www.techcrunch.com/2008/02/26/adobe-air-vs-microsoft-silverlight-its-all-about-numbers/">was equally confused</a> &#8230; I have come across several such confused articles in the past few months.</p>
<p>Its hard to blame these guys either because there are so many companies getting involved in the RIA space today (Adobe, Microsoft, Sun, Mozilla among others ) and there are several new technologies and platforms in development that people are bound to get confused .. but I get concerned because both the above articles were on <a href="http://www.techmeme.com/">Techmeme</a> so they were obviously read by thousands of people.</p>
<p>I love reading these blogs and I hope that the writers would do some more research before talking about such new and upcoming technologies otherwise they only add to the already existing confusion.</p>
<p>&nbsp; </p>
<hr />&nbsp;</p>
<p>UPDATE: <a href="http://www.readwriteweb.com/">ReadWriteWeb</a> just posted an article that shows similar confusion, <a href="http://weblog.mrinalwadhwa.com/?p=294">read more here</a><br />
&nbsp;</p>
<hr />
<!--more--></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/09/a-list-bloggers-confused-about-rich-internet-application-technologies/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>AIR with Flex video tutorial 1: Hello World</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/05/air-with-flex-video-tutorial-1-hello-world/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/05/air-with-flex-video-tutorial-1-hello-world/#comments</comments>
		<pubDate>Sun, 04 May 2008 19:01:15 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flexbuilder]]></category>
		<category><![CDATA[helloworld]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=288</guid>
		<description><![CDATA[<p>I spent 10 minutes after dinner today creating this short 4 min long <a href="http://www.adobe.com/products/air/">Adobe AIR</a> Hello World video tutorial. In this tutorial I show how to use <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email">Flex Builder 3</a> (development tool for <a href="http://www.adobe.com/products/flex/">Flex</a>) to create your very first Flex based AIR application. </p>
<p>FlexBuilder is not a requirement for writing Flex based AIR applications, although it makes things quite easy. I&#8217;ll show how to make AIR applications without using FlexBuilder with just the Flex SDK in another tutorial. </p>
<p>I hope to make more of these quick tutorials whenever I have some free time .. I&#8217;ve used <a href="http://www.jingproject.com/">Jing</a> to make the video and its kinda lame, so if you know a good and not too expensive option for screen recording on a mac please let me know.</p>
<p>Also, do let me know what you think of the tutorial.</p>
<p><a href='http://weblog.mrinalwadhwa.com/tutorials/AIR%20Video%20Tutorial%201%20-%20Hello%20World.swf'><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/2008-05-04_2256.png" alt="Building AIR applications with Flex: hello World" title="AIR Video Tutorial 1" width="448" height="270" class="aligncenter size-full wp-image-289" /></a></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/05/air-with-flex-video-tutorial-1-hello-world/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Working from home</title>
		<link>http://weblog.mrinalwadhwa.com/2008/05/02/working-from-home/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/05/02/working-from-home/#comments</comments>
		<pubDate>Fri, 02 May 2008 00:03:45 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[mrinal wadhwa]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[work from home]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=279</guid>
		<description><![CDATA[<p>As many of you know, <a href="http://weblog.mrinalwadhwa.com/2008/02/03/im-a-rich-internet-consultant/">I have been working from home</a> for the past 3 months .. its been a good experience and I think I can continue to work like this on a long term basis. </p>
<p>I have converted a corner of my apartment into my office and I thought it&#8217;ll be fun to share a few pictures of where I work, so here they are ..<!--more--> </p>
<p>&nbsp;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/desk.jpg" alt="My Desk" title="desk" width="400" class="aligncenter size-full wp-image-281" /><br />
<!--more--><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/bookshelf.jpg" alt="My Bookshelf" title="bookshelf" width="400"  class="aligncenter size-full wp-image-280" /></p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/posters.jpg" alt="Flex Framework Posters" title="posters" width="400"  class="aligncenter size-full wp-image-283" /></p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/05/monitor.jpg" alt="MacBook and monitor" title="monitor" width="325" class="aligncenter size-full wp-image-282" /></p>
<p><!--more--></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/05/02/working-from-home/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
