As you may already know, the Mobile World Congress kicked off today in Barcelona and it did not take long for the first announcements to hit the interwebs. Adobe has of course a large presence at MWC and today announced support for Flash Player as well as Adobe AIR on Android devices. While we have seen some demos of Flash running on Android already, support for the AIR runtime gives developers yet another option for deployment on mobile devices, besides the traditional Flash content for (mobile) web browsers that is going to hit mobile screen sometime in the first half of 2010. Adobe states that 19 of the top 20 phone OEMs are committed to delivering Flash and expects more than half of all smartphones to ship with Flash Player by the end of 2012. 19 out of 20... can you guess the missing one?


Remember that the upcoming iPhone packager in Flash CS5 is essentially bundling the AIR runtime into a compiled .ipa iPhone application, which means that other platforms which will support AIR natively (such as Android) can be targeted just as easily and in fact easier, using the same code base. Sure, a responsible developer will tweak their application a bit depending on the device they are targeting, but other than that AIR for mobile will be very similar to AIR on the desktop, with all the benefits that this brings. For example differences in APIs between the mobile OSs are abstracted away by AIR, allowing the developer to code using one consistent API - just as we are used to on the desktop where we can build AIR apps that run on Windows, Mac and even Linux without having to worry about the intricacies and differences of different file systems, OS hooks and so on. In short, AIR for mobile will allow developers to deploy what are essentially native mobile applications which the user installs and which are granted the same level of trust than other installed apps. This is different to the content that you may run in your sandboxed mobile browser and Flash Player 10.1.

I'm very exited to see this announcement today, and while I can't say that I'm surprised it's reassuring nevertheless. Flash as a Platform has a lot of life in it yet, despite what some fanatics would have you believe. That said, it could also be make or break time now, and Adobe needs to get their mobile strategy right this time or they will miss the boat. In particular I think that the vision of using a single code base to deploy for web (Flash Player), desktop (AIR) and mobile (Flash Player, AIR for mobile) can be met. Mobile applications are simply too different and require so much specific attention that it is simply not realistic to suggest that one could simply 'compile for mobile' after having built a browser or desktop app.

It's a different story for web and desktop: here we can have a lot of code overlap (at least in my experience) for a two screen approach to work - after all the screen size is a hugely important factor and web and desktop apps normally share the same screen. Maybe a middle ground of a two platform approach would be the way forward: one code base for web and desktop delivered by Flash Player and AIR, and another for mobile (with only minor tweaks needed for each device) utilising Flash Player and AIR for mobile. That's a vision I could buy into, and one that I hope Adobe is aiming for. I much prefer them to under-promise and over-deliver than to do it the other way round.