<?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>On AIR with Flex</title>
	<atom:link href="http://blog.immanuelnoel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.immanuelnoel.com</link>
	<description>On Flex &#124; AIR &#124; RIAs &#124; Technology</description>
	<lastBuildDate>Sun, 19 Feb 2012 10:39:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Speech Recognition ANE &#8211; Source</title>
		<link>http://blog.immanuelnoel.com/2012/02/19/speech-recognition-ane-source/</link>
		<comments>http://blog.immanuelnoel.com/2012/02/19/speech-recognition-ane-source/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 10:31:18 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Actionscript Native Extensions]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANE]]></category>
		<category><![CDATA[Flash Builder 4.6]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Native Componets]]></category>
		<category><![CDATA[Native Extensions]]></category>
		<category><![CDATA[Native UI]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Speech]]></category>
		<category><![CDATA[Speech Recognition]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=1079</guid>
		<description><![CDATA[As a follow on for the Speech Recognition ANE I put up for download a while back, here is the a post to give out the source files. The source can be downloaded here. If you are looking for the compiled ANE instead, click here The contents of the zip archive are, Android Native Project [...]]]></description>
			<content:encoded><![CDATA[<p>As a follow on for the <a title="New ActionScript Native Extension – Speech Recognition" href="http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/" target="_blank">Speech Recognition ANE</a> I put up for download a while back, here is the a post to give out the source files.</p>
<p>The source can be downloaded <a title="Speech ANE Source" href="http://inoel.in/speech-s-android" target="_blank">here</a>.</p>
<blockquote><p>If you are looking for the compiled ANE instead, click <a title="New ActionScript Native Extension – Speech Recognition" href="http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/" target="_blank">here</a></p></blockquote>
<p>The contents of the zip archive are,</p>
<ul>
<li>Android Native Project</li>
<li>Actionscript Library Project</li>
<li>Files required for compilation</li>
</ul>
<p><span id="more-1079"></span><br />
The Library is responsible for creating a bridge between Actionscript and Native code. The code written here is also the entry point for APIs exposed by the ANE. Library and Native Projects are fairly descriptive and appropriately commented. I will just go through things that need to be in place to get this compiled.</p>
<blockquote><p>If you just want to go ahead and try compilation, skip to the 5th step</p></blockquote>
<ul>
<li>Import project listed under <span style="color: #ff9900;">Android Native Project</span> into a preferred IDE and export a JAR</li>
<li>Import project listed under <span style="color: #ff9900;">Actionscript Library Project</span> into Flash Builder and export a SWC</li>
<li>Notice the organization of files in the <span style="color: #ff9900;">Files required for compilation</span> directory. Replace JAR, SWC and extension.xml files in the appropriate directories with the one&#8217;s you just exported</li>
<li>Without disturbing what you have already done, rename SpeechLibrary.swc</code> to SpeechLibrary.zip</code> and extract the library.swf file. Replace the one in <span style="color: #ff9900;">Files required for compilation/NativeAndroid</span>, with this.</li>
<li>Open <span style="color: #ff9900;">Files required for compilation/compile.bat</span> in your favorite text editor. Going forward, I will be referring only to the Windows platform. For MAC, please read <a href="http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html" title="Adobe - Developing Native Extensions for Air" target="_blank">this</a> document</li>
<li>Customize attributes for 'root_directory' and 'signing_options' (Namely, CERTIFICATE_PATH - a P12 file and CERTIFICATE_PASSWORD)</li>
<li>Exit editor, and run the compile.bat file to generate an ANE file !</li>
</ul>
<p>That is as easy as it gets to generate an ANE file !</p>
<p>Feel free to make changes to the source and experiment. If you do extend the source, say make it iOS compatible, I'd be happy to link up here! </p>
<p>Here is another great resource you must have a look at before building native extensions, http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2012/02/19/speech-recognition-ane-source/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>New ActionScript Native Extension &#8211; Speech Recognition</title>
		<link>http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/</link>
		<comments>http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 07:49:14 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Actionscript Native Extensions]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANE]]></category>
		<category><![CDATA[Flash Builder 4.6]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Native Componets]]></category>
		<category><![CDATA[Native Extensions]]></category>
		<category><![CDATA[Native UI]]></category>
		<category><![CDATA[Speech]]></category>
		<category><![CDATA[Speech Recognition]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=982</guid>
		<description><![CDATA[Here is a Speech Native Extension that takes advantage of the Android&#8217;s speech recognition APIs. Here is what the ANE does, Provide an API to check if the feature is supported. Provide an API to launch the default speech recognition UI and capture voice input. Trigger events based on the success or failure of the [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a Speech Native Extension that takes advantage of the <a title="Android Speech Recognition " href="http://developer.android.com/resources/articles/speech-input.html" target="_blank">Android&#8217;s speech recognition</a> APIs.</p>
<p><span style="color: #ff9900;">Here is what the ANE does,</span></p>
<ul>
<li>Provide an API to check if the feature is supported.</li>
<li>Provide an API to launch the default speech recognition UI and capture voice input.</li>
<li>Trigger events based on the success or failure of the above call.</li>
<ul>
<li>In case of success, the appropriate event has information of the best match !</li>
<li>In case of failure, the appropriate event is fired.</li>
</ul>
</ul>
<p><span id="more-982"></span><br />
<span style="color: #ff9900;">Here are the steps required to include the ANE in your Android Project,</span></p>
<ul>
<li>Download the ANE from <a title="Download Speech.ane" href="http://inoel.in/ane-speech">here</a></li>
<li>In <code>Flash Builder 4.6</code>, open the Properties dialogue of the Project you want to include speech support in.</li>
<li>Select Build Path &gt; Native Extensions</li>
<li>Add ANE &#8211; Select the location of the downloaded Speech.ane file</li>
<li>Navigate to Flex Build Packaging &gt; Google Android &gt; Native Extensions</li>
<li>Check the <code>Package</code> checkbox next to Speech.ane (This ANE supports only the Android Platform at the moment)</li>
<li>Apply and Close</li>
<li>Open the &lt;ProjectName&gt;-app.xml file</li>
<li>Scroll down until you find the Android manifest statements</li>
<li>Add the  below code just before <code>&lt;/manifest&gt;</code><br />
(i.e., inside the <code>&lt;manifest&gt;</code><code>&lt;/manifest&gt;</code>tags)</p>
<blockquote><pre class="brush: as3; title: ; notranslate">
&lt;application&gt;
     &lt;activity android:name=&quot;com.inoel.ane.speech.extensions.SpeechHandler&quot;&gt;
     &lt;/activity&gt;
&lt;/application&gt;
</pre>
</blockquote>
</li>
</ul>
<p><span style="color: #ff9900;">You will now be able to access the below APIs,</span></p>
<blockquote><p>Initializing and specifying prompt text</p>
<pre class="brush: as3; title: ; notranslate">
//Creating and initializing a Speech Object
//Parameter - Prompt displayed on the Native Speech Recognition UI
var speech:Speech = new Speech(&quot;Please speak something !&quot;);
</pre>
</blockquote>
<blockquote><p>Check if speech input is supported</p>
<pre class="brush: as3; title: ; notranslate">
// Returns a Boolean value
trace(&quot;Speech Supported: &quot; + speech.isSupported);
</pre>
</blockquote>
<blockquote><p>Accept Speech Input</p>
<pre class="brush: as3; title: ; notranslate">
//Calls the method which in turn fire's the Native Speech UI for accepting speech input
speech.listen();
</pre>
</blockquote>
<blockquote><p>Listen for the following events</p>
<ul>
<li><code>speechToTextEvent.VOICE_RECOGNIZED</code> &#8211; Fired on successful voice recognition. Recognized String resides in the event.data attribute.</li>
<li><code>speechToTextEvent.VOICE_NOT_RECOGNIZED</code> - Fired on unsuccessful attempt. A common cause for failure could be network (data) unavailability. I believe this is overcome in new Ice Cream Sandwich which does not require a network connection to recognize speech ! Includes the error string in the event.data attribute.</li>
</ul>
</blockquote>
<p><span style="color: #ff9900;">Download the sample project from <a title="Download Speech.ane" href="http://inoel.in/sample-speech">here</a></span>. Please ensure you manually add the ANE with the steps above, or you get a &#8216;Class not found Exception&#8217;. </p>
<p>If you are interested in understanding how ANEs are used in Flash Builder 4.6, have a look at the recording in my previous post, <a href="http://blog.immanuelnoel.com/2011/10/20/native-extensions-flash-builder-webinar/">http://blog.immanuelnoel.com/2011/10/20/native-extensions-flash-builder-webinar/</a></p>
<p>I also plan to post the entire source for the ANE itself. Watch out for that !</p>
<p><span style="color: #ff9900;">&#8212;&#8211; UPDATE 19/02/2012 &#8212;-</span><br />
Source for the ANE is posted below,<br />
<a href="http://blog.immanuelnoel.com/2012/02/19/speech-recognition-ane-source/" title="Speech Recognition ANE – Source" target="_blank">http://blog.immanuelnoel.com/2012/02/19/speech-recognition-ane-source/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Moving on from Evangelism&#8230;</title>
		<link>http://blog.immanuelnoel.com/2011/12/06/moving-on-from-evangelism/</link>
		<comments>http://blog.immanuelnoel.com/2011/12/06/moving-on-from-evangelism/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 05:22:50 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=999</guid>
		<description><![CDATA[Its been just over a year since I had the privilege of joining the India Evangelism Team at Adobe. Had an opportunity to speak at reputed conferences, visit institutions, work with a super cool team on some amazing pieces of work and meet most of you! I will now be moving on to the Flash [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1001" title="Flash" src="http://blog.immanuelnoel.com/wp-content/uploads/2011/11/3-224x300.jpg" alt="Flash and Me" width="224" height="300" /> Its been just over a year since I had the privilege of joining the India Evangelism Team at Adobe. Had an opportunity to speak at reputed conferences, visit institutions, work with a super cool team on some amazing pieces of work and meet most of you!</p>
<p>I will now be moving on to the Flash Runtime team within Adobe. What this means is, I will not appear on stage at the frequency I was, but work more on the background with the teams that enable you build all those awesome interactive experiences! I also plan to keep my blog and twitter stream flowing, so don&#8217;t drop your bookmarks yet <img src='http://blog.immanuelnoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Looking for exciting opportunities ahead!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/12/06/moving-on-from-evangelism/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Native Extensions &#8211; Flash Builder Webinar</title>
		<link>http://blog.immanuelnoel.com/2011/10/20/native-extensions-flash-builder-webinar/</link>
		<comments>http://blog.immanuelnoel.com/2011/10/20/native-extensions-flash-builder-webinar/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 16:22:47 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Actionscript Native Extensions]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANE]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Native Extensions]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=985</guid>
		<description><![CDATA[I did a webinar last Wednesday on using Native Extensions with Flash Builder. The agenda covered an introduction to Native Extensions &#8211; Rather Actionscript Native Extensions, the workflow involved in using native extensions, followed by a live demo. For those of you who haven&#8217;t had the chance to attend, Here is the link to the [...]]]></description>
			<content:encoded><![CDATA[<p>I did a webinar last Wednesday on using Native Extensions with Flash Builder. The agenda covered an introduction to Native Extensions &#8211; Rather Actionscript Native Extensions, the workflow involved in using native extensions, followed by a live demo.</p>
<p>For those of you who haven&#8217;t had the chance to attend,</p>
<p><span style="color: #ff9900;">Here is the link to the Recording,</span><br />
<a title="Native Extensions - FB Webinar" href="https://my.adobeconnect.com/_a295153/p2l8ya1n0ta/?launcher=false&amp;fcsContent=true&amp;pbMode=normal" target="_blank">View Recording</a></p>
<p>Here are the Slides,<br />
<span id="more-985"></span></p>
<div style="backgroundcolor: black; padding: 0px; margin: 0px;" align="center"><iframe src="http://www.slideshare.net/slideshow/embed_code/9770376" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></div>
<p>Keep yourself updated on the other webinars we do.<br />
Follow us on Twitter : <a title="@ImmanuelNoel" href="http://twitter.com/#!/immanuelnoel" target="_blank">@ImmanuelNoel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/10/20/native-extensions-flash-builder-webinar/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>P2P Apps for Mobile Devices</title>
		<link>http://blog.immanuelnoel.com/2011/08/11/p2p-apps-for-mobile-devices/</link>
		<comments>http://blog.immanuelnoel.com/2011/08/11/p2p-apps-for-mobile-devices/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 04:46:38 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Platform Summit]]></category>
		<category><![CDATA[AFPS]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Location Based]]></category>
		<category><![CDATA[Map]]></category>
		<category><![CDATA[MapQuest]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[Peer to Peer]]></category>
		<category><![CDATA[RealTime Locator]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=855</guid>
		<description><![CDATA[This post is a follow up to my session at Adobe Flash Platform Summit 2011, Bangalore on the 28th of July. I spoke on Peer to Peer for Mobile Devices with the Flash Platform. Peer to Peer has been around for a long time now, but its not often you see apps making use of [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a follow up to my session at Adobe Flash Platform Summit 2011, Bangalore on the 28th of July. I spoke on <span style="color: #ffcc00;">Peer to Peer for Mobile Devices</span> with the Flash Platform. Peer to Peer has been around for a long time now, but its not often you see apps making use of this immensely capable technology. My talk covered the possibilities that could come to life with P2P on Mobile, along with some demo&#8217;s. Here is the Slide Deck,</p>
<div style="backgroundcolor: black; padding: 0px; margin: 0px;" align="center">
<div style="width:425px" id="__ss_8799668"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/immanuelnoel/p2p-for-mobile-devices" title="P2P for mobile devices" target="_blank">P2P for mobile devices</a></strong> <object id="__sse8799668" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=p2pformobiledevices-110808073618-phpapp02&#038;stripped_title=p2p-for-mobile-devices&#038;userName=immanuelnoel" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse8799668" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=p2pformobiledevices-110808073618-phpapp02&#038;stripped_title=p2p-for-mobile-devices&#038;userName=immanuelnoel" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/immanuelnoel" target="_blank">immanuelnoel</a> </div>
</p></div>
</div>
<p>As part of my demo at AFPS, I wrote the <span style="color: #ffcc00;">RealTime Locator</span>, a simple app that shares its location with every peer in a group over the RTMFP protocol.<span id="more-855"></span> Basically, I do a Lat/Long multicast on receiving the coordinates via GPS. The other interesting aspect is the same app, with ZERO code change is deployed on 3 different platforms, Android, Blackberry Playbook, and the iOS.</p>
<p>Here is a video showing the app running on the three devices, HTC Desire HD, Blackberry Playbook, and an iPod Touch,<br />
httpv://www.youtube.com/watch?v=uFF4tx82se0</p>
<p>I made use of the freely available non-commercial service, Adobe Cirrus, for initiating P2P connections, and the awesome MapQuest Flex library for displaying and plotting location on the map. The GPS location is represented in Red, and the shared locations in Green.</p>
<p>The <span style="color: #ffcc00;">FXP</span> has been online for a while now, and here is the link again,<br />
Download <a title="RealTime Locator Source" href="http://code.immanuelnoel.com/RealTimeLocator/RealTimeLocator.fxp" target="_blank">Source</a></p>
<p>Here is what you need to modify to get it working,</p>
<p style="padding-left: 30px;">• <span style="color: #ffcc00;">Views/MapView.mxml –</span> Replace the value for ‘MAP_KEY’ with your MapQuest API key. Get your key at, <a title="MapQuest Developer" href="http://developer.mapquest.com/" target="_blank">http://developer.mapquest.com/</a><br />
• <span style="color: #ffcc00;">Controller/p2p.as –</span> Replace the value for ‘DEVELOPER_KEY’ with your Cirrus Key. Register for a Cirrus Key here, <a title="Cirrus Developer Key" href="http://labs.adobe.com/technologies/cirrus/" target="_blank">http://labs.adobe.com/technologies/cirrus/</a><br />
<span style="color: #ffcc00;">NOTE :</span> To facilitate P2P connections over the LAN only, replace the value for ‘SERVER_ADDRESS’ with ‘rtmfp://’ and leave the value for ‘DEVELOPER_KEY’ blank (‘ ’).  Optionally also edit the P2P Group Name.</p>
<p>This application only demonstrates one of the capabilities of P2P with Flex. Feel free to get the code and build on it for greater possibilities.<br />
<br />
<span style="color: #ffcc00;">RealTime Locator for Android</span>,<a title="RealTime Locator for Android" href="http://code.immanuelnoel.com/RealTimeLocator/RealTimeLocator.apk" target="_blank"><img class="alignright size-thumbnail wp-image-922" title="Real Time Locator for Android" src="http://blog.immanuelnoel.com/wp-content/uploads/2011/08/RealTimeLocatorAndroid1-150x150.png" alt="Real Time Locator for Android" /></a></p>
<p>Download <a title="RealTime Locator APK" href="http://code.immanuelnoel.com/RealTimeLocator/RealTimeLocator.apk" target="_blank">Android Installer (.APK)</a><br />
The above app uses a different P2P Group than what is seen in the shared FXP file. The two will not work in conjunction.</p>
<p>*The Blackberry and iOS apps are not hosted due to licencing and distribution constraints. Feel free to download the source and deploy on the two devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/08/11/p2p-apps-for-mobile-devices/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Speaking at, Adobe Flash Platform Summit 2011</title>
		<link>http://blog.immanuelnoel.com/2011/07/23/speaking-at-adobe-flash-platform-summit-2011/</link>
		<comments>http://blog.immanuelnoel.com/2011/07/23/speaking-at-adobe-flash-platform-summit-2011/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 13:48:36 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Flash Platform Summit]]></category>
		<category><![CDATA[AFPS]]></category>
		<category><![CDATA[Bangalore]]></category>
		<category><![CDATA[Developer Event]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=788</guid>
		<description><![CDATA[The much awaited Flash / Flex / Actionscript developer summit, the Adobe Flash Platform Summit is back again on 27th &#8211; 29th July at Bangalore, India with all new and exciting content around Devices, Experiences &#038; Innovation. Watch out for exciting sessions around Flex for Mobile and Enterprise. Also with us this time are a [...]]]></description>
			<content:encoded><![CDATA[<p>The much awaited Flash / Flex / Actionscript developer summit, the <a href="http://adobesummit.com" title="Adobe Summit" target="_blank">Adobe Flash Platform Summit</a> is back again on 27th &#8211; 29th July at Bangalore, India with all new and exciting content around <strong>Devices, Experiences &#038; Innovation</strong>. Watch out for exciting sessions around Flex for Mobile and Enterprise. Also with us this time are a host of Product Managers apart from Duane Nickull and Renaun Erickson, Evangelists from across the world. Ben Forta, too, is going to be there.  </p>
<p>I will be <a href="http://www.developermarch.com/adobesummit/speakers.html#Immanuel_Noel" target="_blank">speaking</a> on the 28th July. Here is an abstract of my session,<br />
<span id="more-788"></span></p>
<p><img class="alignleft size-full wp-image-738" title="GIDS2011" src="http://immanuelnoel.com/images/Badges/Badge_AFPS.png" alt="" width="300" height="142" /> <span style="color: #ffcc00;"><strong>Building P2P Apps for Mobile Devices</strong></span><br />
<span style="color: #999999;">Duration: 50 mins</span><br />
This session is an insight into the Peer-To-Peer capabilities of AIR for Mobile. Bring about a better user experience and improve efficiency with your apps communicating with each other over the RTMFP protocol, without the need for a server. Take advantage of this capability supported across Playbook, Android and iOS devices, Cloud Sourcing information across varied platforms. Understand Peers, Multicasts, Groups, Directed Routing, et al. The session gives you a kick start in creating Video Chat apps, Multi-Player Games, Data sharing apps and more.</p>
<p>Got a host of demo&#8217;s lined up, so expect something more than just file sharing in this session. </p>
<p>In case you haven&#8217;t registered yet, don&#8217;t risk missing all the excitement ! <a href="http://www.adobesummit.com/" target="_blank"><strong>REGISTER NOW</strong></a><br />
See you all there ! </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/07/23/speaking-at-adobe-flash-platform-summit-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Domain acquired &#8211; iNoel.in</title>
		<link>http://blog.immanuelnoel.com/2011/07/17/new-domain-acquired-inoel-in/</link>
		<comments>http://blog.immanuelnoel.com/2011/07/17/new-domain-acquired-inoel-in/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 15:03:03 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[inoel.in]]></category>
		<category><![CDATA[new domain]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=859</guid>
		<description><![CDATA[I just acquired a new domain, iNoel.in. Found my existing domain, ImmanuelNoel.com, to be too long to be key&#8217;d in to the address bar . I plan to use iNoel.in as, An alternate URL for my website / blog. The new (other) URL for my blog is, Blog.iNoel.in A URL shortening service for my own needs. Here are a few short [...]]]></description>
			<content:encoded><![CDATA[<p>I just acquired a new domain, iNoel.in. Found my existing domain, ImmanuelNoel.com, to be too long to be key&#8217;d in to the address bar <img src='http://blog.immanuelnoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>I plan to use iNoel.in as,</p>
<ul>
<li>An alternate URL for my website / blog. The new (other) URL for my blog is, <a title="Blog.iNoel.in" href="http://blog.inoel.in">Blog.iNoel.in</a></li>
<li>A URL shortening service for my own needs.</li>
</ul>
<p></br></p>
<div>Here are a few short URLs,</div>
<div>Twitter : <a title="inoel.in/twitter" href="http://inoel.in/twitter" target="_blank">inoel.in/twitter</a></div>
<div>Facebook : <a title="inoel.in/fb" href="http://inoel.in/fb" target="_blank">inoel.in/fb</a></div>
<div>LinkedIn : <a title="inoel.in/linkedin" href="http://inoel.in/linkedin" target="_blank">inoel.in/linkedin</a></div>
<div>Google Plus : <a title="inoel.in/gPlus" href="http://inoel.in/gPlus" target="_blank">inoel.in/gPlus</a></div>
<p>My existing domain, immanuelnoel.com is still going to be the primary domain. Your old bookmarks should not be affected.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/07/17/new-domain-acquired-inoel-in/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blackberry Playbook App Clinic&#8217;s are here !</title>
		<link>http://blog.immanuelnoel.com/2011/07/06/blackberry-playbook-app-clinic/</link>
		<comments>http://blog.immanuelnoel.com/2011/07/06/blackberry-playbook-app-clinic/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 08:13:35 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[App Clinic]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[BlackBerry Playbook]]></category>
		<category><![CDATA[Mobile Application Development]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=790</guid>
		<description><![CDATA[The Blackberry Playbook App Clinic&#8217;s are here ! Your one stop destination to get those apps onto the Blackberry Playbook. The App Clinic&#8217;s, organized by various Flex user groups, are happening across major Indian cities over this week and the next. What is it ? If you have been longing to get your app onto [...]]]></description>
			<content:encoded><![CDATA[<p>The Blackberry Playbook App Clinic&#8217;s are here ! Your one stop destination to get those apps onto the Blackberry Playbook. The App Clinic&#8217;s, organized by various Flex user groups, are happening across major Indian cities over this week and the next. </p>
<p><strong>What is it ?</strong><br />
If you have been longing to get your app onto the Blackberry Playbook, have a cool app idea, if you are a enthusiastic Flex / Actionscript developer, or never had an opportunity to try out the new Flex 4.5 SDK or the new Flash Builder 4.5.1, Blackberry Playbook App Clinic&#8217;s are for you !<br />
The clinic kick-starts with a presentation on building Flex/Air Apps for the BlackBerry PlayBook. Experts from Adobe India and RIM will be present for the rest of the event at the venue to drive out your doubts and help you build apps seamlessly. </p>
<p><span id="more-790"></span><br />
Just drop in with your laptop at any of the venues at Bangalore, Chennai, Pune, Mumbai or Noida, and here is what you get !</p>
<li>A chance to interact with experts from Adobe and RIM, while you build your apps</li>
<li>An opportunity to win TWO tickets to the Adobe Flash Platform Summit 2011 &#8211; Worth Rs 6000</li>
<li>An opportunity to win Blackberry Playbooks and Smartphones</li>
<p>Find more information on registration here,<br />
<a href="http://www.facebook.com/event.php?eid=187827427940852" target="_blank">http://www.facebook.com/event.php?eid=187827427940852</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/07/06/blackberry-playbook-app-clinic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at, Great Indian Developer Summit 2011</title>
		<link>http://blog.immanuelnoel.com/2011/04/16/speaking-at-great-indian-developer-summit-2011/</link>
		<comments>http://blog.immanuelnoel.com/2011/04/16/speaking-at-great-indian-developer-summit-2011/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 09:45:50 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[GIDS]]></category>
		<category><![CDATA[Great Indian Developer Summit]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=729</guid>
		<description><![CDATA[I will be speaking at the Great Indian Developer Summit 2011, at J N Tata Auditorium, IISC, Bangalore on the 21st and 22nd April 2011. Here are the abstracts for my sessions, Developing Apps for Mobile Platforms with Adobe AIR 2.6 (link) April 21, 2011. Thursday Adobe® AIR® is a runtime that enables developers to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-738" title="GIDS2011" src="http://immanuelnoel.com/images/Badges/Badge_GIDS2011.png" alt="" width="300" height="142" /></p>
<p>I will be speaking at the Great Indian Developer Summit 2011, at J N Tata Auditorium, IISC, Bangalore on the 21st and 22nd April 2011.</p>
<p>Here are the abstracts for my sessions,</p>
<p><span id="more-729"></span></p>
<p><strong><span style="color: #ff9900;">Developing Apps for Mobile Platforms with Adobe AIR 2.6</span></strong> (<a title="link" href="http://www.developermarch.com/developersummit/sessions.html#session116" target="_blank">link</a>)<br /> <span style="color: #c0c0c0;">April 21, 2011. Thursday</span><br /> Adobe® AIR® is a runtime that enables developers to build standalone RIA applications on all the popular desktop platforms as well as mobile platforms like Android phones and tablets, RIM Playbook and Apple iOS devices. With Adobe AIR, it is extremely easy to create, distribute and also monetize your apps. You can develop these apps using Adobe Flex/Flash and your app can consume data/services from your existing enterprise back ends or public web API. This session is specifically aimed at introducing the capabilities of Adobe AIR to Java developers.</p>
<p><strong><strong><span style="color: #ff9900;">Developing Mobile Applications for Multiple Platform</span></strong> </strong>(<a title="link" href="http://www.developermarch.com/developersummit/workshops.html#workshop63" target="_blank">link</a>)<strong><br /> </strong><span style="color: #c0c0c0;">April 22, 2011. Friday</span><br /> The Adobe® AIR® 2.5 runtime enables developers to use ActionScript® to build web applications that run as standalone client applications without the constraints of a browser. A key component of the Flash Platform, AIR unleashes the creativity of designers and developers by providing a consistent and flexible development environment for the delivery of applications across devices and platforms. In this tutorial, you will learn how to build AIR applications for BlackBerry Playbook, Android and other supported devices and platforms using the Adobe Flex framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/04/16/speaking-at-great-indian-developer-summit-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toast on AIR for Android</title>
		<link>http://blog.immanuelnoel.com/2011/01/03/toast-on-air-for-android/</link>
		<comments>http://blog.immanuelnoel.com/2011/01/03/toast-on-air-for-android/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 13:20:36 +0000</pubDate>
		<dc:creator>Immanuel Noel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AIR for Android]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Component]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Notifications]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Toast]]></category>

		<guid isPermaLink="false">http://blog.immanuelnoel.com/?p=625</guid>
		<description><![CDATA[Here&#8217;s a component which behaves as a &#8216;Toast&#8217; for AIR applications running on Android. The component can essentially be used across any Flex application, since it is an ActionScript class. For those of you who don&#8217;t know, Toast is the small transparent alert that pop&#8217;s up (and doesn&#8217;t block your UI) when u set an [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a component which behaves as a &#8216;Toast&#8217; for AIR applications running on Android. The component can essentially be used across any Flex application, since it is an ActionScript class.</p>
<p>For those of you who don&#8217;t know, Toast is the small transparent alert that pop&#8217;s up (and doesn&#8217;t block your UI) when u set an alarm on Android phones !</p>
<div id="attachment_652" class="wp-caption aligncenter" style="width: 296px"><img class="size-medium wp-image-652" title="ToastPreview" src="http://blog.immanuelnoel.com/wp-content/uploads/2011/01/ToastPreview-286x300.jpg" alt="" width="286" height="300" /><p class="wp-caption-text">Toast on AIR for Android</p></div>
<p style="text-align: center;"><span style="color: #ff6600;">In the pic above, the text &#8216;Enter Required Fields&#8217; appears in a &#8216;Toast&#8217;</span></p>
<p><span id="more-625"></span><br />
The Toast, is a &#8216;component&#8217; of your application, and not a feature integrated into AIR (for Android), which makes the toast persistent only across your own application unlike the &#8216;Toast&#8217; found under the Android native application development environment.</p>
<p><span style="color: #ff9900;">Usage : </span></p>
<pre class="brush: as3; title: ; notranslate">
// Toast Usage
new Toast(this, &quot;Enter Required Fields&quot;, 3000);
/*
Parameters used,
Context (Parent) : this
Text to display : &quot;Enter Required Fields&quot;
TimeOut : 3000
*/
</pre>
<blockquote><p>Optional parameters include,<br />
timeOut -&gt; Display Duration in milliseconds; Type:Number; Default:3000<br />
width -&gt; Toast Width; Type:Number; Default:290<br />
height -&gt; Toast Height; Type:Number; Default:40<br />
color -&gt; Toast background color; Type:String; Default:&#8217;#454545&#8242;<br />
x -&gt; X Position. Auto-calculated if not specified; Type:Number; Default:NaN<br />
y -&gt; Y Position. Auto-calculated if not specified; Type:Number; Default:NaN</p></blockquote>
<p><span style="color: #ff9900;">Source : </span></p>
<pre class="brush: as3; title: ; notranslate">
package immy
{
	import flash.events.TimerEvent;
	import flash.utils.Timer;

	import spark.components.BorderContainer;
	import spark.components.Label;
	import spark.components.View;
	import spark.layouts.VerticalLayout;

	public class Toast extends BorderContainer
	{
		/**
		 *  CONSTRUCTER
		 */
		public function Toast(context:View, textToDisplay:String, timeOut:Number = 3000, width:Number = 290, height:Number = 40, color:String = '#454545', x:Number = NaN, y:Number = NaN):void
		{
			super();

			// TIMER TO 'REMOVE' TOAST AFTER THE SPECIFIED 'TIMEOUT'
			var timer:Timer = new Timer(timeOut, 1);
			timer.addEventListener(TimerEvent.TIMER_COMPLETE, function(event:TimerEvent):void{
				context.removeElementAt(context.numElements - 1);
			});
			timer.start();

			createUI(textToDisplay, color, width, height);

			// TOAST POSITION
			positionToast(context);
		}

		/**
		 *  CREATE TOAST UI COMPONENTS
		 */
		private function createUI(textToDisplay:String, color:String, width:Number, height:Number):void
		{
			selfProperties(color, width, height);
			addText(textToDisplay);
		}

		/**
		 * ASSIGNING ATTRIBUTES TO THE BASE CONTAINER
		 */
		private function selfProperties(color:String, width:Number, height:Number):void
		{
			this.width=width;
			this.height=height;
			this.setStyle('backgroundAlpha','0.75');
			this.setStyle('backgroundColor',color);
			this.setStyle('borderColor','#242424');
			this.setStyle('borderWeight','2');
			this.setStyle('cornerRadius','7');

			var vl:VerticalLayout = new VerticalLayout();
			vl.horizontalAlign = &quot;center&quot;;
			vl.verticalAlign = &quot;middle&quot;;
			this.layout = vl;
		}

		/**
		 *  CREATE LABEL
		 */
		private function addText(textToDisplay:String):void
		{
			var lbl:Label = new Label();
			lbl.setStyle('color','#EDEDED');
			lbl.setStyle('fontSize','18');
			lbl.text = textToDisplay;
			lbl.setStyle('textAlign', 'center');
			lbl.width = this.width;

			this.addElement(lbl);
		}

		/**
		 *  POSITIONING THE TOAST
		 */
		private function positionToast(context:View):void
		{
			// POSITION TOAST
			if(Number(x) &amp;&amp; Number(y))
			{
				this.x = x;
				this.y = y;
			}
			else
			{
				if(Number(x) &amp;&amp; !Number(y))
				{
					throw new Error(&quot;Toast : 'Y' attribute also needs to be specified&quot;);
				}

				this.x = (context.width / 2) - (this.width / 2);
				this.y = (context.height * 3 / 4) - (this.height / 2);
			}

			// IF PREVIOUSLY ADDED COMPONENT IS A TOAST, RE-ORDER TO MANAGE TIMER
			if(context.getElementAt(context.numElements - 1) is Toast)
				context.addElementAt(this, context.numElements - 1);
			else
				context.addElement(this);
		}
	}
}
</pre>
<p><a href="http://code.immanuelnoel.com/Toast/Toast.as" target="_blank"><span style="color: #ff9900;">Download</span></a></p>
<p>A future release of AIR for Android will probably bring in a &#8216;Toast&#8217; to substitute the one made available by the Android SDK. Until then, here&#8217;s something to make use of ! <img src='http://blog.immanuelnoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.immanuelnoel.com/2011/01/03/toast-on-air-for-android/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

