What is wrong with Adobe AIR
A long time ago, I am not sure maybe four, maybe five years ago Adobe announced they were developing a cross-OS desktop application platform, naturally using Flash and ActionScript as the tools. That got me really really excited - finally I was gonna be able to create desktop applications. I had always felt like an incomplete developer because I didn't know any programming language using which I could create desktop applications, but Adobe's upcoming project was gonna change that forever!
Soon the Adobe project materialized under the code name Apollo. I played around with Apollo and it looked not too bad but still had the 'Flashy' feel about it, not to mention about its restricted system access and obvious missing APIs (I forgot which ones, but they were glaring and disappointing).
I consoled myself that the final product was gonna fix all of those and waited for the official release of the platform. Soon it was released as Adobe Integrated Runtime (AIR), and what a disappointment it was! As far as I remember the official release of AIR maintained the original shortcomings I noticed in Apollo, it was obvious Adobe AIR was an incompetently planned product.
I was wishing Adobe AIR to be something like Java or dotNET - a platform which has complete access to the system. But Adobe AIR was a sand-boxed application platform, meaning you have limited access to the system, an intentionally crippled platform.
How in the world could Adobe come up with such a retarded idea? A crippled platform? Tying up the hands of the developers of the very platform you created and want to make popular? I read somewhere it was because of security concerns. Talking about Adobe AIR security concerns, let me tell you something. I am not sure how it works now, but those days once you install an AIR app, it could update itself silently in the background - without you ever noticing what was happening. No notification, no confirmation, no nothing! I brought this matter up in the official Adobe AIR Google group, I forgot his name, but the Adobe guy responsible for heading the AIR project replied saying he doesn't understand what the problem was with it. Do you want anything to update itself without your notice? I personally want to choose whether I want to update something or not.
Another thing that didn't really impressive me was the goddamn Flash theme of the UI components. If I wanna develop a desktop app, can I have the app to have the native look of the platform? In AIR you had to (still has to?) manually create the looks of the native OS theme, else you ended up with a silly looking Flash theme. Imagine how much that sucked. The smart guys at Adobe didn't seem to have learned the lessons from Java Swing. In case you are interested, I never got into Java just because of the looks of that horrendous Java Swing UI.
I wonder why Adobe held themselves back and did not choose to go head on against Java and dotNET. Adobe AIR was launched about five years ago if I am not wrong, by now it would have gained more popularity and use if it was positioned as a competitor to Java and dotNET, rather than as their crippled and retarded cousin.
It's been ages I touched Flash or ActionScript or Adobe AIR. I am not gonna go anywhere near them till those two issues are attended. Having said that, it is never too late, Adobe AIR still has the potential even though it may have lost many developers like me. Let me reiterate what is wrong with Adobe AIR.
- Restricted Access
We don't want to develop in a sandboxed platform. Give us complete and unrestricted access to the system and we will create absolutely amazing and useful apps.
- Non-native UI
We don't want to put extra effort to have a native looking theme for our apps, the platform should support it by default.
Adobe, please fix the above issues and get ready to witness a revolution. Do it!