Steve Jobs posted an open letter today about why Flash is not and will not be supported on the Apple mobile platform. You can follow the link to read the full article, but basically he gave 6 reasons. Let me look at each of these one-by-one. And before I do, I would like to remind everyone that I’m not really a big proponent of Flash. Back when I was web-developer, Flash was the one platform I detested and never took the time to learn. I think web-design through Flash is a poor design choice except if it is being done for some sort of portfolio or niche-website. Anyhow, with that out of the way, let’s look at Jobs’ six reasons.
First, there’s “Open”.
Jobs’ claim here is basically a fact. Flash is a proprietary system. Not only do you need to buy expensive software from Adobe to be able to create professional-grade Flash applications, but you also need to download a third-party plug-in from them any time you want to view it. There’s no complaints I have about this statement except that it reminds me of, you know, pot-kettle-black.
Apple is possibly the most proprietary technology developer out there right now. Not only is the iPhone OS system completely closed and regulated, but even going back to the OS X operating system, you legally need a Mac to run that. It sounds highly hypocritical of a CEO of such a proprietary company using “openness” to attack Adobe. To Jobs’ credit, he accepts that Apple is proprietary, but he wants the web to be open. How benevolent of him to allow us this luxury!
Second, there’s the “full web”.
Adobe has counter-claimed Apple’s claim that the iPad is the best way to experience the web, by suggesting that those users do not have access to the full web. Jobs’ counter-argument to this is that Apple supports HTML5, CSS and the modern H.264 format for viewing video. He also rattles off a list of 16 sites that supposedly support video on the iPhone OS (although at least one of them–Facebook–at least check, does not).
As I said at the beginning of this piece, I hate it when a website has used Flash for the purpose of web-design (especially when they haven’t offered an HTML alternative). So from that standpoint, I’m happy that Apple has gone ahead and blocked those websites. However, when it comes to videos, Apple is just ignoring the problem. Sure… they support these 18 sites that now allow HTML5-based streaming. But about the 1000 other websites that people actually visit? How can you advertise a device as being the best way to browse the web when it falls annoyingly short in multimedia presentation? Companies have paid millions of dollars implementing their current content delivery platforms–not everyone has the financial resources that YouTube, for example, has, to begin supporting H.264 video overnight.
Third, there’s reliability, security and performance.
I have heard several anecdotes about how Flash causes Macs to barf. Jobs labels Flash as the number one reason for Mac crashes. Obviously Adobe has a part to play here, since they are the ones that are writing the actual plug-ins. But I don’t buy the whole “reliability, security, performance” argument for the iPhone OS. Just like I don’t buy the justification that Apple fanboys give for keeping the App platform closed or for keeping OS X locked down to Mac hardware–to preserve the quality of the system. How dumb do they think consumers are? The App Store is already plush full of useless applications (I believe Fart Apps deserve their own category going by volume, right?). In fact, I can count the number of apps I use regularly on my iPhone on one hand.
This destroys the perception that it is impossible to create low-quality applications staying within Apple’s development platform and regulation. The theory that it is impossible to create a quality application outside of the Apple-allowed platform is similarly debunked by the “black market” that is Apple jailbroken apps. There are several quality applications developed there that would deserve their place in the App Store if Apple had put it’s draconian policies aside. Not to mention that they’ve actually supported the novel (not really) idea of evaluation software. Instead of Apple allowing evaluation periods, they decided to go with “Lite Apps” (there’s actually a section in the Apple Developer Center that recommends releasing a Lite app, with stripped out functionality). There have been countless times that I have been partially interested in an iPhone App only to find that is not free and the “Lite” version doesn’t allow me to actually test what I want to. Some developers, like Remember the Milk, have gone about their own methods of providing a trial period enforced by a web-service.
Fourth, there’s battery life.
Jobs claims that on an iPhone, an H.264-encoded video will play up to 10 hours whereas a software-decoded video will play only up to 5 hours. This may well be true, but I don’t think Apple is in any position to preach about battery life. I have had to charge my iPhone, without fail, every night. If I don’t, I’ll get into the red midway through the next day. I don’t make that many calls, either (if I could exchange my rollover balance for cash value, I’d be a rich man), so it’s not like I’m using my phone all that much. In fact, I check in to Twitter about 3-4 times a day, the same with Facebook and occasionally I play Racing Live for about 5 minutes (this is not a graphics-intensive game, btw, it is more of a “simulation”-type game). Yet, my battery is toasted by the time I reach home. I can’t imagine how life is going to be when multi-tasking is supported.
I guess Apple does have a claim to make here, they’re prepared to do anything if it increases battery life.
Fifth, there’s Touch.
A side-note, I wonder if Apple has actually trademarked the word “Touch”. Why else would it appear capitalized? Anyhow, Jobs’ claim here is that Flash was designed for mouse-based input whereas the iPhone OS introduces a completely new touch-based interface. The point is well-taken. I’m not aware if Adobe has made any forays into touch input, but my feeling is they would have, if they were expecting to release the Flash CS5 Deploy to iPhone App feature. Which leads nicely into Jobs’ final point, the most important one, supposedly.
Sixth, the most important reason.
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.
This is referring to the Deploy to iPhone App feature that I talked about in the previous point. Basically, Adobe is planning to release, in Flash CS5, the ability for a user to deploy a Flash animation as an iPhone App. Flash does all the heavy-lifting of converting the ActionScript code into the archaic Objective C format, compiling it as required by the App Store, etc. However, a few weeks ago, Apple modified their developer contract to state that creators of iPhone Apps must have originally created that code in Objective C. This basically makes any app that was generated by Flash CS5 in violation of the developer agreement. The same is the case for apps developed using MonoTouch–the commercially available tool that allows .NET developers on Macs to create iPhone Apps–as they are also not originally Objective C.
Jobs then goes as far as to suggest that developers won’t have access to the newest features when they become available, etc. I have a huge pain-point with this. In my previous discussions about Apple and it’s products, I always bow out of the discussion when someone brings up the point that Apple is not targeted primarily towards technical consumers. What this means is that I can go and build a computer for less than it costs to buy a Mac–that’s why Macs aren’t targeted towards me, specifically. I can understand and accept that–Apple does a good job in marketing a product and keeping their profit margins wide. However, Jobs, in this case, actually is trying to run the same argument by, except targeting them towards the actual technical users.
He hypothesizes that if Apple were to allow third-party code to be converted into Objective C, developers would become clueless about how to take advantage of the newest features released in an Apple SDK. That’s not only extremely inaccurate, but it is extremely insulting to many parties.
It is insulting to developers because we have to be ahead of the technology curve (for example, the iPhone OS 4 SDK is already out for iPhone developers, but not for end users) and have to have an understanding of how a system actually works.
It is insulting to consumers because it suggests that they will not be able to tell the difference between a good app and a bad app. As I’ve said earlier, it is a fallacy that all apps created within the Apple-permitted spectrum are good and all apps created outside that spectrum are bad. Why not let the user decide what is a good app?
Finally, it is insulting to the actual Apple staff involved in the app review committee. Jobs is basically suggesting that they will not be able to adequately test an application to determine whether it is good or bad, without knowing if it was originally Objective C or not. This basically throws hot water on the whole app review process, because it claims that the process will not be able to test an app’s usability independent of the development platform.
As a whole, I understand why Steve Jobs does not want Flash on the iPhone OS and I have no problems with it. I’m not a major Flash proponent and there are only a handful of websites I visit on an iPhone anyway. I would have a problem with it if I owned an iPad, but that, and several other reasons, have contributed to me not being even a bit interested in owning one. I do have issues with the lock-down of the development process, though, for no reason whatsoever. iPhone developers still have to purchase a Mac to develop their software on, because iPhone apps use a bunch of frameworks that don’t have cross-platform ports. So it is not as if Apple is losing a revenue stream there. It is not as if Apple is losing the developer account revenue stream either–since the developers of those apps would still have to pay their annual fee to be able to sell on the App Store.
On the whole, that move by Apple just seems like a reaction without provocation.