A lot of people are making a lot of noise about how Flash isn’t as good as HTML5, about how much slower Flash is than the new browser spec, how everything will be better once we shake ourselves free of the shackles of tyranny of Adobe’s Flash and run into the safe harbor of HTML5.
When people make noise like this, it tells me that they don’t know what they’re talking about. Sorry, cool kids: if you hold these views then you lack the technical knowledge to put your opinion in the public sphere.
The people who say that video in HTML5 is better than Flash because you won’t be using a plugin seem to ignore the fact that the video has to be decoded at some point, and if it’s not in a plugin it’s still in the browser. It still happens, and the CPU still gets hit. Or do yo think that the video just appears magically with no burden at all? No, come on, that’s stupid.
The people who often spout about the benefits of HTML5 over Flash often seem to ignore anything but video, and when they do so they ignore the fact that a lack of a standard codec represents a serious problem, one which Adobe’s Flash was already the solution to. As for the “anything but video,” these spouters, these cool kids, these hipster tools with zero technical knowledge, they ignore a massive use of Flash — non-video. Games. Banners. Whole websites. Interactive tools.
Yes, Captain Cool, I know you’ll try to tell me that some really advanced tech demos are already out there which show Flash-level interactivity, which puts the lie to the idea that there are just certain things that Flash can do that HTML5 can’t. Well, no it doesn’t. Yes, a lot of stuff can be done with HTML5, but at present there are a bunch of media streaming things which are used a lot which aren’t in HTML5. Also, there’s no big IDE for it.
The IDE matters, coolio.
Yes, a lot of developers code by hand. But so what? Most of the people who are going to make games in HTML5 instead of in Flash are currently using the Flash IDE. Why in the name of all that’s trendy would any of these people give up a development environment they know and love, or are at least used to, in favor of doing all that coding by hand, for a significantly smaller audience? Exactly.
HTML5 becomes a viable replacement for Flash when:
- There’s feature parity.
- When there are nice developer tools.
Neither of these conditions are met, and so HTML5 ain’t a contender. Sorry, trendsetters.
And, oh, while we’re on the subject, about all that talk of HTML5 being technically superior? Turns out it isn’t so. Or at least it isn’t so across the board, and when it is, it’s marginal. A video encoding expert named Jan Ozer did some tests on video playback in HTML5 versus Flash, focusing on CPU utilization (one of the sticking points in the Flash/HTML5 “battle”), and found the following, as repeated by ReadWriteWeb:
- With Safari, HTML5 was the most efficient and consumed less CPU than Flash using only 12.39% CPU. With Flash 10.0, CPU utilization was at 37.41% and with Flash 10.1, it dropped to 32.07%
- With Google Chrome, Flash and HTML5 were both equally inefficient (both are around 50%)
- With Firefox, Flash was only slightly less efficient than in Safari, but better than in Chrome
- Safari wouldn’t play HTML5 videos, so there was no way to test that. However, Flash 10.0 used 23.22% CPU but Flash 10.1 only used 7.43% CPU
- Google Chrome was more efficient on Windows than Mac. Playback with Flash Player 10.0 was about 24% more efficient than HTML5, while Flash Player 10.1 was 58% more efficient than HTML5.
- On Firefox, Flash 10.1 dropped CPU utilization to 6% from 22% in Flash 10.0
- In IE8, Flash 10.0 used 22.41% CPU and Flash 10.1 used 14.62% CPU
Not exactly the cut-and-dry results most people would be expecting.
In any case, the day may come when HTML5 is as good as Flash, but that won’t happen when the spec is ratified: that’ll happen when more features are added to HTML5, and they become better and better implemented. And when a shiny new set of development tools are created to take advantage of it. But right now, and for the years coming up, Flash already has those features, runs as well or better in most cases than HTML5, is already usable on nearly every online computer, and already takes advantage of a host of development tools which have had time to mature.
Sorry, children, your HTML messiah is a bust-out.