Tuesday, May 31, 2011

Flash and the iPhone: Confusion Still Reigns

This just in: Apple has persisted in their ban of the Flash Player on the iPhone and iPad to the chagrin of many Flash developers and Adobe. For some, it's "ancient" history, for others, surprise: the Flash Player (the plug-in that allows playback of Flash (.swf) files within web pages) is not supported on the iPhone or iPad. And, yes I'm writing this in 2011, not 2009, but many people I speak to are still surprised.

A little history helps clarify:

Flash Professional is the authoring tool used to create .swf files, as is also Flash Catalyst and Flash Builder (also known in earlier incarnations as "Flex Builder.")

To this day, Flash files (.swf files) are still found on many websites and can be seen in all major browsers running on Windows, Macintosh and mobile operating systems such as Android... but not the iPhone/iPad.

Why? Apple claims various and sundry technical concerns but many speculate that it may have to do with the fact that Flash is the number one technology for creating games on the web, and that many apps sold for the iPhone are games. Why pay for an app when you can play a game on the web? Ban the Flash player and you don't have much choice.

What complies the confusion is that when Adobe released Flash CS5 they added a feature that allows you to author iphone/ipad and Android apps using Flash. Note the word "apps", not Flash files playing in a browser that would require the Flash Player, but the ubiquitous and profitable apps.

Adobe's idea was to allow developers to leverage their skills in Flash to create apps for the booming iphone (and Android) app marketplace. Once converted the Flash file would be a native iPhone application: created with Flash but converted to an iPhone app with nary a trace of its Flash lineage.

Shortly after Adobe's announcement, and for reasons open to conjecture, Apple announced that it would be illegal for app developers for the iPhone to use any third party technologies to produce apps. The result was a cacophony of disbelief among Flash developers over a decision that seemed capricious and almost vindictive. After all, once created the app was not dependent on, or in any way linked to its Flash heritage and could be accepted or denied admission to the App Store based on its merits.

The good news: Apple has rescinded that decision, it's now legal to use Flash Professional, Flash Builder, and other third party products, to create iPhone and iPad apps.

The bad news: Apple still persists in its ban of the Flash player on the iPhone and iPad. (Flash files playing within a web page being displayed with the Safari browser on an iPhone or iPad.)

Well-meaning articles with headlines like this "Apple relents on Flash-derived iPhone, iPad apps", still confuse people who are perhaps not so attuned to the nuances of the Flash-iPhone relationship.

To summarize, .swf files created in Flash Professional Flash Builder, Flash Catalyst, etc, play wonderfully in the browsers of desktop computers including the Macintosh, Windows and Linux.

Flash files (aka .swf files) can play in the browsers of smart phones and tablets running the Android operating system but not on the iPhone or iPad.

Flash and Flash Builder can be used to create apps for the iPhone/iPad and the Android operating systems.

Got it? Great, but unfortunately there's more: the latest version of the Adobe Reader (the player that allows you to view pdf files on the web) has a version of the Flash Player embedded inside.

More on the implications on that development for users and developers in an upcoming post.

4 comments:

Titan said...

Unfortunately the performance of those apps is very poor compared to native (objective c or c++) even on the iPhone 4 or iPad 2.

Adobe Training said...

Thanks for your comment Titan. Yes, so they say, but Flash and Actionscript are arguably an easier entry for people to create apps than the objective c programming language, and so many people already know and use it. Also the ability to leverage development time for iPhone and Android may still make it an attractive environment for some; and like any programming environment skill and experience can go a long way to improve performance.

Anonymous said...

Your blog is very good,very novel,let I learned a lot from,thank you very much.if you have time also attention our website.
ipad application development

Training Tampa said...

Thanks for this post. It Very nice Blog. It was a very good Blog. I like it. Thanks for sharing knowledge. Ask you to share good Blog again.