Thought on thoughts on Flash

There's a bit more to this than the noise

Just in case you've been living under a rock, or in a cave.

On Mars.

With your eyes tightly closed and your fingers in your ears.

Yelling "I CAN'T HEAR YOU" over and over.

A little while ago, Steve Jobs released his "Thoughts on Flash" letter. To say that it caused some consternation would be like saying that nuclear weapons make modest holes in the ground when detonated. That letter, and the rebuttal from Adobe CEO Shantanu Narayen have pretty much dominated the Mac web, and most of the overall tech web since they came out.

Like everything on the techweb, most of the 'reporting' on this shows that Sturgeon's Law was hopelessly optimistic. But let's take a look at some of the more fun points. First, the "open" argument. Neither Adobe or Apple are terribly open. They will do things with varying degrees of openness when it suits their corporate aims, but neither of them are going to be feting Richard Stallman any time soon. Of the two CEOs, Jobs is probably more direct about Apple's proprietary nature, and how it views open source. He says point-blank:

Apple has many proprietary products too. 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 – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.

This paragraph is important, because it's been wildly misinterpreted by quite a few people. Jobs is not saying Apple is some kind of "sing Kum-By-Ya in the park" company. He's saying yes, Apple has many proprietary products, but they believe that all standards pertaining to the web should be open.

Narayen's response:

Responding to a question about Mr. Jobs's assertion that Adobe is a closed platform, Mr. Narayen chuckles. "I find it amusing, honestly. Flash is an open specification," he says.

Note: He's not saying Flash is an open standard, because it's not. It's a (mostly) published spec which allows you to do (mostly) what you want with it. I say mostly, because while you can write your own Flash player, if the content it's trying to play is using various forms of Adobe's Flash DRM, it's not going to work well, or at all, and you're forced to use Adobe's Flash Player. As well, the Flash spec, not standard, is controlled by Adobe.

That's not getting overly clever with parsing terms, that's pointing out a pretty big difference. Apple doesn't control HTML5, Javascript, or CSS. They're on the committees that determine how those things will work, (as are Adobe, Microsoft, Google and a few other companies you may have heard of), but Apple doesn't control those things. Narayen is being somewhat disingenuous when he tries to make Flash sound as open as HTML, Javascript, or CSS. It's not.

The next paragraph(s) I want to touch on from Steve's letter are these three:

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. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform? Fourth, there’s battery life. To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies. Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.

Now, Adobe has made a lot of noise about how Flash 10.1 will fix every.single.problem that anyone has ever had with Flash, anywhere. That's not going to happen. I can tell you in my own testing of the RC candidates, the endless stalls when loading Flash content? Still there. But, if Adobe Flash PR want to make 10.1 into a magical flying ponycorn product, who am I to point out the danger in overpromising and (inevitably) under-delivering.

However, here's the problem with Flash:Flying Ponycorn - It's not out yet. We're still on Flash 10.0, aka, Crashy McMudRunner. When the iPhone was released, in June of 2007, Flash 9 was the current version, and it hadn't been out that long. So that means when most of the decisions on the iPhone were being made, most likely in 2005/2006?

Flash 8. Macromedia Flash 8. It wasn't even called Adobe Flash yet.

So what is Apple supposed to do, when your options are Flash 8, or Flash Lite? Right. So we move to the iPhone 3G, July of 2008, and we're on...Flash 9/Flash 10. Move to the iPhone 3GS in June of 2009, and we're finally fully in Flash 10.0 land. But none of these are the new super-de-dooperdy 10.1 low power never crashes version, because it's May 5th 2010, and that version is still not released yet. So Apple has had two choices: don't support Flash at all, or hope that someday soon, Adobe will release a version that doesn't crash your browser and/or screw your hardware into the ground.

But wait, that doesn't happen, not according to Narayen:

Speaking about Mr. Jobs's assertion that Adobe is the No. 1 cause of Mac crashes, Mr. Narayen says if Adobe crashes Apple, that actually has something "to do with the Apple operating system." Mr. Narayen calls accusations about Flash draining battery power "patently false." Speaking about Mr. Jobs's letter in general, he says that "for every one of these allegations made there is proprietary lock-in" that prevents Adobe from innovating.

No, dude, even your own engineers have admitted that Flash 10.0 and earlier suck on the Mac. That's one of the reasons for all the massive design changes in 10.1. Seriously. As far as the allegations that Flash kills battery life being patently false? No, in fact, they are not:

