<?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>The Dev Shack &#187; AIR</title>
	<atom:link href="http://www.thedevshack.com/category/air/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thedevshack.com</link>
	<description>Technology and Programming Blog</description>
	<lastBuildDate>Mon, 06 Jun 2011 00:13:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Adobe Air Notification Demo</title>
		<link>http://www.thedevshack.com/adobe-air-notification-demo/</link>
		<comments>http://www.thedevshack.com/adobe-air-notification-demo/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 23:54:42 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/?p=412</guid>
		<description><![CDATA[To go along with my previous post I have put together a demo so that you can download the source and see how the notifications work.  As I was starting to zip up the source code I saw a comment on my previous post from Ray that made me think about a possible issue.  Running [...]]]></description>
			<content:encoded><![CDATA[<p>To go along with my previous post I have put together a demo so that you can download the source and see how the notifications work.  As I was starting to zip up the source code I saw a comment on my previous post from Ray that made me think about a possible issue.  Running a test using task manager, I quickly saw that every time I clicked the button to display the notification the memory used by AIR rose a little.  With every click it rose higher and higher and never went back down.  The problem was the main app window spawned a new window for the notification but never closed that window.  I was able to solve this by using air.Timer.  It sets up a timer that runs a function once it reaches the limit you provide.  So setting this number a second or so after the notification fades out, allows it to close the notification window via nativeWindow.close();</p>
<p>The source code is below.  If you are using Aptana Studio, you should be able to promote it to a project and then run it.  I am open to suggestions on how to streamline this if possible.</p>
<p><a href="http://www.thedevshack.com/wp-content/uploads/2010/09/Notification-Demo.zip">Download Source Code: Notification-Demo.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/adobe-air-notification-demo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Growl Type Notifications in Adobe AIR</title>
		<link>http://www.thedevshack.com/growl-type-notifications-in-adobe-air/</link>
		<comments>http://www.thedevshack.com/growl-type-notifications-in-adobe-air/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 18:24:42 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/?p=393</guid>
		<description><![CDATA[The past week or so I have been able to work on my first Adobe AIR app using HTML/JavaScript.  So far I have been very impressed with what you can build in AIR.  The application I have been working on pings a web service via jQuery and needs to pop up an alert to the [...]]]></description>
			<content:encoded><![CDATA[<p>The past week or so I have been able to work on my first Adobe AIR app using HTML/JavaScript.  So far I have been very impressed with what you can build in AIR.  The application I have been working on pings a web service via jQuery and needs to pop up an alert to the user that new content is available for viewing.  The most difficult piece for me so far has been building the notification functionality.  My requirements called for notifications that were similar to those of some of the AIR based Twitter apps.  In the lower right corner of the screen a notification should display then auto hide after a given time frame.  I was able to get this working, but I was not happy with the display portion of the notification.  It just appeared clunky to me.<span id="more-393"></span></p>
<p>On my quest to find another way to accomplish this I joined the newly created Google Group for AIR with HTML and JavaScript.  I had mentioned in a post there that I had struggled a bit with the notifications.  Andy Matthews replied back and made me aware of jQuery plugin named BlockUI that allowed you to create Growl type notifications.  That is exactly what I was looking for.  I was able to modify some of the code I already had and implement the new plugin.  The results were great and were exactly what I needed.  The plugin also allows you to easily change the opacity, fade in and fade out times, etc…</p>
<p>There are two parts of code here that makes this work.  The first bit of code lives in my main HTML file for my application.  This code creates a new window that will essentially be the holder of the notification itself.  The last two lines of this code tell it to spawn my window and load the results of an HTML file into it.</p>
<pre class="brush:js">function displayNotification()
{
	var options = new air.NativeWindowInitOptions();

	options.type = air.NativeWindowType.LIGHTWEIGHT;
	options.transparent = true;
	options.systemChrome = air.NativeWindowSystemChrome.NONE;

	var bounds = null;
	var screen = air.Screen.mainScreen.visibleBounds;
	var windowHeight = 150;
	var windowWidth = 400;

	bounds = new air.Rectangle(
		screen.width - windowWidth - 40,
		screen.height - windowHeight - 50,
		windowWidth,
		windowHeight
	);

	var notification = air.HTMLLoader.createRootWindow(
		true,
		options,
		false,
		bounds
	);

	notification.paintsDefaultBackground = false;
	notification.stage.nativeWindow.alwaysInFront = true;
	notification.navigateInSystemBrowser = true;

	var NOTIFY_SOURCE = "growl.html";
	notification.load( new air.URLRequest( NOTIFY_SOURCE ) );
}</pre>
<p>So now that we have our window fired off, we need to create the associated HTML page that contains the notification itself.  This is where the plugin comes into play.  You can see from the code below that all the HTML page does is fire off the jQuery function to create our notification.   The plugin will then handle the display of the message, which is simple HTML code wrapped into a DIV.  I did create a stylesheet that I use for the notifications that is included as well.</p>
<pre class="brush:js">&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
	&lt;title&gt;Notify&lt;/title&gt;

	&lt;link rel="stylesheet" type="text/css" href="/css/notification.css" /&gt;

	&lt;script type="text/javascript" src="lib/air/AIRAliases.js"&gt;&lt;/script&gt;
 	&lt;script type="text/javascript" src="/lib/jquery/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
	&lt;script type="text/javascript" src="/lib/jquery.blockUI.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="growlUI" style="display:none"&gt;
    &lt;h1&gt;New Items Available&lt;/h1&gt;
    &lt;h2&gt;New articles have been posted&lt;/h2&gt;
&lt;/div&gt; 

&lt;script type="text/javascript"&gt;
	$(document).ready(function() {
        air.trace("Hi");

		$.blockUI({
            message: $('div.growlUI'),
            fadeIn: 700,
            fadeOut: 700,
            timeout: 2000,
            showOverlay: false,
            centerY: false,
            css: {
                width: '350px',
                top: '10px',
                left: '',
                right: '10px',
                border: 'none',
                padding: '5px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .8,
                color: '#fff'
            }
        });
	});
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>The result is a nice looking notification that displays, then fades out after a few seconds.</p>
<div><a rel="attachment wp-att-402" href="http://www.thedevshack.com/growl-type-notifications-in-adobe-air/notification-2/"><img class="aligncenter size-full wp-image-402" title="notification" src="http://www.thedevshack.com/wp-content/uploads/2010/09/notification1.jpg" alt="" width="606" height="414" /></a></div>
<p>Again, thanks to Andy for pointing me over to the jQuery BlockUI plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/growl-type-notifications-in-adobe-air/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>MLB onBase: An Adobe AIR App</title>
		<link>http://www.thedevshack.com/mlb-onbase-an-adobe-air-app/</link>
		<comments>http://www.thedevshack.com/mlb-onbase-an-adobe-air-app/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 11:01:34 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/?p=307</guid>
		<description><![CDATA[I have talked before about some of the Major League Baseball apps on this blog before.&#160; They have added another application to their arsenal this week: MLB.com OnBase.&#160; This application is built on Adobe AIR and is one slick little app. When you first start the app you can choose your favorite team or teams [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-308" title="mlb-onbase" src="http://www.thedevshack.com/wp-content/uploads/2009/08/mlb-onbase-150x150.jpg" alt="mlb-onbase" width="150" height="150" />I have talked before about some of the Major League Baseball apps on this blog before.&nbsp; They have added another application to their arsenal this week: MLB.com OnBase.&nbsp; This application is built on Adobe AIR and is one slick little app.</p>
<p>When you first start the app you can choose your favorite team or teams or you can flag your favorite players.&nbsp; It then uses these settings to notify you of any news or updates involving your selections.&nbsp; So for example, you will get an alert when the lineups are set for your teams games.&nbsp; There are also alerts for in game notifications.&nbsp; When a team scores in a game that involves one of your flagged teams, an alert pops up informing you that a run or runs scored and how they scored.&nbsp; It also displays the scoreboard of your team&#8217;s games.</p>
<p>Twitter is also an integral part of the application.&nbsp; Part of the news feeds involving your favorite teams or players , are tweets that are found matching your selections.&nbsp; This updates every few minutes.&nbsp; You can also hook up your Twitter account and send tweets directly from the application.</p>
<p>I have always believed that Major League Baseball is at the forefront of internet related technology in the pro sports.&nbsp; Their MLB.tv offering is the best streaming technology in sports, bar none.&nbsp; With the release of this application they continue to be the front runners in cool technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/mlb-onbase-an-adobe-air-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Finally Gets the Big Picture, Opens up API and Releases AIR App</title>
		<link>http://www.thedevshack.com/facebook-finally-gets-the-big-picture-opens-up-api-and-releases-air-app/</link>
		<comments>http://www.thedevshack.com/facebook-finally-gets-the-big-picture-opens-up-api-and-releases-air-app/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 22:24:04 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[TweetDeck]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/?p=185</guid>
		<description><![CDATA[It appears as though Facebook is finally getting the hint about it&#8217;s API. The company announced today they have released the Open Stream API. This new API will allow developers to take advantage of all kinds of Facebook features. This same openess has worked wonders for Twitter, and I am sure Facebook is hoping for [...]]]></description>
			<content:encoded><![CDATA[<p>It appears as though Facebook is finally getting the hint about it&#8217;s API.  The company <a href="http://mashable.com/2009/04/27/facebook-open-stream-api-the-next-huge-platform/">announced today they have released the Open Stream API</a>.  This new API will allow developers to take advantage of all kinds of Facebook features.  This same openess has worked wonders for Twitter, and I am sure Facebook is hoping for the same.  In my opinion Facebook was forced to do this in order to keep up Twitter, as their service is growing like a wildfire every day.  I for one, have stopped using Facebook on a regular basis due to this.  I do not like having to log into their website (which is slow) to interact with certain features.  I love Twitter because I have a plethora of desktop and cell phone apps to choose from.</p>
<p>On a related note Facebook has also announced an <a href="http://blog.facebook.com/blog.php?post=79988352130" target="_blank">application built for Adobe AIR</a>.  Now I can&#8217;t wait for TweetDeck to update and use all the new Facebook features!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/facebook-finally-gets-the-big-picture-opens-up-api-and-releases-air-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweetDeck Introduces Facebook Integration</title>
		<link>http://www.thedevshack.com/tweetdeck-introduces-facebook-integration/</link>
		<comments>http://www.thedevshack.com/tweetdeck-introduces-facebook-integration/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 12:02:13 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/tweetdeck-introduces-facebook-integration/</guid>
		<description><![CDATA[TweetDeck has announced a new beta version of their AIR product that introduces Facebook integration. I downloaded it yesterday and have to say that so far it appears promising. You can now view status updates from your friends on Facebook directly in TweetDeck. When posting a new message you can choose to send it to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tweetdeck.posterous.com/tweetdeck-v024-pre-release-facebook-integrati" target="_blank">TweetDeck has announced</a> a new beta version of their AIR product that introduces Facebook integration.  I downloaded it yesterday and have to say that so far it appears promising.  You can now view status updates from your friends on Facebook directly in TweetDeck.  When posting a new message you can choose to send it to Twitter, Facebook or both.  Just remember that this release is a beta release, so use at your own risk.</p>
<p>Below is a quick screenshot of what the new message area looks like (notice the checkboxes for Facebook and Twitter).</p>
<p style="text-align: center"><a style="DISPLAY: inline" href="http://magnetion.typepad.com/.a/6a010536ebca7a970c011168fc6cb4970c-pi"><img class="aligncenter size-full wp-image-74" title="tweetdeck" src="http://www.thedevshack.com/wp-content/uploads/2009/03/tweetdeck.jpg" alt="tweetdeck" width="450" height="97" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/tweetdeck-introduces-facebook-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Queued: Netflix AIR Application</title>
		<link>http://www.thedevshack.com/queued-netflix-air-application/</link>
		<comments>http://www.thedevshack.com/queued-netflix-air-application/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 00:13:06 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/queued-netflix-air-application/</guid>
		<description><![CDATA[Yesterday I came across another wonderful Adobe AIR app.&#0160; It&#39;s called Queued and provides an interface to your Netflix account.&#0160; The application is provided free from SitePen, Inc. and uses a combination of Adobe AIR, the Dojo Toolkit and the Netflix API.&#0160; Queued will allow you to view your queue, add movies, rate movies and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I came across another wonderful Adobe AIR app.&#0160; It&#39;s called <a href="http://sitepen.com/labs/queued/" target="_blank">Queued</a> and provides an interface to your Netflix account.&#0160; The application is provided free from SitePen, Inc. and uses a combination of Adobe AIR, the Dojo Toolkit and the Netflix API.&#0160; Queued will allow you to view your queue, add movies, rate movies and launch on demand movies.&#0160; It&#39;s an impressive application and I would recommend checking it out if you are a Netflix subscriber.</p>
<p>I would also like to point out they also allow you to download the source code!&#0160; So you can open the hood and see how this application was put together.</p>
<p><a href="http://sitepen.com/labs/queued/" target="_blank">Download Queued here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/queued-netflix-air-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New AIR Application: CL Desktop</title>
		<link>http://www.thedevshack.com/new-air-application-cl-desktop/</link>
		<comments>http://www.thedevshack.com/new-air-application-cl-desktop/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 12:49:33 +0000</pubDate>
		<dc:creator>mfleming</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.thedevshack.com/new-air-application-cl-desktop/</guid>
		<description><![CDATA[Ever been on Criagslist before?&#0160; I am sure most everyone has by now, at least to browse some listings.&#0160; It has one of the most minimalist designs of any popular site in history.&#0160; If you have ever wished for a nicer looking layout for the site, look no further.&#0160; CL Desktop is an Adobe AIR [...]]]></description>
			<content:encoded><![CDATA[<p>Ever been on Criagslist before?&#0160; I am sure most everyone has by now, at least to browse some listings.&#0160; It has one of the most minimalist designs of any popular site in history.&#0160; If you have ever wished for a nicer looking layout for the site, look no further.&#0160; <a href="http://www.cldesktop.com/" target="_blank">CL Desktop</a> is an Adobe AIR app that wraps Craigslist into your desktop.&#0160; I have not tried the application out yet, but it appears you can save searches to run again as favorites.&#0160; Another plus is that it allows you to view the pictures associated with a post on the listing screen.&#0160; This eliminates the click to a listing just to see a photo.&#0160; If anyone has tried this yet let me know what you think.&#0160; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedevshack.com/new-air-application-cl-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

