HTML5 and Flash
David Woods

HTML5 and Flash

chess pawns

Deserved or not, HTML5 is a hot topic. The topic’s significance is called into question because the term ‘HTML5’ is currently used in multiple ways. Despite the hype and praise on seemingly everyone’s lips (or at least their blogs), there’s not even a clear consensus on what they’re talking about! On one hand, as a technical definition, HTML5 is very clearly defined: it is the newest addition to the stable of doctypes a developer can choose for page validation and code consistency. And as a doctype, HTML5 certainly deserves praise.

But on the other hand, HTML5 is more colloquially being used as a bucket-term describing the combined usage of bleeding edge HTML, Javascript, and CSS. Sound familiar? It should. This is how the similarly hard-to-define term ‘Web 2.0’ was used. Where Web 2.0 featured AJAX style server communication and Javascript controlled page content, HTML5 features new video and audio tags and the use of Canvas for graphics.

Another player in the HTML5 stage is the vastly improved speed of Javascript execution in browsers, including in some cases hardware graphics acceleration. Without this critical enhancement, HTML5 would be a non-event. But thanks to the significant optimizations coming from Google, Mozilla, Microsoft, Apple, etc., browsers can now provide the enhanced graphics previously seen only with third party plugins - most notably Adobe’s Flash Player.

This has predictably led to HTML5 vs. Flash comparisons sprouting like daisies over the internet. The phrase “Flash Killer” was used liberally. Steve Jobs first hypes HTML5 as the Flash alternative for Apple’s mobile devices, then ships a new operating system lacking the opposing plugin entirely. The world notices.

But is there a conflict, really? I say no! Will HTML5 replace Flash on the internet? Of course - in some places. Flash was never the best solution for everything, but nothing had even close to the install base of Flash. When the only tool in the box is a hammer, everything looks like a nail. Flash was used appropriately in some places, and inappropriately in others. It shouldn’t shock anybody to see this continue to happen. Expect similar appropriate and inappropriate use of HTML5.

Many developers and many projects have already moved to HTML5. Entire websites have been scrapped and recreated in HTML5. In some cases, the reasoning was simply to use the hottest new technology. For others the motivation was to align with the latest trends. And sadly, sometimes the decision was made for no reason other than the hype against Flash.

Again, I say, there is no conflict here! Both should be considered viable options. The choice should only be made after evaluating both the project’s requirements and the benefits of all potential technologies, making the selection on a case-by-case basis. Rational decisions trump the hype machine every time. Is a necessary feature only available with one technology? Does the target audience use a platform that only supports one technology? If the final product doesn’t dictate a winner, what about the development process? Would one technology be easier, faster, or cheaper to implement, either through familiarity or by reusing existing code?

Developers should be familiar with both to avoid shunning either technology for the wrong reasons (like hype or trends). Rejoice over having a new tool! Learn about it, evaluate it for individual projects, and don’t get hurt feelings if a favorite technology isn’t the one best suited for the job. Developers should always strive to produce the best solution, not to promote specific technologies. Want to be a trend-setter? Set the trend of superior quality. There are no bonus points for siding with one technology over another. Rather, making good decisions and choosing wisely when planning will score where it counts: results. Careful and objective planning always produces better results than hype and FUD could ever achieve.