HTML5 vs. Flash: The case for Flash

Seven reasons Web designers will remain loyal to Flash for rich Web content

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?

[ Also on InfoWorld: Support for the next generation of HTML is already appearing in today's browsers and Web pages. Are you ready to take advantage? See "What to expect from HTML5" | Follow the latest news in software development with InfoWorld's Developer World newsletter ]

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.

The case for Flash, No. 1: Flash's sub-pixel resolution and anti-aliasingThe case for Flash, No. 2: Flash beats CanvasReasonThe case for Flash, No. 3: Flash's good developer toolsThe case for Flash, No. 4: Flash's supercool fontsThe case for Flash, No. 5: Flash is write once, play everywhereThe case for Flash, No. 6: The Flash commercial ecosystemThe case for Flash, No. 7: Flash's game engines

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. (See Adobe's Text Layout Framework.)

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 articles

Apple vs. Flash: The InfoWorld peace planWars like the conflict between Apple and Adobe over Flash seldom yield a productive outcome. InfoWorld proposes a way forwardStop bashing FlashWhen Steve Jobs and Microsoft's point man for IE agree, you have a right to be skepticalLights out for Flash and its RIA brethrenApple's ban on Flash for the iPhone is another nail in the coffin for proprietary RIA platforms -- and good riddance HTML5: Could it kill Flash and Silverlight?The budding Web spec just might remove the need for proprietary rich Internet app add-insHTML5: Can the center hold?As work progresses on the next-generation markup language, ongoing disagreements call to question the ideal of a truly standards-compliant WebHTML5 progresses despite challengesThe new standard still faces video codec issues but could reach the candidate-recommendation phase by 2011Google will drop Gears for HTML5The new Web specification will include many of the offline features Google had in mind for GearsInfoWorld review: Flash Builder 4 lights up rich Internet app developmentFlash Builder 4 delivers time-saving tools that speed data delivery for Flex apps, streamlines testing and workflow for Flash and AIRFirst look: Microsoft Silverlight 3 challenges Adobe AIRRedmond's much-enhanced rich Internet application platform also runs on Windows or Mac desktops, online or offlineFirst look: Adobe Flash and Flex ignite with Flash CatalystAdobe Flex 4 SDK, Flash Builder 4, and Flash Catalyst betas close the gap between great UI design and rich Internet application developmentInfoWorld review: Eight PHP power toolsEclipse PDT, NetBeans, NuSphere PhpED, and Zend Studio lead a capable field of IDEs for Web developers

This story, "HTML5 vs. Flash: The case for Flash," was originally published at InfoWorld.com. Follow the latest news in software development, languages and standards, HTML, and Adobe Flash at InfoWorld.com.

Read more about developer world in InfoWorld's Developer World Channel.

This story, "HTML5 vs. Flash: The case for Flash" was originally published by InfoWorld.

Insider Tip: 12 easy ways to tune your Wi-Fi network
Join the discussion
Be the first to comment on this article. Our Commenting Policies