Powered by dead dinosaurs

Why HTML5 is not going to kill Flash anytime soon.

html5_vs_flashEver since Steve Jobs announced that Flash will NEVER be allowed on the iPhone or iPad, there has been a lot of talk about HTML5 – how it is going to kill Flash once and for all. Let’s just ignore the fact that Apple, Adobe, Microsoft, and Google all have a large financial stake in the outcome of this argument. What about the technical feasibility of replacing Flash with HTML5? Well, HTML5 has some pretty cool features, but it is not going to kill Flash anytime soon. Here’s why:

Reason #1: The browser support isn’t there yet.
There is a lot of talk about how “all the modern browsers already support HTML5.” Well, that may be true, if you ignore Internet Explorer in your list of modern browsers. Somewhere between 30% and 50% of people on the web use Internet Explorer. At least 8% of people are still using IE6, which is a decade old and doesn’t even fully support HTML4! And what about all of the people using outdated versions of Firefox? The modern browsers may already support HTML5, but modern browser market penetration is probably somewhere around 50% and it will be years before it reaches a level necessary for most people to adopt it as the standard. As a developer, I can tell you that most developers will be stuck programming in HTML4 for the next 5 years or more, because it’s hard to explain to clients why their mother can’t look at their fancy new website. Flash has a 98% market penetration. HTML5 won’t be able to compete with that for a long time.

Reason #2: There is still no video standard for HTML5.
This is a related issue to Reason #1. There are currently at least 3 video standards competing for dominance in HTML5. Most  browsers support only one of the 3 formats. It’s a bit like the recent Blu-ray vs. HD DVD war. Eventually, one will be the winner, but in the meantime, no standard means hassles for developers. It is simply easier for developers (and clients) to build things to a standard that most people can view, so most of them will probably stick with Flash video for now (remember the 98% market penetration from reason #1).

Reason#3: No DRM on HTML5 video.
HTML can deliver video directly through your browser with no plug-in. That’s great. The other great thing about HTML5 video is that you can right-click the video and save it to your desktop. Well, it’s great for consumers, but the idea of putting video on the web with no DRM (Digital Rights Management) makes studio execs panic. There is NO WAY that movie and TV studios are going to put all of their content out there to be downloaded and stored on your hard drive. Many large video sites like hulu.com have already said that they will not be switching over to HTML5 until the DRM issue is resolved.

Reason #4: Developers can’t protect their intellectual property.
As a developer, I can tell you that programming games and rich web applications isn’t easy. It takes hundreds of hours to program a cool Flash game. Even if I could do it in HTML5 and Javascript, I’m not going to to do it. The reason is simple: HTML5 code is visible to anyone who visits my web page. If I’ve spent all that time creating a cool game, I don’t want to expose all of my code to everyone in the world. If I did that, there would be crappy clones of my game popping up all over the web within a week or two. Flash allows me to protect my intellectual property in a way that HTML5 doesn’t.

Reason #5: Coding for multiple browsers is easier in Flash.
Not only does Flash protect my code from prying eyes, it provides me with a single set of rules to follow for coding across multiple platforms (Windows, Mac) and multiple browsers (IE, Firefox, Safari, Chrome, etc). To create something cool in HTML5, I would need to use Javascript. The simple fact is: Javascript sucks. It behaves differently in different browsers and you spend more time tracking down weird, browser-specific bugs than you do actually creating awesome web apps. Flash just makes development easier (and ultimately cheaper for clients).

Reason #5: HTML5 simply can’t compete with Flash in providing a rich media experience.
HTML5 has some animation capabilities built in to it, but Flash is way ahead of it in this regard. Flash provides a Graphical interface that a designer can use to create incredible animations and graphics. HTML5 requires a programmer to create cool animations. Flash is more powerful and easier for people to work with. I’m not saying that HTML5 and Javascript won’t catch up to Flash, but it won’t happen for a long time.

Reason #6: HTML5 is slower than Flash.
Ever since Apple’s announcement, people have assumed that what Steve Jobs said was true – Flash is too slow for the iPhone. Well, a number of clever people have actually run speed comparisons between Flash and HTML and have found that HTML5 is generally SLOWER and MORE RESOURCE INTENSIVE than Flash. Ouch. That doesn’t sound like progress to me.

