Sunday, May 02, 2010

Apple, Flash, and The Truth

I'm sure by now you've read "Steve Jobs"'s Thoughts on Flash. Did it convince you? Do you think it was truthful? Not me. Sure it has some valid points, especially about Flash being buggy on OSX. As someone who has developed Flash applications using a Mac, I am especially aware of this bugginess, and part of me can't help but get a perverse sense of satisfaction that this bugginess is now coming back to haunt Adobe. However, this doesn't change the fact that Jobs's epistle is far from the truth. It is corporate slander, designed to make Adobe look as bad as possible. Why? So that when devices from competitor's ship with full support for Flash, this technological advantage can be discredited in the eyes of consumers. In other words, this well thought out post by Apple is not some intellectual/technical analysis, it is just marketing designed to boost Apple's profits.

The most dishonest thing about the post is what Apple says is "the most important reason" to ban Flash from their devices: that it will result in sub-standard apps and hurt their iPhone/iPad OS platform. This is complete bullshit. It's not like developers would suddenly only be able to create iPhone apps using Flash. It's not like they could no longer use all of the tools they use today. The difference is that they would have a choice. They could choose to use Flash. Or they could choose to use Objective-C/Cocoa/XCode.

But don't forget, that not only would developers have a choice, but so would consumers. If for some strange reason, some developers started choosing to use Flash,  it's not like consumers would be forced to buy those Flash-authored apps. No, they could still choose other, traditional apps. In fact, if, as Apple claims, Flash-authored apps would be of such low quality, then one would expect that few consumers would choose to purchase those apps.

So if Apple allowed developers to use whatever tools and technology they wanted to use, to create apps for the iPhone and iPad, what might happen? Well if Apple's claims are right, then there would be bad apps that nobody would buy (aren't there already a lot of such apps on the App Store?). Consumers aren't idiots, and they won't buy crappy apps when there will be better alternatives. So those Flash-authored apps will lose money. Developers aren't idiots, and they won't keep using technology that produces software that nobody wants. So they would abandon Flash and go back to Cocoa. So Apple's "concerns" would be unwarranted.

Or perhaps what would happen is that some developers would produce good apps using Flash that consumers bought for their iPhones. Certainly developers would continue to use Flash. However, in this scenario, Apple's "concerns" are proven to be false -- Flash produces some good apps. But wait, what about Flash holding back innovation on the platform? Apple would still be free to add new features to their OS, and make them available to developers through new APIs in the iPhone SDK. Who knows how long it would take Adobe to expose those features through the Flash authoring tools, but who cares? If those features greatly improve apps, and they aren't available in Flash authoring, then what happens? The power of choice wins again. Developers can still choose to use Cocoa, tap into these innovations, and user's can choose to purchase the apps that take advantage of these innovations. If these features are so great, one might expect that Adobe would try to bring them to Flash authoring as quickly as possible. Either way, the notion that the Flash platform would be held back makes no sense.

So Apple's self-described most important point is so false that it is laughable. Some of their other parts are equally false. For example, the notion of touch and Flash. Yes, many things in Flash are designed for users interacting with a mouse, not a finger. Such things don't work well on touch devices. However, this is not just true for Flash. It is equally true for HTML and JavaScript. If you've done a lot of surfing on your iPhone or iPad, you have surely experienced the "rollover" issues described in Apple's post. Want more examples? Check out this clever little video on HTML 5 and the iPad:

So why all the bullshit? As I said earlier, the reason for the post is to discredit any competitor that provides Flash support on their devices. First and foremost on that list is Android, which will support Flash in Android OS 2.2. That doesn't explain why Apple doesn't want to allow developers to use Flash to develop for the iPhone? The answer to that is simple. They want complete control of their platform. If you want to make money off of the iPhone, you have to be in bed with Apple. They saw how the web has hurt Microsoft, and they will not let this happen on the iPhone or iPad.

