<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Why Adobe AIR is not Ready for Enterprise Deployment</title>
	<atom:link href="http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/feed/" rel="self" type="application/rss+xml" />
	<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/</link>
	<description>All conjecture, minimal substance</description>
	<lastBuildDate>Thu, 22 Jul 2010 01:19:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Dayvson &#8211; comentando sobre TI &#187; Adobe Air 2.0 terá suporte a multi-touch, IPv6 e consumirá menos CPU</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-4884</link>
		<dc:creator>Dayvson &#8211; comentando sobre TI &#187; Adobe Air 2.0 terá suporte a multi-touch, IPv6 e consumirá menos CPU</dc:creator>
		<pubDate>Mon, 02 Nov 2009 06:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-4884</guid>
		<description>[...] que uso, Twhril, fica constantemente ocupando entre 60 e 80 MB de memória sempre (ao menos nunca chegou a 670). Enquanto parte da responsabilidade por isso pode ser colocada no programador do aplicativo, a [...]</description>
		<content:encoded><![CDATA[<p>[...] que uso, Twhril, fica constantemente ocupando entre 60 e 80 MB de memória sempre (ao menos nunca chegou a 670). Enquanto parte da responsabilidade por isso pode ser colocada no programador do aplicativo, a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adobe Air 2.0 terá suporte a multi-touch, IPv6 e consumirá menos CPU - Bem vindo!</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-4882</link>
		<dc:creator>Adobe Air 2.0 terá suporte a multi-touch, IPv6 e consumirá menos CPU - Bem vindo!</dc:creator>
		<pubDate>Sun, 01 Nov 2009 17:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-4882</guid>
		<description>[...] que uso, Twhril, fica constantemente ocupando entre 60 e 80 MB de memória sempre (ao menos nunca chegou a 670). Enquanto parte da responsabilidade por isso pode ser colocada no programador do aplicativo, a [...]</description>
		<content:encoded><![CDATA[<p>[...] que uso, Twhril, fica constantemente ocupando entre 60 e 80 MB de memória sempre (ao menos nunca chegou a 670). Enquanto parte da responsabilidade por isso pode ser colocada no programador do aplicativo, a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-3444</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Sat, 20 Jun 2009 05:22:57 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-3444</guid>
		<description>To be fair to AIR, the latest generations of Twitter apps like Seesmic Desktop and TweetDeck are much much better at memory management than earlier applications like Twhirl. I can run them 24/7 and memory footprints stabilize at around 200 MB or so.

This makes me believe that the memory problem is not so much with the language, but with the programmers. I guess AIR developers nowadays are just more aware of the memory management issues you described.

Still boggles me that a simple AIR app like the FriendFeed Notifier can use up to 230 MB of RAM for what little it does.

This is where I am hoping that the upcoming Silverlight 3 out-of-browser experience can deliver desktop-based apps with a much tighter memory footprint than comparable Adobe AIR apps.</description>
		<content:encoded><![CDATA[<p>To be fair to AIR, the latest generations of Twitter apps like Seesmic Desktop and TweetDeck are much much better at memory management than earlier applications like Twhirl. I can run them 24/7 and memory footprints stabilize at around 200 MB or so.</p>
<p>This makes me believe that the memory problem is not so much with the language, but with the programmers. I guess AIR developers nowadays are just more aware of the memory management issues you described.</p>
<p>Still boggles me that a simple AIR app like the FriendFeed Notifier can use up to 230 MB of RAM for what little it does.</p>
<p>This is where I am hoping that the upcoming Silverlight 3 out-of-browser experience can deliver desktop-based apps with a much tighter memory footprint than comparable Adobe AIR apps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Ohms</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-3439</link>
		<dc:creator>Justin Ohms</dc:creator>
		<pubDate>Fri, 19 Jun 2009 23:22:32 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-3439</guid>
		<description>It has been my experience that the largest culprit for memory bloat in AIR (and Flex/AS 3 in general) applications are event listeners.  By default when you attach an event listener it does not get garbage collected if you remove the object. 

There IS however an easy way around this, you can use weak references on your listeners.  I&#039;ve now gone to always using weak referenced event listeners unless I have a reason not to.  The useWeakReference argument is the 5th argument on the the addEventListener method it&#039;s a bool and defaults to false.

What I find confusing in Adobe&#039;s decision is the choice to make this the 3rd OPTIONAL argument when creating an event listener AND on top of that to default it to false, it would have made far more sense I think to default it to true.  As it is, to use it you have to provide the other arguments just to fill the positions.</description>
		<content:encoded><![CDATA[<p>It has been my experience that the largest culprit for memory bloat in AIR (and Flex/AS 3 in general) applications are event listeners.  By default when you attach an event listener it does not get garbage collected if you remove the object. </p>
<p>There IS however an easy way around this, you can use weak references on your listeners.  I&#8217;ve now gone to always using weak referenced event listeners unless I have a reason not to.  The useWeakReference argument is the 5th argument on the the addEventListener method it&#8217;s a bool and defaults to false.</p>
<p>What I find confusing in Adobe&#8217;s decision is the choice to make this the 3rd OPTIONAL argument when creating an event listener AND on top of that to default it to false, it would have made far more sense I think to default it to true.  As it is, to use it you have to provide the other arguments just to fill the positions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adobe AIR Memory Footprint &#124; Adobe AIR™ Applications</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-3336</link>
		<dc:creator>Adobe AIR Memory Footprint &#124; Adobe AIR™ Applications</dc:creator>
		<pubDate>Sun, 07 Jun 2009 16:00:47 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-3336</guid>
		<description>[...] too. But it turns out Adobe AIR applications have a large memory footprint, Jonathan Wong post an article about the memory footprint on Twhirl, in one day Twhirl use 670 MB of memory. That is a very large size, imagine if Twhirlactive for a [...]</description>
		<content:encoded><![CDATA[<p>[...] too. But it turns out Adobe AIR applications have a large memory footprint, Jonathan Wong post an article about the memory footprint on Twhirl, in one day Twhirl use 670 MB of memory. That is a very large size, imagine if Twhirlactive for a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abhishek</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-1171</link>
		<dc:creator>Abhishek</dc:creator>
		<pubDate>Fri, 05 Dec 2008 12:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-1171</guid>
		<description>Hello Jon,
Your post is dated June 02, 2008. I hope you must have changed your opinion by now.

Do check cyn.in Desktop (Adobe AIR) app. cyn.in is an open source group collaboration software for enterprise. 

cyn.in desktop provides activity stream of main cyn.in system to users and enables them to view, comment or discuss the content or context right there without taking them to web browser. It also serves as enterprise micro-blogging or presence system. A must review for you.
cyn.in Desktop is available here:

http://cyn.in/get-cynin/download-cynin-desktop-client</description>
		<content:encoded><![CDATA[<p>Hello Jon,<br />
Your post is dated June 02, 2008. I hope you must have changed your opinion by now.</p>
<p>Do check cyn.in Desktop (Adobe AIR) app. cyn.in is an open source group collaboration software for enterprise. </p>
<p>cyn.in desktop provides activity stream of main cyn.in system to users and enables them to view, comment or discuss the content or context right there without taking them to web browser. It also serves as enterprise micro-blogging or presence system. A must review for you.<br />
cyn.in Desktop is available here:</p>
<p><a href="http://cyn.in/get-cynin/download-cynin-desktop-client" rel="nofollow">http://cyn.in/get-cynin/download-cynin-desktop-client</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-1142</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Wed, 19 Nov 2008 16:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-1142</guid>
		<description>Thanks for dropping by, xVisage.

Perhaps Adobe decided to make a trade-off - allowing advanced developers to better optimize and take control over their code, in exchange for lesser developers producing crappier, memory-bloated applications. It was a decision Adobe made,and we all live with it.

You would think though, more and more AS3 developers should be aware of the new garbage collection behavior and optimize their apps accordingly. However, you&#039;ll be surprised how many search referrals I still get each day on this article for searches on terms like &quot;Adobe&quot;, &quot;AIR&quot;, &quot;memory&quot;, &quot;bloat&quot;, &quot;problem&quot;.</description>
		<content:encoded><![CDATA[<p>Thanks for dropping by, xVisage.</p>
<p>Perhaps Adobe decided to make a trade-off &#8211; allowing advanced developers to better optimize and take control over their code, in exchange for lesser developers producing crappier, memory-bloated applications. It was a decision Adobe made,and we all live with it.</p>
<p>You would think though, more and more AS3 developers should be aware of the new garbage collection behavior and optimize their apps accordingly. However, you&#8217;ll be surprised how many search referrals I still get each day on this article for searches on terms like &#8220;Adobe&#8221;, &#8220;AIR&#8221;, &#8220;memory&#8221;, &#8220;bloat&#8221;, &#8220;problem&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: xVisage</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-1141</link>
		<dc:creator>xVisage</dc:creator>
		<pubDate>Wed, 19 Nov 2008 16:05:40 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-1141</guid>
		<description>This article is very interesting, many thanks to you Jon ..
I was facing the exact memory consuming issue for my AIR application, it has very simple interface but it retrieves instant updates from a single server on a local network, and there are about 80 client on the network each has the same application and each is doing the same data synchronization with server every 1 second!
first version was a disaster, it reaches ~500 mb of system memory usage by the end of the day, after a little search I found this article by Grant Skinner at adobe website:
http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html

After proper reconstructing to my ActionScript code by keeping an eye on Flash Player memory usage and object listeners week references I finally have a more reliable version of my application that consumes ~50 mb at max.

I agree with Tom, it is definitely a matter of coding and development, the runtime has nothing to do with it. may be it is much harder for developer than the old days, but I think this is a very useful feature, it make a developer taking full control over his code and performance, nothing fancy behind the scenes done by the runtime and the developer doesn&#039;t know or understand.</description>
		<content:encoded><![CDATA[<p>This article is very interesting, many thanks to you Jon ..<br />
I was facing the exact memory consuming issue for my AIR application, it has very simple interface but it retrieves instant updates from a single server on a local network, and there are about 80 client on the network each has the same application and each is doing the same data synchronization with server every 1 second!<br />
first version was a disaster, it reaches ~500 mb of system memory usage by the end of the day, after a little search I found this article by Grant Skinner at adobe website:<br />
<a href="http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html" rel="nofollow">http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html</a></p>
<p>After proper reconstructing to my ActionScript code by keeping an eye on Flash Player memory usage and object listeners week references I finally have a more reliable version of my application that consumes ~50 mb at max.</p>
<p>I agree with Tom, it is definitely a matter of coding and development, the runtime has nothing to do with it. may be it is much harder for developer than the old days, but I think this is a very useful feature, it make a developer taking full control over his code and performance, nothing fancy behind the scenes done by the runtime and the developer doesn&#8217;t know or understand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adobe Air not for prime time &#171; Fatguppy&#8217;s Weblog</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-146</link>
		<dc:creator>Adobe Air not for prime time &#171; Fatguppy&#8217;s Weblog</dc:creator>
		<pubDate>Sat, 12 Jul 2008 16:14:36 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-146</guid>
		<description>[...] July 12, 2008 at 4:14 pm (Uncategorized)  Some time ago, Jon aka Armchair Theorist was commenting that Why Adobe AIR is not ready for enterprise deployment [...]</description>
		<content:encoded><![CDATA[<p>[...] July 12, 2008 at 4:14 pm (Uncategorized)  Some time ago, Jon aka Armchair Theorist was commenting that Why Adobe AIR is not ready for enterprise deployment [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://armchairtheorist.com/2008/06/02/why-adobe-air-is-not-ready-for-enterprise-deployment/#comment-101</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Sat, 28 Jun 2008 05:36:36 +0000</pubDate>
		<guid isPermaLink="false">http://armchairtheorist.com/?p=69#comment-101</guid>
		<description>Tom, you are probably right.

And to the credit of Twhirl&#039;s developers, shortly after I posted this blog entry, they released version 0.8.2 of Twhirl, which uses significantly less memory than before.

I still maintain that memeory usage is rather high for more or less a single-purpose application, but now my Twhirl memory footprint stabilizes at around 150 MB or so, even left running for a week.

I ain&#039;t no ActionScript guru, but I would be curious why Adobe chose to change the GC behavior for ActionScript 3 as you described, making life harder for developers.

Coming from a Java/J2EE background, I have to say that I feel one of the reasons why Java really took off was because the language made it easy for developers to just focus on implementing the functionality, and not need to worry about memory management and all of the other heavy lifting and plumbing that is necessary behind the scenes. So even lesser developers have a decent chance in being productive and generating acceptable quality code.</description>
		<content:encoded><![CDATA[<p>Tom, you are probably right.</p>
<p>And to the credit of Twhirl&#8217;s developers, shortly after I posted this blog entry, they released version 0.8.2 of Twhirl, which uses significantly less memory than before.</p>
<p>I still maintain that memeory usage is rather high for more or less a single-purpose application, but now my Twhirl memory footprint stabilizes at around 150 MB or so, even left running for a week.</p>
<p>I ain&#8217;t no ActionScript guru, but I would be curious why Adobe chose to change the GC behavior for ActionScript 3 as you described, making life harder for developers.</p>
<p>Coming from a Java/J2EE background, I have to say that I feel one of the reasons why Java really took off was because the language made it easy for developers to just focus on implementing the functionality, and not need to worry about memory management and all of the other heavy lifting and plumbing that is necessary behind the scenes. So even lesser developers have a decent chance in being productive and generating acceptable quality code.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