Reason #7: Nobody really cares.
Frankly, most people don’t care how they get their content, as long as they get it. Despite what Steve Jobs thinks, no one  really cares what technology is used to allow them to watch videos on YouTube. Even the Apple fankids who are applauding the decision not to put Flash on the iPhone probably don’t really care – most of them had never heard of HTML5 before this announcement and most of them still don’t really know what Jobs is talking about . It’s all about delivering the content. If Apple can’t give people the content they want, then people will use a different technology.

Obviously, I make my living as a Flash developer, so you may be inclined to think that I’m biased towards Flash. That may be true, but I am really just a developer – I will use whatever tools are best for the job. Right now, Flash is the best tool for creating a rich web experience . It has the best combination of capabilities and market penetration. HTML5 simply can’t compete with it right now.

Need more info? Here are some links I’ve found that are great resources for HTML5 development:

A video discussing the HTML5 vs Flash debate from a developer’s perspective

A good explanation of HTML5 video and how to properly implement it for best cross-browser support

Latest news and articles about HTML5 video

Previous

How to fix Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource

Next

Flash AS3: How to get useful error statements from Flash

7 Comments

  1. i have read your article Really Nice one.because Now a days not only big companies like Adobe, Microsoft are doing
    HTML5 development in India at their development center. But now many other small to medium scale companies have started Mobile Web Development, ipad html5 development and started entering into iPad Web Development. It is considered that, increase in business will be around 100% in iphone app development.

  2. Toby Pinder

    As someone who would like to see flash dead, I completely agree: this isn’t as biased aqs 99.999% of the fanboyism from both sides. It will be great when flash can be displaced by js, and I do think it may happen at some point, but we are not quite there yet and we can’t pretend that the “revolution” is going to happen. Sure, banner ads and animations can be JSified, but anything more complex becomes a cross compatibility nightmare: we won’t see many good kongregate html5 games soon, unless it’s to prove a point.

  3. Your article had some good points. Though I think you are missing a big picture point here. Your final point aluded to it but you missed the main thing about it. You mentioned that no one really cares as long as they get the info they are looking for. This is so true. The point is, if your one of the millions of people using an ios device and most mobile phones for that matter and there is flash on a website you are wanting to see, well, you won’t get to see it. That is a huge drawback for flash.

    I am a flash developer and have made a lot with my services for clients, however, on an ethical level I’m finding it hard to tell my clients they should put flash on their website for those very reasons. It is hard to justify having flash banners or header animations or even menus. Not to mention search engines hate flash but a lot of mobile phones including all ios devices do as well.

    This has lead me to the conclusion that the end of flash is near. I’ve started branching into ios development and I recommend you do the same. Flash was good for a time but it’s hard to see how it couldn’t die off or evolve into something different. Flash will still carry on in certain areas where SEO or mobile isn’t an important thing. But I find myself recommending to my clients more and more not to use flash even though I’m a flash developer.

    The worst thing a developer could do is develop a website for a client only to have the client ask them once they paid you for the site is, why doesn’t my website work on my iphone, or why doesn’t my website show up in the search engines. Ethically you would be hurting the development industry doing such things. We need to educate the client on the pro’s and con’s to what their needs are and make a recommendation not based on what we want to build them but on what would be best for them to have. I basically decide, if I was the client, what type of site would I want? What things would I want on my site? Do I wan’t people finding me on Google? Do I want my site to work on the ipad or iphone? I generally find myself saying, I need an html website without using flash in a main way. That makes it hard to recommend flash.

    I hope all this makes sense.

  4. admin

    @Kinoli
    I agree with all of your points. I would never recommend a full flash site to a client who was concerned with SEO. On the flip side, I cannot recommend an HTML5-based site to a client when less than 50% of commonly used browsers currently support HTML5 features.

    What it comes down to is simple: you need to evaluate your client’s needs and build the site that meets those needs. If your client wants an immersive, multimedia experience and SEO is not an issue, there is not better tool than Flash. Removing Flash from your toolkit because of iOS is foolish. despite the hype, iOS is still a very small percentage of web browsing (under 1%) and many Android phones play Flash quite well.

    The point of this article was not to say that Flash is always the best tool (it isn’t). It was merely to point out the multiple false statements floated by Jobs and Company.

  5. YopSolo

    great post.
    Thx for the links 🙂

  6. LSH

    Yeah, go to Code Project and view the HTML5 games. Even using a framework the code is massive compared to the SWF file. Try loading that onto your mobile device…

Powered by WordPress & Theme by Anders Norén