Steve Jobs has written one of his rare open letters, this time about the whole Apple versus Adobe thing.
Please assume all the following quotes are from the above link.
Just keep that in your hat for now, we'll return to it later.
This is largely true, although Flex, which compiles into Flash, has open source components, and Flex Builder is based on Eclipse. Adobe has other side projects available as open source, but in large - Flash is a black box product.
The setup is similar to Apple's. Darwin is open source. OS X is not. Jobs describes this as such:
The short version of this is: Apple is closed too, except when it comes to the web. Unless that part of the web uses plugins.
So what of plugins?
So there is an interesting slight of hand here. You can't access YouTube videos using Mobile Safari. You need to go to the YouTube app from Apple. So Job's "open" version of the web is whatever can be accessed via Mobile Safari, unless it is a plugin - and then you need to get an app from the App Store, written primarily in Cocoa (which is not open) and view it from there.
Of course, developers could also use the video tag implemented in HTML5. While that would reach the entirety of iPhone users - it would only reach a small minority of Internet users in general. Apple could solve that dichotomy for developers by allowing Flash, but they won't.
Interesting how Jobs has gone from saying "we're open, and they aren't" to "if you can't use their closed system, you should use our closed system."
How was this not about business again?
Besides, it misses the point entirely. The Flash developer community is huge, second only probably to the more generic "web developer" title - which pretty much describes anyone with anything more powerful 1998 Thinkpad and an HTML reference guide. The Flash game developer community is likewise huge. It's also important - Flash is an entry ground technology. Alien Hominid, a popular console game which began life as a Flash game. Tower Defense didn't really exist as a genre until Flash TD.
Cocoa ... and don't me wrong, I rather like Cocoa as a language, but Cocoa is none of those things.
From everything I can ascertain, this is true. Daring Fireball summed up the stability question quite well. However, as Gruber also points out, Flash is one of the most widely used and processor intensive functions for OS X. So, this statistic probably should be no big surprise. If everyone out there used Eclipse instead of surfing YouTube, it would probably be a different story.
Will HTML5 based video be more stable than Flash? Who knows. Possibly. Possibly not. Again, the usage of the new media tags is so small and the implementations of them so new, the jury hasn't even convened yet. Personally, I can crash a browser pretty easy double buffering two audio tags (don't ask) with enough time. And I can do that in WebKit.
Well, that isn't entirely true. There are Flash games which got compiled into iPhone apps with beta versions of CS5. Adobe has a list of them. And they perform just fine. But if Flash isn't performant - isn't that Adobe's problem? Along with the stability question - Apple leaves the ultimate responsibility of these things, whether built with Cocoa or WebKit, on the developer. If my web page or app crashes, that's not Apple's fault - that's mine. So why does Apple take the stern parent approach with Flash?
Again - how is this not about business again? What Jobs is saying isn't false or wrong, not entirely or mostly at least ... it's just a massive distraction from the real topic at hand. Developers could create apps with Flex or Flash that don't crash, that look good and that perform well.
So why should Apple stop them from doing so? Remember - even if Apple didn't allow plugins to operate within Mobile Safari because of performance, stability, security or whatever - Adobe's compromise was to have Flash be reviewed and deployed just like every other app on the App Store.
Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.
So, dear reader, you see - Apple is protecting you. It isn't that Apple is blocking a massive community of developers from offering their applications from the App Store ... it's that Apple is keeping those substandard apps which might not take full effect of Apple's innovation. You didn't buy that fancy iPhone to get the same Flash app that can be played on a Google smartphone, after all.
No. Apparently, you bought it for the fart apps, which at one point were making $10,000 a day off the App Store. Or perhaps you want an app about smoking in a group.
And if you want an app about shaking a baby to death or political satire ... you may or may not be out of luck - Apple approves and then later rejects those kinds of apps. Or the other way around. It's hard to keep track.
So just remember:
Remember that when you are using your iPhone in its sealed case, connected to your computer with a proprietary cable, which connects to the closed source iTunes which downloads DRM controlled content written in a closed source language to be run on your closed source operating system, provided that content passes review by a process so secret that most people at Apple can't even describe how it actually works.
God damn you, Steve Jobs - now you have me sounding like Cory Doctorow. For that alone, I should buy a Nexus One. I was willing to put up with all of the above and even the obnoxiously chaotic App Store review process when I thought Apple could at least embrace a development community which wasn't controlled by Apple. I even like HTML5 quite a bit, but I don't believe Apple should be in the business of telling me I have to use it over Flex simply because Flex is built by a different company.
That's not a technology strategy.
That's a business one.
Plain and simple.