«

»

Feb 18 2010

Adobe Fights Back With AIR

In an earlier blog post, I espoused that Apple’s preference of HTML5 over Adobe Flash would likely change how video is streamed online.  While this may still be true, a deeper look into Adobe’s AIR programming foundation reveals that the answer is not so simple.
 

In readdressing this issue, the first thing I wanted to do was ask why Apple really doesn’t want to support Flash in the first place.  As I quoted in the previous post, the official Apple statement is that Adobe’s Flash plug-in is very unstable and buggy.  In support of this, a quick search of my own came back with numerous blog posts and help forums wailing about the high CPU usage and crash rate of Flash applications on Mac OSX.

There are other, unspoken reasons as well, though.  First, and one I hadn’t initially considered, is that because Flash is a very richly-featured and ubiquitous web platform (and the internet pre-smartphone has been developed for desktop and laptop computers), it allows and incorporates controls not available on an iPhone.  From interactive websites and presentations to games and video streaming – most make use of hovering mouse effects and keyboard strokes.  Unable to support these features, an iPhone Safari browser with a Flash plug-in would be of little use and would be more prone to crashing.  Another, more obvious, reason is that with Flash’s rich platform, entire applications could be built to run from the web, thereby creating a backdoor in Apple’s control over programming and profits.

Apple’s answer to Adobe’s problems is HTML5 streaming video in H.264.  While the H.264 video codec does not have the interactivity of the Flash platform, it delivers streaming video of high quality at low bitrates, which allows Apple devices to run more smoothly.  Also, HTML5 is a specification (scripting standard) instead of a full run-time support, meaning that it cannot launch any web-based programs on Apple’s devices.

Adobe, however, is not giving up.  An announcement from the company on Monday reiterated its commitment to building the Flash environment and landing it on the iPhone and iPad.  Building on the original Flash scripting, Adobe has developed the Adobe Integrated Runtime (AIR) for PC applications that interact heavily with the web.  A popular example is TweetDeck, an advanced, popular, and well-made application for managing Twitter accounts on desktop or laptop computers.  Taking this a step further, Adobe is adapting its AIR for use on Android (Google’s mOS) and Linux-based mobile phones.

The important part is that AIR will run on the yet-to-be-released Flash Player 10.1, which could make moot Apple’s grievance against Flash’s lack of adaptability for the iPhone and iPad experiences.  As CNET quotes Adobe:

“AIR leverages mobile-specific features from Flash Player 10.1, is optimized for high performance on mobile screens and designed to take advantage of native device capabilities for a richer and more immersive user experience,” Adobe said in a statement. Specifically, AIR for mobile devices will support multitouch interfaces, gesture inputs, accelerometers for motion and device orientation, and geolocation for detecting position. 

Anticipating success in penetrating Apple’s mobile markets, Adobe is already touting the ability to make iPhone applications with its upcoming Flash Professional CS5 Packager for iPhone.  As stated on its Adobe Labs website:

Adobe® Flash® Professional CS5 will include a Packager for iPhone that will let you publish ActionScript 3 projects to run as native applications for iPhone. These applications can be delivered to iPhone users through the Apple App Store

Flash programs released as native iPhone applications could effectively address Apple’s concerns over the security of its iTunes Store and further break down its resistance to the Flash platform.  That being said, whether AIR for mobile and Flash 10.1 perform as expected is yet to be seen, and there is no guarantee that Apple will give any ground one way or the other.

I can see Adobe recruiting Windows, Linux, and Google mobile devices against Apple and its own considerable influence.  If it comes down to such a duel, who do you think would win?

