Apple Mozilla

Steve Jobs: Thoughts On Flash

Apple today published a letter from Steve Jobs aptly title “Thoughts on Flash“. What’s interesting isn’t so much what he said, but what he alluded to. This letter is about Flash, but it’s also about the future if the iPhone platform strategy. It also alludes to the future importance of WebKit and the open web. Lets walk through this. From his points:

First, there’s “Open”.

Steve is right. Flash isn’t really “open”. The iPhone isn’t either by any means. In fact it’s the most restricted computing platform in the world as far as I know. What he did note is that the iPhone uses WebKit and by proxy the web is the most open platform on the planet. That’s very noteworthy.

Second, there’s the “full web”.

Flash video itself isn’t that great by todays standards. That’s why sites like YouTube are serving HD video in H.264 rather than VP6. H.264, VP8 and Theora are the future. If all 3 or just one will survive remains to be seen. Regardless any of them can be played outside of Flash. The dependency on Flash to build a player is going away more and more each day.

Regarding games, this is a silly point. Almost all Flash games need a keyboard or mouse to work. They would never work with a touch screen. Nor would they scale to fit the screen. They would need to be significantly reworked/rewritten.

This is yet more alluding to WebKit and HTML5 where there are solutions already in place.

Third, there’s reliability, security and performance.

It’s pretty hard to dispute the reliability of Flash. It’s by far the driving force behind things like out of process plugins (OOPP) in Firefox among other browsers. It’s also been subject to lots of security vulnerabilities.

Fourth, there’s battery life.

The WSJ quotes Adobe’s Shantanu Narayen as saying the claims of Flash being battery draining are “patently false” but if you look at a CPU monitor while browsing a page with Flash, you can see the load increase quite a bit. Blocking flash on your browser does speed things up and keep your system cooler. I’m very suspect that Adobe has solved this in cell phones when they don’t even seem to have it under control in Windows.

Fifth, there’s Touch.

I already mentioned that mouse/keyboard interfaces just don’t work on the iPhone. No need to rehash that.

Sixth, the most important reason.

That’s actually a vague header. The reason is that they don’t want a third-party sitting between the iPhone API’s and developers. If that happens, developers are limited to what that third-party decides to implement. At the very most developers on the Flash platform get whatever is supported on all Flash platform (greatest common denominator).

That leaves Apple in a stupid position. They could implement killer features in the iPhone and create amazing API’s to take advantage of the features. But if Adobe doesn’t see a way to support things across platforms, or just doesn’t see the cost/benefit of implementing that feature, developers can’t use it. That marginalizes the product for Apple as well as developers.


I found this very interesting that he closed it like this:

New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

In February of 2007 Steve Jobs wrote another letter on DRM. It’s noteworthy because in January 2009 Apple launched the ability to buy non-DRM protected music. The letter was really a hint at where things were going. He’s repeating the PR strategy that he used then, make no mistake of it.

I have a feeling the day will come where the App Store is deprecated in favor of promoting HTML5 based Applications either directly off the web or packed similar to how Dashboard Widgets are done now on Mac OS X. The App Store will be around for quite some time, but it will eventually morph.

That is why WebKit is so important to Apple. They want to abstract their OS to the point where they can provide very high level hooks into features they want developers to be able to use. The current iPhone App SDK was a solution created by Apple as a way to let developers put applications on the iPhone as an afterthought. The moderation is so that they can keep their security record intact and could shut down a malicious app before trouble becomes rampant. That puts them in the position where they can either approve all content and be viewed as sleazy by more conservative folks, or they can let everything go and accept that reputation. They obviously made their decision. Developers and some geeks hate it, but 99% of the rest of the world doesn’t even know about the process. Nobody wants to know how sausage is made.

The App Store will likely morph to feature Dashboard Widget like applications (not to different from Palm’s WebOS). Apple will still be able to cash in via that distribution point since they can use DRM giving them the only way to actually sell a protected application. You can view them online via you’re browser.

