Updated December 7th, 2015.
You may have heard that Apple’s iPhone, iPad, and iPod Touch do not run Flash. Flash is Adobe’s plug-in software, used by web designers for animations and video. Apple doesn’t like Flash because it’s buggy and slow, and– I suspect– because it leads to sloppy, cheesy websites with gratuitous rollover action.
Adobe gives away the Flash plug-in– you probably have it. They sell the tools that developers use to MAKE Flash (you watch Flash stuff for free, but the people who make things with Flash pay to make it). This is a nice business for Adobe, with no real competition. They’d like to keep that going.
Adobe also makes tools that help people make applications for cellular phones– including, but not restricted to, iPhones. Using Adobe’s tools, which they sell, a programmer could write ONE program and have it work on an iPhone, a Blackberry, a Google Droid, etc. That’s not possible with any other tool today. You can imagine how appealing this is to a programmer– write your app once, and sell it to everyone with a smart phone, whether that device is an iPhone or not.
The trouble with Adobe’s write once, works everywhere approach is that all smart phones are not created equal. A programmer then has to develop for the least common denominator— that is, the set of features common to all smart phones. (Example: iPhones have accelerometers built in, so when you rotate the screen your email and your web page etc. can rotate automatically. Other smart phones don’t have accelerometers. A programmer writing an app for a wide audience would not include features reliant on accelerometers because those features would only work on the iPhone.) The result is a watered-down, dumbed-down, why-did-I-spend-all-this-money-for-an-iPhone-if-the-apps-don’t-take-advantage-of-its-features experience. It was the same way with Java– you might remember. I remember, and Apple remembers, and Apple’s not going to let it happen again.
Apple’s recently changed its agreement with iPhone app developers to say, in effect, “use Apple software to create your apps. Otherwise, they won’t be approved for sale in the App Store.” Pretty compelling argument to the developer! Apple wants to ensure that applications take full advantage of the features they’ve built into the iPhone, the iPad, and the iPhone OS, and eliminating a middle-man (Adobe) that may not be motivated to do so is a good move in terms of guaranteeing a high-quality experience for users of Apple’s devices.
Adobe’s come down on Apple, officially and unofficially, saying that not supporting Flash is bad for users, nevermind bad for Adobe, and that forcing app developers to use Apple’s tools will lead to stifled creativity etc. This has gone on for a few weeks now, played out on blogs and in interviews, but now Steve Jobs has addressed the issues in a nice long letter. It’s interesting reading. Provide the coffee and I’ll talk it over with you.
Here’s the link to Steve Jobs’ letter.