HTML5 vs. Flash: The case for Flash

In one corner is Adobe’s Flash, the once undisputed champion in delivering rich content to the glazed eyes of the easily bored public. In the other is HTML5, the once poor content provider now sporting the number 5 after its name and eager to prove that its new muscle and artful moves will be more than enough to take over the marketplace.


A wide range of pundits and industry heavyweights have been handicapping the fight, heralding HTML5 as the new champ and calling Flash “old,” “fragile,” “insecure,” or worse. The complaints are easy to understand and the new abilities of HTML5 are seductive. But is that enough to bet against Flash?


HTML5 duplicates many of the features that were once the sole province of plug-ins: local disk storage, video display, better rendering, algorithmic drawing, and more. Some of these features are available now in various forms, but the HTML5 spec is still labeled “draft.”


Is the sudden interest and support from the likes of Google and Apple enough to win? The fight isn’t over by any means. While Steve Jobs might have enough juice to change the outcome, neither the technocrats nor the programmers are the final judges in this bout.


The real battle is in the hearts and eyes of the artists who are paid to create incredibly beautiful objects in the span of just a few hours. The designers will make the final determination. As long as Flash and its cousins Flex and Shockwave remain the simplest tools for producing drop-dead gorgeous Websites, they’ll keep their place on the Internet.


Here is a list of seven reasons why Flash will remain king of rich Web content, compiled by interviewing a number of artists who work with it every day.


Reason No. 1: Flash’s sub-pixel resolution and anti-aliasing

Do you want a border around a block of text rendered by HTML and CSS? Well, you can choose between 1 pixel, 2 pixels, or n pixels. The spec does allow floating point numbers, but the numbers between the integers tend to be ignored or rounded off in a slightly different way by different browsers.


Flash not only accepts floating point numbers, but uses the same rules to draw lines, boxes, and images on all machines. Using sophisticated anti-aliasing and blending algorithms to render lines, Flash gives the illusion that screens have more precision than they really do. The eye can tell the difference, and that’s why Flash sites look better.


This is gradually changing as browsers begin to support the Scalable Vector Graphics (SVG) standard and allow JavaScript programmers to mix it with Canvas objects. But while SVG is impressive, it’s still a long way from efficient, thanks to all of the extra characters the XML standard insists upon. Compression can help, but there’s still something funny about the SVG-Whiz suggestion that the artists should “keep an eye on the generated code, and trim it down by hand where possible.”


Reason No. 2: Flash beats Canvas

A good way to get a feeling for the new Canvas object in HTML5 is to play a few rounds of FreeCiv, a free, open source version of the classic game Civilization. The developers implemented all of the basic graphics routines using the HTML5 Canvas, and they all work fairly well. Anyone who assumes that JavaScript’s main purpose in life is to check registration forms in Web pages will be very impressed.


But anyone who compares the results to the better games based on Flash, Shockwave, or AIR will just be mildly amused. Many of the Canvas products are impressive, but sometimes the code just doesn’t work or pokes along. Some browsers are fast and some are slow. Some operations are quick on one browser and sluggish on another.


To make matters more complicated, not every browser implements every feature in exactly the same way, a problem that shouldn’t be surprising to JavaScript developers. There are good efforts to simplify this with intermediate libraries like Processing.js, but even these can’t handle every combination.


Flash isn’t immune to the complexity brought to us by the proliferation of operating systems and browsers, but it has been dealing with them for much longer. When the Flash plug-in doesn’t crash, the results are slicker, smoother, and more consistent.


But there are signs HTML5 will get there. For example, Smokescreen, which renders native Flash on Canvas objects, doesn’t yet run on IE or Opera but is very impressive on other browsers.


Reason No. 3: Flash’s good developer tools

The world of CSS, HTML, and JavaScript development has come a long way, but it’s still hard to find an integrated development environment for producing sophisticated Web applications. There are solutions like JackBe and some decent Web-based tools, but these are mainly aimed at building business applications to be filled with data. They don’t help you send flocks of sprites dancing across the screen, seducing the reader — or, should I say, viewer.


Adobe’s tools such as Flash Builder and the endless range of design companions in the Creative Suite have been making this relatively easy for years. Sure, it’s a mind-numbing array of applications, and many cost a fortune, but true artists manage to make them work.


The biggest competition comes from the AJAX libraries such as jQuery and Dojo that have been wonderfully fertile these last few years, integrating the efforts of a wide variety of contributors. While there are some tools that support these libraries, much of the labor is still done by hand-coding JavaScript.