[EDIT 2/20/09: The five comments by c_a were part of a discussion between two Facebook friends on my wall publishing of this article.  The following link was later added to that discussion and is a lengthy and biased but very informative breakdown of whence Flash comes and why Apple should proceed with HTML5: http://www.appleinsider.com/articles/10/02/20/inside_apples_ipad_adobe_flash.html]

email

12 comments

Skip to comment form

  1. cruitbuck

    Mac developers/designers are an esoteric group. That much is certain. During my days of video game development, our products were Windows X based. There were dozens and dozens of developers pouring over solutions and, unfortunately, work-arounds. Yet the lonely Mac developer tweaked the code to work on MacOS. Little has changed in that respect. This was prior to web browsers offering substantial coding flexibility.

    Standalone apps will become more barroom reminiscence than practice. So much of today’s solution development and user experience is web-browser focused. The major browser players march to the beat of the most influential player, M$, and that group comprises IE, Opera, Firefox, Chrome (a new unstable player), and of course, Safari. Perhaps this is a point missed or misunderstood. W3 standards are still evolving. HTML5 will allow execution of other processes, another layer of progress in technology evolution.

    Steve Jobs has his eye, as always, on the old school, best practice, simple elegant solution, and delivering consistent, reliable software and hardware products. He has never ventured from that focus (except maybe his NEXT venture, but that’s the past). Basing his OS on a POSIX (portal operating system interface ‘the X is just for coolness’) kernel rather than a disk operating system was his best foot forward.

    M$ has caused major hardship for developers by shifting its OS from 8bit to 16bit to 32bit and now 64bit. Backwards compatibility has been a important necessity. Flash and other graphic engines fall into the trap of designing code for moving targets. As M$ flails its heroic arms causing much ado about nothing from time to time, Mac continues its course of esoteric righteousness. This works for them, bravo zulu Mac/Apple. Flash or no, there will be AIR to breathe and solutions aplenty. (Excuse me. I have to reboot my Windows XP laptop.)

  2. cruitbuck

    >Mac developers/designers are an esoteric group. That much is certain. During my days of video game development, our products were Windows X based. There were dozens and dozens of developers pouring over solutions and, unfortunately, work-arounds. Yet the lonely Mac developer tweaked the code to work on MacOS. Little has changed in that respect. This was prior to web browsers offering substantial coding flexibility.

    Standalone apps will become more barroom reminiscence than practice. So much of today's solution development and user experience is web-browser focused. The major browser players march to the beat of the most influential player, M$, and that group comprises IE, Opera, Firefox, Chrome (a new unstable player), and of course, Safari. Perhaps this is a point missed or misunderstood. W3 standards are still evolving. HTML5 will allow execution of other processes, another layer of progress in technology evolution.

    Steve Jobs has his eye, as always, on the old school, best practice, simple elegant solution, and delivering consistent, reliable software and hardware products. He has never ventured from that focus (except maybe his NEXT venture, but that's the past). Basing his OS on a POSIX (portal operating system interface ‘the X is just for coolness’) kernel rather than a disk operating system was his best foot forward.

    M$ has caused major hardship for developers by shifting its OS from 8bit to 16bit to 32bit and now 64bit. Backwards compatibility has been a important necessity. Flash and other graphic engines fall into the trap of designing code for moving targets. As M$ flails its heroic arms causing much ado about nothing from time to time, Mac continues its course of esoteric righteousness. This works for them, bravo zulu Mac/Apple. Flash or no, there will be AIR to breathe and solutions aplenty. (Excuse me. I have to reboot my Windows XP laptop.)

  3. c_a

    I highly doubt that m$ft will get in on the game. After all, they do have silverlight which does the same thing. Also, google has GWT which runs on all platforms as a JavaScript app unlike silverlight or flash. I think in the end apple is just looking for openness and standards, something which m$ft and adobe/macromedia wants to stray away from because it would otherwise take $$$ from them. Case in point, apple has ditched cocoa or carbon(I forgot which) to be closer to standard.

  4. c_a

    >I highly doubt that m$ft will get in on the game. After all, they do have silverlight which does the same thing. Also, google has GWT which runs on all platforms as a JavaScript app unlike silverlight or flash. I think in the end apple is just looking for openness and standards, something which m$ft and adobe/macromedia wants to stray away from because it would otherwise take $$$ from them. Case in point, apple has ditched cocoa or carbon(I forgot which) to be closer to standard.

  5. c_a

    Well I would like to dismiss any dissent from either companies because as most people would argue, photoshop runs best on macs and I know this for a fact because Photoshop sucks on windows. It’s really been a macromedia thing. I mean really, go to any tech websites these days and I can assure you, any website with flash will most likely spike CPU … See Moreusage whether you’re using a pc, mac, or Linux. Having a laptop makes this particularly noticable specially if you’re running hulu for movies etc it can get downright uncomfortable to have a laptop in our lap. Besides it really does cut down battery life as jobs argued. I know it does on my Dell latitude laptop, primarily because it’s a CPU hog. I woulduch rather prefer silverlight any day(and most people who know me know that I despise m$ft like no tomorrow). Besides, its a pain to run flash on linux. Really I think adobe wants as much piece of the web API pie as any company but as far as I know, apple’s web objects is far from the success that other APIs have had such as Ext, silverlight or scriptaculous, so I don’t really see any merit to the argument that it’ll take away business from apple. In the end, what really matters to me is that apps on my device not crash. Flash still makes my browser crash on occasion specially IE so I run the flash blocker app or don’t install the flash plugin all together. I don’t suppose you’re a flex developer are you? Whew that was a long comment.

  6. c_a

    Umm actually another case in point is how buggy coldfusion is. Coldfusion as far as I know is being phased out in most enterprise environments because JavaScript has caught up tremendously in terms of capability. Coldfusion was a macromedia product just like flash. Really flash is more for eye-candy but with how fast JavaScript has grown over the … See Moreyears, in might end up replacing flash in the near future. I never thought I’d see the day that JavaScript would be as good, specially since JavaScript during the dot net boom was pretty bad. Reminds me of the DHTML days. Lol.

  7. c_a

    >Well I would like to dismiss any dissent from either companies because as most people would argue, photoshop runs best on macs and I know this for a fact because Photoshop sucks on windows. It's really been a macromedia thing. I mean really, go to any tech websites these days and I can assure you, any website with flash will most likely spike CPU … See Moreusage whether you're using a pc, mac, or Linux. Having a laptop makes this particularly noticable specially if you're running hulu for movies etc it can get downright uncomfortable to have a laptop in our lap. Besides it really does cut down battery life as jobs argued. I know it does on my Dell latitude laptop, primarily because it's a CPU hog. I woulduch rather prefer silverlight any day(and most people who know me know that I despise m$ft like no tomorrow). Besides, its a pain to run flash on linux. Really I think adobe wants as much piece of the web API pie as any company but as far as I know, apple's web objects is far from the success that other APIs have had such as Ext, silverlight or scriptaculous, so I don't really see any merit to the argument that it'll take away business from apple. In the end, what really matters to me is that apps on my device not crash. Flash still makes my browser crash on occasion specially IE so I run the flash blocker app or don't install the flash plugin all together. I don't suppose you're a flex developer are you? Whew that was a long comment.

  8. c_a

    >Umm actually another case in point is how buggy coldfusion is. Coldfusion as far as I know is being phased out in most enterprise environments because JavaScript has caught up tremendously in terms of capability. Coldfusion was a macromedia product just like flash. Really flash is more for eye-candy but with how fast JavaScript has grown over the … See Moreyears, in might end up replacing flash in the near future. I never thought I'd see the day that JavaScript would be as good, specially since JavaScript during the dot net boom was pretty bad. Reminds me of the DHTML days. Lol.

  9. c_a

    hm. h.264 at 25% CPU is a bit better than 85% CPU, and AVI at 10% CPU is hardly high CPU usage… on my dual-core pentium (boohoo). no matter, i suppose you are right that apple should let people run whatever they want. it’s already known that steve’s a control freak but what can you do? it’s what companies do…

    just as you cannot run any other database with sharepoint except sql server. we can keep wishing but i guess that’s just how the industry works. i suppose that’s why most people find ways to work around things, therefore your hackintoshes, or apps that wrap around functionalities that would enable you to do what you want it to do :)

    i’m not sure how much longer flash will stick around. again, i think a lot of the web is switching furiously to javascript, despite its pros and cons. as you may well know, a lot of the big names out there are switching away from flash: youtube and hulu are primary ones. netflix has decided to stick with silverlight…. See More

    PS: apple’s OS does handle crashes gracefully. they’ve been doing it for many years now as well as linux (at least debian and ubuntu). m$ft on the other hand, is a whole different story.

  10. c_a

    >hm. h.264 at 25% CPU is a bit better than 85% CPU, and AVI at 10% CPU is hardly high CPU usage… on my dual-core pentium (boohoo). no matter, i suppose you are right that apple should let people run whatever they want. it's already known that steve's a control freak but what can you do? it's what companies do…

    just as you cannot run any other database with sharepoint except sql server. we can keep wishing but i guess that's just how the industry works. i suppose that's why most people find ways to work around things, therefore your hackintoshes, or apps that wrap around functionalities that would enable you to do what you want it to do :)

    i'm not sure how much longer flash will stick around. again, i think a lot of the web is switching furiously to javascript, despite its pros and cons. as you may well know, a lot of the big names out there are switching away from flash: youtube and hulu are primary ones. netflix has decided to stick with silverlight…. See More

    PS: apple's OS does handle crashes gracefully. they've been doing it for many years now as well as linux (at least debian and ubuntu). m$ft on the other hand, is a whole different story.

  11. c_a

    you know what, I think i actually agree with . i actually program on all platforms, whether windows, mac or linux (pick your poison), and i very much like old school programming (even though I did not know that d_w was a computer engineer with a background on neural systems), and still stick to it because my early CE/EE days taught me how to program properly (also on simulated CPU designs which was a pain).

    one thing that irks me is the fact that adobe is now crying foul. i mean come on, microsoft did that to sun back when java was big (um… .NET rings a bell?), and now they’re also crying foul against the likes of google but i mean it’s to be expected. i think it’s a big mistake that adobe purchased macromedia (for flash) just because it cannot implement SVG properly. flash was buggy a decade ago, it is still buggy now.

    again, i would agree with that apple has done things properly. no matter how glossy m$ft makes their OS, it’ll still have legacy buggy code. case in point is wow64 back when XP 64-bit was released. it was very awkward, and we still see that artifact right now with windows 7 64-bit (vs 32-bit) in that some (32-bit) apps can never run on 64-bit windows 7… but if you look at mac os, 32-bit apps run wonderfully on leopard (or is it now snow leopard, i forgot). even then, the same applies on linux as well… i can run 32-bit apps on a 64-bit kernel just fine.

    in the same way, flash is going the same route. it’s very inflexible and resource intensive. i bet you i can get one of those quad-cores right now and it’ll still use up more than 50% of my total CPU (even with four cores). i don’t really even think it scales very well on MP systems either. i have a two-socket xeon quad-cores at work (for a total of 8) and everytime it hits a flash website it just goes gaga… i mean 35% total CPU usage? come on! i might need a 128-core CPU to not notice a difference but even i can’t afford the workstation i have at work :)

    perhaps adobe has 128-core workstations :)

  12. c_a

    >you know what, I think i actually agree with . i actually program on all platforms, whether windows, mac or linux (pick your poison), and i very much like old school programming (even though I did not know that d_w was a computer engineer with a background on neural systems), and still stick to it because my early CE/EE days taught me how to program properly (also on simulated CPU designs which was a pain).

    one thing that irks me is the fact that adobe is now crying foul. i mean come on, microsoft did that to sun back when java was big (um… .NET rings a bell?), and now they're also crying foul against the likes of google but i mean it's to be expected. i think it's a big mistake that adobe purchased macromedia (for flash) just because it cannot implement SVG properly. flash was buggy a decade ago, it is still buggy now.

    again, i would agree with that apple has done things properly. no matter how glossy m$ft makes their OS, it'll still have legacy buggy code. case in point is wow64 back when XP 64-bit was released. it was very awkward, and we still see that artifact right now with windows 7 64-bit (vs 32-bit) in that some (32-bit) apps can never run on 64-bit windows 7… but if you look at mac os, 32-bit apps run wonderfully on leopard (or is it now snow leopard, i forgot). even then, the same applies on linux as well… i can run 32-bit apps on a 64-bit kernel just fine.

    in the same way, flash is going the same route. it's very inflexible and resource intensive. i bet you i can get one of those quad-cores right now and it'll still use up more than 50% of my total CPU (even with four cores). i don't really even think it scales very well on MP systems either. i have a two-socket xeon quad-cores at work (for a total of 8) and everytime it hits a flash website it just goes gaga… i mean 35% total CPU usage? come on! i might need a 128-core CPU to not notice a difference but even i can't afford the workstation i have at work :)

    perhaps adobe has 128-core workstations :)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>