The big news out of Adobe MAX 2009 last week was all about mobile and the developments for the Flash platform on devices, the forthcoming release of Flash Player 10.1 and of course the announcement that Flash CS5 will be able to publish Flash files as native iPhone applications!

Flash on the iPhone

Here’s how they broke the news:

It’s a huge announcement.

Rumours of Flash running on the iPhone have been going around for over a year now, with Adobe and Apple ‘officially’ being in talks since November. The Flash team did well to bluff any developments when asked about it at Flash on the Beach this year, so clearly they were keen to save the big reveal for MAX as it deserves.

As you can see in the video, Flash CS5 will make it super-easy for developers to publish their Flash applications as a native iPhone executable, so simply it would seem, as changing a publishing setting at author-time.

This means developers don’t need to make any changes to their applications in order to run them on the iPhone (though presumably the APIs will be limited). It also means that existing applications won’t need to be rebuild from scratch (not even be completely refactored, as before) and can be distributed via the AppStore.

It doesn’t, however, have effect on viewing Flash in the Safari browser. This still cannot be done.

What Adobe have achieved is the ability to compile Flash as an iPhone executable to run as a native application – they haven’t created a Flash Player for the iPhone, or any way for the iPhone to interpret a SWF at run-time. They’ve made their files compatible, rather than the other way round.

There’s already some applications available in the AppStore, these are:

Adobe have created an Applications for iPhone Labs page demonstrating apps running on the phone:

Flash iPhone demonstration

There’s also an FAQ (and Developer FAQ) which goes through what can and can’t be done.

Mark Doherty has written about the announcement and lists some of the limitations that will be imposed, for example some typical features you might expect to work with, but won’t be available:

  • Microphone access
  • Camera access
  • Photo selection from file system
  • Contact selection from the address book
  • Cut/copy/paste
  • Maps

..actually quite a few limitations.

Ted Patrick is one of the Adobe team who developed some of the demo applications. He has posted an article on his blog with the four sample apps and included full source so you can see, as he says, there’s absolutely nothing special going on – it’s just simple AS3 cross-compiled to iPhone ARM Binaries.

Aditya Bansod has written an article for the Adobe Developer Connection which goes in the technicalities in a little more depth. He also has an hour-long episode on Adobe TV, taken from MAX, exploring the technologies:

Of course, it’s not news that Flash isn’t without sceptics. Not everyone is looking forward to the prospect.

Jeff Lamarche is an iPhone developer who has some very good points on being cautious when developing Flash for the iPhone.

He shares my opinion that you should avoid ‘hammer development’ principles and instead should choose the best tools for a platform. He says:

Flash has always been a compromise that takes considerable overhead to let you create applications that can run on multiple platforms, while feeling native on none and getting native performance on none.

He goes on to make valid points about performance when road-testing some of the applications, also noticing some inefficiencies and possible breaches of Apple’s guidelines.

Presumably when you create applications with the recommended workflow, with XCode, Interface builder and the iPhone SDK, developers are somewhat constrained by them – definitely with regard to the interface, visual components and interactivity. With Flash’s ‘back-door’ sneak of creating apps, these may be breached.

That being said, I haven’t had a chance to play with these applications yet (I don’t actually have an iPhone..) but even then, presumably these are apps for demonstration and are, as proven, purposely uncomplicated.

And as always Flash has its haters.

A comment on Mike Chambers’ post might be a bit knee-jerk and unjustified, but also hints as to some of the feelings that will no doubt surface if the AppStore is inundated with bad Flash apps and games.

Hopefully Apple won’t change their position on accepting Flash.

Flash on everything else

But not to forget – this was really the second big announcement of MAX.

The first announced that the forthcoming Flash Player 10.1 appears to run on pretty much every other smartphone and high-end mobile device on the market too. Which has a lot to do with new commitments to the Open Screen Project.

Ryan Stewart has a run-down of the news, which announces Flash will run on Blackberry, Palm Pre, Windows Mobile, Android and on Skyfire browser for Nokia Symbian OS (links via InsideRIA).

Google have joined the project, see the post on their blog and Adobe’s press release for more information.

At Flash on the Beach, Mark Doherty’s spoke about the improvements to Flash Lite and how advances in Flash technology outside of the ‘main’ Flash Player have beneficial effects overall, to the platform as a whole. One such advancement is that the new multi-touch and gestural events in Flash 10.1 will be completely available for non-mobile applications too.

Daniel Dura and Matt Bugbee‘s Multi-touch and the Flash Platform on Adobe TV discuss and demonstrate what can be achieved with these new events.

I’ve just noticed that InsideRIA already have a ‘Getting started’ primer for multi-touch Flash, too.

As I say, advances in one technology can propagate development in another. That said, Adobe have also announced that they are developing a lightweight Flex framework for mobile devices, called Slider.

Slider is a mobile-optimized version of the Flex 4 framework, allowing developers to leverage their existing Flex skills but benefit from optimised performance and a streamlined user experience for devices with less memory and slower processors.

There will also be a new set of user interface components.

Going full circle, a greater presence of Flash and Flex on mobile devices puts more pressure on Apple to adopt the Flash player for their Safari browser.

Hopefully some time soon, seeing this screen will be a thing of the past:

As Serge says, there’s lots of things to get excited about and it’s a great time to be a Flash Platform developer!

Show a little faith, there’s magic in the night.