Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog

Thursday, April 29, 2010

Steve Jobs Isn't Wrong (But That Doesn't Make Him Right)

Steve Jobs has written one of his rare open letters, this time about the whole Apple versus Adobe thing.

Please assume all the following quotes are from the above link.

Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true.

Just keep that in your hat for now, we'll return to it later.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc.

This is largely true, although Flex, which compiles into Flash, has open source components, and Flex Builder is based on Eclipse. Adobe has other side projects available as open source, but in large - Flash is a black box product.

The setup is similar to Apple's. Darwin is open source. OS X is not. Jobs describes this as such:

Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript...

The short version of this is: Apple is closed too, except when it comes to the web. Unless that part of the web uses plugins.

So what of plugins?

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices...

So there is an interesting slight of hand here. You can't access YouTube videos using Mobile Safari. You need to go to the YouTube app from Apple. So Job's "open" version of the web is whatever can be accessed via Mobile Safari, unless it is a plugin - and then you need to get an app from the App Store, written primarily in Cocoa (which is not open) and view it from there.

Of course, developers could also use the video tag implemented in HTML5. While that would reach the entirety of iPhone users - it would only reach a small minority of Internet users in general. Apple could solve that dichotomy for developers by allowing Flash, but they won't.

Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free.

Interesting how Jobs has gone from saying "we're open, and they aren't" to "if you can't use their closed system, you should use our closed system."

How was this not about business again?

Besides, it misses the point entirely. The Flash developer community is huge, second only probably to the more generic "web developer" title - which pretty much describes anyone with anything more powerful 1998 Thinkpad and an HTML reference guide. The Flash game developer community is likewise huge. It's also important - Flash is an entry ground technology. Alien Hominid, a popular console game which began life as a Flash game. Tower Defense didn't really exist as a genre until Flash TD.

Cocoa ... and don't me wrong, I rather like Cocoa as a language, but Cocoa is none of those things.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash.

From everything I can ascertain, this is true. Daring Fireball summed up the stability question quite well. However, as Gruber also points out, Flash is one of the most widely used and processor intensive functions for OS X. So, this statistic probably should be no big surprise. If everyone out there used Eclipse instead of surfing YouTube, it would probably be a different story.

Will HTML5 based video be more stable than Flash? Who knows. Possibly. Possibly not. Again, the usage of the new media tags is so small and the implementations of them so new, the jury hasn't even convened yet. Personally, I can crash a browser pretty easy double buffering two audio tags (don't ask) with enough time. And I can do that in WebKit.

In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it.

Well, that isn't entirely true. There are Flash games which got compiled into iPhone apps with beta versions of CS5. Adobe has a list of them. And they perform just fine. But if Flash isn't performant - isn't that Adobe's problem? Along with the stability question - Apple leaves the ultimate responsibility of these things, whether built with Cocoa or WebKit, on the developer. If my web page or app crashes, that's not Apple's fault - that's mine. So why does Apple take the stern parent approach with Flash?

Again - how is this not about business again? What Jobs is saying isn't false or wrong, not entirely or mostly at least ... it's just a massive distraction from the real topic at hand. Developers could create apps with Flex or Flash that don't crash, that look good and that perform well.

So why should Apple stop them from doing so? Remember - even if Apple didn't allow plugins to operate within Mobile Safari because of performance, stability, security or whatever - Adobe's compromise was to have Flash be reviewed and deployed just like every other app on the App Store.

Job's response:

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.

So, dear reader, you see - Apple is protecting you. It isn't that Apple is blocking a massive community of developers from offering their applications from the App Store ... it's that Apple is keeping those substandard apps which might not take full effect of Apple's innovation. You didn't buy that fancy iPhone to get the same Flash app that can be played on a Google smartphone, after all.

No. Apparently, you bought it for the fart apps, which at one point were making $10,000 a day off the App Store. Or perhaps you want an app about smoking in a group.

And if you want an app about shaking a baby to death or political satire ... you may or may not be out of luck - Apple approves and then later rejects those kinds of apps. Or the other way around. It's hard to keep track.

So just remember:

Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true.

Remember that when you are using your iPhone in its sealed case, connected to your computer with a proprietary cable, which connects to the closed source iTunes which downloads DRM controlled content written in a closed source language to be run on your closed source operating system, provided that content passes review by a process so secret that most people at Apple can't even describe how it actually works.

God damn you, Steve Jobs - now you have me sounding like Cory Doctorow. For that alone, I should buy a Nexus One. I was willing to put up with all of the above and even the obnoxiously chaotic App Store review process when I thought Apple could at least embrace a development community which wasn't controlled by Apple. I even like HTML5 quite a bit, but I don't believe Apple should be in the business of telling me I have to use it over Flex simply because Flex is built by a different company.

That's not a technology strategy.

That's a business one.

Plain and simple.

1 comment:

Steve said...

One thing I find interesting about all of this is how it feels like a redux of roughly 1995. That's when Windows 95 came out and the old Apple began to seriously erode. Apple, which had chosen a strategy of having closed proprietary systems to compete against Microsoft's strategy of just supplying software to anybody who would make the hardware.

Today we have the same thing but it's Apple versus Google. The only major difference here being that Apple has the market share advantage this time. However, with so much of the value of these phones being derived from the Internet, I don't know how much of an advantage that is. Most of the most heavily used iPhone apps are merely gateways to accessing online information like Facebook. So they don't have much in terms of lock-in.

Apple dominates for now because they have an overall better offering. Their devices are slick and work well. Their OS is stable and responsive, and will soon finally address the major weakness of being unable to multitask. Their only major flaw is that exclusivity deal with AT&T.

But the problem they face is that every year or two people get a chance to get a new contract, and get to reconsider the phone question. Given that it's relatively straight forward to change providers or even go with a different phone from the same provider, it's easy to switch at any time. The only loss in switching would be the apps, but how many of those apps are so uniquely valuable that you'd by an iPhone just for that?

My suspicion is that once there's some genuinely killer hardware on the Android side, Apple's going to have a problem. For too long they've happily hindered what people can do with their iPhones, and if Google can offer a similar experience without that, Apple will have a run for it's money.