Now wait a minute, isn't Apple investing heavily in the web, namely HTML 5? Doesn't that demonstrate that they are willing to give up control of their platform? Yes, and no. Yes, Apple has invested into WebKit, a technology that in various forms implements a decent chunk of the HTML 5 standard. But you see, the key word here is "standard." This is how Apple fools you into thinking that they are providing an "open" alternative to their proprietary system.

It's easy to get fooled into thinking that any company that implements and open standard is innovative, but just the opposite is true. We think standards=innovation for browsers because of Microsoft IE 6. That browser dominated the world for a long while being completely stagnant. It was both non-standard and non-innovative, but this is an exceptional. It is rare that such technology can flourish. It took the unique nature of Windows, IE, and Microsoft's legal troubles to produce this situation.

Adopting a standard just means that you either change an existing feature of your technology to comply with the standard, or you copy a feature from others in the space. It is anti-innovation. When it comes to web standards, they are introduced post-hoc. XMLHttpRequest, the key technology behind Ajax, was proprietary Microsoft technology for many years before it became a standard. Many of the features of HTML 5 were introduced by various plugin technologies like Flash or Google Gears before they became part of the HTML 5 spec. You cannot innovate while waiting for some super slow moving corporate committee to vote on a new standard.

Going back to the iPhone/iPad, Apple is saying: pick either Cocoa and go through the App Store, or stick to the web, but only the "open standards" part of the web. They have given you a choice, but only the weakest, most impotent choice possible. You see this is where the other part of their Flash ban comes into affect. Not only have they recently banned compiling a Flash authored application into a native iPhone application, they have always banned Flash running in the browser. Why? Because with browser plugin technologies like Flash, Silverlight, and yes even Java, you can create user experience's on par with desktop applications. If they allowed Flash in the browser on the iPhone, then developers could create web applications that might rival the native iPhone applications. And we wouldn't want that, now would we? So Apple give you a single alternative to using Cocoa/XCode/AppStore, and then they horribly cripple it, by removing the most innovative parts and tying a design-by-committee-technology weight around its neck. Apple's endorsement of HTML 5 is one of the greatest marketing ruses ever. They stifle innovation, limit choice, and line their own pockets while getting everyone to believe they are being developer friendly and innovative.

After all of the above, you might think that I am very anti-Apple, anti-iPhone, anti-iPad. I'm not at all. I am anti-bullshit though. I don't like being lied to and treated like a lemming. Apple has every right to keep Flash off of their devices. It's their OS after all. They have very right to ban apps that were authored with Flash from their AppStore. It's their AppStore after all. Just don't lie to me about this stuff. Don't say it's better for developers or better for consumers, when it's actually worse for both. Just tell the truth: it's just better for Apple.


Anonymous said...

You don't understand the marketplace that Jobs is concerned with.

Consumers don't have a choice to use Flash or not, if the Wall St Journal uses Flash.

The consumer wants the content, not the technology.

At the moment, Apple can supposedly force the WSJ to not use Flash (and by extension use a more web-friendly standard) because it (Apple) has a once-in-a-lifetime position of power. Vendors are looking to the iPad to set the precedents for e-magazines.

The WSJ could say "screw Apple, we're going to use Flash" - but they don't have the balls to do that because they see that they'd be cutting themselves of from their target audience - people who SPEND MONEY.

If a competitor comes along and proves that you *can* build a mobile platform that *can* run Flash and is attractive that the CONSUMER DOLLARS are available, then WSJ can jump onto that platform and watch Apple wither and die.

Won't happen.

Mohan said...
This comment has been removed by the author.
Mohan said...

I also think as a Flash developer you have a vested interest in continuing multi-platform developement, which is not in Apple's interest.

Apple needs to look after its interest, not the web's or anyone elses. That is why as shareholders we pay to have management.

People are making a choice when they buy the iPad. That choice is they can do without Flash and in time the web will change to be less dependent on Flash.

I can do without Flash, but not Apple.

Neman said...

Does Adobe have anything to lose at this point by COMPLETELY open-sourcing anything related to the Flash run-time?