The worst part about the Atom / Ion combo is that it results in those original issues we had when we reviewed all those Ion netbooks. First, it causes the entire tablet to get quite warm (especially when playing Flash video) and then it murders its battery life. The JooJoo's integrated three-cell battery repeatedly lasted 2.5 hours (just as we predicted!) during our moderate use, which included surfing the Web and playing short videos. JooJoo claims you can get 5 hours if you avoid Flash entirely, but that sort of defeats the purpose, right? In the end we don't understand why they didn't just go with an ARM processor like NVIDIA's Tegra or a more current Intel Atom N450 processor paired with Broadcom's Crystal HD solution. Both options would have enabled HD video playback and resulted in some more juice. We will take this moment to non-tactfully remind you that the iPad lasts over 10 hours on a charge.

The JooJoo review is the low-hanging fruit here, but it's not the only example at all. Current, shipping versions of Flash murder battery life. 10.1 should change that to some extent, but it's not shipping yet in early May of 2010.

Only a fool believes any company promise that starts with "Real Soon Now...", and Steve is simply not a fool. I would also add that whomever Nareyen's handlers are, they do him no favors by hiding the facts from him. Keeping your CEO happy? Good. Making him look like a fool in the process? Not good. He would have been far better served here by acknowledging the reality of pre-10.1 Flash's problems, not saying they don't exist. You'd think he'd have learned after the "we don't ship Flash with crashing bugs" "here's a crashing bug in the shipping version of Flash." "Doh!" debacle of a half-year ago not to say such things.

Steve even correctly points out that to support touch-only devices, Flash sites that assume the use of a mouse will need reworking. How much or how little, that depends on the site and the code, but some work will be needed.

The next to paragraphs are a money shot, if you know the history of Apple and third party developer tools:

We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers. 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.

Setting aside the Codewarrior/Powerplant issue, (because it's kind of weak), Apple has reasons going back far further to not allow a third party tools vendor to gain that much control. Chief among these are the Symantec debacle. When Apple first moved to the PowerPC, they were, to be blunt, screwed. Apple's dev tools were not the best, and expensive, and the only other choice, the big option for most, was Symantec's Think C. Which took, as I recall, a year to finally be able to create PowerPC code. If Metrowerks had not come along with Codewarrior, Apple would have been beyond screwed.

(The reason I say the Codewarrior issue is weak is that up until late 2007, Xcode was not up to the task of dealing with truly large applications, like Word or Photoshop. Among the issues was that the debugging methods it used were so verbose that you couldn't debug those kinds of applications in a 32-bit OS. What, you think Apple changed debugging symbols for the heck of it? So saying "they should have been using Apple's tools all along" kind of ignores some real limitations of those tools at the time.)

The point about cross-platform dev tools representing the lowest common denominator feature set is dead on, and I find that opinion supported by Adobe. Note that with all the sturm und drang about this from Adobe, not once have they said "we were shipping tools that give you 100% feature and performance parity with Apple's tools, and we would only lag new features from Apple by n weeks/months." Feature parity, and giving you access to all the tricks of native tools are not what you use things like Flash and Java for. You use them because you have a small set of needs, common to many platforms, that you don't want to mess with. You know that really great Java application? The one that just rocks on Windows, Mac OS X, and Linux? Full native featureset, no speed hits, native widgets, you can't even tell it's a Java application?

Of course you don't. It never existed. That was never why you used Java. That's why Java is used more for things like enterprise applications, or Cisco Router configuration tools. They're used for tasks where functionality is all you care about, and form is a non-issue.

That's not what Apple wants on its platform, and while I get that Adobe's not pleased about that, they may want to count their blessings. Mac users, and by extension, Mac devs, are not patient folk. Telling someone they can't have access to the same features as the people using a 'real' application until CS6, or the fifth of Never, because the ROI on all that work for just one platform isn't good enough? I don't think they'd like that fallout. Adobe PR & Marketing people seem to have rather delicate constitutions. They would not do well in that kind of environment.

I'll also note that the infamous App Store restrictions on Flash-developed applications do not, in any way, shape, or form, apply to developers who are only doing internal company/enterprise development. That only applies to the App Store. Adobe could easily pitch this to internal devs who can tell Apple to play in traffic in this case. They could also charge more for it, because calling it an "Enterprise" development tool is always a great way to multiply the price by ten, and still be thanked for being so cheap.

This paragraph however:

1 2 Page 1
Page 1 of 2
ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon