Adobe AIR answers a question that nobody is asking
In the interest of full disclosure let me tell you upfront that I have yet to build a single application with Adobe AIR. I have perused the documentation, and I have taken a closer look at how other developers are using the API, but for me it holds little to no interest. What is my explanation? I will never need to use it. Most likely, neither will you.
I am a big fan of using tools to solve problems that other tools are unable to solve, or at least solve without a lot of headache. Take Flash for instance. Although using it to build full fledged Web sites causes disdain in certain Web circles, no one will deny that it does video incredibly well. Adobe solved a problem that Apple and Microsoft could not — large scale adoption of an efficient, optimized streaming video format.
Now what is the problem that AIR solves? What is that question that is being asked among developers that needs answering by this (or any other similar) desktop API? Better yet, what functionality is being requested by a user that requires shifting the RIA focus from the Web to the desktop? Although not as powerful, the Konfabulator widget engine already supports JavaScript, XML and services. It will not embed video or Flash for playback, but the number of serious desktop applications requiring this integration is limited.
I do not hold a personal grudge against Adobe or AIR, because as I have stated, I have yet to actually use the API. I am however familiar enough with the technologies to know developers can do what it does on the Web, and also get the additional benefit of portability. In a Web application it goes anywhere you go (or have Internet access). “Locking down” a user to the desktop for a bit of pizzazz is hardly a benefit. Anyone who has tried to use eBay’s San Dimas Desktop can attest to that. My wife has been an avid user of eBay since its inception, and it only took a half-hour for her to realize it lacked one key feature — necessity.
According to Adobe Labs, Alan Lewis, product manager for eBay Desktop has this to say:
Adobe AIR has provided the means for eBay developers to meet the company’s goal to bring eBay anywhere. “Our vision is to take eBay beyond a destination web site and create an agnostic platform that extends to everyone anytime, anywhere,” says Lewis. “The new Adobe AIR application delivers superior engagement because its capabilities match those typically associated with desktop applications, while providing an easy-to-use interface and integrating seamlessly with real-time web services.”
How is this possible? Adobe AIR is an operating system runtime client. It has to be installed on every machine you own, so unless you take your laptop everywhere you go, eBay Desktop will never extend to everyone anytime, anywhere. I do not want to make light of the accomplishment. I did see the video demo of eBay Desktop and some hard work was obviously put into building the tools users are already familiar with on the Web. However, I fail to see how enhancements in a desktop application will truly benefit the community.
Browsers are not cutting the mustard
I realize that AIR is still in beta, and I do have a tendency to dog applications in the early stages if I think they will not make the grade over time. Realistically though, I have trouble accepting a Rich Internet Application that relies too much on the user’s OS or desktop. Even if it does incorporate offline synchronization and worker pools. If there is anything Google Docs has taught us, it is that enterprise applications can survive as Web only tools.
On the other hand, I also understand that browsers currently have severe limitations. The lack of CSS3 support, and the long journey toward JavaScript 2.0 will keep developers and designers in limbo. Something like AIR can provide a more reliable environment for using technologies already prevalent in the workplace. If Adobe AIR can pull out a victory, it would be a frontrunner in the space, but even without competitors this will be an extremely difficult road.
There is a third possibility, which neither brings users closer to the desktop, nor relies on browsers that are not cutting the mustard. It would involve a plugin similar to Microsoft’s Silverlight. I would put more stock in this type of technology, since it is built into the browser, supports numerous server-side languages (C#, Ruby, Python, etc.), XML, and video. I do have some qualms regarding the placement of script tags throughout a Web page, but this could easily be overcome with a bit of ingenuity.
Predicting whether or not AIR or Silverlight will take center stage in the next year is a dangerous gamble. Flash adoption was not an overnight success, and it was several years before users trusted this download, as well as updates to the plugin. Just as Flash is also known now primarily as a shell for streaming video, Adobe AIR or Silverlight could bring something completely unexpected to the table. All I know for now is that I am not placing my bet on AIR.
Leave a Comment
Comments are moderated. No profanity. Only <a>...</a>, <blockquote>...</blockquote>, and <code>...</code> are allowed.
Seperate paragraphs by pressing the "Enter" key twice, or press it once to break to a new line.
15 Comments
#01, Oct 11 2007
tunagami
It is definitely a solution without a problem that really causes any major issues for the majority of users out there. It is trying to create a market for something that doesn’t need one.
You know my stance on flash (never touch it if you can help it) and AIR just sounds even worse. Granted, I have read way less than you have on it, but from what I have seen, Adobe can keep it along with Flex
#02, Oct 11 2007
Bryant Cutler
The one nice thing about AIR apps is that as local applications they can have access to the file system, peripherals, etc. I think a Flash-based Delicious Library clone might be a better example of AIR capabilities than a straight port of the eBay site.
#03, Oct 11 2007
keepinmind
Silverlight is LONG term project. WPF, DLR, etc is going to be around and will only get better. I tend to like the idea of RIA because it distributes the computing in a more P2P way (a nice hybrid between P2P+C/S)
#04, Oct 11 2007
Scott
I’ve been looking at AIR since the beta was launched for one reason: It’s a cross-platform runtime.
So I can build desktop application that run on OS X, Windows, and (soon) Linux, without having to dive into WxWidgets, QT, or some other painful framework. That’s a pretty compelling argument for it in my mind. It’ll be interesting to see where they take the AIR/Flex API’s once AIR is launched.
#05, Oct 11 2007
Steve Farmer
You can write AIR applications in two modes. One with Flash+ActionScript as the main application container that may optionally use HTML+JavaScript internally. And another mode with HTML+JavaScript as the container that may optionally use Flash+ActionScript internally. So you need not use Flash or Flex for your UI.
So you can use your favorite JavaScript library for UI.
One really cool part is that you can call libraries of ActionScript code from JavaScript and vise versa.
It’s actually really cool for web developers who want to take some part of their application and port it to a fully-double-click-able, icon totting, install/uninstall-able application.
#06, Oct 11 2007
Steve Farmer
One other thing. I believe Adobe used WebKit as the HTML engine. This means you get CSS3. But, you lose FireBug. Such is life.
#07, Oct 11 2007
Arnold Daniels
I think Adobe is just off in their solution, not catching the problem. We at Javeline have got a similar product, Javeline DeskRun. But instead of compiling a web app to a desktop app, but serve it from the server while giving it desktop functionality.
A desktop executable employs the browser, but can only be used serve content of a specific domain. The website will have additional js object to access the file system, system tray, window management, etc.
With that approach, you can make a hybrid application, which can do the same as a desktop app, but doesn’t have to be updated on each client and can be access using a standard browser (with some features disabled) when necessary.
#08, Oct 12 2007
anonymous coward
I have been looking at AIR since it was announced … i am really impressed. As the previous commenter mentioned it is a true cross-platform runtime - windows, mac, *nix, & web. That is pretty significant — and I think the only thing of its kind. The ability to run the ’same’ application on the web and the desktop is pretty powerful.
From a business standpoint, you will most likely not have to retrain any employees in the differences
between the web & desktop client. This is in stark contrast to the vast majority of enterprise
systems that have both a web & desktop client.
I agree that AIR could be perceived as fairly useless if you look at it from a certain web-centric point of view. It certainly has no or little value for ‘applications’ that we use on a casual basis (amazon.com, etc). However, imho a browser based solution leaves much to be desired for an entire class of applications. These applications are often the same ones we spend most of our day using (crm, erp, groupware), etc.
anecdote: I have a gmail account. There are few companies that have pushed the ajax/browser frontier further than google, however I use mail.app (the mac mail client) rather than the web client on a daily basis.
Look at twitter. It is a perfect problem for AIR.
Desktop applications that work with the twitter api are popping up everywhere. There is obviously a significant demand (perceived or real). People would not be making keep on making these desktop apps, if there wasn’t some sort of perceived deficiency in the twitter website.
For the casual ebay user, the AIR application might seem trivial & worthless, however ebay has created an entire cottage industry in which their website serves as a mission critical system for their power users. Usability is vital in these cases. Could it be done with a browser — I don’t know. Personally, I have yet to see a browser application that is as convenient & user friendly as a desktop app.
AIR allows you you to ‘try before you buy’ in some sense. You can build a flex webclient and allow
the user to test & casually play with your application, however you can leverage the same source
code to create a more ‘permanent’ solution for them in an icon they can double click off their desktop.
#09, Oct 12 2007
Jeffry Houser
One place I can envision a good use case for AIR is in the casual games market. I would be easy to build a game in Flash or Flex, and then deploy a web version and a desktop version.
I’ve been doing AIR development heavily for the past 3 months. ( Actually, there is very little to AIR, so I’ve been doing Flex Development with an AIR Wrapper). I must say I have a hard time finding a business case for using AIR.
The application I’m currently building uses AIR against my recommendation to the client.
#10, Oct 12 2007
Danilo Celic
Answering questions that no one is asking is something that many “big” ideas have in common.
For example, I am reading a book (Guy Kawasaki’s Rules for Revolutionaries) that discusses the introduction of the minivan by Chrysler in one of its examples. According to the book Ford turned down the concept of the minivan because no one was asking for such a vehicle. The minivan was a huge success for Chrysler when it was introduced as there was a demand for such a solution, but no one knew it until it was an available option. Turns out that people frequently don’t know that they want something until they after they see it.
I know that AIR, with its Flash, HTML, or Flash/HTML combo, potentially opens up project possibilities that my company wouldn’t be able to do or to bid on with our current skill set otherwise.
I do know that one issue is that AIR applications ship basically as ZIP files with pretty much no protection whatsoever so things like serialization are potentially an issue for commercial applications. There is http://AirApps.net which has a payment processing system available, but I’ve not yet investigated how effective the protection is for AIR applications.
#11, Oct 12 2007
Brian
There are quite a few good points here, and I am happy that the discussion has opened up some. The biggest roadblock for me is still portability, but depending on the use case, this might not be an issue. As anonymous coward pointed out, some Web apps (at least for awhile) will never be as user friendly as desktop apps.
As Danilo pointed out, and I mention briefly with regards to Flash video, it could be that AIR solves a problem that no one knows actually exists. The minivan example is a good case study for that. When Flash first arrived on the scene, nobody was thinking YouTube, and that capability wasn’t even possible with Flash until I think version 5 or 6.
#12, Oct 12 2007
Chipp
I wouldn’t dismiss the desktop client app so quickly. There are a number of great desktop client apps which work with the internet BETTER than a browser based version would work. Two which come to mind are the Napster and iTunes desktop clients. You can certainly do more and do it easier with iTunes than any AJAX solution I know of.
The simple fact is the browser is not an application environment. It wasn’t designed to be one, and it is currently being ’shoe-horned’ into that space…with tons of tricks and exception programming (just look at how CSS has devolved).
So, I for one, think Web 3.0 ends up being a desktop client solution.
#13, Oct 16 2007
hofo
Don’t dismiss AIR out of hand. As you note, Flash does a credible job of video over the web. But when Flash was born, that wasn’t the point and it wasn’t a question being asked either.
#14, Nov 19 2007
sam
Sorry to come late to the party.
I’ve heard a lot about the worthlessness/uselessness of AIR from the developers with whom I work. Yet, I disagree.
Why?
Because I can now write cross-platform applications that can run on the desktop.
I don’t have enough money to set up a web-server backend. I don’t have enough money to buy a QT license ($5000+ for a three-platform license).
But I can suddenly write multi-platform apps with little investment using AIR, my favorite text-editor and Qooxdoo or ExtJS.
#15, May 30 2008
Tutsi
Adobe air simply provides web developers using either javascript and html or actionscript (flash) a way to use their excisting knowledge to now ALSO develop desktop applications (previousely you needed to learn another language to do that).
This will bring the faster development times associated with developing for the web AND the higher level of design associated with flash (compared to JAVA) to the desktop.
Compare Adobe AIR with java: no need to learn a new language, faster development (re-use excisting webcode), way nicer design possibiliteis.
And for all who are about to miss the train: A tool (be it flash or air) is just a tool. A bad designer will create bad designs on any tool - do not blame a tool for bad design. Flash is indexed by google, supports browser back button and deep-linking (as does ajax for javascript/html developers). Yes, you can abuse the tool with bouncing useless images and effects -but that’s not the tool’s fault. (www.thefwa.com / www.2advanced.com are always going to outperform html)
The internet is a visual place, so is the desktop. If you are going to stand out it will not be because you are better, it will be because your products have a stronger branding. I’ll choose AIR above any ajax/html/java programming and make the sale anyday because I offer the same functionality, only faster and better looking. The boat is leaving, get on it….