One designer who asked not to be named because of his company’s relationship with Apple, Adobe, and others said that while he felt Flash was “old,” he considered Adobe’s tools essential. “If Apple wants to kill Flash, it should start by building replacement tools,” he said.


Apple may not need to do much. Adobe is hedging its bets and building HTML5 support into Dreamweaver so that you can continue to use Adobe’s tools and enjoy the flexibility.


Reason No. 4: Flash’s supercool fonts

The world of fonts for the Web is getting better. There are more and more options beyond Verdana, and new frameworks such as the Web Open Font Format and Microsoft’s WEFT look seductive. But they are still in their infancy. Flash lets designers embed fonts in their Web pages in a controlled way that makes it possible for font developers to support the Web marketplace.


Adobe has been employing professional font creators and marketing their work for some time. They’ve been friends of the font foundries, so they pave the way for someone to include a beautiful new font in the presentation without destroying the font creator’s livelihood. The licensing may be confusing or complex — for example, ITCFonts lists four options — but the font designers generally reward Adobe with their best work.


Adobe has also been integrating technology from its other products. Algorithms from the fancy text layout engine in InDesign are now available in Flash when outline fonts are embedded into the presentation.


Reason No. 5: Flash is write once, play everywhere

This isn’t exactly true. Steve Jobs might not be having a fit if Flash were bug-free on the Mac, but Flash is still a relatively easy way to distribute content to older and newer Macs and Windows PCs, as well as some versions of Linux. Adobe likes to call it “pixel perfect fidelity across browsers and operating systems.”


Jennifer Taylor, director of product management, rich media solutions at Adobe, says that while HTML is nice for content that must flow into different containers, Flash offers visual cross-platform stability.


“The challenge for HTML as a Web content delivery mechanism is providing a consistent display standard across a growing number of different browsers,” she wrote. “This has been true from the onset of HTML and is still true with the most recent developments. So the productivity, expressiveness, reach and consistency (cross operating system/cross platform, and increasingly, cross device) of the Flash Platform remain huge advantages for the Web community as HTML advances.”


The Flash format (SWF) is open, and it’s quite possible for others to create custom SWF files without using any Adobe tools.


This pixel-perfect nature, though, isn’t necessary for all mechanisms. HTML users are quick to note that HTML can reflow into smaller screens and differently shaped windows with ease. Designers who specify layouts down to the pixel produce fragile work.


Reason No. 6: The Flash commercial ecosystem

Many users of the Adobe Creative Suite love the third-party plug-ins as much as the Adobe products themselves. Do you want to add slicker effects to your Flash presentation? Check out the numerous third-party commercial options available, such as FlashEFF.


The burst of interest in AJAX development has cut into this dominance. For example, these 30 photo viewers and modal dialogs built on AJAX can rival many created by the Flash community.


The AJAX work, though, is almost all open source — a great advantage for programmers willing to tinker with the code, but not always an asset for JavaScript artists who would like to keep their innovations to themselves. This is largely an accident of the Web architecture; while JavaScript code can be obscured through minification, it’s still relatively easy to pirate. Flash effects are compiled into the SWF, making it much harder for anyone to borrow them.


Reason No. 7: Flash’s game engines

Sure, JavaScript has “libraries,” but Flash game developers have “engines.” And while the differences between engines and libraries is often academic, what would a red-blooded programmer choose? When Bruce Springsteen wrote the lyrics to “Born to Run,” did he ever pause for a moment, scratch his head, and consider asking Wendy to strap her hands around a library?


The platform that once nurtured reworked versions of ’80s arcade classics now offers engines that deliver 3-D graphics, real-world physics, and the ubiquitous Facebook integration. Thanks to these ready-made systems, it takes no time at all to whip up a casual game. That may be why so many companies create games with the larger goal of advertising or education.


One Website producer who may be indicative of where things are heading said that Flash by itself was a bit boring, and she kept looking beyond to the power of Shockwave and other enhancements.


“I preferred Director/Shockwave because I liked what we could do with it,” she said. “The end result is more visually interesting, and the interactions are more intriguing. The animations are less repetitive because Flash animations are just repeating sprites.”


She added: “The developer I’ve been working with has a film background. He prefers Director/Shockwave, and his work is really creative.”


These are the people whom HTML5 must win over.

Related Download
3 reasons why Hyperconverged is the cost-efficient, simplified infrastructure for the modern data center Sponsor: Lenovo
3 reasons why Hyperconverged is the cost-efficient, simplified infrastructure for the modern data center
Find out how Hyperconverged systems can help you meet the challenges of the modern IT department. Click here to find out more.
Register Now