The iPhone OS, Apple, Adobe…and All That Jazz

Revelations from last week’s iPhone OS 4 announcement have rekindled the ongoing debate regarding Apple’s control over what can and cannot find its way onto iPhone OS devices. Actually, the most provocative revelation wasn’t from the special event itself but was contained in the iPhone OS 4 developer license agreement (as first spotted by John Gruber) released immediately afterwards.

The now infamous Section 3.3.1 of the agreement prohibits cross-compiled third-party apps in the App Store: “Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).”

This clause effectively crushes the usefulness of Flash Packager for iPhone, a new feature of Adobe’s Flash Professional CS5. To be clear, Apple currently offers no support for Flash on any iPhone. That’s why Flash components of Web pages do not work within iPhone OS’s Mobile Safari. Apple shows no sign of changing its position here any time soon, if ever. Rather, via Section 3.3.1, Apple has extended its opposition to Flash. Apparently, Flash-based apps will henceforth be blocked from the App Store, even if Adobe’s CS5 compiler modifies the apps so that they would otherwise successfully run. Recognizing this, Adobe was forced to admit that the effectiveness of its compiler is “subject to Apple’s current requirements and approval.” 

The current consensus is that Apple will not be offering any such approval. The only question is whether a Flash-based app might sneak in, undetected by Apple’s approval process. This doesn’t seem likely. This is why Adobe’s Lee Brimelow (Platform Evangelist focusing on the Flash) angrily told Apple to “go screw yourself.”

All of this has resulted in a predictable outpouring of angry blog postings from a segment of end users, developers, and journalists, many of whom have had long-standing grudges against Apple’s “Draconian control” over everything. Dan Grisby is “abandoning iPhone development” as a result. Some, such as John C. Bland, have had a negative but overall more tempered reaction.

At the opposite extreme, many of the most respected voices within the Mac journalist community have strongly come to Apple’s defense.

I find myself somewhat in the middle.

I am not entirely opposed to Apple’s stance, especially as regards Flash. Too often, I have found that Flash-based Web sites load annoyingly slowly and sometimes fail to work at all on my Mac. Further, I don’t much like that a significant component of many Web sites is dependent on one company: Adobe. I would not be sad to see Flash fade into oblivion, replaced with something like HTML 5.

If Apple chooses not to support Flash in Mobile Safari, that’s its call to make. The market will ultimately determine if it’s a smart move or not. However, I have more trouble with Apple’s plan to reject Flash-based cross-compiled apps, as this overlaps with some general objections I have to the App Store and Apple’s approval process.

Overall, it’s a tough call for me. Here’s a rundown of how I see the various issues:

• Adobe has screwed Apple in the past. It’s payback time. The innerdaemon blog makes this case as effectively as anything else I have read: “Adobe made a wrong bet in 1996 and is suffering the consequences in 2010 and has no one to blame except themselves.” As I well recall, Adobe pretty much abandoned Apple back in the 1990’s, focusing its software development almost entirely on the Windows platform. Recall that a Mac OS X version of Photoshop did not even arrive until 2005. 

There are some commendable reasons for Apple to do what it is now doing, but Adobe’s past behavior should not be one of them. Spitefulness is rarely a good justification. “Two wrongs don’t make a right,” as they say. Adobe’s decisions back then were just as much based on what it thought was best for Adobe as Apple’s current behavior is based on what it thinks is best for Apple. It’s a bit hypocritical to criticize one but not the other. “It’s just business. It’s not personal.”

Still, I see the applicability of one more quote here: “Fool me once, shame on you; fool me twice, shame on me.” The logic here is that Apple wants to prevent itself from ever again being in a position where the decisions of a company such as Adobe could have an overwhelming impact on Apple’s business. Apple’s 3.3.1 clause helps ensure that this goal is met. I can’t argue with that.

This, in turn, leads to the next (and probably the most compelling) argument for Apple’s position…

• Apple doesn’t want another company to gain control of its OS. This view has been ably detailed in numerous articles, ones by John Gruber and Jason Snell being two of the best. The crux of the argument is two-fold:

(1) Apple wants to encourage native development for the iPhone. Why? Because this tends to produce the highest quality software for the device. Flash-based apps, indeed almost any cross-compiled software, do not generally make the cut. As John Gruber stated: “Cross-platform software..(has)…generally been downright crummy.” Any long time Mac user would likely agree with this. Remember having to put up with barely acceptable “Mac” programs that were essentially inferior ports of Windows versions? That’s what we are talking about here.

Confirming this viewpoint, a BBC article quotes Apple as claiming that the change to the license agreement was “made to improve the quality of applications appearing (in the) App Store.” Of course, native software comes with no guarantee of quality; it’s just more likely that such apps will make better use of the iPhone OS interface.

(2) Allowing cross-compiled apps, especially from Adobe, could mean “losing control” of the iPhone OS. The logic here is that, if Flash-based cross-compiled software ever became the standard for iPhone development, third-party developers (and indirectly Apple) would then be dependent on Adobe for the ability to update and write new apps. Apple could provide tools in Xcode that offered great new features, but they might be largely ignored — unless Adobe adopted them. Further, if versions of Flash-based apps ran equally well on other mobile devices (can you say “Droid”?), the iPhone would lose a significant part of its competitive edge.

