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

<channel>
	<title>CarbonRider &#187; Air</title>
	<atom:link href="http://www.carbonrider.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.carbonrider.com</link>
	<description>You make a matrix, you define the limits.</description>
	<lastBuildDate>Sun, 05 Sep 2010 14:28:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Adobe AIR &#8211; Window Manager</title>
		<link>http://air.carbonrider.com/2010/01/14/adobe-air-window-manager/</link>
		<comments>http://air.carbonrider.com/2010/01/14/adobe-air-window-manager/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 15:24:08 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[AIR new window]]></category>
		<category><![CDATA[AIR popup]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=176</guid>
		<description><![CDATA[If you have read my previous post AIR Notifier, it describes a simple technique to display new window in AIR. While it is very easy to create new window using the technique described in above article, it certainly not the right choice for creating new windows. Applications which may want to have a centralised control [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fair.carbonrider.com%2F2010%2F01%2F14%2Fadobe-air-window-manager%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fair.carbonrider.com%2F2010%2F01%2F14%2Fadobe-air-window-manager%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you have read my previous post <a title="AIR Notifier" href="http://air.carbonrider.com/2009/10/17/air-notifier" target="_self">AIR Notifier</a>, it describes a simple technique to display new window in AIR. While it is very easy to create new window using the technique described in above article, it certainly not the right choice for creating new windows. Applications which may want to have a centralised control over popup creation, customization of popup windows &#8211; will soon find it difficult to implement it. Well offcourse, the post just describes a technique for displaying new window, I thought of encapsulating the functionality and developing a convenient library API.</p>
<p><span id="more-176"></span></p>
<p>Well I have started working on same and soon will be releasing the library as opensource. Meanwhile, here is the list of features planned for libary.</p>
<p><strong>Simple to code and requires minimum one line of code to create window.<br />
</strong><br />
<strong>Options to customize appearance.</strong><br />
  - Display close, minimize, maximize, resizable<br />
  - Use standard or transparent interface.</p>
<p><strong>Option to specify location of window.</strong><br />
  - Set location of window after creation</p>
<p><strong>Unique id reference to manage window behavior.</strong><br />
  - Activate/Deactivate focus of window.<br />
  - Dynamically minimize, close, maximize window.</p>
<p><strong>Option to close all open windows.</strong></p>
<p><strong>Auto exit of all open windows on main application exit.</strong></p>
<p><span style="text-decoration: line-through;">Watch this space for release of library.</span></p>
<p>Finally I am releasing version 1 of the libray and you can <a title="AIR Popup" href="http://www.carbonrider.com/wp-content/uploads/2010/01/air_popup.zip" target="_blank">download it here</a>. To see it actually working, you can download AIR source file by <a title="AIR Popup example source" href="http://www.carbonrider.com/wp-content/uploads/2010/01/src.zip" target="_blank">clicking here</a>. (Note that the example just contain source files, you must create new AIR project and copy source &amp; library files. To download source code of the library <a title="AIR Popup source" href="http://www.carbonrider.com/wp-content/uploads/2010/01/src1.zip" target="_blank">click here</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://air.carbonrider.com/2010/01/14/adobe-air-window-manager/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AIR Notifier</title>
		<link>http://air.carbonrider.com/2009/10/17/air-notifier/</link>
		<comments>http://air.carbonrider.com/2009/10/17/air-notifier/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 06:30:22 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[AIR notification]]></category>
		<category><![CDATA[AIR notifier]]></category>
		<category><![CDATA[AIR popup]]></category>
		<category><![CDATA[popup window]]></category>

		<guid isPermaLink="false">http://air.carbonrider.com/?p=133</guid>
		<description><![CDATA[Building applications with AIR is real fun and what could be more interesting when you install it on desktop and see it running. In last few months, I have seen many applications built using Adobe AIR. Nice, soft look and feel, great functionality, quite handy are some of the words I will use to describe those applications. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fair.carbonrider.com%2F2009%2F10%2F17%2Fair-notifier%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fair.carbonrider.com%2F2009%2F10%2F17%2Fair-notifier%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Building applications with AIR is real fun and what could be more interesting when you install it on desktop and see it running. In last few months, I have seen many applications built using Adobe AIR. Nice, soft look and feel, great functionality, quite handy are some of the words I will use to describe those applications.</p>
<p><span id="more-133"></span></p>
<p>Well how can I keep myself from building one on this buzzing technology and so I started one. I found that building application in Flex and AIR is not so different (apart from configuration and few more added AIR API&#8217;s). The journey was so far good but when I started looking for creating a notifier that can have a pleasant look and feel and with some flashy effects, I really struggled to find options.</p>
<p>It wasn&#8217;t that bad, I found quite a few good reference sites but unfortunately none of them met my expectations. But when I saw twhirl with its awesome notification display, my fingers started googling again to find how can I get something like the one I can see now on my desktop.</p>
<p>Overall I liked the appearance of twhirl and the way stuffs are managed into it. The most interesting part was twhirl notifier. It pops up when you receive a message and it goes like whosshhh. After crawling through various sites and reading many source codes, I found an interesting project on Google Code &#8211; <a title="Bamboo Notifier" href="http://code.google.com/p/bamboo-notifier/" target="_blank">Bamboo notifier</a>. Getting deeper into the source code, helped me to understand how Bamboo displays notification and hurrayy thats what I was looking for. No additional SWC, everything built using Adobe AIR APIs.</p>
<p>I used similar concept and on top of that using Flex Effects, I finally achieved what I was looking for.</p>
<p>Well not to stretch any more, here is the code snippet that might help you to built your own notifier.<br />
There are two files,<br />
1. One that is used as popup. (Notification.mxml)<br />
2. Used to display popup. (Client.mxml)</p>
<p><strong>Notification.mxml</strong></p>
<pre class="brush: xml;">
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationCompleteEffect="{fade}"
width="250" height="75" cornerRadius="8" borderStyle="solid" borderThickness="1" alpha="0.1"
backgroundAlpha="0.8" backgroundColor="#2E2E2E"  creationComplete="startCloseTimer()" mouseOver="closeTimer.stop()" mouseOut="closeTimer.start()">
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
[Bindable]
public var message:String;

private var closeTimer:Timer;

private function startCloseTimer():void
{
closeTimer = new Timer(3000);
closeTimer.addEventListener(TimerEvent.TIMER, function():void
	{
	mvEffect.play();
	closeTimer.stop();
	closeTimer = new Timer(1500);
	closeTimer.addEventListener(TimerEvent.TIMER, function():void
		{
		dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
		closeTimer.stop();
		});
	closeTimer.start();
});
closeTimer.start();
}

private function closeWindow():void
{
mvEffect.play();
closeTimer.stop();
closeTimer = new Timer(1500);
closeTimer.addEventListener(TimerEvent.TIMER, function():void
	{
	dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
	closeTimer.stop();
	});
closeTimer.start();
}
]]&gt;
</mx:Script>
<mx:Text text="{message}" x="16" y="24" width="170" height="39" color="#FFFFFF" fontFamily="Arial" fontSize="12" id="notificationText"/>
<mx:Button click="closeWindow()" label="X" cornerRadius="8" fillColors="[#B70000, #560000]" fillAlphas="[1.0, 1.0]" right="0" top="0" color="#FFFFFF"/>
<mx:Fade id="fade" alphaFrom="0.1" alphaTo="1.0" duration="2000"/>
	<mx:Move id="mvEffect" target="{this}" yTo="{this.y + 150}" duration="1000"/>

</mx:Canvas>
</pre>
<p><strong>Client.mxml</strong></p>
<pre class="brush: xml;">
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="showPopup()">
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import notification.Notification;
private function showPopup():void
{
var descriptionPopup:NativeWindow;
var nativeWindowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
nativeWindowOptions.type = NativeWindowType.UTILITY;
nativeWindowOptions.systemChrome = NativeWindowSystemChrome.NONE;
nativeWindowOptions.transparent = true;
nativeWindowOptions.resizable = true;
descriptionPopup = new NativeWindow(nativeWindowOptions);
descriptionPopup.width = 250;
descriptionPopup.height = 75;
descriptionPopup.stage.align = "TL";
descriptionPopup.stage.scaleMode = "noScale";
descriptionPopup.alwaysInFront = true;
descriptionPopup.x = Screen.mainScreen.visibleBounds.right - descriptionPopup.width;
descriptionPopup.y = Screen.mainScreen.visibleBounds.bottom - descriptionPopup.height;

var container:Notification = new Notification();
container.message = "Hey hi there";
mx.core.Application.application.addChild(container);
mx.core.Application.application.removeChild(container);
descriptionPopup.stage.addChild(container);
descriptionPopup.activate();

container.addEventListener(CloseEvent.CLOSE, function():void{
	descriptionPopup.close();
});
}
]]&gt;
</mx:Script>
<mx:Button label="Hi there" click="showPopup()"/>
</mx:WindowedApplication>
</pre>
<p>For your reference, I am attaching Flex project with this post. <a href="http://www.carbonrider.com/wp-content/uploads/2009/11/AIRRND.zip">Click here</a> to download.</p>
<p>Hope this will help you to kickstart building your own Notifier.<br />
So keep airing and notifying <img src='http://www.carbonrider.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://air.carbonrider.com/2009/10/17/air-notifier/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adobe AIR &#8211; Let RIA Breath</title>
		<link>http://air.carbonrider.com/2009/08/15/adobe-air-let-ria-breath/</link>
		<comments>http://air.carbonrider.com/2009/08/15/adobe-air-let-ria-breath/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 13:38:32 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[beginning air]]></category>
		<category><![CDATA[web to desktop]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=31</guid>
		<description><![CDATA[ WELCOME – RICH INTERNET  Background Over past few years web has become an important element of day to day life. Advertising a product or fastest mode of exchanging information or building social communities etc are the few examples we all know which couldn’t have been possible without web. While the importance of web has increased [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fair.carbonrider.com%2F2009%2F08%2F15%2Fadobe-air-let-ria-breath%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fair.carbonrider.com%2F2009%2F08%2F15%2Fadobe-air-let-ria-breath%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<h2> WELCOME – RICH INTERNET</h2>
<p> <strong>Background</strong><br />
Over past few years web has become an important element of day to day life. Advertising a product or fastest mode of exchanging information or building social communities etc are the few examples we all know which couldn’t have been possible without web. While the importance of web has increased over the years, so the supporting technology has undergone various evaluations. Industry has always come up with new innovations to make experience of using web more appealing. The early days of Internet was using just HTML, Scripting languages and Images to present the information, the past few years has brought many new concepts like Animations, AJAX etc. What next, web got its new version Web 2.0 and has changed the definition for what web is used for. More and more sites are built today to ease the process of accessing information and making it more presentable.</p>
<p><span id="more-31"></span><br />
<strong>Evolving web</strong><br />
The term AJAX has brought revolution in the way Websites are built and has almost made websites feel like Desktop Applications. More and more websites are developed using AJAX + &lt;Any Server Side Language&gt; to access information without flickering pages. While AJAX fans are growing day by day, it has one major downside – JavaScript. AJAX cannot stand without JavaScript and hence the heavy reliance on JavaScript can sometime lead to complete failure of an application. Some of the reasons could be</p>
<ol>
<li>JavaScript API differ from Browser to Browser (Though most of the browsers adhere to standards like ECMA, the APIs included in Standards are either insufficient or not present.)</li>
<li>JavaScript can be turned off in Browser. (leading to complete failure of application if such circumstance is not handled properly)</li>
</ol>
<p>But to the rescue of Web Developers, above listed problems are addressed by most of the leading JavaScript frameworks. Frameworks like JQuery, Dojo, Mootools, ExtJs etc not only frees developer from common JavaScript pitfalls but also provide Rich Controls out of the box.<br />
After invention of AJAX, a need was felt to have access to information without need to stay connected to internet. Users felt the need of installing web application in local system rather than accessing it online every time they need to get some information. Well to address this concern the biggies came with various solutions like Google Gears, Adobe AIR, Yahoo Browser Plus. (Oh yes, Microsoft Silverlight too provide offline web application access – the support is recently announced on 18th Mar 2009 in Silverlight beta version 3.0)<br />
The purpose of this article is to give sneak preview Adobe AIR and its features. We will look at how it can be installed and also develop basic application to get acquainted with its APIs.</p>
<p><strong>ADOBE AIR – BABY STEPS</strong><br />
Before starting with sample applications lets see what we need to ride on AIR<br />
<strong>Prerequisites</strong></p>
<ol>
<li>Download Adobe AIR SDK from <a href="http://www.adobe.com/go/getairsdk">http://www.adobe.com/go/getairsdk</a></li>
<li>Download Adobe AIR runtime from <a href="http://www.adobe.com/go/getair">http://www.adobe.com/go/getair</a></li>
<li>Any Text Editor to write sample application. (I like EditPlus)</li>
</ol>
<p>Install runtime by double clicking on AdobeAIRInstaller.exe and follow the steps of wizard. AIR SDK is a zip file and doesn’t have installer. Just extract zip file to desired location.<br />
Once SDK zip file is extracted, configure the bin folder of SDK in PATH environment variable of your system.</p>
<div id="attachment_37" class="wp-caption alignnone" style="width: 357px"><img class="size-full wp-image-37" title="System Path" src="http://www.carbonrider.com/wp-content/uploads/2009/08/system_path.JPG" alt="System Path" width="347" height="146" /><p class="wp-caption-text">System Path</p></div>
<p>You can get this dialog box by accessing MY Computer &gt; Properties &gt; Advanced &gt; Environment Variables &gt; Locate PATH variable and click Edit button. (In above screenshot Flex SDK path is displayed, which has nothing to do with Adobe AIR.)</p>
<p>That’s all for to get started with Sample Application. (You can even use Adobe Flex Builder 3 which has built-in Adobe AIR support. There is difference between Flex builder and Flex SDK. Flex SDK provides core libraries to build Flex application, while Flex Builder is an IDE to ease the development by providing GUI for building Flex applications.)</p>
<p><strong>Sample Application</strong><br />
Open your favourite Text editor and create following XML file.</p>
<pre class="brush: xml;">
<?xml version="1.0"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
    <id>com.adobe.demo.MyFirstAirApp</id>
    <name>AIR application</name>
    <version>1.0</version>
    <filename>First App</filename>
    <description>First AIR Application</description>

    <initialWindow>

        <content>index.html</content>
        <systemChrome>standard</systemChrome>
<transparent>false</transparent>
        <visible>true</visible>
        <width>400</width>
        <height>200</height>
    </initialWindow>
</application>
</pre>
<p>This file defines configuration details for your application.</p>
<table style="border:1px solid #CCCCCC" border="1" cellspacing="0" cellpadding="3" width="500">
<tbody>
<tr>
<td valign="top"><strong>S#</strong></td>
<td valign="top"><strong>Tag</strong></td>
<td valign="top"><strong>Description</strong></td>
<td valign="top"><strong>Possible Values</strong></td>
</tr>
<tr>
<td valign="top">1</td>
<td valign="top">id</td>
<td valign="top">A unique identifier for application.</td>
<td valign="top">Any</td>
</tr>
<tr>
<td valign="top">2</td>
<td valign="top">name</td>
<td valign="top">Give meaningful name.</td>
<td valign="top">Any</td>
</tr>
<tr>
<td valign="top">3</td>
<td valign="top">version</td>
<td valign="top">Version of your application.</td>
<td valign="top">Any number</td>
</tr>
<tr>
<td valign="top">4</td>
<td valign="top">filename</td>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top">5</td>
<td valign="top">description</td>
<td valign="top">Description for your application.</td>
<td valign="top">Any</td>
</tr>
<tr>
<td valign="top">6</td>
<td valign="top">initialWindow</td>
<td valign="top">Defines configuration for First Page to be displayedfor application.</td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top">7</td>
<td valign="top">title</td>
<td valign="top">Text to be displayed in Title Bar.</td>
<td valign="top">Any</td>
</tr>
<tr>
<td valign="top">8</td>
<td valign="top">content</td>
<td valign="top">Name of html file.</td>
<td valign="top">Any</td>
</tr>
<tr>
<td valign="top">9</td>
<td valign="top">systemChrome</td>
<td valign="top">Whether to use system display.</td>
<td valign="top">standard OR none</td>
</tr>
<tr>
<td valign="top">10</td>
<td valign="top">transparent</td>
<td valign="top">Whether application window background should be transparent.</td>
<td valign="top">true OR false</td>
</tr>
<tr>
<td valign="top">11</td>
<td valign="top">visible</td>
<td valign="top">Whether application window should be visible.</td>
<td valign="top">true OR false</td>
</tr>
<tr>
<td valign="top">12</td>
<td valign="top">width</td>
<td valign="top">Width of application window.</td>
<td valign="top">Any number</td>
</tr>
<tr>
<td valign="top">13</td>
<td valign="top">height</td>
<td valign="top">Height of application window.</td>
<td valign="top">Any number</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
</tbody>
</table>
<p>Save above file with name as application-config.xml. (You can name it anything.)<br />
Let’s start creating sample application. Create an HTML file in your favourite editor, with below given details.</p>
<pre class="brush: html;">
<html>
<head>
<script>
window.onload=function(){
    btnGreet = document.getElementById("btnGreet");
    btnGreet.onclick=function(){
        alert("Hi " + document.GreetForm.yourname.value + ", welcome to RIA.");
    };
};
</script>
</head>
<body>
<form name="GreetForm">
<table>
<tr>
<td>Enter your name:</td>
<td>
<input type="text" name="yourname"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="button" value="Greet Me!" id="btnGreet"></td>
</tr>
</table>
</form>

</body>
</html>
</pre>
<p>Did you notice, there is nothing special apart from plain HTML and Javascript. (I am using unobtrusive JavaScript so that my HTML is not messed up with event handlers.)<br />
Save above file as index.html</p>
<p>To run this application you have to ways</p>
<ol>
<li>Create an installable version of above file. Then install the application and run it like any other desktop application.</li>
<li>In development phase since your application undergoes many changes it’s always useful to somehow test application without first installing it. This would save lot of your time before you will actually mark it as final product ready to deploy. AIR SDK bin directory contains a file “adl”, which just helps you to do the same.</li>
</ol>
<p>Open command prompt and locate the directory where you have saved both the files. Remember both the files must be in same directory.</p>
<p><code>E:\air_practice\greet&gt;adl application-config.xml</code></p>
<p>Enter command as shown in above.</p>
<p>You must get following window.</p>
<div id="attachment_34" class="wp-caption alignnone" style="width: 408px"><img class="size-full wp-image-34 " title="AIR application" src="http://www.carbonrider.com/wp-content/uploads/2009/08/air_first_app.JPG" alt="AIR first application" width="398" height="198" /><p class="wp-caption-text">AIR application</p></div>
<p>If you have configured Environment variable you must see above screen without any errors. This is not an ordinary browser page wherein you can right click and get source of application. The page source is protected and user cannot view it by any means.</p>
<p>Enter your name and click “Greet Me!” button. You must get alert window with Greeting message.</p>
<p><strong>BEHIND THE SCENE</strong><br />
Adobe AIR uses WebKit – an open source implementation for HTML engine (Used within most popular browsers – Safari etc). In AIR, applications can be developed using combination of</p>
<ul>
<li>HTML</li>
<li>JavaScript</li>
<li>Flash</li>
</ul>
<p>Also if client machine has Acrobat version 8 or higher, AIR application can leverage all the features of Acrobat reader.<br />
With AIR, Adobe is taking one more step towards building Desktop based application using traditional/modern web technologies. Unlike traditional web application, there is one major difference between browser and desktop based application. Applications running under browser are constrained by the sandbox under which they are executed and hence cannot utilise all the features (e.g. Access to User File System).<br />
Desktop based applications have full access to AIR api’s and such application do not require live connectivity to the server from which they are downloaded. Users can use the application, fee the information to application and it will be later uploaded to actual server when user decides to go online. AIR also provides API to connect to database to embedded SQLite database.</p>
<p><strong>CONCLUSION</strong><br />
AIR applications are more suitable where user want to have access to information without need to stay connected to internet. AIR is not meant for the applications that require real time data to be fetched and displayed to user (e.g. stock ticker, weather information etc). While AIR has been almost more than year old, recent release of Silverlight may be a tough competitor for AIR.<br />
Applications developed with AIR are considered as fat clients due to the runtime requirements to run the applications. AIR applications cannot be run through browser and require special runtime environment to be installed on client machine. Since AIR is a new technology, it’s hard to bet on the number of AIR runtime installations across the world.</p>
<p><strong>REFERENCES</strong><br />
Following links will help you to ride on Adobe AIR.</p>
<ol>
<li><a href="http://onair.adobe.com/files/AIRforJSDevPocketGuide.pdf">http://onair.adobe.com/files/AIRforJSDevPocketGuide.pdf</a></li>
<li><a href="http://onair.adobe.com">http://onair.adobe.com</a></li>
</ol>
<p><strong>SHOWCASE</strong><br />
Following list contains location of various sites which demonstrate applications developed with Adobe AIR</p>
<ol>
<li><a href="http://www.adobe.com/products/air/showcase/">http://www.adobe.com/products/air/showcase/</a></li>
<li><a href="http://refreshingapps.com/">http://refreshingapps.com/</a></li>
<li><a href="http://www.scalenine.com/showcase/">http://www.scalenine.com/showcase/</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://air.carbonrider.com/2009/08/15/adobe-air-let-ria-breath/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
