Flash vs. HTML5, and the iPad

Recently there’s been quite a hubub on the Flash developer’s email lists and blogs that I follow, with people discussing (and ranting) about the future of Flash in a world with the HTML5 standard, which adds things like simple media embedding and application programming directly in the browser, and with Apple refusing to support the Flash plugin on their mobile devices, the iPhone and the new iPad.

To try and clear up some of the confusion about Flash’s future and provide an answer to the inevitable question, “Why should we use Flash for our next project”, I thought I’d summarize some of these discussions.

Video in HTML5
The overall consensus among developers is that media (video & audio) delivery on the web will make a shift towards using the HTML5 video tag.  However there are limitations to doing it that way; currently HTML5 lacks  full support by all browsers, content protection and variable streaming.  Flash also adds integration of web distributed media into the other things that Flash does well, such as custom user interfaces, animations, additional content delivery (such as advertisement popups), social interaction (adding comments to a video), closed captions, etc.

Apps in HTML5
As with video delivery, HTML5 lacks support on all browsers and currently it is still quite primitive compared with what’s possible in Flash.  Apps developed in HTML5 will require significantly more effort to build because of the less robust tools and language, and while Flash is certainly not perfect in it’s use of a computer’s resources, HTML5 has a higher CPU load and is more prone to crashes.  You can also develop an app in Flash and deploy it to both web and to the desktop via AIR.

Lack of Support on iPhone/iPad
There is a lot of love & hate for the iPad but it seems like most developers are doubtful that it’s a device that will grab a large market share and Apple’s share of the cell phone market is dropping (“18.1% in the 3rd Quarter [of 2009] to 16.6% [in the 4th Quarter of 2009]”, see Billboard link below).

Soon Adobe will be rolling out v10.1 of the Flash plugin for desktops and mobile devices, which has been developed to be part of the Open Screen Project, an industry wide initiative to develop a single standard that provides the same user experience on all devices.  It’s worth noting that Flash v10.1 and AIR 2.0 will include multi-touch and gesture recognition, one of the iPhone’s stand-out features from other mobile devices.  Also the next release of Windows Mobile will support multi-touch and Google is adding multi-touch functionality to Android apps.  Android and WinMob will both support the v10.1 plugin.

For specifically targeting the iPhone there is the Adobe Packager technology for converting apps developed in Flash into apps that will run on an iPhone, though this of course means going through Apple to get the app into their market place or loading the app onto a jail broken iPhone.

My Thoughts
This is part of a post that I made to the Flash Coders email list:

“It may be helpful to discuss with clients something that we should always be doing when developing Flash web apps anyway; alternative content. And I mean giving the non-Flash user something more than just a link to download the Flash plugin.

To respond to client concerns and provide a great user experience I think we’ll be devoting more time and budget to building a non-Flash alternative, using whatever technology is appropriate, that provides a similar user experience to what we build in the Flash. Which of course will raise the question, “Why create a Flash version in the first place?” I think the answer to that will continue to be the reasons we’ve been using it all along:

• gorgeous timeline based and programmatic animation
• video & audio, these won’t be going away just because you can do it another way.. and when you can integrate video & audio with Flash’s other capabilities, there’s nothing else that can compete right now
• a rich API that provides powerful integration with the web and desktop, which also makes it adaptable to whatever need the client wakes up with tomorrow
• you can create a seamless exerience regardless of your target software and hardware platform (except for a few *ahem* exceptions).
• a massive user share that I expect will continue to grow when v10.1 drops
• a similarly massive developer base, including many open-source projects providing even more depth to the API
• integration with Adobe’s other products, and I don’t believe that any of those will be dropping out of the market any time soon.

Blogs & News Sites on the Subject
My Thoughts on the Future of Flash, by G. Skinner

“The World is Moving to HTML 5” and Other Flights of Fancy, by Richard Leggett

Sympathy for the Devil, by John Nack

The iPad provides the ultimate browsing experience?, by Lee Brimelow

SublimeVideo, example of an HTML5 Video Player

Ten Things Missing From the iPad, Wired Online

iPhone’s Market Share Slips, by Anthony Bruno

Flash Player 10.1

Open Screen Project

Google to Add Multitouch to More Android Apps

What’s new in Windows Mobile 6.5.3

Relative Performance of Rich Media Content across Browsers and Operating Systems