Jason Snell effectively summarizes this view: “Apple doesn’t want Flash-created apps on the App Store for a simple reason: It reduces the iPhone to a lowest-common denominator platform, and at that point Apple loses all control over the iPhone OS experience.”

While I am sympathetic to this argument, I have some hesitancy about how real the threat is. Despite the events of the 1990’s, and despite its ability to run crappy and cross-platform software, the Mac is doing quite well today. Jason indirectly acknowledges this, citing TweetDeck as an example of a “horrible Mac app,” largely due to its origin in Adobe AIR. Yet the availability of software such as TweetDeck has not seemed to have a damaging effect on the Mac’s reputation or sales.

More generally, would you support Apple blocking such software from the Mac (assuming it even could)? If not, then you should reflect on whether you want to support this same move on the iPhone. Do you really want Apple to be the sole arbiter of what is an acceptable level of “quality” for an iPhone app?

There is also the issue of the enforceability of Section 3.3.1. As pointed out in by Hank Williams: “It is perhaps reasonable to specify the nature of the programs that can be sold in the AppStore. It is not reasonable to specify how developers create those programs so long as the end result meets the specified end result criteria.” Joe Berkowitz makes a similar argument: “I think the outrage should be over the metaphysical angle here, not the business angle…What if Ben writes a Flash app, shows it to Amy, who codes it up in Objective-C, compiles it and submits it to Apple? Should it be rejected since it was not “originally written” in Objective-C? If you think Apple’s answer would be ‘no’ — a good guess — then substitute Adobe’s iPhone Packager for Amy. Now should it be rejected according to the rules? What, at the end of the day, makes Amy different from a machine translation tool?” I can find some flaws in this analogy, but it makes a worthy point.

All of that said, if I became convinced that Apple would indeed “lose control of the OS” by abandoning 3.3.1-like restrictions, I would side with Apple. No question.

• Flash-based apps will not work with iPhone OS 4’s multitasking. This argument has been forwarded by Daniel Dilger in an AppleInsider posting. I don’t have enough information to know for certain whether or not this concern is justified. It’s probably too early to tell. However, it does seem plausible. If this proves to be accurate, I would likely support restrictions needed to ensure that apps are compatible with multitasking.

However, this raises a more general question. Why not let the market decide? That is, if a developer makes an app that doesn’t work with iPhone OS 4’s multitasking, why not assume that iPhone users will reject it? End of story. That’s the way it would likely play out on a Mac.

The problem is that the iPhone is not a Mac. Much more so than on a Mac, iPhone users would blame Apple for the lack of multitasking support in a given app rather than the app itself. This is particularly so because all apps must be approved by Apple before they show up in the App Store. A user could legitimately ask: “If Apple knew an app didn’t work with multitasking, why did they approve it?” With a Mac, there is no App Store; users thus know they must assume a greater responsibility for what software they install. The upside is that they get to install whatever they want on their Macs.

This, at last, brings us to a key matter that goes beyond the specifics of Flash-based software: the role of the App Store and its approval process.

• Regardless of what you think of the wisdom of Apple’s decision in this case, Apple has the right to determine what is accepted or rejected from its App Store. According to Apple’s defenders, Apple not only has the right here, but we should be glad Apple exerts this right as forcefully as it does. For one thing, it keeps undesirable apps from the Store (such as pornographic software). These defenders point to the availability of close to 200,000 apps with billions of downloads as evidence that innovation is not being stifled and that the public is largely content with the available choices.

As John Gruber argued in reference to 3.3.1: “Perhaps iPhone users will be missing out on good apps that would have been released if not for this rule…My opinion is that iPhone users will be well-served by this rule. The App Store is not lacking for quantity of titles.” Jason Snell adds: “Apple would rather be seen as a heavy-handed arbiter of app approvals than be seen as the purveyor of a product that runs bad stuff.”

Of course, as even John and Jason admit (and as I discuss more in a moment), Apple’s decisions are not primarily motivated by an unselfish desire to provide its users with the best quality content. It comes down to money. Apple is doing what it believes will be most profitable.

In so doing, I believe that the App Store approval process does keep out some useful and innovative apps. It’s a subject I have written about many times before (here is just one example). Did you see Steve Jobs demo the iPhone on a large screen at last week’s special event? Would you like to be able to do the same thing? Are you irritated by the confusing and complicated procedure needed to share files between iWork apps on an iPad and a Mac? Would you prefer something simpler? Are you puzzled as to why the iPhone is just about the only Bluetooth-enabled phone that cannot share files with a Mac over Bluetooth? Would you like the iPhone to be overall less restrictive about what Bluetooth peripherals will work with it? If you answered “Yes” to any of these questions (or many others I could have posed), I have good news and bad news. The good news is that all of these things can easily be done with the iPhone you now have. The bad news is that it cannot be done without jailbreaking your iPhone. Apple rejects apps that could do these things.

