From my experience, Flash has been a bigger problem than a benefit in web development. That conclusion is affected greatly by my perspective of someone highly interested in performance. It is now published for the world to see that Steve Jobs agrees with me.
Steve and I haven’t always agreed. When we go out for dinner, he almost always has to choose the restaurant because he doesn’t share my penchant for gravy, country ham, and fried veggies. Still, I appreciate that he has taken the time to write a blog post explaining why he has accepted my position on Flash. This is one more example of how Apple adopts my tech advice, although it has nothing to do with Windows 7 being my idea.
I think this day is a victory for open standards (HTML 5, CSS 3, and so on)! In token of my appreciation to Steve for standing up to the evil proprietary terrorists, I share his thoughts with you here:
Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.
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.