By John Gruber
Streaks: The to-do list that helps you form good habits. For iPhone, iPad and Mac.
I love this whole unfolding future-of-Flash saga because it’s a wonderful mix of politics and technology. It’s complex and multivariate, but not too complex to get a handle on the basic gist. It occurred to me this week, after both reading and writing quite a bit regarding Flash Player’s performance issues, that the whole performance angle is a distraction from the fundamental issues at hand.
I linked to this piece by Jeffrey Zeldman three weeks ago, but it’s worth a re-link. His first paragraph nails it:
Lack of Flash in the iPad (and before that, in the iPhone) is a win for accessible, standards-based design. Not because Flash is bad, but because the increasing popularity of devices that don’t support Flash is going to force recalcitrant web developers to build the semantic HTML layer first. Additional layers of Flash UX can then be optionally added in, just as, in proper, accessible, standards-based development, JavaScript UX enhancements are added only after we verify that the site works without them.
I.e. if you think people using iPhone OS devices are an important segment of your intended audience, you can no longer build a Flash-dependent web site. (And if you don’t think people using iPhone OS devices are an important segment of your intended audience, you’re probably wrong.)
Flash’s performance problems on Mac OS X and mobile devices are very much real. (As of today, note that there still is no shipping version of the full Flash Player for any major mobile platform.) And I do think these performance issues are a factor in Apple’s decision not to include it in iPhone OS. But I believe the larger issue goes beyond performance. Apple sees the web as a platform based on open standards. Flash isn’t part of that.
So at the moment, Flash’s performance issues provide Apple with a good apolitical explanation for why Flash Player isn’t included with iPhone OS. It’s a way for Apple to argue that they can’t rather than that they won’t.
Yes, I’m skeptical about how Flash Player is going to perform on Android and WebOS devices. I hope I’m wrong though. If Adobe’s able to squeeze acceptable performance out of Flash Player 10.1 on these (relatively) low-power ARM devices, then it’s very likely that Flash Player 10.1 for Mac OS X is going to be much improved as well. (In the same way the constraints imposed on iPhone OS have been great for Mac OS X — performance tweaks to components like WebKit (and especially JavaScriptCore) made to get MobileSafari running as fast as possible on low-power iPhones have resulted in fantastic performance improvements to WebKit on high-power Macs.)
Here’s what I mean about Flash Player’s performance being a distraction from the underlying story: Even if Adobe solves Flash’s performance problems, I still doubt Apple will want to include it in iPhone OS.
It boils down to control. I’ve written several times that I believe Apple controls the entire source code to iPhone OS. (No one has disputed that.) There’s no bug Apple can’t try to fix on their own. No performance problem they can’t try to tackle. No one they need to wait for. That’s just not true for Mac OS X, where a component like Flash Player is controlled by Adobe.
I know there are some people who see Apple taking a stand against Flash and worry that Apple may someday take a stand against the web itself. One thing that everyone who’s paying attention can agree on is that Apple greatly values control. That’s indisputable, regardless whether you consider it a virtue or vice. So I think the worriers see that the web is beyond anyone’s control and conclude that Apple sees it as a threat.
I say what Apple cares about controlling is the implementation. That’s why they started the WebKit project. That’s why Apple employees from the WebKit team are leaders and major contributors of the HTML5 standards drive. The bottom line for Apple, at the executive level, is selling devices. It may well be true that Steve Jobs doesn’t really give a shit about the web in and of itself. It’s just good business for Apple to control a best-of-breed web rendering engine. If Apple controls its own implementation, then no matter how popular the web gets as a platform, Apple will prosper so long as its implementation is superior. (Needless to say, Apple is quite confident in this regard.)
The weird thing about a completely open platform based on open standards is that while no single vendor, such as Apple, can control the content or the standards, it can control its implementation. (And it can influence the content and the standards.) That’s all they need.
Likewise with Google’s interest in the open web and HTML5. It’s reasonable to be cynical and believe that Google is concerned only with making money, not with the open web simply for virtue’s sake. So long as the web is open, Google’s success rests within its own control. And in the same way Apple is confident in its ability to deliver devices with best-of-breed browsing experiences, Google is confident in its ability to provide best-of-breed search results and relevant ads. In short, Google and Apple have found different ways to bet with the web, rather than against the web.
The best counter-argument is perhaps that, given Apple’s desire for control, they’re always going to prefer their wholly owned proprietary platforms — native iPhone and Mac apps — over the web, and will eventually come to see the web as a threat. I don’t think Apple sees it that way, though. There is always going to be a lowest common denominator platform. That used to be Windows. Now it’s the web. Apple doesn’t build lowest common denominator platforms. Before, when Windows was the LCD, Apple was in a hard place because they were locked out of that platform: their platform was at odds with it. Now, with the web as the LCD, Apple has it both ways: their platforms gracefully coexist with it. Apple isn’t a web company, but the web might be the best thing that ever happened to them.
From Apple’s perspective, when it comes to software platforms, theirs is best (Cocoa/Cocoa Touch), because they have complete control. Everyone’s is good (the web), because Apple has control over their own implementation and can influence the future direction of the standards. What Apple doesn’t want is someone else’s proprietary platform, where they have no control at all. That’s what Flash is.
I’ve said this before and will say it again. There’s only one path for Flash Player to make its way to iPhone OS:
#1 will happen. Regarding #2, I’m skeptical, but Adobe has smart engineers and their back is to the wall. #3, though, would require a major shift in momentum.