Flash Will Live, HTML5 Will Take Over On-line Video

Tue, May 11, 2010

TL;DR version: Flash will live in games and graphics intensive applications, not in videos. HTML5 will be used for video.

I've been pretty calm for the past few days/weeks. The sun has started to shine outside, I've had the chance to go bouldering outside the last days so I've managed to stay silent through the whole twitter force-follow mess, Steve's flash rant etc. But no more.

I got into a conversation with my coworker, Ari, about the future of Flash in the HTML5 world. The general opinion out there that the media has led us to believe is generally that Flash is dead, forgotten and HTML5's canvas + javascript will replace it completely in the nearest future.

You wish.

Flash pros and cons

As a web developer you grow up literally hating Flash. Sort of in a similar way in which you hate IE6. It has a lot of problems, which I've covered before, it's a closed, proprietary system - but, it also has it's merits!

Flash is blazing fast doing animations, working with vector graphics, etc. Even with the latest advances of Google Chrome's V8 engine, Flash is still so much faster than canvas+javascript.

So when you are creating games or other fast paced animations that cannot allow any hick ups, Flash will be the best choice for most.

On-line videos using Flash vs HTML5

Flash has proven itself almost the standard for on-line video now for the last years. Now, you have to remember how it was back in the days before Flash video. You'd have the biggest problems playing a single video on a website, you would have to have the right codecs, it didn't work on most computers, etc. Flash basically fixed all that so we should all be thankful.

However, it's very counter intuitive to use Flash for videos in many ways. The semantics of the video object disappear behind the black box of what ever is happening behind the flash object. Also, your keyboard focus disappears from the browser, which is a horrible UX nightmare for those who use their keyboard for navigation.

HTML5 has introduced dedicated video tags and specifies an encoding standard for the videos. Even though I haven't tried it much myself, it is very exciting and finally we can stop using Flash for video content.

The future of Flash vs HTML5

I believe HTML5 will replace Flash for on-line video completely. However, the difference in speed between canvas+javascript and Flash is so tremendous that I think 95% of games and all graphics intensive applications will continue to be created for Flash.

I don't really know what Steve's going to do about that. But it's obvious that he just wants people to buy games in his Appstore and that he doesn't want people to play Flash games for free on-line.

Edit: Adobe just published this document which got submitted to HN today, underlining exactly what I said in this post, but in a bit more detailed way.