I wrote an article a few months ago regarding the future of Adobe’s Flash vs. HTML5. Certainly a global comparison of the two is a flawed approach since there are advantages and disadvantages to both sides. The side that boycotts HTML5 in favor of Flash is wrong 100%, but then again, so is the group that would have everyone believe that HTML5 is the next generation replacement for Flash and that Adobe’s Flash platform is basically dead. (Yes, CEOs of popular companies can be wrong too!)
The past couple weeks have been big news for Adobe since they just released the final version of Flash 10.1 for Android–more or less the first full version of Flash for mobile devices. (Yes, I realize there’s stuff out there for Symbian users as well.) This release has prompted another slew of news about the platform’s performance on Android 2.2 based devices, and unfortunately, it has received some scathing reviews. Part of this is due to some pretty unrealistic expectations that Flash on mobile devices would provide a comparable experience to Flash on a desktop. Adobe didn’t promise that–they promised a cross-platform framework that could be used to write code once and publish it anywhere. We’re not totally there yet since not all mobile platforms support it, but we’re getting there. This is the first real push by Adobe into the space, and my theory is that they spent a great deal of time making sure Flash Mobile was written well enough to quickly and easily move it to other platforms. That much remains to be seen.
But, this brings me to a bigger debate going on among the web developers, designers, and content creators of the world. Should all video be moving toward HTML5 implementations or would it be better to stick with the tried-and-true Flash-based video mechanisms? Not long ago, I would’ve said that pushing toward HTML5 native video players would be the best idea across the board, but I’ve recently reconsidered that stance.
I definitely think that HTML5 is a good start to a future where interactive content is available without the need for 3rd party plugins, but even if the drafted standard gets ratified in the near future (which is still highly doubtful), I’m not convinced that going Flash-less is the right move!
There’s a lot built into Flash that HTML5 cannot (currently) match. For instance, Flash is capable of adjusting the bitrate of a streaming video on the fly whereas HTML5 is not. This means that you can watch a video at a resolution of 720p on your laptop or desktop, then switch to your mobile phone and continue watching the same video at a lower resolution like 480p. This is very much necessary for a variety of reasons: 3G networks are slower and possess a higher latency than wired broadband connections, not all mobile devices are capable of processing the amount of data required to render a 720p video, much of the higher-bitrate benefit would be lost regardless, and the less data used over the wireless spectrum, the better. (An important consideration for bandwidth-capped AT&T customers, for sure!!)
Also, current HTML5 video implementations don’t present the same player flexibility that Flash does; in other words: less-intuitive play controls, and no video-overlays such as comments and ads (yay!?). HTML5 video can have issues at full-screen, fail to scale properly at various resolutions, and provides direct access to the video source. A major reason many content providers will outright refuse to use HTML5 video is due to the lack of content protection (TV networks) as well as many of the other aforementioned reasons (Hulu). While I’m certainly not a proponent of any DRM implementation (video, audio, or otherwise), many corporations aren’t similarly minded. They’ll choose Flash over HTML5 simply because Flash helps protect the content from would-be pirates and downloaders. The open-source community has been trying to explain this to the media conglomerates for years, but with little result. Sigh.
Even Apple (Adobe’s biggest opponent) unofficially recognizes this! Why else would all of their videos, trailers, and movies continue to stream in the (extremely proprietary) QuickTime format rather than straight HTML5 H.264-encoded video?! And while we’re on the topic of Apple, let me just once and for all settle something else: Steve Jobs’ comparison of Flash to the floppy disk is inherently flawed for the obvious reason that software is freely, easily, and transparently upgradeable, whereas hardware just isn’t. On the other hand, in the interest of fairness, Microsoft still pushes most of its video using Silverlight, which is a nice experience, but is no more or less a good idea than is QuickTime.
All-in-all, I’m not saying that we shouldn’t be pushing toward a more open web, but as politically-mired as HTML5 has become, I’m not sure, in this specific instance, if that’s truly the way to go.
Your thoughts are–as always–quite welcome in the comments!