It's a dying technology either way, but at least if they believe in it they could give it a massive shot in the arm right now.... can't they?

Anonymous said...

Thanks for the insight from the point of view of a Macintosh developer using Flash.

One point that is in Steve's (I call him Steve) epistle that is very important to him but unimportant to you: 1) If a significant portion of apps are developed using Flash, and 2) Apple upgrades the iPhone OS; and 3) that upgrade breaks all or some apps written in Flash -
Then Apple will need to either: 1) modify the OS update by adding a compatibility layer; or 2) allow the Flash apps to break; or 3) wait for Adobe to upgrade Flash and the developers to recompile.

That has happened to Apple in the past (not with Flash but with other things). Apparently it's burned in Steve's (I call him Steve) memory and he's making sure it won't happen again. Is that a good thing or bad thing? You decide, but there's at least one rational reason for what Steve (I call him Steve) is doing.

Michael Galpin said...

@Anon1 -- I think you are just talking about video. Many sites have been using Flash + H.264 for awhile now. Flash Player 9 started supporting H.264 2+ years ago, and Adobe is famously efficient at getting users to upgrade to the latest version of Flash. So for sites that already had their content in H.264, "supporting HTML 5" just meant using a video tag and writing a JavaScript based player for controlling the video (pausing, change volume, etc.) Nothing revolutionary here, just some extra work for the web developers at that company. And nothing about this is more "web friendly." The content is exactly the same. The Flash based player that they already had would work on more browsers than the JS one that they had to build to support the iPhone/iPad.

@Mohan -- Thanks for committing an ad homenim fallacy. FWIW, I am fortunate to be at the point in my career where my employment does not depend on any particular technology, language, etc.

@Neman -- The guts of the Flash Player were open sourced nearly three years ago. There would be limits in how much more they could open source, given some of the audio/video codecs they have supported (browsers are facing similar issues, Firefox does not support H.264 for this reason.) Adobe has sunk the last 2+ years chasing mobile, and has lost their edge of innovation on the web. Otherwise they would not be perceived as a dying technology. Actually I would dispute this notion anyways. 2009 was the year of Farmville and Mafia Wars on the web. Both of those are Flash games. Part of why Apple needs to discredit Flash is because their competition will release iPad-clones that users can play Farmville on. And of course these will be cheaper than the iPad as well.

@Anon2 -- As soon as you open up any platform to third-party developers, you have this problem. Updating your OS can break things. That's why Apple (I call them Apple) release things earlier to developers, so they can fix their code. If they supported Flash on the web (i.e. the Flash Player, running as a plugin inside of Mobile Safari), this is a potential issue, but no more so than with any other popular third party application. This would be even less of an issue for native iPhone applications that were compiled from Flash source code.

Anonymous said...

Please read what ex-Adobe engineers have to say....

Anonymous said...

THANK YOU! Your post is really one of the very few I have read that accurately describes the situation between Adobe and Apple.I am beyond tired of hearing 'Flash is dead' 'HTML5 rules' from people who haven't a clue about what either one actually does. I too can understand why Apple is doing this (control, taking advantage of their current market situation, etc.) - just DON"T INSULT ME! Saying this is about technology is an insult.

What if Adobe came up with a way to make SWF or FLA playback fast, energy efficient and stable. Would Apple do a 180? If this is really what bugs Apple then they would be saying "We would love to offer Flash but currently we can't - however if and when Adobe fixes the issues we have with Flash then of course we will offer it on our devices". But they are not saying that. They are blowing that bridge up because technology isn't the issue at all. They are making a huge bet that Flash on Android won't work.

The more interesting question will be what will happen if Android pulls it off.

Anonymous said...

What will happen when Android pulls it off -Nothing.

Android is like software when an update comes along the previous one cannot use the latest and greatest.

Anon@6.44pm is right, any Apple mobile update will break the previous codes and make the app not workable - will Apple allows that.

