I’m a little all over the place at the moment, and the aforementioned Kentucky series will resume later this weekend. For now though, enjoy a techie tangent.
Whether you know it or not, there is a long-standing feud between Apple and Adobe, which is why we can’t get Flash videos (think Hulu) to work on our fancy-schmancy iThings. Apple is pushing for an HTML5 standard, which accomplishes some of same things as Flash, in a different way.
Just this week, Steve Jobs posted an open letter summarizing his thoughts on why Apple doesn’t support Adobe. His conclusion:
Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.
I asked my friend Alex — who is far more up-to-date in the technology world than I am — for his perspective. He codes websites, creates videos and, yes, even works in flash. He replied with an insightful response, which I’m reposting in full, with his permission.
As consumers, we’re not going to really notice anything different, so it’s interesting to see why this battle is worth fighting for those who make the Internet work.
(I’ve bolded some essential points if you are in a skimming mood.)
Apple’s argument is that Adobe’s software is proprietary, but they want to favor open standards. But if you jump down to the “Reliability, security, and performance” section, Jobs essentially responds to his own complaint. The reason Flash has been so successful is that it gave web developers (and now software developers) a reliable, consistent environment that worked identically in IE, Firefox, and Safari. There was a long time when most web applications, especially enterprise-level ones or ones that required multimedia, were all built to work in IE on Windows, and didn’t work anywhere else. Then Flash came along and offered a cross-platform alternative, and now a lot of those applications work everywhere, regardless of browser or OS. By locking down the system, Adobe didn’t have to worry that one browser would implement their system incorrectly. Compare that to HTML 5, which is all over the place, even though it’s an “open standard.” Just because a committee has decided how it should work, doesn’t mean that it actually does work. Firefox supports different video specs than Safari, IE doesn’t support much of it correctly at all, even the Safari on the iPhone/iPad doesn’t support things the same way that Safari on the desktop does. So as a web developer, you have to go in and build in all of these little checks to figure out which specific version of HTML 5 is running, and then decide what to do about it. Or you have to build a different version for each platform. But then in three months, everything’s changed, so you have to go back and tweak it all again. With Flash, you build it once, it runs everywhere exactly the same (except on Apple products, of course).2. “Full Web”
Yes, it’s true that most of the big media companies are starting to publish their video in a format that’s iPhone-compatible. It also happens to be Flash compatible, and most of it is still being delivered through Flash on the web. But what if you want to do something beyond publishing a single, self-contained video? What if you wanted interactive ads to play on top of it? What if you wanted it seamlessly embedded in your site? What if you wanted synchronized content? What if you wanted it streaming? What if you wanted it live? What if you wanted to encrypt it? Adobe’s been working on these problems for years, and Apple’s just starting to figure it out. Their solution isn’t to offer an “open” way to do it, though. The only solution they can provide is to do these things inside of closed apps that have to be approved by Apple, not just for technical quality, but for content.Meanwhile, there are a million cool things that Flash can do beyond video that HTML 5 can’t touch. They might be a little techie, but they are the reason it’s such a common platform. Everything from complex animation to heavy data processing to cross-domain data transfer. 3. “Reliability, security, and performance”
Apple should be eternally grateful to Adobe for even trying to get Flash to work on their OS. I hate to break it to Apple, but there’s a lot of other software that just doesn’t work on their system, as great as they may think it is. As for performance, I’ve seen both live demos and videos online of Flash working wonders on jailbroken iPhones, so I don’t know what they’re talking about. Meanwhile, Adobe is planning to have Flash 10.1 working on every other major mobile platform by the end of the year, and I’ve seen stunning demos of that too.4. “Battery life”
If Adobe were granted access to use the internal video decoder, it would use it. That’s how it works on the desktop, that’s how it’s going to work on other mobile platforms.5. “Touch”
Some older Flash applications use rollovers. So do some older HTML applications. It turns out its about 100x easier to just fix or modify that one little aspect of the application than it is to entirely rebuild it in a new language without nearly as many resources available. Oh, and Flash 10.1 has full support for touch gestures. Frankly, this is nitpicky.6. “Third party layer”
This is the one that’s caused the biggest uproar recently, because it really threw off Adobe’s CS5 launch. The problem with this argument is that Apple is trying to have its cake and eat it too. On the one hand, they’re saying that if there was a product available that allowed developers to create cool apps that worked identically across mobile platforms, developers would flock to it. On the other hand, they’re saying that a cross-platform tool would potentially prevent developers from accessing cool features of the iPhone OS, so the apps wouldn’t be that cool. Well, the problem here is that Apple is trying to control what should be a free market equilibrium. The fact is that, given a choice, developers would split somewhere between using Apple’s own development tools and using cross-platform tools. Developers who needed a native OS feature to make their app rock would stick to Apple’s tool. Developers who wanted to save time on an app that didn’t require anything fancy might lean towards Flash. Ultimately, Apple would still get to decide whether the app was qualitatively good enough to appear in their store, so who cares how it was written? And this brings us back again to why Apple won’t allow Flash in the browser – it would mean that developers could build awesome apps that ran everywhere, on every platform, and Apple wouldn’t get to skim 30% off the top each time.What it ultimately boils down to is that Apple doesn’t want anyone, consumers or developers, making free choices about their technology, and it’s because they’re terrified of the choices people would make. Imagine, for example, that iPhone/iPad users could choose (as they do with their PCs) to go out, download, and install Flash at will. How many iPhone users do you think would balk at that choice? Would you?