That’s my prediction. The day will come when the iPhone SDK that we know today will be deprecated. WebKit and HTML5 aren’t there today, but the day will come when they will be the tier 1 development platform for the iPhone. Steve Jobs is just laying the groundwork today.

For desktops, other platforms and browsers it’s worth noting that there’s a lot to gain here.

14 replies on “Steve Jobs: Thoughts On Flash”

Disagree with the mouse/keyboard thing for Flash games. Keyboard, sure – there’s no way around that on a touch-screen. But many simple games that support mouse-only use also work quite happily on a touch-screen device. Not all, granted, but many of them…

@Simon: There are two problems that emerge. The first is unlike a small cursor your fingers get in the way and make game play just awful. This ruined quite a few early iPhone games until developers realized that sometimes controls on the edges are better than trying to really take advantage of a touch screen for porting. The other problem is many flash games use onMouseMove (pretty sure that’s what it’s called in Flash) so you don’t have to drag. There’s no such thing on a touch screen.

Re: battery life: my HTC Legend handles both H.264 as well as Flash. However, my phone runs considerably cooler when rendering H.264 and Flash makes it become rather warm.

As WSJ quotes Adobe’s Shantanu Narayen I can only conclude from my own experience that this is the typical marketing junk that wall streak journal is always happy to throw around. WSJ is not a source of news and information, it is a sink for thrash and junk “news” and “expert information”.

H.264, VP8 and Theora are the future. If all 3 or just one will survive remains to be seen. Regardless any of them can be played outside of Flash.

Has VP8 been announced? I take it Mozilla’s supporting it then by this comment that any of them can be played?

@John Stash: I can’t say for certain how VP8 will play out, but it’s clear Google didn’t buy On2 just to make the news, they had plans for the portfolio of codecs, VP8 being the leading candidate. I’ve got no doubt Google will be using VP8 the same way they are using HTML5 and all their other technology they have released in hopes of progressing the web, which they can in turn index.

Did we read the same letter? How can you possibly reconcile Point 6 with your conclusion?

The letter was also a big slap in the face to Mozilla (and the original KHTML folks) who apparently don’t exist or matter.

This is probably one of the most balanced analyses I’ve read about this topic. It pretty much parallels how I feel. All things being equal, I would prefer a world were flash was instantly replaced with more open (and stable and secure) alternatives. However, we don’t live in Fantasy land. Apple has a pretty good track record of dragging people (sometimes kicking and screaming) into new and better technologies. But they leave in their wake gaping holes. In the Mac computer world, we refer to Mac Marginalization whenever a web site doesn’t support an Apple browser. There are still web sites out there that will only open in Internet Explorer and therefore will not work if you are using a Mac. The number is dropping, but it was kind of painful for a while.
I don’t have an iPhone. I do have a Droid. I am constantly experiencing web sites that do relatively static content (for some reason menus at restaurants are a common problem) in Flash. There really isn’t any reason for them to build their site this way, but when I’m on vacation with my family, and pull out the phone to find a place to eat, and want to see if the restaurant has a decent kid’s menu, seeing a big empty box where the menu should be is annoying.
Apple’s position will force some of the larger web sites to at least make non-flash versions of their site, but there are just so many smaller (still useful) sites that aren’t going to bother. It’s already painful.
And let’s not forget, that even though Apple is saying no way, not ever for Flash, Android is saying let’s do it, but Adobe apparently can’t get it in our hands. The harsh reality may be that Steve is right and the Flash experience on a mobile device is never going to be a good one.

I really don’t see how HTML5 is going to fix the mouse/keyboard->multitouch problem. Even under the best solutions I’ve seen, you’re still going to have to write the same code twice.

Does HTML5 offer some special fix for this? Does it scale things differently than Flash does to fit in different form factors? Does CSS offer some alternative to :hover that also supports… touch?

