Apple is betting on the wrong horse
By Thom McGrath on
Since the iPhone's release and Apple's bold stance against Flash, I have sided with Apple in the belief that Flash must die and they are doing the right thing.
Apple is instead pushing for rich content powered by HTML5. HTML5 is a remarkable step forward for the web, although as usual, Internet Explorer isn't keeping pace with the rest of the industry. Most of the things developers are using Flash for can be done with HTML5 instead, but without browser plugins.
When it was new, Flash was fun and exciting. We knew it was unoptimized, but we expected that to be fixed. We said "hey, this is a great first start, it should have nowhere to go but up." And it did. It grew wildly, but not because it was good. Flash was never properly optimized, with its developers assuming more powerful computers would offset their laziness.
Playing video on the web is mess. You need to send a file to a particular browser plugin, but you don't know if the plugin exists on the user's computer. There was no sure-fire way to play video. Then Flash added support for video playback, and everybody jumped on board. It was an easy way to author video that would play on nearly any device without worrying about the details. Sure, it has the worst playback controls available, the quality generally sucks, and it eats up all a computer's resources - but it was easy for web developers.
Flash still isn't optimized. It still destroys batteries. For good reason, Apple has kept it off of their mobile devices. They've bet on HTML5, which has a new video tag allowing the browser to properly decide what to do, rather than rely on the website to declare the plugin to handle the video.
At first glance, this seems like the right move. Until you look at the HTML5 video spec.
I just read up on the spec today, and until today, I believed HTML5 was the answer. It's not. Actually, the problem is just as messy as in HTML4. There is still no standard codec developers can use to produce video for the web. That was a goal of HTML5, and it was blown. Apple, Adobe, Mozilla, and Google could not agree on a format, so we all lost. Damn committees.
Apple and Google are going with H.264 encoded video. Mozilla and Opera are going with Ogg. Chrome supports both, and is the most complete as usual. Internet Explorer says "Eff You" to the world, and doesn't support anything natively.
So developers still must encode video twice. HTML5 was suppose to make developers lives easier, and the brains behind it completely screwed the pooch on this one.
Now, Apple may still "win" though. Because since iPhone OS does not support Flash, developers must encode twice, or leave iPhone in the cold. If you've got to encode twice, you might as well encode twice for HTML5 capability and at least give users of real browsers (as in, not IE) their battery life back. For IE users, Flash can play H.264 video, so developers can just have a Flash player run the files they'll already use for Apple software.
But wait, there's more! H.264 comes with hefty licensing fees. Oh, balls. Well, back to drawing board. Flash, you may suck big ones, but you're still simpler than this HTML5 mess we've got ourselves into.