Adobe AIR: 10 reasons to love it, 10 reasons to hate it.

I attended two days of briefings on Adobe’s developer-focused products, especially the forthcoming AIR (Adobe Integrated Runtime).

In essence, AIR is the Flash player supplemented by additional features to enable applications that are not browser-hosted, but installed as desktop applications. AIR is great for some scenarios, weak for others. Here’s 10 reasons to love it:

1. Fast execution. ActionScript 3.0 has a JIT (just-in-time) compiler, putting it on a par with Java or .NET for raw performance.

2. Cross-platform. AIR apps will run on Windows XP and Vista, Mac OS X (PowerPC and Intel), Linux (though not in the beta).

3. Easy conversion of existing Flex or HTML applications. It’s the same basic runtime. In the case of HTML, AIR apps rely on WebKit, the core component in Apple’s Safari web browser.

4. Easy installation. Provided the runtime has installed successfully, installing AIR applications is likely to be be trouble-free, since all the files go into the application directory.

5. SQLite. AIR applications have use of a fast local database.

6. Synchronization services provided you use LiveCycle. Synchronization is the difficult part of enabling offline support in occasionally connected applications.

7. Rich design and multimedia. This is Flash, so ideal for highly customized UIs, animation, sound and video. Adobe is proving the point by creating a media player built with AIR. Existing Flash developers can easily use their skills to build AIR applications.

8. Great for web vendors who want a desktop presence. For example, one of the demo applications is for buying on eBay. If eBay persuades you to install it, then it is no longer dependent on you firing up a web browser and navigating to its site. It is also a good way to disintermediate Google.

9. Declarative programming via FLEX. Declarative programming is the best way to code a GUI and consume components.

10. ActionScript 3.0 combines the flexibility of JavaScript with grown-up object orientation. Option for dynamic or strict typing according to developer preference.

So is AIR your next development platform? Maybe, but there are some downsides:

1. Limited extensibility. AIR apps have file access, clipboard access, support multiple windows, support drag and drop, and can trigger notifications (“toast” in Windows). If you app needs to interact with the desktop in other ways, the chances are that AIR is not suitable. For example, there’s no access to COM automation, and no way to execute external applications. The reason is to maintain cross-platform compatibility. That’s a worthy goal, but it would be good to have a way out of the sandbox. Unlike Java or .NET, you cannot extend AIR with custom native code libraries. Nor can you call operating system APIs.

2. Database access limited to SQLite or web services.

3. Enterprises need to roll out applications over the network in a controlled manner. AIR has no specific support for enterprise deployment. On Windows, AIR does not use the Windows Installer service. Either Adobe or 3rd parties will need to create deployment wrappers to overcome this.

4. Proprietary technology. AIR applications depend on Adobe’s runtime.

5. No threading support. Architect Kevin Lynch says this is a strong candidate for a future release.

6. No model for commercial components. It is not clear to me how a component vendor could sell an AIR component while protecting it from unlicensed deployment. This may limit the availability of 3rd party components, with a corresponding impact on productivity.

7. Schizophrenic development model. AIR supports either Flex development, or HTML applications which run in WebKit. The ugly side of this flexibility is that there are two SDKs, even two JavaScript virtual machines with different capabilities and characteristics. While it is nice to have a way to render HTML, I am not convinced that the web application model is worth it, given the complications it causes. After all, web applications run perfectly well in the browser.

8. Security concerns. AIR is close to the worst of both worlds, being tightly sandboxed from a developer perspective, but not particularly safe from the user’s perspective. Adobe says it will allow unsigned applications, which I think is a mistake.* AIR has the same access to the file system as the user, which in the case of users running on Windows XP with full admin rights is very extensive. Example bad scenarios would include downloading malware and placing it your startup folder, or searching your file system for bank details and uploading them to some internet location. That said, Adobe says there will be more security features, so conclusions are premature.

9. Synchronization service depends on LiveCycle, the server-side piece which runs on J2E application servers. This is one of the ways Adobe makes money out of AIR, with the other obvious one being design and development tools. A consequence of point 4 above.

10. Lack of UI standards may lead to annoying inconsistencies between AIR applications. We are used to this on the Web; now it is coming to the desktop as well.

*I was told that application signing is not required, but Daniel Dura comments below that this is not the case; however he says self-signed applications will be allowed. Perhaps this is one of the things under discussion. Personally I think the default should be to require applications signed by a trusted certificate, but to provide a way for developers to switch this off.

