<?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>Yeah, But Is It Flash? &#187; AIR</title>
	<atom:link href="http://www.yeahbutisitflash.com/?feed=rss2&#038;tag=air" rel="self" type="application/rss+xml" />
	<link>http://www.yeahbutisitflash.com</link>
	<description>Random musings about all things Flash related</description>
	<lastBuildDate>Mon, 06 Sep 2010 21:43:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Goodbye Symbian. Hello Android</title>
		<link>http://www.yeahbutisitflash.com/?p=1664</link>
		<comments>http://www.yeahbutisitflash.com/?p=1664#comments</comments>
		<pubDate>Thu, 29 Jul 2010 22:53:28 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google nexus one]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=1664</guid>
		<description><![CDATA[This wasn&#8217;t an easy decision. After all I&#8217;m supposed to be a Nokia fan boy. However, after much deliberation my trusty wee Nokia 5800 has been put aside and I&#8217;m now using the Google Nexus One as my primary mobile. Anyone who knows me will be well aware that I&#8217;m quite enthusiastic when it comes [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1664"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1664&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>This wasn&#8217;t an easy decision. After all I&#8217;m supposed to be a Nokia fan boy. However, after much deliberation my trusty wee <a href="http://www.forum.nokia.com/Devices/Device_specifications/5800_XpressMusic/" target="_">Nokia 5800</a> has been put aside and I&#8217;m now using the <a href="http://www.google.com/phone/static/en_US-nexusone_tech_specs.html" target="_">Google Nexus One</a> as my primary mobile.</p>
<p>Anyone who knows me will be well aware that I&#8217;m quite enthusiastic when it comes to the <a href="http://en.wikipedia.org/wiki/S60_(software_platform)" target="_">Symbian S60</a> operating system. It&#8217;s something I&#8217;ve grown comfortable with over the years and has always dictated what phone I get next.</p>
<p>I&#8217;ve been tinkering with Flash on mobile since Flash Lite appeared on the scene and Nokia have always done an excellent job of supporting Flash Lite on their mobile platforms. Flash is actually the reason I got my first Series 60 handset and it&#8217;s the reason why I&#8217;ve stuck with Nokia devices for so long.</p>
<p>However things are changing and Nokia don&#8217;t seem to be keeping up. Flash Player 10.1 and Adobe AIR 2.5 have now arrived on mobile and I&#8217;ve been desperate to explore both. Unfortunately there&#8217;s no sign of Flash Player 10.1 on any upcoming Nokia devices and they seem to be going with Flash Lite 4 in the short term rather than AIR.</p>
<p>So for the time being I&#8217;m moving over to Android, where I can get a much more complete web experience and also create cool Flash apps until my heart&#8217;s content.</p>
<p>This doesn&#8217;t mean I&#8217;ve become an overnight Nokia hater or anything. I will be keeping an eye out to see how things develop. The <a href="http://europe.nokia.com/find-products/devices/nokia-n8" target="_">Nokia N8</a> looks like it could be quite interesting &#8211; It&#8217;s just a shame its doesn&#8217;t support Adobe AIR.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=1664</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My &#8220;Write Once, Run Anywhere&#8221; Experiment</title>
		<link>http://www.yeahbutisitflash.com/?p=1625</link>
		<comments>http://www.yeahbutisitflash.com/?p=1625#comments</comments>
		<pubDate>Wed, 14 Jul 2010 00:04:51 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[symbian]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=1625</guid>
		<description><![CDATA[The Challenge There&#8217;s much talk of creating content once with Adobe Flash and running it just about anywhere. Now anyone who&#8217;s had experience writing Flash content for mobile will know that it&#8217;s not that simple (all devices aren&#8217;t equal after all) but hey, I&#8217;m always up for a challenge and thought I&#8217;d try and port [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1625"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1625&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2>The Challenge</h2>
<p>There&#8217;s much talk of creating content once with Adobe Flash and running it just about anywhere. Now anyone who&#8217;s had experience writing Flash content for mobile will know that it&#8217;s not that simple (all devices aren&#8217;t equal after all) but hey, I&#8217;m always up for a challenge and thought I&#8217;d try and port some web-based content to a wide range of handsets.</p>
<div align="center"><object width="536" height="402"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13251739&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13251739&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="536" height="402"></embed></object></div>
<p>So what to port? Well I recently <a href="index.php?p=1420" target="_">posted</a> about the <a href="http://www.weeworld.com" target="_">WeeWorld</a> Fame Game, which we released a few weeks back, and thought that it would be an ideal candidate. Now I appreciated the sensible thing would be to plan with mobile in mind from the outset but I was genuinely interested to see how difficult it would be to take content that was designed primarily for the web.</p>
<p>Now if you can&#8217;t be bothered reading on &#8211; it&#8217;s quite a long post &#8211; or don&#8217;t have the time then why not just watch the video above where you can see the results of my little experiment. If you want to know more then read on.<br />
<span id="more-1625"></span></p>
<h2>The Devices</h2>
<p>The first step was to decide on some phones. I could just have picked a bundle of devices that supported the same Flash runtime but that would have been cheating so I went with the following handsets and flavours of Flash:</p>
<ul>
<li>iPhone &amp; iPod touch &#8211; Adobe AIR / ActionScript 3</li>
<li>Google Nexus One &#8211; Adobe AIR / ActionScript 3</li>
<li>Nokia 5800 XpressMusic &#8211; Flash Lite 3.1 / ActionScript 2</li>
<li>Nokia N95 &#8211; Flash Lite 2.0 / ActionScript 2</li>
<li>Nokia 5310 XpressMusic &#8211; Flash Lite 2.1 / ActionScript 2</li>
</ul>
<p>Now that the handsets had been selected it was time to actually do some work.</p>
<h2>ActionScript 3 to ActionScript 2</h2>
<p>From the device list above there&#8217;s an obvious problem. In order to work on the Flash Lite handsets the Fame Game needed to be ported from AS3 to AS2. This was by far the biggest obstacle and took a few days to re-write. Maintaining two code bases for a project is hardly ideal but considering the extra device coverage it would give it was worth the effort.</p>
<p>Sure, Flash Lite 4 supports ActionScript 3. However until Flash Lite 4 devices start to gain some penetration most developers will probably have to fall-back to lower versions of Flash Lite, which unfortunately means using ActionScript 2 for the time being.</p>
<p>We&#8217;re clearly in a transitional phase for Flash and mobile. Flash Lite was a very good toe in the water for Adobe but considering the pace at which people upgrade their handsets, it&#8217;s clear that ActionScript 2&#8242;s days are numbered. From this point onwards devices are going to support either Adobe AIR (high-end devices) or Flash Lite 4 (lower-end devices) both of which support ActionScript 3.</p>
<p>However for the time being you&#8217;ll probably have to stick with AS2 to capture as wide an audience as possible.</p>
<h2>Layout</h2>
<p>One major headache for any mobile developer, no matter what language they&#8217;re using, is the fact that screen dimensions vary wildly across devices. Ensuring your application fits all these different screens is difficult enough when considering mobile from the outset, but I had the added problem of working with something that had originally been designed for the web where one size fits all.</p>
<p>Thankfully the Fame Game&#8217;s original layout was such that it could quite easily be tailored for different dimensions. The big question was whether to write code to dynamically alter the layout on-the-fly or to simply code for each screen. I opted to code for and create separate builds for each screen. I felt this would give me more control over the layout and with minimal effort.</p>
<p>This also allowed me to create multiple FLAs &#8211; one for each target device. Although the original code base performed much of the layout, where appropriate, layout was taken care of on the Stage. The visual assets themselves were all pre-sized and stored in the library. By creating multiple FLAs I was able to re-purpose the original artwork for each of the target screens, without resorting to bundling multiple versions of the same artwork into the one FLA.</p>
<p>Now you might think that coding for multiple screen layouts would bloat the final build size. After all, if you target five difference screen sizes then surely you&#8217;d have to include in the final SWF code to perform the layout for all five screens? Well I managed to avoid that by creating separate layout classes for each screen and ensuring that each build pointed to only the layout class that was required.</p>
<p>Here&#8217;s roughly how the folder structure looked for this code:</p>
<blockquote><p><code>src/platform/android/Layout.as<br />
src/platform/iphone/Layout.as<br />
src/platform/web/Layout.as</code></p></blockquote>
<p>The important thing to note from the folder structure above is that although each class is in a different folder, they all have identical fully-qualified class paths. Essentially it is the same class but in three different locations. Each class holds static data that is used to define layout information related to a particular device&#8217;s screen dimensions.</p>
<p>Now to target the Google Nexus One I simply added a class path to its FLA&#8217;s publish profile that pointed to <code>src/platform/android</code>. For the iPhone FLA I added a class path that pointed to  <code>src/platform/iphone</code>, and for the standard web version&#8217;s FLA I added a class path to  <code>src/platform/web</code>.</p>
<p>The final step was to work my way through the existing Fame Game code and replace any layout-specific code with calls to the Layout class. So whereas before there might have been screen-specific code that looked like this:</p>
<blockquote><p><code>// Position the WeeMee just off-screen.<br />
weemee.x = -340;<br />
weemee.y = -30;</code></p></blockquote>
<p>We now have the following screen-independent code, where the Layout class used is determined by the class path set in the publish profile:</p>
<blockquote><p><code>// Position the WeeMee just off-screen.<br />
weemee.x = Layout.weemee.x;<br />
weemee.y = Layout.weemee.y;</code></p></blockquote>
<p>With this implementation, any new screen sizes can be implemented without bulking up the final SWF size. It also provides tighter control over the layout compared to a dynamic layout implementation.</p>
<h2>The WeeMees</h2>
<p>Central to the WeeWorld site is the WeeMee avatar and it&#8217;s these little cute characters you get to vote for in the Fame Game. WeeMees are dynamically generated on our server using Blue Pacific&#8217;s Turbine and served as Flash 7 SWFs with a smattering of ActionScript 2 used to perform certain animations and effects.</p>
<p>Although this approach works a treat on our live site things were a little different for my mobile versions. Only the Nokia 5800, which supports Flash Lite 3, was able to actually load the WeeMee SWFs.</p>
<p>Both the N95 and the Nokia 5310 were restricted to Flash Lite 2.x, which had some rendering issues with the WeeMees. AIR for iPhone does not support the loading of external SWFs that contain ActionScript so SWFs were out of the question for that. And although AIR for Android can load external SWFs it only supports SWFs with ActionScript 3, so WeeMee SWFs were a no-no there too.</p>
<p>Thankfully at WeeWorld we can fall-back to using PNGs of our WeeMees, which turned out to be quite handy for this challenge. So for the iPhone and Google Nexus One versions I changed the config settings for each to request PNG WeeMees from the server.</p>
<p>Unfortunately the Flash Lite runtimes on both the Nokia N95 and 5310 didn&#8217;t support PNGs so a few additional changes had to be made. Instead of serving PNGs to these devices some code was written on the server to convert the PNGs to JPEG. This had one side-effect &#8211; any transparency behind the WeeMee was lost, which in turn blocked-out the nice gradient background within the app and generally looked quite ugly.</p>
<p>It wasn&#8217;t a big deal though. For these two devices I removed the gradient background and replaced it with a solid colour. I then ensured that the same colour was rendered behind the WeeMee JPGs that were now coming from the server. It worked quite well and most people wouldn&#8217;t have been aware of the changes when using it.</p>
<p>You might think that this all sounds like a huge amount of ActionScript changes were required for each target device. However, the reality was that the work was really all done on the server, and the ActionScript itself actually remained relatively unchanged.</p>
<h2>Keypad Support</h2>
<p>The final hurdle was to add keypad support for the Nokia N95 and Nokia 5310. The other devices supported touch-screen meaning that no code changes were required from the original web version &#8211; both AIR and Flash Lite 3 can handle the touch events as if they are mouse events, which in my case was a major time saver.</p>
<p>Keypad support was required to allow the user to move between the three voting icons and make a selection. The voting icons were all managed by a <code>VoteIcons</code> class, and adding keypad support wasn&#8217;t that difficult. These changes were only made to the ActionScript 2 code base since all the ActionScript 3 builds were for touch screen phones.</p>
<p>The first step was to move <code>VoteIcons</code> into the root of the <code>platforms</code> folder that was first created to help with layout. The class was then renamed to <code>VoteIconsBase</code> and a new method named <code>onKeyDown</code> was added. The top-level application class was then made to listen for key events and pass them to the <code>VoteIconsBase</code> class.</p>
<p>Within each of the platform specific folders a new class was created called <code>VoteIcons</code> that extended <code>VoteIconsBase</code>. The folder structure looked like this:</p>
<blockquote><pre><code>src/platform/
             VoteIconsBase.as
             n5310/
                    VoteIcons.as
             n95/
                    VoteIcons.as
             n5800/
                    VoteIcons.as
</pre>
<p></code></p></blockquote>
<p>The implementation for <code>onKeyDown</code> within <code>VoteIconsBase</code> does nothing. Instead it relies on the sub-classes overriding it. Since the Nokia 5800 is a touch-screen device, it's sub class does nothing with the <code>onKeyDown</code> method. Both the Nokia 5310 and Nokia N95 versions of <code>VoteIcons</code> however do have implementations for this method, ensuring that the key events are handled and the correct icon is highlighted and selected.</p>
<p>As with the layout handling, certain class paths had to be added to each FLA's publish profile depending on the target device.</p>
<p>Every FLA required the <code>VoteIconsBase</code> class, so the following was added to each FLA's class path: <code>/src/platform</code>.</p>
<p>Then one additional class path was added depending on the target device. So the Nokia 5800's publish profile was pointed towards <code>/src/platform/n5800</code>; the Nokia 5300 FLA looked for the <code>VoteIcons</code> class in <code>/src/platform/n5300</code>; and the Nokia N95 build got its code from <code>/src/platform/n95</code>.</p>
<h2>Optimisation</h2>
<p>While porting to the various mobile devices I attempted not to optimise the code - I felt it went against the spirit of the challenge. However I did allow myself to make some tweaks to each of the FLAs where I felt it might help device performance.</p>
<p>With the exception of the Google Nexus One I reduced the frame rates to suit each device:</p>
<ul>
<li>Google Nexus One - 30fps</li>
<li>iPhone - 16fps</li>
<li>Nokia 5800 XpressMusic - 16fps</li>
<li>Nokia N95 - 12fps</li>
<li>Nokia 5310 XpressMusic - 12fps</li>
</ul>
<p>When repurposing the graphics for each FLA I was careful to ensure that all library clips were already scaled to fit the device's screen - Resizing instances on the stage is a very bad idea and can seriously hurt performance on mobile.</p>
<p>The iPhone's FLA also got some extra attention. I replaced some of the vector graphics with bitmap versions (I really should have done this for all devices) and also set many of the movie clip instances to 'Cache as bitmap' ensuring that they got stored on the iPhone's GPU for faster rendering.</p>
<p>I could have spent more time on the iPhone version to bring its frame rate up to 30fps, but it would have required code changes and considering Apple's ban on Flash content anyway I felt it wasn't worth the effort, and as I had stated before it went against the spirit of the challenge.</p>
<h2>Coverage</h2>
<p>So I ended up with the Fame Game running on five different devices. I was also planning on creating a version for my <a href="http://mariamdholkawala.com/mobile/?p=402" target="_">Sony Ericsson W705</a> but unfortunately it recently died and is now looking down on us from <a href="http://en.wikipedia.org/wiki/Silicon_Heaven" target="_">Silicon Heaven</a>.</p>
<p>Now given the sheer number of devices out there, five doesn't seem like that many so let's spend a little time explaining why I selected these devices - it wasn't random you know.</p>
<p>Both the Nokia N95 and Nokia 5800 use the Symbian S60 operating system. For those who don't know, Symbian phones are everywhere and the OS currently holds the lions share of the smartphone market. In the first quarter of this year over 25 million Symbian S60 smartphones were sold. That's 44% of all smartphones sold worldwide in that quarter!</p>
<p>I performed a quick check in Adobe Device Central CS5 and counted 72 Nokia handsets alone that would run the exact same builds of the Fame Game that I deployed to the N95 and 5800. I'm not entirely sure just how many different handsets Nokia has but I'm pretty sure those 72 listed in Device Central would cover a significant number of them. So by targeting Flash Lite 2 and Symbian S60 you're effectively targeting millions of devices.</p>
<p>The Nokia 5310 XpressMusic isn't a smartphone, it's a fairly inexpensive mass market handset that runs the S40 operating system. Device Central listed 35 S40 phones that would run the same build of the Fame Game that was deployed to the Nokia 5310. Again that seems like a fairly good result to me and shows the value in continuing to target Flash Lite in the short term.</p>
<p>Now onto the iPhone/iPod touch. Okay I know Apple has banned any content written in Flash from the App Store but I had my iPod touch lying around and thought it would be a shame not to include it in the challenge. But if Apple were to have a change of heart then the Fame Game would run on the 51 million iPhones and 20 million iPod touches that have been sold over the last 3 years or so.</p>
<p>Finally there's the Google Nexus One, which runs the Android operating system. With 5 million handsets being sold in the first quarter of this year alone Android is gathering some significant momentum and going forward could be the mobile platform of choice for Flash developers.</p>
<p>So you see by carefully targeting a few key handsets I've managed to capture quite a large slice of the mobile space for the Fame Game app.</p>
<h2>Conclusion</h2>
<p>Okay, so it's clear Adobe isn't quite there yet with its "Write Once, Run Anywhere" vision but I honestly don't think they're that far off - In my case it was "Write Twice, Run on Lots of Devices".</p>
<p>In the short term it's probably still beneficial to target some of the older handsets that only support ActionScript 2, but as Adobe AIR and Flash Lite 4 roll out across more smartphones AS2 will quickly become irrelevant.</p>
<p>The Flash Platform is an excellent development platform and it's comforting to know that you can use the same tools and language to develop across a wide range of devices. Sure there will always be a need for native apps where performance is critical, but for a vast number of projects out there Flash will be an ideal choice.</p>
<p>So exactly how long did it take me to get the Fame Game running on these devices? After all this has turned into a monster blog entry and that might give the misconception that it took quite some time. Here's a breakdown for you:</p>
<table style="position: relative; left:25px;">
<tr>
<th>Task</th>
<th>Hours</th>
<th>Notes</th>
</tr>
<tr>
<td>Port AS3 to AS2</td>
<td>16</td>
<td>By far the biggest task.</td>
</tr>
<tr>
<td>iPhone</td>
<td>4</td>
<td>Layout class, Graphics work.</td>
</tr>
<tr>
<td>Google Nexus One</td>
<td>3</td>
<td>Layout class, Graphics work.</td>
</tr>
<tr>
<td>Nokia N95</td>
<td>5</td>
<td>Layout class, Graphics work, Keypad interaction.</td>
</tr>
<tr>
<td>Nokia 5310</td>
<td>1</td>
<td>Layout class.</td>
</tr>
<tr>
<td>Nokia 5800</td>
<td>3</td>
<td>Layout Class, Graphics work.</td>
</tr>
<tr>
<td>Total Time</td>
<td colspan="2">32</td>
</tr>
</table>
<p>As a side-note, I've always been happy with Nokia's commitment to Flash, and I'm looking forward to getting my hands on a Flash Lite 4 device at some point. It's relatively easy to write Flash content, test it in Device Central then deploy it onto one of their handsets.</p>
<p>It's also comforting to know that this also holds true for Flash development on the Google Nexus One (and hopefully other Android devices). From the relatively short amount of time I've had to play with it I can honestly say it's the easiest device yet to get Flash content installed and running on. The performance of Flash on the Nexus One is also seriously impressive.</p>
<p>So there you have it. Approximately four days effort has produced Flash content that can run on millions of handsets. Impressive stuff if you ask me.</p>
<p>And if you made it all the way to the end then thanks for persevering!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=1625</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Build an app in a week recordings</title>
		<link>http://www.yeahbutisitflash.com/?p=1370</link>
		<comments>http://www.yeahbutisitflash.com/?p=1370#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:35:57 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[flash player 10.1]]></category>
		<category><![CDATA[LiveCycle]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=1370</guid>
		<description><![CDATA[Last week saw a series of free live webinars presented by Adobe technology experts showing users how to create RIAs using the Flash platform. If you missed out or simply want to cover the material again then fear not as you can find links to each session below. Rapidly build, deploy, and maintain Internet apps [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1370"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1370&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Last week saw a series of free live webinars presented by Adobe technology experts showing users how to create RIAs using the Flash platform. If you missed out or simply want to cover the material again then fear not as you can find links to each session below.</p>
<ul>
<li><a href="http://my.adobe.acrobat.com/p57074073/" target="_">Rapidly build, deploy, and maintain Internet apps with ColdFusion</a></li>
<li><a href="http://my.adobe.acrobat.com/p97751544/" target="_">Bringing web applications to the desktop with AIR 2</a></li>
<li><a href="http://my.adobe.acrobat.com/p24983267/" target="_">Code once and run on multiple mobile devices</a></li>
<li><a href="http://my.adobe.acrobat.com/p93914495/" target="_">Going multiuser with P2P in Flash Player 10.1</a></li>
<li><a href="http://my.adobe.acrobat.com/p53039407/" target="_">Developing multiuser applications with LiveCycle services</a></li>
<li><a href="http://my.adobe.acrobat.com/p20174257/" target="_">Connecting a web application to a J2EE back end using Flash Builder 4</a></li>
<li><a href="http://my.adobe.acrobat.com/p49752948/" target="_">Working with Flash CS5 components in your Flash Builder 4 project</a></li>
<li><a href="http://my.adobe.acrobat.com/p90445619/" target="_">Erasing the designer-to-developer gap: Adding interactions to your design</a></li>
<li><a href="http://my.adobe.acrobat.com/p66013176/" target="_">Connecting your design to PHP services</a></li>
</ul>
<p>If you found the links above useful then you might want to head over to <a href="http://www.adobe.com/devnet/flex/events/" target="_">Adobe Developer Connection</a> where you can find recordings from many other events including Flash Camps to the recently held Adobe Developer Week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=1370</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innovation through Flash</title>
		<link>http://www.yeahbutisitflash.com/?p=1315</link>
		<comments>http://www.yeahbutisitflash.com/?p=1315#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:22:56 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=1315</guid>
		<description><![CDATA[With all the recent hype surrounding HTML5 it&#8217;s easy to forget how innovative the Flash platform continues to be. Flash video in particular has taken a bashing of late from the Apple camp and with Adobe so eager to defend video in Flash many seem to have forgotten that Flash can do so much more. [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1315"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D1315&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>With all the recent hype surrounding HTML5 it&#8217;s easy to forget how innovative the Flash platform continues to be. Flash video in particular has taken a bashing of late from the Apple camp and with Adobe so eager to defend video in Flash many seem to have forgotten that Flash can do so much more. If you don&#8217;t believe me then take a look at the excellent video below that highlights just a fraction of the great content made possible thanks to the Flash platform.</p>
<div align="center"><object width="536" height="335"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=12228788&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=12228788&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="536" height="335"></embed></object></div>
<p>If that has whetted your appetite then pop over to <a href="http://www.riagora.com/2010/06/innovation-and-flash/" target="_">Michaël Chaize&#8217;s</a> blog where you can find links to many of the applications shown above. Some of my favourites include an excellent demonstration of <a href="http://play.blog2t.net/files/black-or-white/" target="_">face recognition</a>, an AS3 <a href="http://www.bytearray.org/?p=1151" target="_">voice recognition</a> library and a fantastic <a href="http://www.sideroller.com/wck/" target="_">World Construction Kit</a> that utilises the C++ Box2D physics library, running via Adobe Alchemy.</p>
<p>Flash has been driving innovation on the web for years and will continue to do so.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=1315</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone Packager: Smooth Scrolling</title>
		<link>http://www.yeahbutisitflash.com/?p=991</link>
		<comments>http://www.yeahbutisitflash.com/?p=991#comments</comments>
		<pubDate>Wed, 05 May 2010 12:00:51 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash CS5]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=991</guid>
		<description><![CDATA[Just thought I&#8217;d share a video of an iPhone app that I considered developing using Flash Professional CS5&#8242;s iPhone Packager. Of course I won&#8217;t be able to publish it to the App Store due to changes in Apple&#8217;s developer agreement but I still thought it would be interested to throw together a very rough prototype [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D991"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D991&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Just thought I&#8217;d share a video of an iPhone app that I considered developing using Flash Professional CS5&#8242;s iPhone Packager. Of course I won&#8217;t be able to publish it to the App Store due to changes in Apple&#8217;s developer agreement but I still thought it would be interested to throw together a very rough prototype and see how it performed.</p>
<div align="center"><object width="536" height="402"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11440002&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11440002&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="536" height="402"></embed></object></div>
<p>Well as you can see, even on my trusty old 1st gen iPod touch, I managed to achieve a more than acceptable frame rate using Flash. You can swipe horizontally to swap between a set of vehicles, or scroll vertically to change the skin of the current vehicle.</p>
<p>Okay, it&#8217;s hardly rocket science but there have been a lot of rumours going around of late that it&#8217;s almost impossible to get a decent frame rate on iPhone using Flash. That&#8217;s simply not true, but you do have to remember that you&#8217;re developing for a mobile device, which nearly always requires you to make special design and coding considerations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=991</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial for those living in a parallel universe</title>
		<link>http://www.yeahbutisitflash.com/?p=871</link>
		<comments>http://www.yeahbutisitflash.com/?p=871#comments</comments>
		<pubDate>Sun, 02 May 2010 16:00:27 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash CS5]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=871</guid>
		<description><![CDATA[Good news folks! If you use Flash and live in an alternate reality where Apple and Adobe get along just fine then you&#8217;ll probably find this tutorial quite useful. It details how to get the best performance when writing apps with Flash CS5 Professional&#8217;s Packager for iPhone. I suppose for everybody else there&#8217;s nothing stopping you [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D871"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D871&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Good news folks! If you use Flash and live in an alternate reality where Apple and Adobe get along just fine then you&#8217;ll probably find this <a href="index.php?p=958">tutorial</a> quite useful. It details how to get the best performance when writing apps with Flash CS5 Professional&#8217;s Packager for iPhone.</p>
<p>I suppose for everybody else there&#8217;s nothing stopping you using Flash to quickly prototype your apps before committing to Objective C. What&#8217;s written in my tutorial will also benefit those wishing to target the Android platform and shows how to take advantage of a device&#8217;s GPU to increase animation performance.</p>
<p>Sure glad I only spent 5 minutes putting the tutorial together. It would have been quite irritating if I&#8217;d spent a few weeks on it only to find out Steve Jobs had changed the developers license agreement rendering all my hard work useless.</p>
<p>So anyway, here it is:</p>
<ul>
<li><a href="index.php?p=958">Packager for iPhone: Animation Render Performance</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=871</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Has Apple just nuked the Flash iPhone Packager?</title>
		<link>http://www.yeahbutisitflash.com/?p=768</link>
		<comments>http://www.yeahbutisitflash.com/?p=768#comments</comments>
		<pubDate>Thu, 08 Apr 2010 22:02:40 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash CS5]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=768</guid>
		<description><![CDATA[So Apple has just changed its developer agreement for those wishing to access the iPhone Developer Program and it could spell the end for Adobe&#8217;s iPhone Packager before it has even been released. Here&#8217;s the worrying snippet: 3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D768"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D768&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>So Apple has just changed its developer agreement for those wishing to access the iPhone Developer Program and it could spell the end for Adobe&#8217;s iPhone Packager before it has even been released. Here&#8217;s the worrying snippet:</p>
<blockquote><p>3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).</p></blockquote>
<p>With Apple and Adobe not exactly being the best of friends at the moment it is very possible that this is another blatant attempt by Apple to make Flash irrelevant. Unfortunately these new terms and conditions would also have serious implications for the excellent <a href="http://unity3d.com/" target="_">Unity</a> development platform too.</p>
<p>Fingers crossed it&#8217;s just a big misunderstanding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=768</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Birthday Adobe AIR</title>
		<link>http://www.yeahbutisitflash.com/?p=619</link>
		<comments>http://www.yeahbutisitflash.com/?p=619#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:35:55 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=619</guid>
		<description><![CDATA[Yup, it&#8217;s hard to believe but Adobe AIR is now two years old and it&#8217;s incredible just how far it has come in that short space of time. Given the growing debate over Flash&#8217;s future within the browser it&#8217;s often easy to forget that the Flash platform allows developers to create rich Internet applications that [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D619"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D619&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Yup, it&#8217;s hard to believe but Adobe AIR is now two years old and it&#8217;s incredible just how far it has come in that short space of time. Given the growing debate over Flash&#8217;s future within the browser it&#8217;s often easy to forget that the Flash platform allows developers to create rich Internet applications that can be deployed to the desktop across multiple operating systems.</p>
<div align="center"><object width="536" height="323"><param name="movie" value="http://images.tv.adobe.com/swf/player.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="FlashVars" value="fileID=5117&#038;context=145&#038;embeded=true&#038;environment=production"></param><embed src="http://images.tv.adobe.com/swf/player.swf" flashvars="fileID=5117&#038;context=145&#038;embeded=true&#038;environment=production" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="536" height="323"></embed></object></div>
<p>AIR now powers a variety of applications used by enterprises and everyday consumers in applications for social networking, gaming, eLearning, subscription-based services, video, productivity tools, collaboration services, and so much more. And thanks to its support for iPhone, which is due to be delivered as part of the Flash Professional CS5 release, 2010 will be a very exciting year indeed for AIR.</p>
<p>If you are in any doubt at all regarding the power of Adobe AIR, take a look at the video above, which demonstrates a collaboration between Adobe and Wired magazine to produce a new digital magazine concept running on an Android-based tablet. It&#8217;s quite stunning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=619</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR for Android</title>
		<link>http://www.yeahbutisitflash.com/?p=608</link>
		<comments>http://www.yeahbutisitflash.com/?p=608#comments</comments>
		<pubDate>Mon, 15 Feb 2010 17:10:25 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[motorola droid]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=608</guid>
		<description><![CDATA[Good news folk! Adobe have announced at Mobile World Congress their plans to bring Adobe AIR to mobile devices, starting with Android and Blackberry handsets. So what does this mean for us Flash developers? Well basically it means we&#8217;ll be able to write kick-ass mobile apps and sell them on the Android and Blackberry app [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D608"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D608&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Good news folk! Adobe have announced at Mobile World Congress their plans to bring Adobe AIR to mobile devices, starting with Android and Blackberry handsets. So what does this mean for us Flash developers? Well basically it means we&#8217;ll be able to write kick-ass mobile apps and sell them on the Android and Blackberry app stores. Check out the video below to see some content running on the Motorola Droid.</p>
<div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="536" height="323" 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=5135&amp;context=350&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=5135&amp;context=350&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="536" height="323" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=5135&amp;context=350&amp;embeded=true&amp;environment=production" allowfullscreen="true" allowscriptaccess="always"></embed></object></div>
<p>Performance looks really good and should excite Flash developers eager to generate revenue from the mobile ecosystem. Unlike Flash Lite, which is somewhat stunted, AIR apps will run the full Flash 10.1 experience, store data locally on the phone and also allow access to other data including photos. This is another significant step for the Flash platform with developers, in theory, being able to write apps that will run consistently across both web and mobile. Plus with Flash Professional CS5 on the horizon, iPhone apps will also be a possibility.</p>
<p>AIR on Android will be available in the second half of 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=608</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe&#8217;s Mobile Strategy Fundamentally Flawed?</title>
		<link>http://www.yeahbutisitflash.com/?p=332</link>
		<comments>http://www.yeahbutisitflash.com/?p=332#comments</comments>
		<pubDate>Sat, 02 Jan 2010 08:46:43 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.yeahbutisitflash.com/?p=332</guid>
		<description><![CDATA[Well it is if you believe what Aral Balkan had to say recently. His post sparked some intense and much welcomed debate within the community regarding Adobe&#8217;s mobile strategy. In particular both Scott Janousek and Mark Doherty posted excellent responses and I think all three posts are definitely worth a read. Flash Lite in particular [...]]]></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%2Fwww.yeahbutisitflash.com%2F%3Fp%3D332"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.yeahbutisitflash.com%2F%3Fp%3D332&amp;source=chriscaleb&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Well it is if you believe what <a href="http://aralbalkan.com/2895" target="_">Aral Balkan</a> had to say recently. His post sparked some intense and much welcomed debate within the community regarding Adobe&#8217;s mobile strategy. In particular both <a href="http://flashmobile.scottjanousek.com/2009/12/26/commentary-on-a-post-about-adobes-mobile-strategy/" target="_">Scott Janousek</a> and <a href="http://www.flashmobileblog.com/2009/12/30/adobes-mobile-strategy-responses-to-aral-balkan/" target="_">Mark Doherty</a> posted excellent responses and I think all three posts are definitely worth a read.</p>
<p>Flash Lite in particular took a bit of a bashing from Aral and it&#8217;s something I&#8217;d like to talk about here. Firstly I&#8217;d like to point out that I agree with many of Aral&#8217;s points. I don&#8217;t personally know him but he&#8217;s highly respected and very influential within the Flash community, and his blog is something I make a point of checking out from time to time.</p>
<p>I&#8217;ve been writing Flash-based mobile apps before Macromedia released Flash Lite and although my Flash Lite work these days is restricted to personal projects I&#8217;ve been following its evolution since day one, so feel I&#8217;m well positioned to comment.</p>
<p><span id="more-332"></span>So was Flash Lite a failure? I&#8217;d say not. It certainly didn&#8217;t achieve what Macromedia and later Adobe had no doubt hoped for it but I feel many great things have and will come from Flash Lite. It demonstrated that Flash is a perfectly acceptable environment to use when developing mobile content reasonably quickly, and in the hands of the right developers/designers, some pretty amazing content can already be written.</p>
<p>The effort gone into optimizing Flash Lite won&#8217;t go to waste. Without the hard work from Adobe over the years the Flash 10 player for mobile just wouldn&#8217;t be possible. And although the upcoming Flash Lite 4 player will only work as a browser plug-in, I feel that AIR on mobile is essentially the next evolutionary step for standalone Flash Lite application support.</p>
<p>Over the years I&#8217;d say I&#8217;ve had a love-hate relationship with Flash Lite. There would be days when it would impresses the hell out of me, and then others when I&#8217;d be so hacked off by the whole ecosystem that I&#8217;d just want to give up with Flash and go native. One thing however is, that over time I&#8217;ve come to realise that my frustrations weren&#8217;t necessarily with Macromedia/Adobe but with the OEMs they were working with and their inability to strive towards consistency, not only between themselves, but even across their own range of handsets.</p>
<p>Fragmentation was for me the biggest frustration with Flash Lite and the main reason why it never took off in the way that many (myself included) expected and hoped. Again the handset manufacturers didn&#8217;t help themselves.</p>
<p>Take Nokia for example. I seriously applaud their efforts and if there was one manufacturer who came closest to getting it all working it was, in my opinion, them. They continually pushed to deploy Flash Lite across their range of handsets, but for all the hard work there was always one bad decision that would scupper things for the Flash Lite developers.</p>
<p>Upgrading the Flash Lite player from FL 2 to FL 3 within firmware updates was a really bad idea. Although it brought many benefits &#8211; streaming video within FL3 being one &#8211; it further compounded the compatibility issues, with fragmentation suddenly existing across the same device! There was just no guarantee that a large number of users would upgrade their firmware. Up until that point you knew exactly what version of Flash Lite to expect on individual devices. After that it just got harder, more frustrating and quite depressing.</p>
<p>The signing process for S60 devices was always a major issue and something that never really got addressed adequately. It was always too expensive, time consuming and cumbersome, preventing those wishing to release freeware apps (and working to a tight budget) from doing so. It just didn&#8217;t really encourage the community to produce great content and get it out there. And it was all the more annoying that you could wrap up Series 40 versions of your Flash Lite content in a nice little NFL file without the need for signing while the exact same content for S60 had to be signed.</p>
<p>I guess ultimately the problem was that the operating systems that were written for mobile devices were never developed with something like Flash in mind. Seamlessly updating the player on the device wasn&#8217;t something that could be done easily and unfortunately the distributable player solution came too late in the day.</p>
<p>This may make for depressing reading but I honestly believe there is light at the end of the tunnel. The introduction of the iPhone has been a wake-up call for the rest of the industry and Apple has shown the rest of the world what the mobile experience should be like. While there has been a lot of talk about in-browser Flash support for mobile devices, the success of the app store has shown that there is also a need for standalone applications with web connectivity.</p>
<p>For me standalone Flash application support is probably just as important as browser support for the very simple reason that it&#8217;s much easier to tailor the experience for individual handsets that way. A mobile phone is not a desktop PC and  considering the wide range of device configurations and means of interaction you&#8217;re never going to get the same experience consistently across all devices. Many existing web based games for example will never work properly on a Flash enabled mobile phone simply because certain devices won&#8217;t have a comfortable screen resolution or the game may not translate over to a particular handset&#8217;s input mode &#8211; A keyboard driven game just won&#8217;t work on a touch-only device.</p>
<p>But I don&#8217;t think total coverage across all mobile devices is really necessary, and to be honest is impossible. Developers have always targetted the most popular devices and the same will be true for mobile Flash. If Adobe can get it working on a reasonable percentage of popular devices then that should be enough. But one thing they desperately need to avoid this time round is the terrible fragmentation that existed with Flash Lite. When future upgrades to the Flash 10.1 player are ready, there needs to be a way to ensure handset owners can easily, seamlessly and quickly update.</p>
<p>A Flash-based app will never outperform a native app, but as mobile phone&#8217;s grow in power this will become less of an issue, and if Adobe can solve the fragmentation problems that have blighted their past attempts then Flash will become a very viable platform for developing content across a wide range of handsets.</p>
<p>Even in its current state, those developing with Flash Lite can target a significant number of handsets, with approximately 700 million having been shipped in 2009 alone. Targeting Flash Lite 2.0, there is nothing stopping a developer releasing games and applications of the highest quality and at the same time taking advantage of the strong development environment provided by Flash and Device Central. If you know what you&#8217;re doing you really can create something in Flash Lite in a matter of weeks that runs across millions of devices.</p>
<p>2010 is going to be the make or break year for Flash on mobile. Will Adobe be able to jump the chasm? I certainly hope so.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yeahbutisitflash.com/?feed=rss2&amp;p=332</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
