Is Flash Really so Yesterday?

Flash vs. HTML5.  The battle between Adobe and Apple has been growing increasingly fierce in the last few weeks, posing questions in many developer's minds about which technology, exactly, they should be using to develop their Rich Internet Applications.  The campaign by Apple against Flash has been raging for a while, at least since the release of the iPhone, but is now coming to a head with published comments by Steve Jobs appearing late in April, with a rebuttal by Adobe CEO Shantanu Narayen by way of an exclusive Wall Street Journal interview just days after.  Jobs says Flash is resource hungry, slow, and not nescessary in a world of open standards like HTML5.  Narayen says Flash is open, not slow, and that if anybody is being "closed", Apple is being more so than Adobe.  So what's a developer to do?

Apple says Flash, since is is controlled solely by Adobe, is a closed platform.  Adobe says that since it has opened the Flash specification to anybody's eyes, it's an open platform.  Generally speaking, it is not at all helpfull for a developer to see the Flash spec, since it doesn't change the way he develops his applications.  He still has to use an IDE, most likely one of the two supplied by Adobe (Flash or Flex/Flash Builder) to create his software.  The "open Flash spec" means that other software vendors are free to create IDEs and other platforms which depend on the Flash Player to run for the end user.  There have been a few of these, libming and OpenLaszlo come to mind, but none has reached the prominince of the good ol' Flash IDE.

The technologies Apple would like to see replace Flash are Open in the sense of Free (as in beer).  The are technologies developed by the greater Internet community and standardized by the W3C.  In theory anyway.  HTML5 is supposed to be the next wave of Internet innovation.  It's a language that is more aware of the media-rich experience which users expect on the Internet today.  Co-starring with, CSS3, SVG, and Javascript, HTML5 is definitely a formidable challenger to the hill on which Flash is now king.  Are these technologies free?  Yes.  Are they open?  Technically, yes.  Are they worth adopting right now?  Most certainly not.  The gold standard of openness is the inclusion of a technology in a W3C recommendation.  HTML5 is still in draft. Most of CSS3 still is too.  If an accepted standard is so far off, there is little hope of browser vendors will anytime soon offer standardized support for the impending recommendation, if ever.  Apple would like you to join up and support the Open Web, yes, but most importantly, they want you to join up and support their particular version of the Open Web, as implemented in the Apple-led Webkit project.  I've seen some of these technologies work, and they're cool, But give these pages a try in your favorite browser, and see if they work for you: 

http://html5demos.com/
http://9elements.com/io/projects/html5/canvas/
http://pushingpixels.at/experiments/dynamic_shadow/
http://www.benjoffe.com/code/games/torus/
http://anthonycalzadilla.com/css3-ATAT/index.html

Thanks to this post at pinstack for finding most of those examples.

The Pure CSS3 animated AT-AT is neat, but it's all done using -webkit style declarations.  That's a Safari, Chrome only club, folks.  Anybody try the above using IE?

The best thing (to me) about Flash has been that it's something you can depend on for consistency across browsers.  It's the cross-platform dream that Adobe has been chasing.  For the time being, it looks like it will continue to fill that niche.

Because this is the Internet, though, things will change.  I take the position that Flash has just about made its run.  It was necessary, but may not be for much longer.  Including Flash in websites is ugly.  It got uglier with that whole Microsoft vs. whoever battle over active content plugins.  It is much prettier, syntactically, to just have your whole web page right there in the markup, without needing any plugins or other nonsense.  I can't say I'll be glad to see it go -- with Flash, Macromedia and then Adobe expanded the vision of the World Wide Web in a way that wasn't possible any other way at the time.  I would count Flash as an important part of the heritage HTML5, Javascript and CSS3 must claim, but I think the standards way is the better way.

Don't worry too much yet though.  Despite Microsoft's pledge that IE 9 will include HTML5 support (minus ogg video), it's going to be a while before we developers can expect any kind of open platform cohesion out side of the Jobs Reality Distortion field.