It is time to move on and beyond Flash and innovation is in your hands and not Adobe.

But what adobe isdoing is attractive because it make programming for lazy programmers easy.

Anonymous said...

Anon@6.44pm is right, any Apple mobile update will break the previous codes and make the app not workable - will Apple allows that.

You do know the difference between an app and a website don't you?

It is time to move on and beyond Flash and innovation is in your hands and not Adobe.

BTW, HTML5 doesn't even have the feature set of Flash 3 and Actionscript 1!

But what adobe isdoing is attractive because it make programming for lazy programmers easy.


Heath said...

I agree with you on choice if you could assume a technically proficient consumer that understands the reasons why their device might perform well. If apps using a specific technology are likely to drain more battery or perform more slowly than others (flash vs. native), it makes perfect sense for that technology to be banned. Unfortunately, the consumers of this device are not technical enough to understand that if their iPad has no battery life because their farmville app is draining it.

Anonymous said...

What Heath says is totally on target. The question is why hasn't Apple used that as an excuse to keep their options open? The only thing I can think of is that they have no interest in it ever working and are slamming the door shut to even the possibility of it working. They are making a bet against the advancement of the SWF/FLA player. To me, that's a pretty foolish bet to make when you don't have to.

Steve said...

"Consumers don't have a choice to use Flash or not, if the Wall St Journal uses Flash."

Exactly!!! Apple offers consumers the choice of a Flash free device, and Android offers an alternative choice. Consumers make the Flash free choice when they purchase an Apple device.

At that point, it is up to websites to offer consumers the same choice. Websites, like the WSJ, have the option to offer Flash, Flash free, or both. If the WSJ opts for Flash, then Apple device users will eventually move to a Flash free alternative news source.

Anonymous said...

It's been almost three and a half years since the 1G iPhone was released, and Adobe is now at Flash Mobile 10.1 beta. By the time that the 4G is released in June there will be just under 100 million Apple mobile devices, and another 50 million a year later.

Adobe, et al;

If Flash was so important to your business plan, why did you take 3 1/2 years to response? Steve Jobs told you in March of 2008 at the release of the SDK that Flash lite didn't provide the same web experience people were used to on the desktop, and Flash itself was too slow for mobile devices. He wanted something in the middle, that is today still in beta.

Steve warned you.

Guess you didn't figure the iPhone was going to be such a big hit, let alone a platform.

Adobe Fail.

Michael Galpin said...

@Heath -- One of my favorite iPhone games is Civ. It totally sucks down the battery. I can have my 3GS at full charge, play Civ for an hour and be down to 20%. Does Apple kick Civ off of the App Store for this? No, they leave it up to me to figure this out.

@Steve -- Your strawman is particularly weak. Flash has 98%+ penetration on web browsers. It runs great on the dominant desktop OS. Hence the heavy use of Flash on websites. And I'm not just talking about video, that's a small fraction of Flash usage. Flash allows for a desktop experience.

Try SlideRocket for a good example of this. You just can't do stuff like that with HTML+JS, thus you can't do stuff like that on a web browser on an iPhone or an iPad. To create that kind of experience, you have to go through the App Store and pay the Apple tax.

james said...

As another poster said, consumers don't care about the technology all they want is there video. I agree.

Which leaves only two people arguing for Flash, developers and consumers who don't know that Flash is just a container for audio & video.

The bottom-line is that Flash 10 now uses the F4V format and that is based on H264 and ACC, which play into Apple's hands. With H264 penetration now at 66% vs. 33% a year ago, it means that 2/3 of content providers can now offer video without Flash.

Last year that number was only 33%. At that rate of progress H264 will make up over 90% of the video on the web, with or without Flash.

Job's is right. Adding H264 to your website without Flash is a trivial matter, with or without HTML 5. I've had H264 on my website for years, not Flash and no HTML 5. Sure, I don't have all the fancy controls but how long will it take someone to come up with that in HTML 5?

