The Apple Voodoo

I love the iPhone. As usual when it comes to Apple gadgets, the feeling for design and thinking outside the box produced a phone that finally made me see the point of a smart phone.

The one thing that’s always bothered me though is the App Store and conditions. A central directory of apps and central point of download is a good idea. A standardized update procedure is an even better idea, at once solving all the bullshit problems windows users have to put up with (how interested are you in updating Adobe Reader or Java all the time, really?)

The one thing I don’t agree with is the approval process. And Apple just went from tolerably bad to intolerably worse on that one. I think it’s a bad decision to restrict what you may run on the phone and how, but it’s still a decision I can respect — their rules on how you execute stuff within the context of their operating system.

However, the new terms of service for iPhone OS 4 says this:

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

Here’s where Apple has clearly and definitely stepped over the line. Not only must the resulting application conform to certain demands, now my development process must conform to certain demands?

Code generation is an incredibly useful technique, and they’re banning it simply to stop the Flash compiler and make a grand statement? Either way, how in the world are they planning to enforce this? Will this lead to an arms race between Apple trying to detect application code that has been compiled to C, C++ or Objective-C and a company like Adobe making a compiler that compiles Flash to those languages in a way that looks as close to human-written as possible? Unless I have to submit a full-length video of myself coding the entire thing, there is just no way to tell with a reasonable accuracy.

How much collateral damage is acceptable, Apple? How many other companies and customers will suffer over your crusade against Flash? How many developers will hate your guts before this is over? There are just so many pins the developer voodoo doll will take.

The iPhone app craze will eventually die as more people realize the gold rush is over. And at that point, Apple can keep its Objective-C Nazi corner, while the rest of us go back to using the best tools for the task at hand.

4 Comments

  • By Lina Inverse, Sunday, April 11, 2010 @ 0:35

    Well, the other theory is that having established its lead, Apple has the most to lose from cross-platform apps that also run on Android. People have noted that games in particular don’t tend to be at all platform specific.

    That would at least make *some* business sense to counter all the damage you enumerate above so well.

    But it that’s why they’re doing it, it’s certainly not a sign they’re confident of keeping their lead on their own merits.

  • By slicedlime, Sunday, April 11, 2010 @ 0:39

    That’s an interesting point. Lots of people know flash though, so I see a reasonably large risk that the result is the opposite: Android-specific games.

  • By Riddlemaster, Sunday, April 11, 2010 @ 1:06

    Interesting post. I won’t be surprised if many developers would turn away from apple to the android (where there are no such silly restrictions). But still I don’t know (probably no one does) how on Earth they want to enforce that?!

  • By Daniel Rodríguez, Sunday, April 11, 2010 @ 2:21

    You should mention that this ban also affects other tools for creating games like Unity3d (www.unity3d.com). I think this is very important since this is a game development blog.

Other Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment

WordPress Themes