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.
Flash pros and consAs 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!
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 HTML5Flash 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.
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.