I feel like I should come to Flash’s defense, partially because I gave it one between the ribs last night, and partially because, in the words of Sherlock Holmes, “to see justice done is every man’s business.” Now here we have Steve Jobs saying in a WSJ interview that using Flash for video would reduce battery life from 10 hours to 1 hour, and suggests H.264 as an alternative. Let’s just take a moment to evaluate these plainly inflammatory statements.
First, we may as well be clear about this part: Flash isn’t the best on OS X, and probably would end up occupying a good portion of the CPU, resulting in lower battery life. Whether it’d knock eight or nine hours off this theoretical ten-hour battery is, of course, the most tenuous of speculation.
And why, we might reasonably ask, is Flash such a dog on OS X? Well, decoding 720p YouTube video can be either GPU-intensive or CPU-intensive. On Windows, Flash has tunnels to your video card to let its hugely parallel processors burst-decode a ton of information at a time. It can’t do that on OS X, from what I understand — mainly because Apple doesn’t want them to.
(To put the above into context, 720p video files in MPlayerOSX take up a little more than 30% of my CPU.)
Here’s the thing: Apple doesn’t like Flash. I don’t particularly care for it, but it’s one of the foundational technologies of the web and can’t be dismissed as trivially replaceable, as Jobs would have us believe. But Apple doesn’t like it. That’s the key. They’ve got a grudge against Flash and Adobe and they’re going to pursue that to the bitter end. They could call up Adobe and say “Hey guys, Flash is blowing it in our OS, why don’t we get a few guys together and work it out?” But they won’t. They’d rather they had an excuse for railing at it and excluding it from the table. Flash is getting punched in the breadbasket here for no reason other than that Apple doesn’t want to play nice.
Jobs suggests H.264 as an alternative. Okay… H.264 is a video codec, not a wrapper like Adobe’s FLV. There are plenty of H.264 FLVs. If what he meant was we should have direct access (i.e. HTML5 or otherwise) to H.264 files on the web and elsewhere, then okay, that’s good, but it’s not really achievable right now since Flash is the acknowledged standard for web video. Every web video site uses it, though some are working on moving to HTML5. Maybe a few years down the line you could suggest replacing FLV with raw unwrapped files, but that time is not here yet.
Lastly, while we’re on the topic, H.264 is just as closed, proprietary, and potentially inefficient as Flash. It’s owned, operated, and developed privately, but clearly Apple can only throw its weight behind one of them. It’s not good for users, but really, that’s not always Apple’s first priority.
Update: Really, guys. The flamewar is getting a bit out of hand, isn’t it? This is all there is to it. It seems pretty clear that Apple could try harder to accommodate Flash, but they’re not going to, and yes, it’s a sound business decision. But that doesn’t mean that users aren’t going to lose out. And stop talking about the iPad as if it’s an iPhone. Different device, different form factor, completely different set of uses. Flash on iPhone is different from Flash on an iPad.
I don’t want it on my phone because browsing the internet on a phone, even an iPhone, is still terrible. I would want it on an iPad because a huge selling point for the iPad is rich internet apps and media, many of which rely on Flash and will continue to do so for the foreseeable future. You don’t have to be on one side or the other. It’d be nice to have Flash on the iPad, but Apple’s not going to give it to you, and I think that’s bad for end users. Okay, continue.