Another nail in the coffin is that fact that Flash ten is also based on AAC, which is what the entire iTunes Store is encoded in. All of Apple's video is also encoded in H264. So that's not an obstacle either. Plus Adobe can't drop H264 since the only codec with hardware decoding support on any mobile phone.

"SWF, F4V, ISO base media file format H.264 AAC, MP3" and they are phasing out FLV which allows for other codecs.

Adobe has boxed itself in. Their new F4V format requires H264 to get all of the Flash features and the needed hardware decoding support. In the process, they are going to bring H264 straight up into the 90th percentile, give everyone the opportunity to offer it in a non-flash format, audio included.

With Microsoft now saying that they will only support H264 in IE 9 and Google in full support. The game is up less than a year from now.

No advertiser or major website is going to ignore the iPhone, iPad and Touch just as Apple closes in on 100 million devices.

This leaves very little added value for Flash to offer. H264 Video (check), ACC Audio (check), HTML will quick fill the gap with few basic controls needed (check) and Apple doesn't need Flash games, when they have more than anyone could need for free or a few bucks at the App Store.

That doesn't leave Flash with much. Maybe only 5-10% of content that will be Flash only in under less than a year. Not much Adobe can do in that time, considering they just pushed the mobile version of Flash to the second half of the year.

By the time they have it working on the competitor's mobile phones, it won't matter. By then Apple will have sold 10 million iPads, more than the total collective sales of Android, not including the iPhone or Touch.

Steve letter wasn't the beginning of the fight, it was it's last rights.


If I were Adobe I'd get hot on those HTML tools.

Anonymous said...

WRONG!!!!! Users are fucking idiots, if an app performs bad or crashes then they blame apple not flash.

Fucking nerds can never understand how normal people think

Anonymous said...

Apple helped create the "webapp" which was a page designed to work the best on the iPhone.

Then they created the SDK to add functionality to that.

IMHO I willread the news through apps not web pages anymore. This is the future. It's clean and easy.

If Adobe wants to build a tool so that developers can crank up the volume, open a pop up, and sell you "smileys" that scream "oh my GOD!" Or flashing neon purple on my screen .... then go for it.

Apple said "we pass. We will not support. You websites Waiting for direction on this ... Ain't gonna happen.

To say that Apple has alterior motives more than technology is like ... Really?! That surprises you?

Consumers have choice. They buy the object or not.

It's akin to "On Stars" competition to be made at GMC for not making it easier to offer GMC customers another choice in technology.

Apple adopted the 3.5" floppy and PC software companies HATED it. Because 5.25" was the standard.

Thanks Apple. Stick to your guns.

Anonymous said...

I agree with everything less the part where you said consumers aren't stupid.

They are. So what if they might be quick to dump crappy software. They'll gleefully spend a few more dollars on another version of "What do iLook like in sepia" or whatever trivial useless - incidentally free on any other platform - piece of shit Apple recommends they buy next. Most people are just fucking stupid.

iPhone sells because people invest far too much in social status - amongst peers who judge them by what brands they support. It only exists because of the money Apple made selling vastly overpriced inferior technology to a once upon a time hoard of (the very same) vapid self important hipsters, or creatives as they'd then preferred to be described, needing shiny fashion accessories to run the Adobe and Macromedia products they used to produce marketing material for people with real jobs.

People like to compare Apple's Flash (and Java, Mono, Neko, Silverlight and a thousand programming languages) move to the automobile industry or conversely console gaming.

The difference between Nintendo and Apple should be pretty obvious. Nintendo didn't give developers freedom to employ any toolchain for a number of years then pull the plug on them. If they'd always had it lockin, that would be cool. But they haven't.

Some of the best iPhone apps were made with Unity3D. Now it's banned. Just one of the companies that grew up with the app marketplace now futilely trying to take their tech to other platforms in a bid to stay alive.

In 2015 MPEG LA's promises will elapse - I just hope everyone is as excited as I am to then pay arbitrary fees to Apple and it's sleeping partners for "open standard web video".