Flash vs HTML 5



  • Some people are in a hurry to replace Flash with HTML 5 video. While I'm no big fan of Flash, I came across this comment on Flash vs HTML 5 that raises some issues I hadn't previous considered. I thought they were interesting (assuming they are correct):

    @Flash vs HTML 5 said:

    Flash is easily blocked, HTML 5 is not.

    Flash can be allowed on a per-instance basis, HTML 5 will be hard or impossible to run on a per-instance basis.

    Flash is rarely used to construct entire sites, HTML 5 is aimed at being used for entire sites.

    Flash segregates a lot of multimedia away from other content, this is a very good thing.  HTML 5 does the opposite.

    Do you want Flash vulnerabilities or HTML 5 vulnerabilities? You can pick one or both, but you can't pick none.



  • I've yet to see a HTML5 game that has a volume control. JUST PUTTING THAT ONE OUT THERE!



  • I'm not an expert on Flash and I agree that HTML5 has many flaws, but I think if you compare it with Flash, it actually looks rather good.

    @Flash vs HTML 5 said:

    Flash is easily blocked, HTML 5 is not.


    Depends what exactly you mean with "blocking HTML5" - or, put another way, why you're blocking Flash in the first place. If you want to get rid of interactive content, you can still block JavaScript as you always could. (The degree on which you can selectively block certain JS functions varies between browsers AFAIK, but almost all relevant browsers support per-site-blocks and muting audio tracks)

    If you want to get rid of ads (which was a lucky but pretty coincidental side-effect of blocking Flash) get a decent ad-blocker.

    @Flash vs HTML 5 said:

    Flash can be allowed on a per-instance basis, HTML 5 will be hard or impossible to run on a per-instance basis.


    If by "instance" you mean "page", see above. If you want to block specific elements, you'll probably get a roughly equal effect by filtering <audio>, <video> and <canvas> elements.
    @Flash vs HTML 5 said:

    Flash segregates a lot of multimedia away from other content, this is a very good thing.  HTML 5 does the opposite.

    I do agree on that - apparently, the WHATWG not just decided that "separation of content and presentation" is a thing of the past, they seem to have declared it an antipattern. Then again, if you're a developer, you can still keep the segregation in your toolchain; If you're a search engine or othwerwise want to work with other people's pages, a HTML/JS app is probably not that much harder to disassemble than a compiled SWF file.
    @Flash vs HTML 5 said:

    Do you want Flash vulnerabilities or HTML 5 vulnerabilities? You can pick one or both, but you can't pick none.

    Well, duh. So you'd have to with any other technology that runs code of unknown origin and intent on your computer whenever you open a web page. Blame the crazy way the web has developed for this apparently being a requirement today. With JS/HTML, you at least have multiple competing implementors that you can switch between when there is an unfixd vulnerability. With Flash you pretty much only have Adobe. (And now Google apparently)



    Where I see a big advantage for flash though is authorability. From what I know, the Flash IDE for a large part lets you design animations with much the same tools you'd use for graphics or movie editing. In contrast, it's hard enough to design non-WTF static HTML using an authoring tool - don't even think about doing a moderately complex animation with canvas if you have never programmed before. And as the skill to design appealing user interfaces is usually not related to experience in programming (proof: Ubuntu Unitiy), this might create the wrong kind of entry barrier.

    @blakeyrat said:
    I've yet to see a HTML5 game that has a volume control. JUST PUTTING THAT ONE OUT THERE!
    At least the API is apparently there. No idea how far/if it's implemented though.



  • HTML5 is perfectly easily blocked, much like any other HTML element is easily blocked. I usually abuse my AdBlocker to achieve this, but I have complete control of what my browser renders and how.

    Related, I can control which HTML5 elements render, meaning I have far more fine grained control over HTML5 than I do over Flash (does Flash give me the power to block one button but not the rest of the Flash blob? No). It's far more fine-grained than simply using a flash blocking plugin or browser settings to prohibit that.

    As for "whole sites", since HTML5 is a super-set of the HTML4 standard... um... I'd hope people were constructing their entire site using it. Are people going to abuse it and throw animations into every inch of the screen until you vomit from the horror? Of course they will. That's not unique to HTML5, though. That goes all they way back to the introduction of the img tag.

    I'm not really sure what you mean by segregation of multimedia content. Multimedia content, in HTML5, is a resource loaded by the page. I'm not sure how this is the "opposite" of segregation.

    While HTML5 does create a whole new class of vulnerabilities that other HTML specs lack, the surface area of HTML5 is still markedly smaller than Flash. And more important- browser vendors have control over those vulnerabilities, at least until they hand off multimedia to codecs outside of their control. They don't have to rely on Adobe to provide fixes and patches. You also don't have to worry about the interface between the browser and the plugin. That's the sort of linkage that's ripe for exploitation as you're crossing that memory boundary.



  • If you do need a video on your webpage, using HTML5 would be better (you can still block them and everything like that), but first think if a plain text (or still picture) would be better, in which case you do not need a video at all.




  • Some users – especially those on Mac OS X and Linux – have complained about the relatively high CPU Usage of Flash for video playback.This was partially because the Flash plugin did not use the GPU to render video. Adobe has responded to some of those criticisms in the 10.1 and 10.2 releases of the Flash plugin by offloading H.264 video decoding to dedicated hardware and by introducing a new video API called Stage Video. In addition, the use of the newer ActionScript 3.0 inside Flash movies instead of the older ActionScript 2.0 improves code execution speed by a factor of around 10. But older websites that use ActionScript 2.0 will not benefit from this The software routines written by developers can also affect the performance of applications built in Flash, reasons that would affect HTML5 animations as well.

    An HTML vs Flash comparison in 2010, listed non-Flash technologies as being slower than Flash when used for non-video animations,but in January 2012 some of them were faster.


Log in to reply