AIR
I just installed my first adobe air-based application. It’s called Snitter and its a new Twitter client. At first blush, it does a few things that Twitterific doesn’t do and I think I like it better.
But this isn’t a post about snitter or twitter. It’s a post about Adobe’s AIR, which is an "integrated runtime".
The neat thing about building an app on top of AIR is that it instantly runs on windows and mac. True cross platform development
That in and of itself isn’t new but building an app on AIR is like building an app in Flash and/or HTML/Ajax. In theory, if you have a web app that you’ve built in Flash or HTML/Ajax, it should be a snap to write it on AIR and launch it as a desktop app.
There are a couple other efforts to do this, including Google Gears, the Parakey effort that Facebook acquired recently, and something from Microsoft (i think). Google Gears is potentially the most interesting because it includes persistent storage which is nice. Imagine being able to do gmail as a desktop app when you are not connected to the web (airplanes, etc). That’s a dream of mine for years and it’s going to come true soon.
So here’s the issues as I see them. If you want to install an AIR based app, you first need to download and install the AIR runtime. I did that yesterday and it was simple, but that’s a problem because most computers don’t have AIR on them and many people won’t want to take that extra step. It would be great if AIR came with Flash because most computers have Flash on them at this point.
So if you are a developer, you have to think twice about developing to AIR. And then there are going to be two or three more of these "web runtimes" out there. Do you need to support all of them in the short run? Probably yes, if you want to get the most adoption that you can.
Ultimately one platform, maybe two, will win out. Flash has won that place for rich media on the web. That doesn’t mean that AIR will win too. My guess is that Google has the best position at this time because if they launch versions of their web apps as gears-based desktop apps, they’ll get a lot of adoption that others can ride on top of.
Nevertheless, this is an interesting area to watch develop.
Comments (Archived):
Read up on XUL and XUL Runner and you will understand why joost did a very smart move, once you have FF3 which will be built ontop of a XUL Core, you will be able to download XUL Runner based products that will work just as a plugin, so Joost should be able to become very small in size, and maybe they have some neat distrobution… oh wait, skype 220 million downloads… whoops 😉
*should* be able to become small*will be built**will work*and… how do 220 million Skype downloads help Joost ?Yeah, people download and install stuff when stuff is worth it, that’s where the analogy ends.That being said, XULRunner is probably still a good option for many projects, just not as easy to do advanced video stuff, games, and writing new components.(XPCOM, RDF spaghetti anyone ?) whilst writing Flash components and handling multimedia is Adobe’s bread and butter.And then, there’s the deployment part… XULRunner and friends are usually distributed as binary installers, which you will probably agree is not as good as JNLP or AIR deployment.Probably a better match for the enterprise than consumer space.
Adobe plans on releasing AIR in an update to the Flash player. Flash 9 is currently installed on 90% of computers worldwide. Everyone will have AIR.
Depending on how big the installation is, I forsee some people pushing back before eventually accepting it.
Fred – What are the advantages of Snitter over Twitterific? I’ve got AIR running on my MBP for the Pownce client and wouldn’t mind switching to Snitter if it was worth it.Also, AIR is still in Beta, so that might explain why they haven’t included it with Flash and pushed it out to more desktops. But I agree; Adobe will have to package AIR with Flash in order to build a presence over Gears. Free *responsive* office apps and desktop gmail are too good to pass up.
No need to package AIR *with* Flash, it makes more sense to piggyback AIR.See my reply to Don Park below.
I agree. Adobe should either include AIR runtime or, at the very least, auto-install/update the runtime when an AIR is downloaded. While it’s just an extra step for engineers, it’s unnecessary complications for users. Users don’t need to know what a ‘runtime’ is nor why they need to download it.
That’s correct, that’s why AIR will piggyback on the Flash Player.It works like this: 1) You have Flash 9 installed2) Flash 9 is 1.1Mb, but has a built-in transparent installer for AIR3) Flash 9 is initially associated with .air packages4) The first time you attempt to run or install an AIR application, Flash detects this and helps you to download AIR automatically if you haven’t done so alredy.5) AIR is installed, it’s some Mbs more, but it got installed transparently, and it even includes a real web browser and a Gears-like API6) Run your app, you almost didn’t notice what happened behind scenes
Glad to see AIR getting some coverage. The AIR Bus is coming to NYC at the end of the month so that would be a good chance to see what can be done with AIR.We’re finishing up a web-application built with Flex 2 (also Adobe) and AIR will make it possible to bring a rich browser experience to the desktop (connected or not). More rich browser experience + cross-platform compatible + offline utility = interesting things to come.Finetune came out with an AIR app for their playlist service a while back but you should stop by the Adobe site to see some samples. Excited to see what else people come up with….
Actually you don’t “write in AIR”, more like you write it using the “traditional” Ajax/Flash/Flex way, repackage and wrap it in a nice gift box.By the time AIR is out, the newest Flash player will be widely deployed, and have all the necessary hooks to bootstrap, download and install AIR apps.In its latest iteration, the Flash player 9 beta update 3 comes with support for SMP (makes use of dual core power), video hardware acceleration (very prominently used in Youtube full screen video for example) and H.264 video support.And all that still fits in a mere 1.1 Mb installer !! (compare to a good 30+ Mb Java Runtime, it’s a very noticeable difference)As for the APIs, It’s been rumoured that Adobe has been in talks with Google to uniformise and align around a Gears or Gears-like API for AIR. (AIR does have equivalent support today, but the API differs)AIR 1.0 is scheduled for release Q1 2008, with support for Windows and Mac, but also planning for Linux in the next iteration. Looks like AIR is delivering on the promise of Java, as far as the desktop is involved.You’re right AIR is still not there, but it looks very promising.
That was quite enlightening. I didn’t know too much about AIR but this makes sense. Thanks.
glad to help !
30+ Mb Java Runtime takes less than 60 seconds to download – not a problem.After reading this comment a few times, it seems like a new Browser could easily be created using AIR.I just hope that this doesn’t turn out like .NET – where suddenly, everyone thinks that they’re a programmer – with the actual end result being loads of overhead, slow running code, and a waste of processing cycles. But then again, I’m a purist at heart.
So, I just went to download snitter for this Mac – I see that I needed to have the AIR runtime installed first (9Mb download) – what I didn’t realize is that AIR is nothing more than a new name for Apollo.
Back again! 🙂 The AIR Installer for the Mac is actually a 22.9 Mb file (after uncompressing) – so don’t be too critical when trying to compare it to Java
@DanActually it is unlikely that adobe will bundle AIR directly with flash. This is because Adobe is obsessive about the download size of AIR. Because air actually *includes* a web browser (webkit) it is quite sizeable compared to flash. I am not arguing the merits of whether they should or not, but they have stated that they will not.@FredAIR includes the same storage that Google gears includes – SQLLite. Adobe and Google are working together to standardize the APIs.Finally, I think that adobe, even without automatically downloading AIR to the desktop, is in a **FAR** stronger position than Adobe on this. First of all Adobe has the developer relations which Google doesn’t. They are building AIR support into Flex, Flash, Dreamweaver, etc. I would say it will be much easier for Adobe to get its developer base (Dreamweaver & Flash/FLEX) to use AIR and to get users to do the Adobe flash integrated install, than it will to get people to do the Google gears install. This is just because there are so many developers big and small that will be supporting AIR. Google is big but they cant compete with all of the big and small players that will ship AIR apps. For example, so far Twitter and Pownce have shipped AIR apps. I dont know of any cool web 2.0 apps that work with Gears aside from Google. I am sure there are some, but I havent seen one yet. But there are AIR apps bursting out all over.More importantly, Adobe has built a seamless downloader into flash. This means that when you click on an AIR app to install, it looks to see if you have the runtime and if you dont it asks if you want to and then installs it. It makes the process trivial for most people. Integrating the download process with flash really makes AIR installation sweet. Some people who have done AIR apps have not figured this out yet. For example Pownce does a regular lame style download. But we are still in beta – by the time Adobe goes 1.0 everyone will be doing it the right way.
Google and Adobe don’t compete in Gears support. AIR already has Gears-like functionality and Adobe is working with Google to harmonise the API between Gears and AIR.That means you will be able to build AIR apps that are based on Google services.They’re not competitors at all.
Google is a competitor to everyone… 😉
I should probably keep that in mind 🙂
This is where MS has a significant advantage in the fact that their .net framework (their version of the runtime) is distributed to (and installed with) the OS.
Microsoft’s version is Silverlight and from a developer standpoint is a bit hard learning curve but is far more scalable. It runs on Windows, Mac, AND Linux.What cyanbane said is wrong – it’s not part of the dotnet framework and is not included in any updates with it. It’s a separate install but it’s got the smallest footprint of all the frameworks coming out and takes about 20 seconds to install.http://www.microsoft.com/si…
Given that Moonlight is still pre-alpha quality and has zero marketshare, I’d say that your comment is a bit too optimistic or downright unrealistic. The truth is that it still doesn’t run on Linux, and it’s barely usable on Windows and Mac. Zero marketshare in all platforms as of today. I would like to see stats and projections to back your argument.And no, even without accounting for .NET, (which Flash doesn’t require) Silverlight is a 4 Mb download for Windows, Flash is 1.1 Mb for Windows, your assesment there is simply wrong.Without numbers to back your argument, it all sounds like typical Microsoft astroturf.
Thanks for the heads up on Snitter. I’m trying to find a Windows based twitter client that I like. No luck with Twitterlicious or Twitbox so far.
Or you could use, I don’t know, Java? Java has been providing a cross-platform web-enabled runtime for what 10 years now? Admittedly the execution of this vision has been pretty gross, but things are getting better rapidly and with the upcoming Java Kernel, Java FX, etc I think it’s a better choice than ever.GWT is another possible choice. Write it in Java (and run it client-side) or compile to JavaScript and deploy it on the web.
Again, JavaFX = 0 % marketshare, distribution relies either on old JNLP or (God forbid) Java applets,(The very thing people hated, which was replaced by Flash on the desktop, and Sun is insisting again trying to make us swallow it.)Developers need to learn yet another programming language. (Even Silverlight does better here with support for a variety of scripting languages, including JScript which is Microsoft’s version of Javascript, AIR relies on ActionScript which is Adobe’s implementation of Javascript/ECMAScript)Java Runtime = 85% marketshare but download is 30+ Mb Consumer space is not enterprise software, Sun needs to get real on this.It’s sickening to read their PR saying JavaFX runs on billions of mobile devices when in actuality, the widely deployed version of Java out there can’t possibly support it. (J2ME)There’s no JavaFX user base, zero users. There’s no JavaFX developer community. JavaFX was recently acquired, it wasn’t even developed by Sun.
JavaFX is the overall platform and I agree there is a fair bit of FUD and hand-waving there. The mobile parts of it were based on their acquisition of SavaJe. But the JavaFX Script language (awful awful name) itself is based on the F3 language. It’s an early technology but I know some people doing impressive things with it.You don’t have to use JavaFX Script of course. Feel free to just write in Java, a language several million developers already know with libraries and frameworks for pretty much anything you could possibly imagine. Or run any of the hundreds of scripting languages that run on the JVM, like say Ruby, Python, or JavaScript (hey, they’re faster on the JVM too).I don’t know where you’re getting 30+ MB from. The *development kit* (the JDK) is 60+ MB but users only need the JRE which is currently in the 10-15 MB range. With the upcoming Java Kernel work in a coming Java 6 update, the core kernel download size is down to <2 MB. It will likely still need to download some additional stuff in the background, but only what you use (about 3 MB for Swing apps). And that will be cached. Of course, you might not even care, if you own any Mac or almost any Windows box that comes with the JRE pre-installed. Now that Java is GPL, it will be available in most Linux installations as well.They’re also trying to address media support with the JMC (Java Media Components). This is definitely a weak spot for them vs Flash.Sun has smart people working on this stuff and they are making good things happen. I’ve been pretty impressed with what they’ve done over the last year or so in this area. I think they’re making a bet and they are very actively addressing the most painful parts of the user experience (traditionally their worst execution point). I think some of the Java FX marketing stuff is a little out front of the tech (as is often the case) but I’m willing to cut them some slack (for a while).
i love posting about technical stuff on this blog because i get such a great education in the comments. thanks everyone for being so up on this stuff. i learned more reading the comments on this post than i learned in some college classes!
That can say something about the quality of the comments OR how much you paid attention in class!
OR both !hehe
It is a very interesting area, and my 2 cents is that Adobe has done a great job positioning themselves with the 1.0 release of AIR.From a web developer’s standpoint, it is incredibly easy to develop for, and is really powerful; with access to the local filesystem, offline support, etc.. also, there are so many developers that know flash/flex or html/javascript, and IMHO, it’s much easier to work with than xulrunner or google gears (and different as well).The runtime installs will happen over time.. It’s hard to say develop solely for AIR right now (it’s not even out of beta), but within a year there will be a sizable install base. If adobe can integrate AIR runtime installing somehow into the flash player install, that would be awesome (player 9 got to 90%+ installation base in just over 6 months), although I’m not convinces it’s a good idea yet, and it’s still a 5-10MB download.We have a Adobe Flex-based website, and a desktop client written in AIR is definitely on our roadmap. The initial release doesn’t support everything we’d need to make it truly worthwhile, but I’m very excitied about once it does!If you want to know more about AIR, you should check out the onAir bus tour. They’ll be in NYC on September 24th: http://onair.adobe.com/sche…. Plus, the adobe guys are a great bunch..
Uhmm – first thing that comes to mind is that download and install apps are soo outdated – then the next issue is one of updates to the latest version.The great thing about online apps is that it is always the latest version when you log-in.
Agreed, for many apps, except when you need to work offline.That being said, if you use a certain distributed app frequently, the experience of having a specific purpose network client like Snitter is impossible to ignore.There’s a XULRunner wrapper for Google Docs for example, which makes Google Docs behave almost like a desktop office suite, whilst savvy users may prefer running everything from the browser, the desktop metaphor may map better for the minds of some less-than-savvy users. (the vast majority)
“…except when you need to work offline.”I dunno how any times that really happens for me vruz.That seems pretty close to saying something like, “What if the user has javascript disabled?”Obvious answer is “Yes, but that is a non-issue, and the user gets a bad experience without all the required tools – user problem, not application problem”.Of course, the less-than-savvy users also probably don’t really care if it’s a desktop-app or a browser-appNow it’s time for me to digress – in the end, apps are nothing more than electronic tools – and like all tools, the right one depends on what task you are trying to accomplish. Even in that scenario, multiple tools work well (6oz hammer, or the 12oz hammer? 😉
another effort in this direction is the JavaScript Native Extensions project:http://www.jnext.orgIt currently seems to be flying under the radar, but the ease in which it can be extended could make it a prominent player in this trend.