Technorati tags: , ,

40 thoughts on “Adobe AIR: 10 reasons to love it, 10 reasons to hate it.”

  1. I have a question in regard to the number 1 item, Limited Extensibility, on the cons list. In one of the Flex 3/AIR pre-launch tours, Mark Pillar from The Midnight Coders told us that we can create a service on the desktop and use this service to open up any external desktop applications (i.e. MS Word). However, based upon what you wrote, it seems that Mark’s information was incorrect. May I ask if I have misunderstood anything?

  2. So Adobe’s new AIR is:
    1) Less secure than Java
    2) Less flexible than Java
    3) Slower than Java
    4) Not available on UNIX or Linux
    5) Not supported by Microsoft
    6) Currently not available anywhere

    Surely the only people who think AIR makes sense are programmers who only know Flash ? For them, this is great.

  3. Let’s not forget we’re discussing a 1.0 version release. Does anyone here recall Flash 1.0? See how it’s matured?

  4. The author has no clue what he’s talking about.

    1/2 the points are false and the others are not accurate or completely irrelevant.

    The only thing this article is good for is getting clicks for his blog. Other than that, he’s got no clue.

    My favorite comment from him:

    “Second, I don’t like it. Why should you have to give some little utility unrestricted system access? We can do better than that.”

    Uh yeah, so go do something about it. Quit your sniveling.

    I don’t like how cars can smash into each other and cause dents, but you don’t see me writing worthless inaccurate blog entries stating such.

    Again, worthless.

  5. If I have to choose DHTML, Flash, Flex & Air, or Silverlight to develop a user interface touch screen application, which should I choose? Here are the rules:
    1. System’s processor is limited in size and speed.
    2. Linux is the operating system.
    3. MySQL is the database.
    4. User can touch the screen to interact with the application.
    5. The user can also use a hand held device to interact with the application.
    6. Application consists of information, videos, games, music player, etc.

    Of all the options to choose, which would be best to develop and maintain in long term? Thanks.

  6. Hello,

    Any Useful Air Applications Yet?
    An interesting article despite some of very harsh comments written. Does anyone know of any good uses for Adobe Air yet? Most of the ones on the showcase seem a little gimmicky!

    I did find one that was interesting here
    http://www.newzdog.com

    Any one else?

    Cheers

  7. Was going to buy software Market Samurai today
    10/16/2008, but after seeing the warning from AIR Unrestricrted computer access I decided not to download the free trial, Shame I like the software but can’t take the risk.

    I beleive this will cost this vendor lots of sales! Anyone know of any keyword tool like software Market Samurai?

    Bill Foster

    Bill Foster

  8. Hi Bill,

    I saw your comment and wanted to reply straight away – I don’t want people getting the wrong idea or misinformation about security inside Market Samurai.

    There’s certainly nothing malicious about Market Samurai’s code, and in terms of security, the guys in development have been meticulous with making sure Market Samurai is as safe and secure to use as possible.

    You’re right – Market Samurai has “Unrestricted” access – but this access is no more or less than any other software would have.

    The difference is a big red icon appears forewarning you about this in Market Samurai / Adobe AIR – whereas other applications will hide and obfuscate the facts inside a complex EULA.

    So what does “Unrestricted” access look like?

    You’ll notice that on the download page (inside the download instructions) we refer to this:

    Adobe Air will ask whether you wish to give Market Samurai the ability to access your system. Market Samurai needs this access to:

    * Connect to the internet in order to perform keyword research;
    * Store searches in a local database file so that it can quickly analyze results;
    * Automatically keep itself up to date; and
    * Save search results to disk

    Market Samurai does not use this access for anything other than the above functions.

    And, you’ll also notice that Market Samurai is one of the few Adobe AIR applications that is digitally signed for your protection.

    There ARE other pieces of software out there that have some similar features to Market Samurai – but it would take around 8 other software programs and subscription services (each costing $79-$326) to get a set of similar features.

    I’m not particularly worried about sales – but I do want to make sure people get the right information.

    I’d hate to see people making decisions based on fear – I’d always prefer that they were making educated decisions.

    I hope this helps you out.

    Brent Hodgson

  9. I arrived here in a search about what AIR’s raison d’etre is.
    I’m no techie, and I don’t understand most of the tech issues above, but from a consumer’s standpoint, I see traces of sinister design at Adobe. The latest update of Media Viewer made itself the default viewer of all of my videos. It’s like getting a virus from Adobe. So screw ’em. Thanks to a (somewhat) free market, there are plenty of other viewers, and it felt great to uninstall it.
    Control freaks, petty tyrants, and self-righteous buffoons who like to run other people’s lives have been coming out of the woodwork lately, at all levels of government, education, business, social sciences, engineering, etc. Speed bumps barely existed 40 years ago, and none of the sinister traffic-annoyers that have popped up in the last 10 years. Some “educators” have broadened the definitions of “violence” and “bullying” to make miscreants of rambunctious innocents while instituting zero-tolerance policies to drag them into their wider net. Our president talks a lot about what he will or won’t “tolerate,” from Congress and US citizens, and businesspeople have behaved with utter disregard for ethics, decency and the welfare of other people.
    Bill Gates is right to be doing philanthropy, to make up for his pushing the envelope of business ethics to the ripping-point, with his anti-competitive, anti-American practices. Intel got on the same bandwagon. Grasping control-freaks monopolists. The incidence of socially retarded outcasts seems a bit higher in the tech sectors than in the general population, so I guess one shouldn’t expect an easy, familiar ethical intuition to come out well formed in those individuals. And apparently, there are some of them at Adobe.

  10. I am not a prolific computer wiz. , as such I cannot see the point of adobe air at all ….. I have no idea what it does , or which if any of the stuff on my computer it has a use in ? ….. I don’t understand the jargon at all , what I do know is that I am consistently told that something I have wants me to get adobe air………..but…….. when I download adobe air , the only thing that happens is a message telling me that adobe air is not working and that I should try to re-load it to solve my problems ………so I delete the adobe air that is not working and then download adobe air again ….only to be told that adobe air is not working and that I should re-load adobe air to rectify the problem .so I do …..and get a message telling me adobe air is not working and advises me to got back to adobe air and download it and the problem will be fixed……………….. so …I delete sdobe air again and sucess ! I don’t bother re-loading adobe “hot” air again , and I ignore the prompts which seem only to waste vast tract of my life buggering about with something like adobe “hot” air , and I will ignore any more of the crass messages and I shall f**k adobe air out of my life !

  11. I realize that this is an old post but there are a few things that are extremely erroneous. For one, AIR/flash is nowhere near being on par with Java and .net. AS3 compiled with the standard ASC or Actionscript Compiler runs at about 1% of native C code, while Java comes in somewhere around 60. HIGHLY optimized AS3 using the LLVM compiler set PEAKS at about 30 percent. Note I said PEAKS, that is not consistent by any means and sometimes the extra LLVM optimization actually makes performance worse than when compiled with the standard ASC. We can see now however, nearly 5 years after this post was made that Adobe is pushing AIR as the future of the flash platform. Adobe has definitely realized that flash in the browser has a deadline and so this is why they have revived the Alchemy project and are trying to push code compiled with it to run at 70%+ of native efficiency. Proof of this? http://gaming.adobe.com/. I think Flash has/had huge potential but I think its days are numbered either way. I am currently in the process of re-writing the entire flash platform including FLEX and AIR classes in C++ and Java because as a former flash developer, I feel for all the developers who are always trying to tap the full potential of flash and always having their dreams limited to whatever Adobe allows them to have, since they control the source.

  12. It’s funny to find you forget the 11st reason to hate AIR: limited development tool. Unlike javascript we could use just notepad, AIR’d require us to buy Adobe Dreamweaver.

  13. All said well.

    For me, I am a web developer, sometime all I need is a small interface outside the web for a ReSTful API between my user and my server OR a small software just to perform a simple task. AIR to me is a choice.

    If I need an enterprise application, then my best bet is J2EE or .NET.

    As for signing and security, if you pay me good money and your software is going to more places, then I know where to find Thawte or VeriSign.

    See, I believe ADOBE are doing a great Job, Rome they say wasn’t built in a day, all I will say is that there is a wish list page of adobe, go there and put more then help extend the SDK in any way you can.

    The only downside I just wish I could find a fix to is inconsistent GUI, imagine writing HTML & CSS when I can have a WYSIWYG specially made for Webkit (since there is no X browser issue). Another thing is the printing aspect.

    I still believe things will still be better more than this, just lets keep our fingers crossed.

Leave a Reply

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