Flash is "wonderful at" anything to do with animation, with lots of interactivity, with gaming, with going full-screen -- video playback, for instance -- says Joseph Crawford, a Web developer and Flash expert at Slackers Radio in San Diego. "HTML5 is still catching up with Flash in terms of compatibility -- but still, you don't often have a choice to go either/or," he explains.
If a developer chooses HTML5 only, "you often end up needing Flash" to help play multimedia for Firefox, for instance, Crawford says. "And if you go Flash only, you end up needing to provide a non-Flash option" for iPads and iPhones, or for the increasing number of people who have browsers with Flash blockers. "In some ways, this is the worst of all possible worlds," Crawford says, "but it's where we are right now."
If developers are asked to de-Flash a website, their response may depend on how long they've been working with the application, and how strategic a role development plays.
"I don't think of what I do as "de-Flashing" a website," explains Dale Cruse, senior user interface designer at Digital Results Group, in Boston. "Flash and HTML5 are not direct replacements for each other. It's not like taking off glasses and putting in contact lenses. Instead, Flash and HTML5 are two different things."
That said, if a client hires him to get rid of Flash and go with HTML5 -- which has happened -- "what I do is take the opportunity to sell the client on a complete redesign of their website," Cruse explains. "If you exploit what HTML5 is good at, you'll probably have a positive outcome. But if a client views HTML5 as a direct replacement for Flash, they're probably setting themselves (and their developer) up to fail."
What about HTML5?
So just what is wrong with using HTML5 as a replacement to Flash? A few things, says Forrester's Hammond. The main issues he sees with HTML5 video right now include:
- Limited support for digital rights management; it's coming, but right now it makes it difficult for companies like Netflix to protect media.
- Limited support for variable streaming rates -- if your connection weakens (goes from five bars to three, for instance), the server has problems adjusting to the bit rate you are getting, so you end up with frozen video downloads.
- Inconsistent codec support. Chrome supports VP8, and IE9 and Safari support H.264, which means developers have to encode for multiple formats.
Donovan Adams, a senior interactive developer who has worked at Syfy/NBCUniversal and Macys.com, agrees. "The biggest and most obvious thing is compatibility on iOS devices. HTML5 works on iOS and Flash doesn't," Adams notes. But HTML5 doesn't work across the same number of browsers as does Flash, he says.
Another issue Adams points to is that the Flash plugin -- one of the three major components of Flash -- "is just now getting much-needed performance enhancements," Adams continues. "I still believe that as people push the HTML5 envelope, similar issues will come up with performance regardless of Flash or no Flash."
Adams says he's been developing with Flash for close to 10 years. "It's changed considerably over the course of the years, and has been an important part of the Web experience." Adams says he see Flash as a tool for creative exploration, whereas HTML has traditionally been a tool for data and content delivery.