<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Mihai CORLAN</title>
	
	<link>http://corlan.org</link>
	<description>Flex, AIR and Rock&amp;Roll</description>
	<lastBuildDate>Wed, 03 Feb 2010 15:56:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/corlan" /><feedburner:info uri="corlan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Flex SDK 3.5a is out</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/EK0-AsOpTZI/</link>
		<comments>http://corlan.org/2010/02/03/flex-sdk-3-5a-is-out/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 10:19:07 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1560</guid>
		<description><![CDATA[Yesterday we released Flex SDK 3.5a, an update to Flex SDK 3.5. This is from the Flex Team blog:
The Flex team has released an update to the 3.5 SDK that addresses an issue with the Flex-based AIR auto-update UI packaged within the SDK (SDK-24766). The refreshed build, SDK 3.5a, has only a few files modified [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday we released Flex SDK 3.5a, an update to Flex SDK 3.5. This is from the Flex Team blog:</p>
<blockquote><p>The Flex team has released an update to the 3.5 SDK that addresses an issue with the Flex-based AIR auto-update UI packaged within the SDK (SDK-24766). The refreshed build, SDK 3.5a, has only a few files modified in order to fix this issue and this change does not affect the signing and caching of the SDK 3.5 RSLs originally released in December.</p>
<p>We encourage all developers using SDK 3.5 to upgrade their build to SDK 3.5a to continue their development. The SDK 3.5a can be found in the &#8220;Latest Milestone Release Build&#8221; table here: <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3" target="_blank">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3.</a></p>
</blockquote>
<p>Basically, this release fixes a <a href="https://bugs.adobe.com/jira/browse/SDK-24766" target="_blank">bug</a> related to the Update Framework: ApplicationUpdaterUI no longer works in Flex 3.5.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/EK0-AsOpTZI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/02/03/flex-sdk-3-5a-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/02/03/flex-sdk-3-5a-is-out/</feedburner:origLink></item>
		<item>
		<title>AIR 2 Beta 2 is out</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/hdLCt1CfK-g/</link>
		<comments>http://corlan.org/2010/02/02/air-2-beta-2-is-out/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:03:41 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1551</guid>
		<description><![CDATA[We are a step closer to the final release of AIR 2 with the release of Beta 2. You can download the new bits from here.
Some of the new features are:

Enhanced Printer Interaction. New printing support allows finer control of the way content is printed from an AIR application, including the choice of printer, paper [...]]]></description>
			<content:encoded><![CDATA[<p>We are a step closer to the final release of AIR 2 with the release of Beta 2. You can download the new bits from <a href="http://labs.adobe.com" target="_blank">here</a>.</p>
<p>Some of the new features are:</p>
<ul>
<li><strong>Enhanced Printer Interaction.</strong> New printing support allows finer control of the way content is printed from an AIR application, including the choice of printer, paper size, and number of copies. The new API allows developer to check for printable area, whether the printer support colors, or if the print job is active.</li>
<li><strong>Support for TLS/SSL socket communication.</strong> You can connect to a server that requires TLSv1 or SSLv3 for socket communication.</li>
<li><strong>IME API and IME Text Input Enhancement. </strong>There are several new features added in this release to support better text input handling with IME software. The new API enhancements are designed for use with the new Flash Text Engine (FTE).</li>
</ul>
<p>If you use the Update Framework, please keep in mind that there are two UI versions: one uses Flex 4 (frameworks/libs/air/applicationupdater_ui.swc) and the other Flex 3 (frameworks/libs/air/flex3/applicationupdater_ui3.swc).</p>
<p>You can not run the Beta 1 applications with this version. You need to update the application descriptor file to &#8220;2.0beta2&#8243;. All the sample applications we provided with the first Beta were updated so you can download them and run them with Beta 2.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/hdLCt1CfK-g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/02/02/air-2-beta-2-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/02/02/air-2-beta-2-is-out/</feedburner:origLink></item>
		<item>
		<title>Building a Drupal module with Flex: Fx Gallery</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/H4cnnoTxo0U/</link>
		<comments>http://corlan.org/2010/02/01/building-a-drupal-module-with-flex-fx-gallery/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:59:30 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1546</guid>
		<description><![CDATA[Maybe your PHP is good, as good as Bruce Lee’s Kung Fu. Maybe your Flex skills are excellent or perhaps you are a beginner. Either way, you may be wondering what you can do with PHP and Flex. Well, don’t wonder anymore! Just come to my webinar and bring your friends with you.
This Friday (February [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe your PHP is good, as good as Bruce Lee’s Kung Fu. Maybe your Flex skills are excellent or perhaps you are a beginner. Either way, you may be wondering what you can do with PHP and Flex. Well, don’t wonder anymore! Just come to my webinar and bring your friends with you.</p>
<p>This Friday (February 5th) I will do a webinar about Fx Gallery. What is Fx Gallery? It is a Drupal module for displaying images. The idea behind this project is pretty simple: there are many popular PHP projects (CMS, blog and forum platforms, electronic shops and so on) and probably for any one you could create a new module/plug-in that uses the expressiveness of Flex to bring more value for its users.</p>
<p>I developed this module together with my friends from <a href="http://www.flexer.info" target="_blank">Fx{r}</a>, Stelian and Andrei. This gallery displays pictures from Flickr, Picasa, and Drupal installations. It was built using the Flex 4 framework, and a little help from Flash Catalyst. At the time of this writing we are cleaning up the code in order to make it available as an open source project. Thus anyone will be able to see how it was made or extend the module by adding new features.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/02/drupalinvite.png"><img class="alignnone size-full wp-image-1547" title="drupalinvite" src="http://corlan.org/wp-content/uploads/2010/02/drupalinvite.png" alt="" width="400" height="250" /></a><br />At the webinar you can see the module in action, learn about its architecture, and hear how it was made.</p>
<p>The event is free, though you have to register <a href="http://drupalimagemodule-mcrl.eventbrite.com" target="_blank">here</a>.</p>
<p> </p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/H4cnnoTxo0U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/02/01/building-a-drupal-module-with-flex-fx-gallery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/02/01/building-a-drupal-module-with-flex-fx-gallery/</feedburner:origLink></item>
		<item>
		<title>Open Screen Project, iPad, and buzzwords</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/2kmDtVVX1yE/</link>
		<comments>http://corlan.org/2010/01/29/open-screen-project-ipad-and-buzzwords/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:43:46 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1530</guid>
		<description><![CDATA[A buzzword (also fashion word and vogue word) is a term of art or technical jargon that has begun to see use in the wider society outside of its originally narrow technical context by nonspecialists who use the term vaguely or imprecisely.
We are deluged with buzzwords on a daily basis, especially because we are working [...]]]></description>
			<content:encoded><![CDATA[<p><em>A buzzword (also fashion word and vogue word) is a term of art or technical jargon that has begun to see use in the wider society outside of its originally narrow technical context by nonspecialists who use the term vaguely or imprecisely.</em></p>
<p>We are deluged with buzzwords on a daily basis, especially because we are working in the IT industry. Though, I think it has become more of an issue lately. I’m too young to know what ‘70 or ‘80 looked like, but I’d bet they were not even close to what we experience today.</p>
<p>I remember the late &#8217;90s and early 2000 years. Everybody was talking about XML. And shortly after that, about his best friends XPath and SAX. It looked like the closest thing to the Holy Grail that humanity ever created. The lesson I learned? It seems we are far better at marketing or PR than applied sciences. We can convince a lot of people about a particular subject, although there is no “scientific” proof to backup our statements.</p>
<p>We are assaulted by new “things”. Some of these things are just buzzwords, while others are the real deal. And they have the potential to change your life for the better. The question is how do you pick up the right ones? When you are a developer or entrepreneur, you can look at these novelties as opportunities. An opportunity to do new kinds of projects (maybe you&#8217;ve gotten bored by doing the same thing over and over), an opportunity to create new products, or an opportunity to get rich <img src='http://corlan.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Unfortunately you are limited by time. You cannot pursue all of them; you have to pick a few.</p>
<p>How can you increase your chances of making a sound decision? I will tell you one method I use: when something new appears I try to look behind the marketing talk. One way to do this is to see if that “thing” is starting to deliver on its promises.</p>
<p>Let’s have a look at the Open Screen Project. When it was first announced, back in 2008, it looked like something extremely cool. At the same time, I bet many people thought it couldn&#8217;t possibly be a success. I mean its mission is to “enable consumers to engage with rich Internet experiences seamlessly across any device, anywhere”, but in order to do this, Adobe needed to work with companies from different industries (chipset manufacturers, telco companies, publishers, networks, and so on) and most likely with companies that otherwise compete against each other.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/osp_partners1.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="osp_partners" src="http://corlan.org/wp-content/uploads/2010/01/osp_partners_thumb.jpg" border="0" alt="osp_partners" width="502" height="279" /></a></p>
<p>A little more than a year after the launch, the partners list looks amazing and the project is delivering on the promises: we have demoed a prerelease version of Flash Player 10.1 running on Net PCs and on a number of smartphones (Nokia, Motorola, Google, Toshiba, HTC, Palm). By working close with our partners we were able to tweak the Flash Player to make the most out of the hardware platform and at the same time increase battery life and decrease memory usage (early tests showed an improvement by 87% of rendering performance and a 55% reduction in memory consumption). This means you can watch video for 3.4 hours and play games for 6.5 hours on mobiles.</p>
<p>I think the key element to take away is this: all these partners realized that the Flash Platform can help their platforms to bring more value to consumers. And they realized that by working with Adobe they can be sure they will provide great experience to their users. Needless to say that Apple is not a partner of Open Screen Project and it doesn’t look like it wants to be anytime soon.</p>
<p>And this brings me to Apple’s latest device, iPad. Apple claims that iPad is “the best way to experience the web”. I think this is, to say the least, a big overstatement. Like it or not, plug-ins are part of the today&#8217;s web. Java, Flash Player, Silverlight, Unity 3D are examples of plug-ins that move the web forward and are used by millions of people out there. And what it happens when you surf to any of the web sites that depend on these plug-ins on an iPad? Nothing. Literally. Because iPad doesn’t support plug-ins. In fact you can’t even install another web browser. Apple is acting like a guardian or a “benevolent” dictator and decides for you what is good or bad for you. I said it <a href="http://corlan.org/2009/10/16/thoughts-on-the-mobile-world/" target="_blank">before</a> but I will say it again. Maybe because I was born and raised in a communist country I’m extremely sensitive to products or companies who “think” for me by limiting my liberty. And because I’m free, I can choose to buy or not. Thus, I am the proud user of a MacBook, but I don’t own an iPhone nor do I want to buy an iPad in its current incarnation.</p>
<p>PS. You can see <a href="http://theflashblog.com/?p=1703" target="_blank">here</a> an illustration of how a big part of the web is seen on iPad.</p>
<p>Later Edit: <a href="http://www.mikechambers.com/blog/2010/01/28/some-personal-thoughts-on-apple-and-the-trend-towards-closed-platforms/" target="_blank">Mike Chambers</a> has a great take on another fear I have, fueled by the moves Apple has made lately.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/2kmDtVVX1yE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/29/open-screen-project-ipad-and-buzzwords/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/29/open-screen-project-ipad-and-buzzwords/</feedburner:origLink></item>
		<item>
		<title>Thoughts on RIA and user experience</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/3iV0b25_6ZE/</link>
		<comments>http://corlan.org/2010/01/25/thoughts-on-ria-and-user-experience/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 12:48:29 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1517</guid>
		<description><![CDATA[Last December I presented the Flash Platform to a group of students. And much to my surprise they didn’t know what RIA is or what the common challenges are when developing web applications.
After the event, I spent some time thinking of a better way to explain RIA to people. I came up with this: imagine [...]]]></description>
			<content:encoded><![CDATA[<p>Last December I presented the Flash Platform to a group of students. And much to my surprise they didn’t know what RIA is or what the common challenges are when developing web applications.</p>
<p>After the event, I spent some time thinking of a better way to explain RIA to people. I came up with this: imagine you are in a restaurant in a foreign country and you want to order something to eat. You get the menu and you see the first dish like this:</p>
<p><strong>Dish #1</strong><br /> Water 150 ml, salt 2 gr, sugar 2 gr, 1 onion, 6 tomatoes, 1 red pepper, 1 spoon of olive oil, 1 spoon of vinegar</p>
<p>I bet you’d have a very hard time “understanding” this dish. But what’s the problem? You have all the ingredients, it’s plain English, so it should be easy. Or not?</p>
<p>Now imagine the same restaurant, with the same food, but this time the menu looks like this:</p>
<p><strong>Gazpacho Soup</strong><br /> Ingredients: Tomatoes, Onion, Red Pepper, Olive Oil, Vinegar, Salt</p>
<p>Now we are getting somewhere! You know it is a soup. But still, you may have problems making up your mind, especially if it is your first time eating gazpacho. Maybe you could find additional info by asking the waiter.</p>
<p>Let’s see a third menu. The soup is listed like this:</p>
<p><strong>Gazpacho</strong> (traditional Spanish tomato soup) &#8211; served cold<br /> <em>Ingredients: Tomatoes, Onion, Red Pepper, Olive Oil, Vinegar, Salt</em><br /> Note: You can see this dish below or have a taste at the bar.</p>
<p><img class="aligncenter size-thumbnail wp-image-1518" title="Gazpacho" src="http://corlan.org/wp-content/uploads/2010/01/gazpacho-150x150.jpg" alt="" width="150" height="150" /></p>
<p>I think this time the menu is pretty much perfect. You know what it looks like, you know it is served cold, you can see the ingredients and you can even taste the dish before ordering.</p>
<p>Now, if I go back to my initial challenge, explaining what RIA is to newbie, I&#8217;d say that from all the web apps out there, RIA apps are the closest to the last menu.</p>
<p>I think this is happening a lot. It doesn’t matter how experienced you are, it helps to design the UI and workflows from the point of a view of a chef. Of course a chef would know pretty well what a dish looks like even just by looking at the ingredients. But most people  are not chefs. More likely we are like a tourist in a foreign country trying to figure out what the meal looks like. And making people ask a “waiter” to find their way around is simply a bad practice. They will run to another restaurant/country and stop buying your poorly presented food even if you have top quality ingredients.</p>
<p>We have come a long way from the beginning of the IT era. The hardware is amazing, the software is more powerful than ever. But still, when I look at applications around me I am surprised when I find myself thinking &#8220;Is this the best we can do?&#8221; I suspect that the constraints of the smartphone platforms coupled with the increasing demand for applications for them will lead us to better user experiences, especially for simple applications. And this experience will be “ported” back to desktop/web applications.</p>
<p>What does your perfect menu look like?</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/3iV0b25_6ZE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/25/thoughts-on-ria-and-user-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/25/thoughts-on-ria-and-user-experience/</feedburner:origLink></item>
		<item>
		<title>Mark Anders in da house</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/AK8KtQAIOK0/</link>
		<comments>http://corlan.org/2010/01/21/mark-anders-in-da-house/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:11:26 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1512</guid>
		<description><![CDATA[Next Wednesday (January 27th) at our office we will have a cool event. It will not be a typical technical event with slides because the host will be none other than Mark Anders. He has many stories about Flex, Flash Catalyst and Flash Builder.  So, if you are in Bucharest next week and you want [...]]]></description>
			<content:encoded><![CDATA[<p>Next Wednesday (January 27th) at our office we will have a cool event. It will not be a typical technical event with slides because the host will be none other than Mark Anders. He has many stories about Flex, Flash Catalyst and Flash Builder.  So, if you are in Bucharest next week and you want to know more about the Flash Platform, especially internal stuff from one of the people who started the whole Platform, be there. The event is free, though you have to register <a href="http://markanders.eventbrite.com/" target="_blank">here</a>.</p>
<p>Mark Anders led the creation of .NET, Flex Builder, and Flash Catalyst (yes, before joining Adobe he used to work for Microsoft).</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/AK8KtQAIOK0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/21/mark-anders-in-da-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/21/mark-anders-in-da-house/</feedburner:origLink></item>
		<item>
		<title>WorkflowLab Beta is out</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/jj5zYd_kjNs/</link>
		<comments>http://corlan.org/2010/01/18/workflowlab-beta-is-out/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 08:41:29 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1506</guid>
		<description><![CDATA[Last week we launched WorkflowLab Beta. This AIR application can help you to learn about workflows used by designers, developers, and program managers to create applications. You can build your own workflows and you can share them with others.

These are the new features:

Custom Tool Support: Author workflows using customized tools from a selection of types [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we launched <a href="http://labs.adobe.com/technologies/workflowlab/" target="_blank">WorkflowLab Beta</a>. This AIR application can help you to learn about workflows used by designers, developers, and program managers to create applications. You can build your own workflows and you can share them with others.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/wlab.jpg"><img class="alignnone size-medium wp-image-1507" title="wlab" src="http://corlan.org/wp-content/uploads/2010/01/wlab-300x205.jpg" alt="" width="300" height="205" /></a></p>
<p>These are the new features:</p>
<ul>
<li><strong>Custom Tool Support</strong>: Author workflows using customized tools from a selection of types including applications, frameworks, libraries, services, vendors, people or resources </li>
<li><strong>Categories</strong>: Classify workflow tasks or activities using color coded customizable categories </li>
<li><strong>Duration Grid</strong>: Overlay tasks on a customizable duration grid to add temporal context to workflows </li>
<li><strong>Completion Status</strong>: Monitor and track your workflow progress by applying completion statuses to your workflow tasks </li>
<li><strong>Rich Text Editing</strong>: Enhance your workflow task annotations with rich text editing capabilities and inline web links </li>
<li><strong>Command Bar</strong>: Improve your efficiency in creating workflows using the new command bar for point and click authoring capabilities </li>
<li><strong>Associated Link</strong>: Associate web links with workflow tasks for additional task background or to associate with related content on the Internet or internal networks </li>
<li><strong>Search for Tool</strong>: Search within the Adobe tool list for fast selection of related tools to associate to tasks </li>
<li><strong>Updated Workflow Starting Points</strong>: Revised workflow starting points that take advantage of new Beta features </li>
<li><strong>Status Bar</strong>: Get additional feedback within the application through the new status bar </li>
<li><strong>Collapsible Details Panel</strong>: Maximize your workflow authoring workspace by hiding the detail panel. </li>
<li><strong>Duplicate Task</strong>: Quickly take an existing task and duplicate its associated tools, categories and annotation to speed up task authoring</li>
</ul>
<p>The application was built using Flash Catalyst, Flash Builder 4, and Flex.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/jj5zYd_kjNs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/18/workflowlab-beta-is-out/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/18/workflowlab-beta-is-out/</feedburner:origLink></item>
		<item>
		<title>5 Flash applications</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/1ppRpX3-C68/</link>
		<comments>http://corlan.org/2010/01/14/5-flash-applications/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 15:56:47 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://corlan.org/2010/01/14/5-flash-applications/</guid>
		<description><![CDATA[The latest issue of the Edge newsletter has a bunch of interesting articles (Data-centric development in Adobe Flash Builder 4, Object relational mapping for the Adobe AIR developer, An easy way to bring 3D content into your Adobe Flash projects). But the one that caught my attention was The edge of Flash by Rob Ford. [...]]]></description>
			<content:encoded><![CDATA[<p>The latest issue of the <a href="http://www.adobe.com/newsletters/edge/december2009/" target="_blank">Edge newsletter</a> has a bunch of interesting articles (Data-centric development in Adobe Flash Builder 4, Object relational mapping for the Adobe AIR developer, An easy way to bring 3D content into your Adobe Flash projects). But the one that caught my attention was The edge of Flash by Rob Ford. Rob presents seven Flash projects ranging from personal sites to corporate sites. All these sites are great examples of what a talented designer/developer can achieve today using the Adobe Flash Platform. Out of these seven projects, the closest to my heart was one called <a href="http://machinarium.net/demo/" target="_blank">Machinarium</a>. It is an adventure game and it is so beautifully crafted that my wife couldn’t resist and made me buy the game as a small Christmas gift. For me it was an excuse to remember the Monkey Island 1 days. The scenes are designed with attention to detail, and it feels almost like a Japanese anime (Tekkon Kinkreet <img src='http://corlan.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). If adventure games are your thing and you want to kill some time then I recommend this little gem. The game is created by a Czech company.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/f_01.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="f_01" src="http://corlan.org/wp-content/uploads/2010/01/f_01_thumb.jpg" border="0" alt="f_01" width="400" height="253" /></a></p>
<p><a href="https://secure.infodome.com/index.jsp" target="_blank">InfoDome</a> is a browser based online database solution. You can create a database visually from scratch or you can import an existing one. You can build reports and share live data with remote users. You can integrate the reports and forms with your website. Almost forgot to tell you, the front-end is created with Flex.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/f_02.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="f_02" src="http://corlan.org/wp-content/uploads/2010/01/f_02_thumb.jpg" border="0" alt="f_02" width="400" height="290" /></a></p>
<p><a href="http://agileexpress.sourceforge.net/" target="_blank">Express</a> is an Agile project management tool built with Flex, BlazeDS, and Spring. It includes features such as backlog management, iteration management, and a virtual wall. It is built by some smart Aussies.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/f_03.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="f_03" src="http://corlan.org/wp-content/uploads/2010/01/f_03_thumb.jpg" border="0" alt="f_03" width="400" height="208" /></a></p>
<p><a href="http://www.airanalytics.net/" target="_blank">Air Analytics</a> is a complete analytics solution for Adobe AIR applications. It works online/offline and it is very easy to integrate with your application. You can use the application to track custom numbers and types, OSes, error, app installs,  usage and more. At this is time it is still in beta but it looks promising (on November 5th they reached 1 million items tracked). I think I’m gonna try it myself on my next AIR project.</p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/f_04.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="f_04" src="http://corlan.org/wp-content/uploads/2010/01/f_04_thumb.jpg" border="0" alt="f_04" width="400" height="242" /></a></p>
<p><a href="http://openzoom.org/" target="_blank">OpenZoom</a> offers an SDK for the Flash Platform that enables you to create Zoomable User Interfaces by using high resolution bitmaps. You can use this framework for demos, introductions, presentations and more.</p>
<p> </p>
<p> </p>
<p><a href="http://corlan.org/wp-content/uploads/2010/01/f_05.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="f_05" src="http://corlan.org/wp-content/uploads/2010/01/f_05_thumb.jpg" border="0" alt="f_05" width="400" height="273" /></a></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/1ppRpX3-C68" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/14/5-flash-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/14/5-flash-applications/</feedburner:origLink></item>
		<item>
		<title>Flash Player 10.1 running on Motorola’s Droid phone</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/_Jq-jpZdR9Y/</link>
		<comments>http://corlan.org/2010/01/07/flash-player-10-1-running-on-motorolas-droid-phone/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 06:46:53 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1488</guid>
		<description><![CDATA[Yesterday, we saw a preview of Flash Player 10.1 running on Google&#8217;s phone, today you can watch Flash Player 10.1 running on another Android phone, this time it&#8217;s about a Droid from Motorola.
 

]]></description>
			<content:encoded><![CDATA[<p>Yesterday, we saw a preview of Flash Player 10.1 running on Google&#8217;s phone, today you can watch Flash Player 10.1 running on another Android phone, this time it&#8217;s about a Droid from Motorola.</p>
<p> </p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="256" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="FlashVars" value="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="256" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/_Jq-jpZdR9Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/07/flash-player-10-1-running-on-motorolas-droid-phone/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/07/flash-player-10-1-running-on-motorolas-droid-phone/</feedburner:origLink></item>
		<item>
		<title>Preview of Flash Player 10.1 running on Google’s Nexus One phone</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/P-IJeSG5TUU/</link>
		<comments>http://corlan.org/2010/01/06/preview-of-flash-player-10-1-running-on-googles-nexus-one-phone/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 09:40:27 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1484</guid>
		<description><![CDATA[As you all know by now, Google recently launched their first mobile phone: Nexus One. It is built by HTC and it is running the latest Android version, 2.1.
I saw the demos, and to tell you the truth, I wouldn&#8217;t mind at all having one of these as my primary phone. Especially because this phone [...]]]></description>
			<content:encoded><![CDATA[<p>As you all know by now, Google recently launched their first mobile phone: Nexus One. It is built by HTC and it is running the latest Android version, 2.1.</p>
<p>I saw the demos, and to tell you the truth, I wouldn&#8217;t mind at all having one of these as my primary phone. Especially because this phone will run Flash Player 10.1 pretty soon. Until then you can watch Adrian Ludwig demoing a couple of web sites that use Flash (just to be clear Flash Player 10.1 for mobiles is not available yet).</p>
<p> </p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="256" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="FlashVars" value="fileID=4836&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=4836&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="256" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=4836&amp;context=64&amp;embeded=true&amp;environment=production" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/P-IJeSG5TUU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2010/01/06/preview-of-flash-player-10-1-running-on-googles-nexus-one-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2010/01/06/preview-of-flash-player-10-1-running-on-googles-nexus-one-phone/</feedburner:origLink></item>
		<item>
		<title>Proof of life</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/FjQBmaSMGEo/</link>
		<comments>http://corlan.org/2009/12/23/proof-of-life/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 16:33:27 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/12/23/proof-of-life/</guid>
		<description><![CDATA[
Another year of evangelism has almost passed. I spent some time looking back these past days and I have to say it was a hell of a year! Of course, it was a lot of work. One day out of four or five I was on the road, sixteen times during weekends. I spoke to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://corlan.org/wp-content/uploads/2009/12/worldmap_2009.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="worldmap_2009" src="http://corlan.org/wp-content/uploads/2009/12/worldmap_2009_thumb.jpg" border="0" alt="worldmap_2009" width="600" height="452" /></a></p>
<p>Another year of evangelism has almost passed. I spent some time looking back these past days and I have to say it was a hell of a year! Of course, it was a lot of work. One day out of four or five I was on the road, sixteen times during weekends. I spoke to almost 3,000 people. With some of these people, I think I became more than acquaintances. If I have to pick only two favorite events,  they would be China and Israel. I had such great events and met amazing people over there!</p>
<p>But leaving out the events from Norway, Denmark, The Netherlands, UK, Portugal, Germany, Croatia, Poland, Italy, Romania or US wouldn’t be fair. Some of these events were driven by the PHP community (The Hague, Stuttgart, Hamburg, Munich, Frankfurt, London, Cluj, Copenhagen) others by Adobe User Groups (Amsterdam, Berlin, Munich, Hamburg, Milan, Zagreb, Bucharest, Gdansk, Craiova, Timisoara, Lisbon, Iasi). Being among passionate people about technology who are so open minded is very refreshing.</p>
<p>As I said, being again amongst the PHP community is great. I truly value opportunities to talk with our community. And not because it is easier because they know the Flash Platform, but because of the quality of feedback they provide us. Some times it is harsh, but not any bit less helpful. Let me tell you a true story from the advertising industry to better illustrate my point. In the ‘90s, a sweets factory invented a process that enabled them to apply a thicker chocolate coating on the biscuits. The factory representative met his account manager from the advertising agency. And he starts talking about this new technology and how great it is, being unique in the whole world. After 20-30 minutes of peroration, the advertising guy interrupts his client quite bluntly saying: “<em>All this is very interesting, but in the end</em> <em>it’s just a ***** biscuit!</em>”.</p>
<p>Sometimes we think that this or that is a mind-blowing feature. And you, the community, help us to recalibrate our view and better understand what is important and what you really want. Nevertheless, I think our job of telling the Flash Platform story to the world has become increasingly easier. All the work done around the Flex Framework, the new tools, Flash Catalyst and workflows (designer-developer, Flash apps for iPhone) are some of the changes to account for this. Probably the biggest selling point is that the Flash Platform bridges the gap between different screen sizes/devices/OSes (Flash Player 10.1).</p>
<p>I want to thank you for attending my events or helping me with them, and for reading my blog. And I wish you happy holidays and may the next year be greater than this one!</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/FjQBmaSMGEo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/23/proof-of-life/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/23/proof-of-life/</feedburner:origLink></item>
		<item>
		<title>Flash Player 10.1  beta 2 is available</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/tXZv2f1rXiQ/</link>
		<comments>http://corlan.org/2009/12/18/flash-player-10-1-beta-2-is-available/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:33:09 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1475</guid>
		<description><![CDATA[You can download the latest beta for Flash Player 10.1 (for PCs and Netbooks) from here. What&#8217;s new? The global error handler is there, and you&#8217;ll find debug versions this time too  
Additionally, if you want to be among the first to try Flash Player 10.1 beta on a Palm Pre smartphone, you can [...]]]></description>
			<content:encoded><![CDATA[<p>You can download the latest beta for Flash Player 10.1 (for PCs and Netbooks) from <a href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">here</a>. What&#8217;s new? The global error handler is there, and you&#8217;ll find debug <a href="http://labs.adobe.com/downloads/flashplayer10.html" target="_blank">versions</a> this time too <img src='http://corlan.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Additionally, if you want to be among the first to try Flash Player 10.1 beta on a Palm Pre smartphone, you can register <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashplayer10_signup" target="_blank">here</a>.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/tXZv2f1rXiQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/18/flash-player-10-1-beta-2-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/18/flash-player-10-1-beta-2-is-available/</feedburner:origLink></item>
		<item>
		<title>Help shape the future of Flex, Flash Catalyst, and Flash Builder</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/DVClkChQcPk/</link>
		<comments>http://corlan.org/2009/12/18/help-shape-the-future-of-flex-flash-catalyst-and-flash-builder/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 21:32:36 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1470</guid>
		<description><![CDATA[&#8230; and get a chance to win a nice gift in the process!
If you have 15 minutes to spare, then click here to fill a survey. You can literally shape the future versions of our tools and frameworks.
I know this doesn&#8217;t matter , but just in case you want to know, the prizes are:

One Apple [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; and get a chance to win a nice gift in the process!</p>
<p>If you have 15 minutes to spare, then click <a href="https://www.evansresearchonline.com/s.php?s=FLUS&amp;d=SMS:1:EN:0:0:3" target="_blank">here</a> to fill a survey. You can literally shape the future versions of our tools and frameworks.</p>
<p>I know this doesn&#8217;t matter , but just in case you want to know, the prizes are:</p>
<ul>
<li>One Apple 64 GB iPod Touch (valued at $399)</li>
<li>One Panasonic Lumix DMC-TZ5K 9 MP Digital Camera with 10x zoom (valued at $350)</li>
<li>One of two $250 gift cards from Amazon</li>
<li>One of five $100 gift cards from Amazon</li>
</ul>
<p>LATER UPDATE: Unfortunately, the prizes are only for those living in North America.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/DVClkChQcPk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/18/help-shape-the-future-of-flex-flash-catalyst-and-flash-builder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/18/help-shape-the-future-of-flex-flash-catalyst-and-flash-builder/</feedburner:origLink></item>
		<item>
		<title>AIR 2 and Flash Player 10.1 samples added to Tour de Flex</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/s4Wd87Wua6s/</link>
		<comments>http://corlan.org/2009/12/16/air-2-and-flash-player-10-1-samples-added-to-tour-de-flex/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 11:38:20 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1464</guid>
		<description><![CDATA[If you open the Tour de Flex application today you&#8217;ll get an update and among other things, you&#8217;ll see samples for AIR 2 and Flash Player 10.1 features.

Did you try AIR 2? If so, what do you think?
]]></description>
			<content:encoded><![CDATA[<p>If you open the Tour de Flex application today you&#8217;ll get an update and among other things, you&#8217;ll see samples for AIR 2 and Flash Player 10.1 features.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/12/air2_tdf.jpg"><img class="alignnone size-medium wp-image-1465" title="air2_tdf" src="http://corlan.org/wp-content/uploads/2009/12/air2_tdf-300x148.jpg" alt="air2_tdf" width="300" height="148" /></a></p>
<p>Did you try AIR 2? If so, what do you think?</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/s4Wd87Wua6s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/16/air-2-and-flash-player-10-1-samples-added-to-tour-de-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/16/air-2-and-flash-player-10-1-samples-added-to-tour-de-flex/</feedburner:origLink></item>
		<item>
		<title>Why Flash: Interview with Mindomo.com</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/NPkt23nexKI/</link>
		<comments>http://corlan.org/2009/12/15/why-flash-interview-with-mindomo-com/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 09:34:32 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1459</guid>
		<description><![CDATA[Last week I had the pleasure of interviewing Zoltán Lörincz, the guy behind Mindomo.com. Mindomo.com is one of the coolest mind mapping apps out there and it happens to be a Flex application.
I met Zoltán in 2007 when we talked about Flex Builder 2 and what they want to see in Flex Builder 3. At [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I had the pleasure of interviewing Zoltán Lörincz, the guy behind Mindomo.com. Mindomo.com is one of the coolest mind mapping apps out there and it happens to be a Flex application.</p>
<p>I met Zoltán in 2007 when we talked about Flex Builder 2 and what they want to see in Flex Builder 3. At that time Mindomo.com was already in the market, and we knew that we could get a lot of valuable feedback about Flex and Flex Builder from someone who created such a complex app. Since that time they added many new features were added and created a desktop version using AIR. Another interesting feature of their application is the toolbar itself. They implemented probably the only Microsoft Ribbon in Flex out there.</p>
<p>In this interview you can find a short story about the birth of Mindomo.com, and you can learn some of the key features of this application.</p>
<p>I apologize for the image/sound quality. I did this interview remotely and the sound was recorded from the phones.</p>
<p>Enjoy!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8191310&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=8191310&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/NPkt23nexKI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/15/why-flash-interview-with-mindomo-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/15/why-flash-interview-with-mindomo-com/</feedburner:origLink></item>
		<item>
		<title>First iPhone app built in the pre-release program is out</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/Bo8-js5NQuk/</link>
		<comments>http://corlan.org/2009/12/14/first-iphone-app-built-in-the-pre-release-program-is-out/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 17:58:31 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/12/14/first-iphone-app-built-in-the-pre-release-program-is-out/</guid>
		<description><![CDATA[On December 11th, the “Boost your Brain” iPhone application became available on iTunes. This is the first application created in the pre-release program for Flash Professional CS5 that was accepted on iTunes. The creator of this game is Francis Bourre. You can find the application here.


]]></description>
			<content:encoded><![CDATA[<p>On December 11th, the “Boost your Brain” iPhone application became available on iTunes. This is the first application created in the pre-release program for Flash Professional CS5 that was accepted on iTunes. The creator of this game is Francis Bourre. You can find the application <a href="http://itunes.apple.com/fr/app/boost-your-brain/id339492660?mt=8" target="_blank">here</a>.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/12/bb_1.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="bb_1" src="http://corlan.org/wp-content/uploads/2009/12/bb_1_thumb.jpg" border="0" alt="bb_1" width="642" height="472" /></a></p>
<p><a href="http://corlan.org/wp-content/uploads/2009/12/bb_2.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="bb_2" src="http://corlan.org/wp-content/uploads/2009/12/bb_2_thumb.jpg" border="0" alt="bb_2" width="642" height="472" /></a></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/Bo8-js5NQuk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/14/first-iphone-app-built-in-the-pre-release-program-is-out/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/14/first-iphone-app-built-in-the-pre-release-program-is-out/</feedburner:origLink></item>
		<item>
		<title>FlexPMD Eclipse plug-in available</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/unyBEhr1wl4/</link>
		<comments>http://corlan.org/2009/12/10/flexpmd-eclipse-plug-in-available/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:33:05 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Builder]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1450</guid>
		<description><![CDATA[We just released FlexPMD 1.0, FlexCPD 1.0, FlexMetrics 1.0, and an Eclipse FlexPMD plug-in for Flash Builder (beta for now).
If you haven&#8217;t tried FlexPMD, then you should download the plug-in and test it.
FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as:
* Unused [...]]]></description>
			<content:encoded><![CDATA[<p>We just released FlexPMD 1.0, FlexCPD 1.0, FlexMetrics 1.0, and an Eclipse FlexPMD plug-in for Flash Builder (beta for now).</p>
<p>If you haven&#8217;t tried FlexPMD, then you should <a href="http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin" target="_blank">download</a> the plug-in and test it.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; line-height: 17px; margin: 0px;"><em>FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as:</em></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; line-height: 17px; margin: 0px;"><em>* Unused code (functions, variables, constants, etc.)<br />
* Inefficient code (misuse of dynamic filters, heavy constructors, etc.)<br />
* Over-complex code (nested loops, too many conditionals, etc.)<br />
* Over-long code (classes, methods, etc.)<br />
* Incorrect use of the Flex component lifecycle (commitProperties, etc.)</em></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; line-height: 17px; margin: 0px;">FlexCPD detects copy &amp; pasted code snippets (it reuses the JavaCPD engine).</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; line-height: 17px; margin: 0px;"><span style="line-height: 19px;">You can see FlexPMD in action in these two <a href="http://www.rialvalue.com/blog/2009/12/10/flexpmd-eclipse-plugin-flexpmd-10-flexcpd-10-flexmetrics-released/">screencasts</a>.</span></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/unyBEhr1wl4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/10/flexpmd-eclipse-plug-in-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/10/flexpmd-eclipse-plug-in-available/</feedburner:origLink></item>
		<item>
		<title>Webinar: using PHP and Flash for developing Rich Internet Applications</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/DqLX551bs5Q/</link>
		<comments>http://corlan.org/2009/12/01/webinar-using-php-and-flash-for-developing-rich-internet-applications/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 11:24:23 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1441</guid>
		<description><![CDATA[On December 2nd, together with Roy Ganor from Zend, I will host an e-seminar about PHP and the Flash Platform. We will show you how you can create a Rich Internet Application using the Flex framework, Illustrator, Flash Catalyst, and Flash Builder 4. Then we will show you how to connect the Flex application to [...]]]></description>
			<content:encoded><![CDATA[<p>On December 2nd, together with Roy Ganor from Zend, I will host an e-seminar about PHP and the Flash Platform. We will show you how you can create a Rich Internet Application using the Flex framework, Illustrator, Flash Catalyst, and Flash Builder 4. Then we will show you how to connect the Flex application to a PHP backend and how easy is to debug the PHP and Flex code using Zend Studio 7.1 and Flash Builder 4.</p>
<p>You can register for free <a href="https://zend.webex.com/zend/onstage/g.php?d=570538538" target="_self">here</a>. The webinar will start at 6:00 PM Central European Time (9:00AM Pacific Standard Time) on December 2nd.</p>
<p>LATER UPDATE:</p>
<p>You can download the slides from <a href="http://corlan.org/downloads/PHP_Flex_Webinar.pdf">here</a>, and <span style="text-decoration: line-through;">next week the recording will be available</span> you can watch the recording over <a href="http://www.zend.com/webinar/Studio/webinar-using-php-and-flash-for-developing-rich-internet-applications-20091202.flv" target="_blank">here</a> (you need to have a Zend account).</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/DqLX551bs5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/12/01/webinar-using-php-and-flash-for-developing-rich-internet-applications/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/12/01/webinar-using-php-and-flash-for-developing-rich-internet-applications/</feedburner:origLink></item>
		<item>
		<title>Magnifying Glass AIR 2 application or how to communicate with a Java program from AIR</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/IGfApBZ_9lA/</link>
		<comments>http://corlan.org/2009/11/30/magnifying-glass-air-2-application-or-how-to-communicate-with-a-java-program-from-air/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 06:30:00 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/11/28/magnifying-glass-air-2-application-or-how-to-communicate-with-a-java-program-from-air/</guid>
		<description><![CDATA[My favorite feature in Adobe AIR 2 is, by far, Native Processes: the ability to launch and control and communicate with a native process. It could be any executable on the machine where the AIR application is installed. I think this feature opens up a whole new range of AIR applications. When you add this [...]]]></description>
			<content:encoded><![CDATA[<p>My favorite feature in Adobe AIR 2 is, by far, Native Processes: the ability to launch and control and communicate with a native process. It could be any executable on the machine where the AIR application is installed. I think this feature opens up a whole new range of AIR applications. When you add this feature to the ability to create socket servers, you have a powerful platform to build RIA applications for desktops.</p>
<p>Once I heard that this feature would make it in AIR 2 I was very excited. Why? Well, back in 2008 when we launched AIR 1.0, my fellow evangelist Serge Jespers created one of the coolest AIR applications for the AIR Tour. It was the smallest video player in the world. Basically it let you watch videos in the application icon from the Dock.</p>
<p>The application is extremely cool, but it has a small issue: it is too damn small to be able to see what&#8217;s going on. Being an engineer, I spent some time trying to find an engineering solution. Of course, I could have asked Serge to rewrite the application to make it bigger, but this wouldn’t have been an engineering solution. It would have been something that an accountant or manager would come up with. My solution is to build a second AIR application that can be used to magnify the video played inside the icon. This application would act like a digital magnifying glass.</p>
<p>With AIR 2 I’m finally able to implement the magnifying glass app pretty easily. Below you can see a screenshot of my application in action. It has two windows. The first window is the view port of the magnifying glass. You can see how many frames per second it processes, you can control the amount of zooming, and you can drag it around your screen. The second window displays the magnified image.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/mg_1.jpg"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="mg_1" src="http://corlan.org/wp-content/uploads/2009/11/mg_1_thumb.jpg" border="0" alt="mg_1" width="402" height="292" /></a></p>
<h2>The internals</h2>
<p>How did I do it? The application has two main parts. One part is the AIR application itself. It renders the UI, controls the view port and the zoom factor, and scales the image.  The second part is a Java program that captures a screenshot of a portion of the screen. The Java program is controlled by the AIR application.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7896787&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=7896787&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Using the <em>NativeProcess</em> and <em>NativeProcessStartupInfo</em> classes from AIR 2, you can launch an executable. In order to communicate with the executable you can use standard input and standard output. I wrote the Java program to output the bytes of the screenshot to standard output. It listens to standard input for commands, such as take a shot, set the viewport, or terminate the program. I compiled the Java program as an executable JAR file and placed in the AIR application root folder.</p>
<p>In order to capture the output of the Java program all you have to do is to register a listener on the <em>NativeProcess</em> instance for the standard output events. When you want to send commands you write bytes to the <em>standardInput</em> property of the same object. Here is a snippet of code, for the complete code have a look at the ScreenShotService class from the AIR application.</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; height: 247px; background-color: #f4f4f4; max-height: 200px;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   1:</span> <span style="color: #0000ff">private</span> <span style="color: #0000ff">var</span> nativeProcess:NativeProcess;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   2:</span> <span style="color: #0000ff">private</span> <span style="color: #0000ff">var</span> npInfo:NativeProcessStartupInfo;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   3:</span> <span style="color: #008000">//setting the arguments for starting the Java program</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   4:</span> <span style="color: #0000ff">var</span> arg:Vector.&lt;String&gt; = <span style="color: #0000ff">new</span> Vector.&lt;String&gt;;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   5:</span> arg.push(<span style="color: #006080">"-jar"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   6:</span> arg.push(File.applicationDirectory.resolvePath(<span style="color: #006080">"screenshot.jar"</span>).nativePath);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   7:</span> arg.push(<span style="color: #006080">"130"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   8:</span> arg.push(<span style="color: #006080">"100"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   9:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  10:</span> npInfo = <span style="color: #0000ff">new</span> NativeProcessStartupInfo();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  11:</span> <span style="color: #008000">//setting the path to the native process</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  12:</span> npInfo.executable = <span style="color: #0000ff">new</span> File(<span style="color: #006080">"/Library/Java/Home/bin/java"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  13:</span> npInfo.arguments = arg;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  14:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  15:</span> nativeProcess = <span style="color: #0000ff">new</span> NativeProcess();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  16:</span> nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onStandardOutputData);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  17:</span> <span style="color: #008000">//start the process</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  18:</span> nativeProcess.start(npInfo);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  19:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  20:</span> <span style="color: #008000">/**</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  21:</span> <span style="color: #008000"> * Read the data from the standard ouput.</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  22:</span> <span style="color: #008000"> * Before reading a png, first you have to read the length of the image</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  23:</span> <span style="color: #008000"> */</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  24:</span> <span style="color: #0000ff">private</span> <span style="color: #0000ff">function</span> onStandardOutputData(e:ProgressEvent):<span style="color: #0000ff">void</span> {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  25:</span>     <span style="color: #008000">//reading the available bytes from the standard output buffer of the process</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  26:</span>     nativeProcess.standardOutput.readBytes(_processBuffer, _processBuffer.length, nativeProcess.standardOutput.bytesAvailable);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  27:</span>     ...</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  28:</span> }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  29:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  30:</span> <span style="color: #008000">//sending take command to the Java process</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  31:</span> nativeProcess.standardInput.writeMultiByte(<span style="color: #006080">"take\n"</span>, <span style="color: #006080">"utf-8"</span>);</pre>
</div>
</div>
<p>This is the relevant Java code (you can find the complete code inside the source folder of the application, ScreenShot.java):</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; height: 298px; background-color: #f4f4f4; max-height: 200px;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   1:</span> <span style="color: #008000">/**</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   2:</span> <span style="color: #008000"> * @param width of the screen capture</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   3:</span> <span style="color: #008000"> * @param height of the screen capture</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   4:</span> <span style="color: #008000"> * @param args</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   5:</span> <span style="color: #008000"> */</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   6:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span> main(String[] args) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   7:</span>      <span style="color: #0000ff">if</span> (args.length == 2) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   8:</span>          width = Integer.parseInt(args[0]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   9:</span>          height = Integer.parseInt(args[1]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  10:</span>      }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  11:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  12:</span>     ScreenShot s = <span style="color: #0000ff">new</span> ScreenShot();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  13:</span>     BufferedReader <span style="color: #0000ff">in</span> = <span style="color: #0000ff">new</span> BufferedReader(<span style="color: #0000ff">new</span> InputStreamReader(System.<span style="color: #0000ff">in</span>));</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  14:</span>     String text = <span style="color: #006080">""</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  15:</span>     String[] tokens;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  16:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  17:</span>     <span style="color: #0000ff">while</span> (<span style="color: #0000ff">true</span>) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  18:</span>         <span style="color: #0000ff">try</span> {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  19:</span>             text = <span style="color: #0000ff">in</span>.readLine();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  20:</span>             <span style="color: #0000ff">if</span> (text.equals(<span style="color: #006080">"take"</span>)) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  21:</span>                 s.capturePortion(x, y, width, height);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  22:</span>             } <span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span> (text.equals(<span style="color: #006080">"terminate"</span>)) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  23:</span>                 <span style="color: #0000ff">return</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  24:</span>             } <span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span> (text.length() &gt; 0) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  25:</span>                 tokens = text.split(<span style="color: #006080">"\\|"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  26:</span>                 <span style="color: #0000ff">if</span> (tokens.length &lt; 4)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  27:</span>                     <span style="color: #0000ff">continue</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  28:</span>                 x = Integer.parseInt(tokens[0]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  29:</span>                 y = Integer.parseInt(tokens[1]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  30:</span>                 width = Integer.parseInt(tokens[2]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  31:</span>                 height = Integer.parseInt(tokens[3]);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  32:</span>             }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  33:</span>         } <span style="color: #0000ff">catch</span> (IOException e) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  34:</span>             System.err.println(<span style="color: #006080">"Exception while reading the input. "</span> + e);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  35:</span>         }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  36:</span>     }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  37:</span> }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  38:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  39:</span> <span style="color: #008000">/**</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  40:</span> <span style="color: #008000"> * Capture a portion of the screen</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  41:</span> <span style="color: #008000"> */</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  42:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> capturePortion(<span style="color: #0000ff">int</span> x, <span style="color: #0000ff">int</span> y, <span style="color: #0000ff">int</span> w, <span style="color: #0000ff">int</span> h) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  43:</span>     <span style="color: #0000ff">try</span> {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  44:</span>         <span style="color: #0000ff">if</span> (robot == <span style="color: #0000ff">null</span>)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  45:</span>             robot = <span style="color: #0000ff">new</span> Robot();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  46:</span>         BufferedImage img = robot.createScreenCapture(<span style="color: #0000ff">new</span> Rectangle(x, y, w, h));</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  47:</span>         ByteArrayOutputStream output = <span style="color: #0000ff">new</span> ByteArrayOutputStream();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  48:</span>         ImageIO.write(img, imageType, output);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  49:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  50:</span>         DataOutputStream dataOutputStream = <span style="color: #0000ff">new</span> DataOutputStream(System.<span style="color: #0000ff">out</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  51:</span>         <span style="color: #008000">//output the buffer size</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  52:</span>         dataOutputStream.writeInt(output.size());</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  53:</span>         <span style="color: #008000">//output the buffer</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  54:</span>         dataOutputStream.write(output.toByteArray());</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  55:</span>         dataOutputStream.flush();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  56:</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  57:</span>         output.close();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  58:</span>     } <span style="color: #0000ff">catch</span> (AWTException e) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  59:</span>         System.err.println(<span style="color: #006080">"Exception while capturing screen. "</span> + e);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  60:</span>     } <span style="color: #0000ff">catch</span> (IOException e) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  61:</span>         System.err.println(<span style="color: #006080">"Exception while writting the image bytes. "</span> + e);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">  62:</span>     }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">  63:</span> }</pre>
</div>
</div>
<p>I am by no means a designer. Still, I think I managed to get a decent look of the main application window using Adobe Illustrator and Flash Catalyst. I created the design in Illustrator, and then using Flash Catalyst I transformed the graphics into a Flex application. And finally using Flash Builder 4 I added the logic.</p>
<h2>Source code and native installers</h2>
<p>You can download the Flex project from <a href="http://corlan.org/downloads/MagnifyingGlass.fxp" target="_blank">here</a>, Mac installer from <a href="http://corlan.org/downloads/MagnifyingGlass.dmg" target="_blank">here</a>, and Windows executable from <a href="http://corlan.org/downloads/MagnifyingGlass.exe" target="_blank">here</a>. This program requires Java 5 or newer and the Adobe AIR 2 runtime.</p>
<h2>Things to know when working with Native Processes in AIR</h2>
<p>In order to enable this feature you need to add the <em>extendedDesktop</em> profile to the application descriptor file. Add this tag as a child of the application tag:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4; max-height: 200px;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   1:</span> &lt;supportedProfiles&gt;extendedDesktop&lt;/supportedProfiles&gt;</pre>
</div>
</div>
<p>When using this feature you can’t package your application as an AIR file for distribution. You have to use the native installer. The easiest way to do this is to export for release from Flash Builder (you get the AIR file you normally use to distribute your application). And then you use <em>adt</em> at the command line to create the native installer. If you want a Mac installer you do it on a Mac, if you want a Windows installer you have to do it on a Windows. The command looks like this:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4; max-height: 200px;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   1:</span> adt -package -target native myApp.exe myApp.air</pre>
</div>
</div>
<p>More on how to create native installers for AIR applications <a href="adt -package -target native myApp.exe myApp.air" target="_blank">here</a> (make sure you use the <em>adt</em> from AIR 2 and not one from an older version).</p>
<p>If you see an error like in the picture below when you install an application using the generated native installer, you should create a file named .airappinstall.log in your home folder. This log file can tell you what was wrong. In my case the error was “<em>failed while validating native package: Error: Missing digested package file: .DS_Store starting cleanup of temporary files</em>” (I fixed the problem by deleting the .DS_Store file from the source folder).</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/mg_2.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="mg_2" src="http://corlan.org/wp-content/uploads/2009/11/mg_2_thumb.jpg" border="0" alt="mg_2" width="402" height="377" /></a></p>
<p>Finally, you can check at runtime if the application has extended desktop capabilities by using this:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4; max-height: 200px;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   1:</span> <span style="color: #0000ff">if</span> (NativeProcess.isSupported)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   2:</span>     <span style="color: #008000">//extended desktop profile is available</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #606060">   3:</span> <span style="color: #0000ff">else</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #606060">   4:</span>     //extended desktop profile <span style="color: #0000ff">is</span> not available</pre>
</div>
</div>
<h2>What’s next?</h2>
<p>If you haven’t already, download the Adobe AIR 2 runtime and SDK and play with the new features. You can find a nice article about the new features from AIR 2 on Christian Cantrell’s <a href="http://blogs.adobe.com/cantrell/" target="_blank">blog</a>.</p>
<p>I already have another idea: what about an AIR application that does screen sharing? Keep an eye out I might be able to pull it off!</p>
<p>PS. Many thanks to my friends Chicu and Raul from the Romanian AIR team for their help.</p>
<p><strong>Later Update</strong>: My friend Benjamin Dobler created a nice <a href="http://richapps.de/?p=231" target="_blank">screen recording application</a> with AIR 2 (it captures the sound as well). Although for now the source code is not available, I still think it is worth having a look.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/IGfApBZ_9lA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/30/magnifying-glass-air-2-application-or-how-to-communicate-with-a-java-program-from-air/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/30/magnifying-glass-air-2-application-or-how-to-communicate-with-a-java-program-from-air/</feedburner:origLink></item>
		<item>
		<title>Flex Builder 3 Alpha for Linux is out</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/PGOAaS3zQVo/</link>
		<comments>http://corlan.org/2009/11/25/flex-builder-3-alpha-for-linux-is-out/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 07:45:18 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1422</guid>
		<description><![CDATA[If you use Linux then I have good news for you: we just released (November 24th 2009) a new version of the Flex Builder 3 plug-in for Linux. You can grab the bits from here.
There are no new features added to this update. However this version was tested on the latest Linux distros and the [...]]]></description>
			<content:encoded><![CDATA[<p>If you use Linux then I have good news for you: we just released (November 24th 2009) a new version of the Flex Builder 3 plug-in for Linux. You can grab the bits from <a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/" target="_blank">here</a>.</p>
<p>There are no new features added to this update. However this version was tested on the latest Linux distros and the hardcoded expiration time has been extended beyond December 1st (this is the timeout for the previous release).</p>
<p>Click <a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/releasenotes.html" target="_blank">here</a> to see the release notes.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/PGOAaS3zQVo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/25/flex-builder-3-alpha-for-linux-is-out/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/25/flex-builder-3-alpha-for-linux-is-out/</feedburner:origLink></item>
		<item>
		<title>Acrobat.com reloaded</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/jdeP1RnJQjA/</link>
		<comments>http://corlan.org/2009/11/22/acrobat-com-reloaded/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 21:38:26 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/11/22/acrobat-com-reloaded/</guid>
		<description><![CDATA[We just launched a new version of Acrobat.com our online solution for office applications. There is a text editor (Buzzword), a spreadsheet editor (Tables), a presentation tool (Presentation), and a web conference tool (Meetings with screen sharing, voice and video). And because this is hosted in the Cloud, you can uset it wherever you have [...]]]></description>
			<content:encoded><![CDATA[<p>We just launched a new version of <a href="http://acrobat.com" target="_blank">Acrobat.com</a> our online solution for office applications. There is a text editor (Buzzword), a spreadsheet editor (Tables), a presentation tool (Presentation), and a web conference tool (Meetings with screen sharing, voice and video). And because this is hosted in the Cloud, you can uset it wherever you have a web browser and Flash Player, you can upload files to your account and share them with other users, you can work on the same document at the same time (text documents, spreadsheets), and you can create PDF files from the documents you create using this suite, or from documents from your computer.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/acrobat1.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="acrobat1" src="http://corlan.org/wp-content/uploads/2009/11/acrobat1_thumb.jpg" border="0" alt="acrobat1" width="242" height="142" /></a></p>
<p>Acrobat.com is offered as a free product and premium one. Some of the differences between them are related to how many people can connect to your meeting room or how many PDF files you can create. But believe me, even the free version offers a lot of functionality. I’ve been using this suite for the past year and I’m quite happy.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/acrobat2.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="acrobat2" src="http://corlan.org/wp-content/uploads/2009/11/acrobat2_thumb.jpg" border="0" alt="acrobat2" width="242" height="110" /></a></p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/acrobat3.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="acrobat3" src="http://corlan.org/wp-content/uploads/2009/11/acrobat3_thumb.jpg" border="0" alt="acrobat3" width="242" height="122" /></a></p>
<p>There is an AIR application that enables “dragging and dropping files and folders from your local computer directly into your Acrobat.com account, and browsing, previewing, sharing or publishing files easily from your computer”.</p>
<p>If you have a BlackBerry or an iPhone you can try the Acrobat.com mobile application. Using this app you can view or fax documents from your account, and you can upload document images from your phone and have them automatically stored as a PDF (OCR is performed).</p>
<p>And finally if you run on Windows, you can install the Acrobat.com Outlook add-in. When you want to send a document to others, you can have the document uploaded to your Acrobat.com account instead of loading your mail server with this task. Or you can invite people to your meeting room right from Outlook.</p>
<p>Try it and don’t forget to drop a comment!</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/jdeP1RnJQjA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/22/acrobat-com-reloaded/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/22/acrobat-com-reloaded/</feedburner:origLink></item>
		<item>
		<title>Memory profiler for AIR apps created with HTML/CSS/JS</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/5OhEgHR8SP4/</link>
		<comments>http://corlan.org/2009/11/18/memory-profiler-for-air-apps-created-with-htmlcssjs/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 08:41:40 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1401</guid>
		<description><![CDATA[If you create AIR applications using HTML/CSS/JavaScript then you should have a look at the memory profiler feature from Aptana Studio for AIR 2. Here is a screenshot of the memory profiler:

You can see a screencast over here and you can download Aptana Studio from here and try this feature for yourself.
]]></description>
			<content:encoded><![CDATA[<p>If you create AIR applications using HTML/CSS/JavaScript then you should have a look at the memory profiler feature from Aptana Studio for AIR 2. Here is a screenshot of the memory profiler:</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/air_profiler.png"><img class="alignnone size-medium wp-image-1402" title="air_profiler" src="http://corlan.org/wp-content/uploads/2009/11/air_profiler-300x186.png" alt="air_profiler" width="300" height="186" /></a></p>
<p>You can see a screencast over <a href="http://vimeo.com/channels/studio#7674498" target="_blank">here</a> and you can download Aptana Studio from <a href="http://aptana.org/" target="_blank">here</a> and try this feature for yourself<a href="http://aptana.org/" target="_blank"></a>.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/5OhEgHR8SP4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/18/memory-profiler-for-air-apps-created-with-htmlcssjs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/18/memory-profiler-for-air-apps-created-with-htmlcssjs/</feedburner:origLink></item>
		<item>
		<title>Transylvania Flex Group hosts a new RIA event</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/hSpJ9c73KLw/</link>
		<comments>http://corlan.org/2009/11/18/transylvania-flex-group-hosts-a-new-ria-event/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 06:00:26 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1397</guid>
		<description><![CDATA[On November 21st in Cluj, Romania there will be a new RIA event hosted by the local Flex User Group. The name of the event is Flex vs Silverlight vs AJAX. My friend who organizes the PHP Geek meetings from Cluj, Mihai Brehar will be the moderator.
The event starts at 10:30 AM and ends at [...]]]></description>
			<content:encoded><![CDATA[<p>On November 21st in Cluj, Romania there will be a new RIA event hosted by the local Flex User Group. The name of the event is Flex vs Silverlight vs AJAX. My friend who organizes the PHP Geek meetings from Cluj, Mihai Brehar will be the moderator.</p>
<p>The event starts at 10:30 AM and ends at 2.20PM. Although the event is free, you have to <a href="http://fsacluj.eventbrite.com/" target="_blank">register</a>. The event&#8217;s location is Betfair Romania, 69-71 Brancusi street, Cluj-Napoca.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/fl_vs_ajax_vs_silverlight_mic.jpg"><img class="alignnone size-medium wp-image-1398" title="fl_vs_ajax_vs_silverlight_mic" src="http://corlan.org/wp-content/uploads/2009/11/fl_vs_ajax_vs_silverlight_mic-212x300.jpg" alt="fl_vs_ajax_vs_silverlight_mic" width="212" height="300" /></a></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/hSpJ9c73KLw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/18/transylvania-flex-group-hosts-a-new-ria-event/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/18/transylvania-flex-group-hosts-a-new-ria-event/</feedburner:origLink></item>
		<item>
		<title>Flash Player 10.1 and AIR 2 first public betas</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/ZdG8MP991UY/</link>
		<comments>http://corlan.org/2009/11/17/flash-player-10-1-and-air-2-0-first-public-betas/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 08:06:46 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/11/17/flash-player-10-1-and-air-2-0-first-public-betas/</guid>
		<description><![CDATA[We just released the first public betas for the two client runtimes: Flash Player 10.1 and Adobe AIR 2. You can grab them from here and here.
The cool thing about this release is that there are versions available for all three operating systems Win, Mac OS, and Linux (openSUSE, Fedora, and Ubuntu) right from the [...]]]></description>
			<content:encoded><![CDATA[<p>We just released the first public betas for the two client runtimes: Flash Player 10.1 and Adobe AIR 2. You can grab them from <a href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">here</a> and <a href="http://labs.adobe.com/technologies/air2/" target="_blank">here</a>.</p>
<p>The cool thing about this release is that there are versions available for all three operating systems Win, Mac OS, and Linux (openSUSE, Fedora, and Ubuntu) right from the beginning.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/fp1.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="fp1" src="http://corlan.org/wp-content/uploads/2009/11/fp1_thumb.png" border="0" alt="fp1" width="149" height="150" /></a> <a href="http://corlan.org/wp-content/uploads/2009/11/air2.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="air2" src="http://corlan.org/wp-content/uploads/2009/11/air2_thumb.png" border="0" alt="air2" width="149" height="150" /></a></p>
<p>For now Flash Player 10.1 is available only for x86-based computers/netbooks. Later on we will have other releases with support for mobile.</p>
<p><a href="http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html" target="_blank">Here</a> you can see public demos and interviews for Flash Player 10.1. You can learn more about features like hardware video decoding, graphics acceleration, instance management, multi-touch support, or microphone access.</p>
<p>You can install sample applications for AIR 2 from <a href="http://labs.adobe.com/technologies/air2/samples/">here</a>. Here is a list with the new AIR 2 features:</p>
<ul>
<li>Support for the detection of mass storage devices.</li>
<li>Advanced networking capabilities like secure sockets, UDP support, and the ability to listen on sockets.</li>
<li>Support for native code integration.</li>
<li>The ability to open a file with its default application.</li>
<li>Multi-touch and gesture support.</li>
<li>New APIs for access to raw microphone data.</li>
<li>Webkit update with HTML5/CSS3 support.</li>
<li>Global error handling.</li>
<li>Improved cross-platform printing</li>
<li>Improved security and support for enterprise and government standards.</li>
</ul>
<p>You can read more about this <a href="http://www.adobe.com/devnet/logged_in/rchristensen_air_2.html" target="_blank">here</a> and <a href="http://tv.adobe.com/watch/max-2009-develop/whats-coming-in-adobe-air-2-/" target="_blank">here</a>.</p>
<p>If you have feedback, please don’t be shy!</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/ZdG8MP991UY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/17/flash-player-10-1-and-air-2-0-first-public-betas/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/17/flash-player-10-1-and-air-2-0-first-public-betas/</feedburner:origLink></item>
		<item>
		<title>Cool 3D Game created in Flash made in Japan</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/3KcEgesqTn4/</link>
		<comments>http://corlan.org/2009/11/16/cool-3d-game-created-in-flash-made-in-japan/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 11:17:15 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1381</guid>
		<description><![CDATA[My fellow Japanese evangelist, Teiichi Ota, showed us a cool Flash 3D game made in Japan. You can actually try it for yourself despite having the instructions in Japanese. Here is how to play the game (click here to open the game):
1) You get presented with 10 questions. You&#8217;re supposed to click on one of [...]]]></description>
			<content:encoded><![CDATA[<p>My fellow Japanese evangelist, Teiichi Ota, showed us a cool Flash 3D game made in Japan. You can actually try it for yourself despite having the instructions in Japanese. Here is how to play the game (click <a href="http://www.verbatim.jp/senshuken/">here</a> to open the game):</p>
<p>1) You get presented with 10 questions. You&#8217;re supposed to click on one of the three circles. Just click them randomly.<br />
2) After the 10 questions you get to name your robot using 3 letters. This is easy.<br />
3) Now you have a robot, with all the custom parameters automatically set.<br />
4) You are presented with 3 buttons:</p>
<p>[Random Match]      [Search for Opponent from the Ranking List]<br />
[Challenge the Boss (very strong)]</p>
<p>5) Click whatever button you want.<br />
6) The fight starts. You get to click 3 buttons each once in the battle. Each button represents a special move or weapon.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/jp_1.png"><img class="alignnone size-medium wp-image-1382" title="jp_1" src="http://corlan.org/wp-content/uploads/2009/11/jp_1-300x152.png" alt="jp_1" width="300" height="152" /></a></p>
<p><a href="http://corlan.org/wp-content/uploads/2009/11/jp_2.png"><img class="alignnone size-medium wp-image-1383" title="jp_2" src="http://corlan.org/wp-content/uploads/2009/11/jp_2-300x132.png" alt="jp_2" width="300" height="132" /></a></p>
<p>The image quality is excellent, the design is very clean, and I have to say I&#8217;m really impressed by this game. Behind this application, there are <a href="http://www.imgsrc.co.jp/">IMG SRC/Non-Grid</a>, <a href="http://www.kaibutsu.jp/">Kaibutsu</a>, and <a href="http://roxik.com/">Masayuki Kido</a> (he&#8217;s the one who created the 3D library used by this game).</p>
<p>Not so long ago, Mariko Nishimura (Field Marketing Manager with Adobe Japan) posted a series of articles (<a href="https://xd.adobe.com/#/guestblogger/article/454">Community Power at Adobe MAX</a> and <a href="https://xd.adobe.com/#/guestblogger/article/455">What&#8217;s going on now in the Japanese Flash world</a>) that shed light on the Japanese Flash developers. I think their work and especially the quality of their projects may be a surprise for many of us.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/3KcEgesqTn4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/16/cool-3d-game-created-in-flash-made-in-japan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/16/cool-3d-game-created-in-flash-made-in-japan/</feedburner:origLink></item>
		<item>
		<title>Adobe and RIM collaboration</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/cNHbQDpvMlc/</link>
		<comments>http://corlan.org/2009/11/10/adobe-and-rim-collaboration/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 04:04:24 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[OSP]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1374</guid>
		<description><![CDATA[Today RIM (an Open Screen Project partner) made some interesting announcements for Flash developers at the annual Blackberry Developer Conference. With the upcoming version of Creative Suite there will be additional support for the Blackberry platform.
At the same time we announced together with RIM that we will be optimizing the Adobe AIR runtime and the [...]]]></description>
			<content:encoded><![CDATA[<p>Today RIM (an Open Screen Project partner) made some interesting announcements for Flash developers at the annual Blackberry Developer Conference. With the upcoming version of Creative Suite there will be additional support for the Blackberry platform.</p>
<p>At the same time we announced together with RIM that we will be optimizing the Adobe AIR runtime and the Flex Mobile Framework for the Blackberry platform. This actually makes RIM the first OEM to announce support for these technologies.</p>
<p>You can find additional information on <a href="http://www.flashmobileblog.com/2009/11/09/adobe-and-rim-to-simplify-the-delivery-of-rich-content-and-applications/" target="_blank">Mark Doherty</a>&#8217;s blog and <a href="http://blog.digitalbackcountry.com/2009/11/adobe-and-rim-collaborating-on-tool-support-for-blackberry-devices/">Ryan Stewart&#8217;s</a> blog.</p>
<p>Isn&#8217;t this great news for the Flash community?</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/cNHbQDpvMlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/10/adobe-and-rim-collaboration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/10/adobe-and-rim-collaboration/</feedburner:origLink></item>
		<item>
		<title>PHP and Flex Webinars</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/bS0KotCNMdA/</link>
		<comments>http://corlan.org/2009/11/09/php-and-flex-webinars/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 18:46:01 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1367</guid>
		<description><![CDATA[Last week I visited Zend headquarters, and I had an interesting talk over there. One effect of this meeting is this: we will start to do webinars together with Zend.
If you want to find more about Zend Studio and other products related to PHP from Zend, or learn more about the integration between the Flash [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I visited Zend headquarters, and I had an interesting talk over there. One effect of this meeting is this: we will start to do webinars together with Zend.</p>
<p>If you want to find more about Zend Studio and other products related to PHP from Zend, or learn more about the integration between the Flash Platform and PHP (Flash Catalyst, Flash Builder, Flex framework) you shouldn&#8217;t miss this opportunity. I know that webinars don&#8217;t offer the same experience as in-person events. On the other hand, you can attend them from the comfort of your own home, there is no traveling involved and no need to convince your boss to let you attend the event.</p>
<div><img class="alignnone size-full wp-image-1369" title="a2" src="http://corlan.org/wp-content/uploads/2009/11/a2.png" alt="a2" width="257" height="120" /><img class="alignnone size-full wp-image-1368" title="a1" src="http://corlan.org/wp-content/uploads/2009/11/a1.png" alt="a1" width="257" height="120" /></div>
<p>We haven&#8217;t set the first event date yet, but it should be in the first week of December, and probably it will be in the evening (Central European Time).</p>
<p>Keep an eye on my blog for the exact date and time.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/bS0KotCNMdA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/09/php-and-flex-webinars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/09/php-and-flex-webinars/</feedburner:origLink></item>
		<item>
		<title>AIR 2 Beta notification sign-up</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/R0-4_Zhh6QA/</link>
		<comments>http://corlan.org/2009/11/03/air-2-beta-notification-sign-up/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 05:51:58 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1358</guid>
		<description><![CDATA[If you want to be among the first to test the public beta of AIR 2.0, all you have to do is to sign up over here.
In case you don&#8217;t know what new features are planned, here is a short list:

Native process API
Support for detecting mass storage devices
Improved support for accessibility
Open document API
File promise (file [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to be among the first to test the public beta of AIR 2.0, all you have to do is to sign up over <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_air2_signup" target="_blank">here</a>.</p>
<p>In case you don&#8217;t know what new features are planned, here is a short list:</p>
<ul>
<li>Native process API</li>
<li>Support for detecting mass storage devices</li>
<li>Improved support for accessibility</li>
<li>Open document API</li>
<li>File promise (file promises let users drag and drop files that either don&#8217;t exist yet (because you want to generate them on-demand), or that exist on a remote server)</li>
<li>Improved performance</li>
<li>Local microphone access API</li>
<li>Multi-touch &amp; gesture support</li>
<li>Faster, more powerful WebKit</li>
<li>Improved socket support (create servers)</li>
</ul>
<img src="http://feeds.feedburner.com/~r/corlan/~4/R0-4_Zhh6QA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/11/03/air-2-beta-notification-sign-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/11/03/air-2-beta-notification-sign-up/</feedburner:origLink></item>
		<item>
		<title>New ActionScript 3 Book in Romanian</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/4j_QCywGx5o/</link>
		<comments>http://corlan.org/2009/10/30/new-actionscrip-3-book-in-romanian/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 19:02:01 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1351</guid>
		<description><![CDATA[My friend, Cosmin Varlan, a professor at the Alexandru Ioan Cuza University published a book about ActionScript 3 &#8211; web programming with Flash and Flex. It is in Romanian, so I guess for many of you it is not too useful  . For the others, you can buy it from the bookstores across Romania [...]]]></description>
			<content:encoded><![CDATA[<p>My friend, Cosmin Varlan, a professor at the Alexandru Ioan Cuza University published a book about ActionScript 3 &#8211; web programming with Flash and Flex. It is in Romanian, so I guess for many of you it is not too useful <img src='http://corlan.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . For the others, you can buy it from the bookstores across Romania (it is published at Polirom) and it costs 42 RON (10 Euro). You have 400+ pages to  ramp up your ActionScript 3 skills quickly.</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/10/coperta1.jpg"><img class="size-medium wp-image-1352" title="coperta1" src="http://corlan.org/wp-content/uploads/2009/10/coperta1-204x300.jpg" alt="coperta1" width="204" height="300" align="right" /></a></p>
<p>Here are some of the topics:</p>
<ul>
<li>Rich Internet Applications</li>
<li>Processing XML documents</li>
<li>Event Model in Flash and Flash connectivity</li>
<li>Graphics and Multimedia, filters</li>
<li>Creating a puzzle game in ActionScript 3</li>
</ul>
<img src="http://feeds.feedburner.com/~r/corlan/~4/4j_QCywGx5o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/30/new-actionscrip-3-book-in-romanian/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/30/new-actionscrip-3-book-in-romanian/</feedburner:origLink></item>
		<item>
		<title>Article about Flash Catalyst in Dutch Magazine</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/QK686S5pyQc/</link>
		<comments>http://corlan.org/2009/10/27/article-about-flash-catalyst-in-dutch-magazine/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 06:09:00 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Catalyst]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/10/27/article-about-flash-catalyst-in-dutch-magazine/</guid>
		<description><![CDATA[If you are a designer or you just want to learn how to use Flash Catalyst you may want to check the latest issue of the Dutch Magazine Web Designer. I wrote an article for this issue demonstrating the workflow between Adobe Illustrator, Flash Catalyst, and Flash Builder. Although by the time the article got [...]]]></description>
			<content:encoded><![CDATA[<p>If you are a designer or you just want to learn how to use Flash Catalyst you may want to check the latest issue of the Dutch Magazine <a href="http://www.webdesignermagazine.nl" target="_blank">Web Designer.</a> I wrote an article for this issue demonstrating the workflow between Adobe Illustrator, Flash Catalyst, and Flash Builder. Although by the time the article got published, Flash Catalyst Beta 2 was already out (in my article I used Beta 1), I still think it is worth the read especially for someone who’s new to this tool. Almost forgot you have to know Dutch to read the article <img src='http://corlan.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p><a href="http://corlan.org/wp-content/uploads/2009/10/dutch.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="dutch" src="http://corlan.org/wp-content/uploads/2009/10/dutch_thumb.jpg" border="0" alt="dutch" width="359" height="482" /></a></p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/QK686S5pyQc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/27/article-about-flash-catalyst-in-dutch-magazine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/27/article-about-flash-catalyst-in-dutch-magazine/</feedburner:origLink></item>
		<item>
		<title>Adobe Flash Builder for Force.com Preview</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/gZc8r1gu2YI/</link>
		<comments>http://corlan.org/2009/10/26/adobe-flash-builder-for-force-com-preview/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 10:44:43 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flash Builder]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/10/26/adobe-flash-builder-for-force-com-preview/</guid>
		<description><![CDATA[We just launched a developer preview for Flash Builder for Force.com; it allows you to create Flex applications that connect to services and data in the cloud (Force.com platform). You can read more here.
]]></description>
			<content:encoded><![CDATA[<p>We just launched a developer preview for Flash Builder for Force.com; it allows you to create Flex applications that connect to services and data in the cloud (Force.com platform). You can read more <a href="http://www.adobe.com/devnet/salesforce/index.html?devcon=f1" target="_blank">here</a>.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/gZc8r1gu2YI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/26/adobe-flash-builder-for-force-com-preview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/26/adobe-flash-builder-for-force-com-preview/</feedburner:origLink></item>
		<item>
		<title>PayPal Express Checkout with Flex and Adobe AIR</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/CYektfxRDow/</link>
		<comments>http://corlan.org/2009/10/23/paypal-express-checkout-with-flex-and-adobe-air/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 19:01:58 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1335</guid>
		<description><![CDATA[Miti was very busy this summer and if you read his article you can see why. If you want to integrate your Flex application (web or AIR) with PayPal his article on this matter is a must.
In this article, I will show you how to integrate PayPal 		  Express Checkout with either a Flex [...]]]></description>
			<content:encoded><![CDATA[<p>Miti was very busy this summer and if you read his article you can see why. If you want to integrate your Flex application (web or AIR) with PayPal his <a href="http://www.adobe.com/devnet/flex/articles/flex_paypal.html" target="_blank">article</a> on this matter is a must.</p>
<blockquote><p>In this article, I will show you how to integrate PayPal 		  Express Checkout with either a Flex application running in Flash Player or an 		  Adobe AIR application. Express Checkout streamlines the checkout process for 		  PayPal buyers, but there are security implications for using it in stateful 		  applications.</p>
<p>l will review the security and UI considerations, introduce 		  the architectural approach, and then show you how to implement the whole thing. 		  You can also download working samples to see how everything works 		  together.</p></blockquote>
<img src="http://feeds.feedburner.com/~r/corlan/~4/CYektfxRDow" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/23/paypal-express-checkout-with-flex-and-adobe-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/23/paypal-express-checkout-with-flex-and-adobe-air/</feedburner:origLink></item>
		<item>
		<title>CoCoMo pricing</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/733_8fClISg/</link>
		<comments>http://corlan.org/2009/10/21/cocomo-pricing/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:17:38 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1328</guid>
		<description><![CDATA[This is way too cool to let the news out only on Tom Krcha website! If you are one of those who were excited by CoCoMo but didn&#8217;t try for a live project because it was in beta and you didn&#8217;t know how much it would cost, now it is the time to try. Without [...]]]></description>
			<content:encoded><![CDATA[<p>This is way too cool to let the news out only on Tom Krcha website! If you are one of those who were excited by CoCoMo but didn&#8217;t try for a live project because it was in beta and you didn&#8217;t know how much it would cost, now it is the time to try. Without further ado, here are the prices for <a href="http://www.adobe.com/products/livecycle/collaborationservice/" target="_blank">Adobe LiveCycle Collaboration Service</a> (this is the name of the services known as CoCoMo):</p>
<ol>
<li><strong>Live Stream Bandwidth</strong> ($0.49 per GB)</li>
<li> <strong>Push Messages</strong> ($0.10 per 1,000 messages) &#8211; count messages sent in to LCCS</li>
<li><strong>User Minutes</strong> ($0.01 per Hour) &#8211; time clients spend connected to LCCS</li>
</ol>
<p>There will be a free quota available for those who are just testing or don&#8217;t use too much ($15US for a month of usage).</p>
<p>Tom promised that he will build an application to gauge how much it actually cost to use this service. Read Tom&#8217;s <a href="http://www.flashrealtime.com/livecycle-collaboration-service-pricing/" target="_self">post</a> for more details and some calculations on how much you can use for the free quota option.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/733_8fClISg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/21/cocomo-pricing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/21/cocomo-pricing/</feedburner:origLink></item>
		<item>
		<title>Buy CS4 and get Flex Builder 3 for free</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/cf3iKqjWvq8/</link>
		<comments>http://corlan.org/2009/10/21/buy-cs4-and-get-flex-builder-3-for-free/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 18:52:20 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://corlan.org/?p=1326</guid>
		<description><![CDATA[If you buy a Creative Suite 4 Web Premium or Master Collection you get Flex Builder 3 Standard for free. This offer started on September 15th and applies on purchases made to Adobe.com as well to those from authorized resellers.
For more details on how to claim your Flex Builder 3 Standard license check this link.
]]></description>
			<content:encoded><![CDATA[<p>If you buy a Creative Suite 4 Web Premium or Master Collection you get Flex Builder 3 Standard for free. This offer started on September 15th and applies on purchases made to Adobe.com as well to those from authorized resellers.</p>
<p>For more details on how to claim your Flex Builder 3 Standard license check this <a href="http://www.adobe.com/go/freeflexforcs" target="_blank">link</a>.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/cf3iKqjWvq8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/21/buy-cs4-and-get-flex-builder-3-for-free/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/21/buy-cs4-and-get-flex-builder-3-for-free/</feedburner:origLink></item>
		<item>
		<title>Thoughts on the mobile world</title>
		<link>http://feedproxy.google.com/~r/corlan/~3/wogVZUPjPZM/</link>
		<comments>http://corlan.org/2009/10/16/thoughts-on-the-mobile-world/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 12:26:23 +0000</pubDate>
		<dc:creator>Mihai Corlan</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://corlan.org/2009/10/16/thoughts-on-the-mobile-world/</guid>
		<description><![CDATA[People say if you want to boil a frog you put it in the pot while the water is still cold. If you throw it in when the water is boiling the frog will jump out. If the water is cold, the frog will stay and by the time the water is too hot it [...]]]></description>
			<content:encoded><![CDATA[<p>People say if you want to boil a frog you put it in the pot while the water is still cold. If you throw it in when the water is boiling the frog will jump out. If the water is cold, the frog will stay and by the time the water is too hot it is too late to jump.</p>
<p>Whenever I look at the mobile world I can’t stop wondering why people accept being locked in just to use a device? Although you might think I’m talking about iPhone, actually I’m talking about any situation where you have to give away your freedom of choice in order to access a service or a device.</p>
<p>Let’s put it in another way. Suppose you buy a car, and the dealer tells you “I’m happy you chose our brand sir! You know you’ll be able to use it only on these specific roads and only with gas from these petrol stations“. I bet if this happened to you, you would not buy the damn car.</p>
<p>This is something that would never happen on a free market (such as the automobile’s industry). However, the mobile industry is not a free market. In order to be a carrier you need a license from the government where you want to do business. The number of licenses is controlled, thus the players have much more power than the players in a free market. It is almost a monopolistic position with only “one” provider to satisfy the market.</p>
<p>I think the answer is pretty simple, we arrived at this state one small step at a time because of the way the system is setup and works. We are frogs in the pot and we feel the warm water pleasing rather than threatening.  At the same time I think this is not sustainable and I’ll explain why.</p>
<p>If I apply another level of abstraction to this problem, I can move the whole problem and discuss it in terms of capitalism/statism and democracy/communism. History tells us that although in the short term statism can produce miracles, in the long term it always fails. Having one entity controlling how and what should be done is not sustainable and kills creativity. Because if you want to be creative sometimes the only solution is to break the existent barriers and just go wild. But going outside the rules and boundaries is forbidden in these systems.</p>
<p>Coming back to the mobile world I do believe that both carriers and device manufacturers will have to change their behavior if they want to last. And probably they’ll do it because other forces, from outside of their system, will push them to do so.</p>
<p>Probably I’m more sensitive to this matter because I grew up in a communist country, and whenever I see something that restricts my freedom I can’t stop thinking about the history lessons. If you enjoyed this post, you may want to read Miti’s <a href="http://miti.pricope.com/2009/10/06/hard-play-no-flash-on-the-iphone-yet/" target="_blank">post</a> on Flash and iPhone.</p>
<img src="http://feeds.feedburner.com/~r/corlan/~4/wogVZUPjPZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://corlan.org/2009/10/16/thoughts-on-the-mobile-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://corlan.org/2009/10/16/thoughts-on-the-mobile-world/</feedburner:origLink></item>
	</channel>
</rss>