@DigDug: The point was really not that HTML5 has drop in replacements. It doesn’t exactly, but it does have interfaces for handling things like orientation and touch (clicks) etc. Developers need to abstract the interaction from the application so that they can work on various platforms. In most cases it’s not a technical limitation but a design limitation. Simply making the Flash runtime for iPhone doesn’t make most of the Flash apps on the web work. Most require non-existent features.

One thing HTML5 is being built with is the ability to degrade/enhance per your device using things like CSS and JS API’s.

The advantage of HTML5 over flash is that browser is provided by the platform itself, rather than a third party (Flash) so developers can take advantage of features day 1. They can degrade or disable things on other platforms. That’s nothing new. Gmail supports drag/drop uploads on Firefox 3.6 and Chrome, everyone else degrades to the old upload form. When abstracted through Flash they need to wait for Adobe to update Flash. That is where Flash really hurts.

The web is innovating much faster than most realize. Flash abstraction means developers are limited to what Flash exposes. That’s is unacceptable in this competitive landscape. Developers and Apple depend on the latest features being available to third party apps for the iPhone to be a competitive product. If Adobe sits in between iPhone upgrades are held hostage by Adobe.

“The advantage of HTML5 over flash is that browser is provided by the platform itself, rather than a third party (Flash) so developers can take advantage of features day 1.”

That they can use things on Day 1 I completely accept… unless you want to use an alternative browser, in which case you can’t (not that Apple would even allow that anyway, because they run a closed system). I wouldn’t call that an HTML5 advantage I guess, just a 1st party advantage. Flash 10.1 offers interfaces for finding device orientation and input schemes. They allow you to degrade/change for browsers on other devices. Same as you would have to do with Firefox for the iPhone if Apple would allow it to exist. Flash does have a much larger number of existing apps that would undoubtedly be ported in rushed ways to the phone. Then again, Flash has a much larger number of apps available than HTML5 does.

@DigDug: That’s actually an HTML5 advantage in a sense:

Flash only has one runtime (flash). HTML5 can run in any browser. Yes, the browser on the iPhone is Apple’s WebKit, and no you can’t install Gecko. That does suck. But it still means that when a feature is made available everyone gets it at once. With Flash you always have the same bottleneck: Flash. If Apple opened things up, then you could run on multiple rendering engines. More innovation though you couldn’t guarantee all rendering engines had the same subset. Regardless, the barriers are smaller since the application is mostly portable. Flash just doesn’t work that way.

As mentioned above, porting non-touchscreen apps to use a touch screen isn’t a trivial task, especially for Flash. The usability changes significantly when a finger is over the screen. Lots of early iPhone apps failed because that was the approach developers took. Games aren’t usable when your fingers cover what you end to see. That’s why games that succeeded were essentially rewritten and heavily adapted to take advantage of the iPhone. The porting argument is bunk. It’s not easy like people suggest if you want the app to be usable.

“I have a feeling the day will come where the App Store is deprecated in favor of promoting HTML5 based Applications either directly off the web or packed similar to how Dashboard Widgets are done now on Mac OS X.”

Have we ever seen a despot voluntary surrender control? No!

Jobs wants control. App Store is essential to that control. It’s the only way to install anything. Why would Apple discard that?

Nonsense… It’s incredible that intelligent people fall for such obvious self serving rhetoric. They want to get rid of Adobe, html5, freedom, openness is used to justify that. Makes Adobe look bad and Apple look good.

Real world parallel:

Iraqi invasion. Bush wanted to invade and dethrone Saddam. WMDs were the justification.

Apple PR are spin doctors

Most of their statements are hypocritical and self serving. Not to be taken seriously.

Well, they did remove DRM from the iTunes Music Store.

Don’t let rhetoric get in the way of paying close attention to what Apple will actually *do*. They’ve managed to surprise.

Leave a Reply

Your email address will not be published. Required fields are marked *