Personally, I am not a big fan of jailbreaking. I don’t like all the hassles, complications, and risks involved with the process (assuming a jailbreak is even possible on your particular iPhone OS device). I would prefer if there would no need for it. My preferred solution would be for Apple to offer some semi-hidden advanced mode, one that would allow motivated users to install apps that bypass the App Store. That way Apple could do whatever it wants with the App Store without preventing me from doing whatever I want with my iPhone OS device.

Steven Johnson, writing in the New York Times, makes this same point, noting that the iPhone OS “must rank among the most carefully policed software platforms in history…Apple could certainly quiet a lot of its critics by creating some kind of side door that enables developers to bypass the App Store if they wish. An overwhelming majority of developers and consumers would continue to use the store, retaining all the benefits of that closed system, but a secondary market could develop where more experimental ideas could flourish.”

I don’t see this as having a significant deleterious effect on the iPhone. In some cases, such as with Bluetooth support, Apple is probably worried about developers introducing multiple proprietary APIs. This is a possibility, but such APIs would be restricted to the backwater “side door.” If an API ever showed signs of becoming widely adopted, that would be a sign that Apple should step in to meet the demand. Apple could implement its own version of the API in the next OS update — making the third-party APIs superfluous. Otherwise, Apple could safely ignore it.

This also gets around the argument that Apple should be able to limit what it carries in the App Store, just as retail stores decide what products to carry (or not carry) on their shelves. I have never entirely bought this analogy, as it ignores the fact that iPhone users have no other store to go to for apps. Turn the analogy around: If you don’t like the selection of iPhone cases at the Apple Store, you can find more cases at dozens of other stores. For iPhone apps, there is only one store: the App Store. However, even if you buy into the original analogy, the “advanced mode” offers a way to satisfy both camps.

As long as Apple continues to make a healthy profit under its current rules, I have no expectation that Apple will ever implement any sort of advanced mode. But I can dream. My only real hope is that the iPhone’s future success may ultimately be the catalyst for change. If the day ever comes that the iPhone dominates the market the way Windows dominates desktop computing — or if the day ever comes that the iPad evolves into a product that largely replaces laptop computers for most Mac users — we will hopefully see end users and perhaps even the government become uncomfortable with Apple’s level of control.

At some point, if and when all your computing devices run the iPhone OS, I suspect many (most?) users won’t be pleased that their software options are entirely dependent on what meets Apple’s approval.

As for the government, remember Microsoft’s plot to kill QuickTime? Apple could one day find itself in similar legal hot water if the iPhone OS ever attains Microsoft’s monopoly-like status. We’ll see.

• Apple is in the business to make money. Making customers happy is a secondary goal at best. In response to complaints that Apple’s ______ action (you fill in the blank with whatever your current objection may be) will “piss off developers” or “upset users who expect a more open platform,” someone points out the obvious: Apple’s primary objective is not to please all of its customers, except to the extent that pleasing customers translates into sales. Jason Snell sums this up: “Apple is neither a charity nor a public utility. It’s a profit-making corporation with a whole lot of shareholders and billions of dollars in the bank. Apple exists to make money…It’s not remotely interested in pleasing everyone.” Although Jason does not make the leap to the next step, I have seen numerous comments from others that use such logic to claim that Apple’s behavior should be immune from criticism if it is making money for its shareholders.

I agree with Jason but not with those who take the next step.

There are many things a company could do in the pursuit of profits that I believe we would all readily criticize. For example, imagine that a pharmaceutical company decided that it was more profitable to continue selling a drug that it knew to be dangerous — on the logic that any fines and legal fees it would subsequently pay would be less than the money it stood to make in the interim. I don’t think you would excuse this on the grounds that the drug company is not a “charity or a public utility.”

I don’t mean to suggest that Apple’s behavior is this odious. I just want to make the point that there are limits. And you don’t have to go as far as the drug company example to potentially cross them. While I understand that Apple is not in the business of addressing my every whim and desire, a profit motive is not an immunity clause against legitimate criticism.

• You can always vote with your pocketbook. This is a corollary to the previous item. If you disagree with Apple’s profit-motivated decisions, if you’re unhappy with Apple’s almost obsessive control of the iPhone OS, there’s a simple solution: Don’t buy from Apple. As a bonus, if enough people follow your lead, the market will force Apple to change.

True enough. No one is forcing me to buy an iPhone. There are alternatives.

The problem for me is that I live in the Apple universe. I have owned a Mac since 1984. Virtually every computing device I have owned since has come from Apple. I stuck with Apple in the dark days of the 1990’s and I “bleed six colors” (as they used to say when Apple had a rainbow logo) even today. In most respects, I am immensely happy with Apple products. They are invariably better than any alternative I might consider. That’s why I buy and use them. I don’t want to vote with my pocketbook. I have virtually no interest in shifting to another brand.

Apple is not perfect however. It is a company that I greatly admire but that occasionally does things that infuriate me. On those occasions, I’ll express my frustration and implore for a change. After that, I’ll go back to enjoying my new iPad.