Bad Apple

I was previously writing about how Apple’s apparently random iPhone App Store policies could actually be so by design. (Because they save Apple from having to define and defend a universally acceptable set of policies, and because it can easily give special treatment when it so desires.)

Another example here, with a political cartoon app banned and then unbanned after the story got out.

Weirdly, what really got to me was how Apple recently changed their policies to prohibit developers from working in their language of choice:

“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).”

As a programmer, I find this particularly offensive because:

  1. I think developers have a right to use whatever tools get the job done.
  2. There are great applications out there written in Unity3D, for example, and horrible apps written in Objective-C.
  3. Apple’s benefits are fairly obvious and obviously hurtful for everyone else: Prevent cross-platform development; control innovation. (Flash included, of course.)
  4. It means that you cannot have a programming environment on the iPhone. Ever.
  5. The official argument from Steve Jobs is unashamed BS: “Intermediate layers” decrease application quality. Actually, no. There is a reason why developers use middleware, 3D engines, scripting languages and so on: Because they increase application quality. Apple’s argument is a variation on the old claim that “we should write everything in assembler because it runs faster”. This, like Apple’s claim, only holds true for developers with infinite resources and infinite time. There aren’t a whole lot of developers like that, so maximum application quality is reached by using the best tools for the given task and resources. Publishers should not try to decide those tools ahead of time.

A lot has been made out of how the lack of Flash on the iPhone/iPad prevents access to most video on the net. Perhaps that is a red herring. Video could run in HTML5.

The bigger program is that there are a lot of interesting (indie) games being done in Flash, and HTML just isn’t close to be being a game platform. (Can you even play sounds yet?) No indie Flash games for you, buy something from the app store instead.

Bad Apple.

2 thoughts on “Bad Apple”

  1. Indeed, Jesper. Apple are becoming increasingly Orwellian in their efforts to control absolutely everything on their platforms. On the one hand, tight control is part of what makes Mac computers run so well. On the other it is the obvious reason for their much slower rate of innovation and development of something as mainstream as games. Gamers are constantly pushing the edge of home computer tech, and Apple aren’t interested in that, so we still use PCs.

    Apple might sound like a cool way to get the shiny, Minority Report kind of integrated future, but at what price? Everything integrates great when EVERYTHING is manufactured and controlled by one corporation…

Leave a Reply

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