• Enter your e-mail

RSS

Round the Square

The Apple developer paradigm: The house must be kept white and glossy

by Jeff | April 15th, 2010

A few weeks ago, I decided to take a rather large fiscal plunge and pick up my own copy of the Adobe Production Suite CS4. It’s a great, albeit pricey, package including various pieces of industry standard video, web, and motion graphics production software like Photoshop, Illustrator, Flash, Premiere, After Effects, and more.

I was, of course, somewhat peeved when I discovered I’d chosen to make my purchase a mere period of weeks before the release of CS5. But hey, no big deal; the changes between these versions couldn’t possibly be too dramatic. Could they?

Of course, I then find out about all the wonderful new features in CS5, including Photoshop’s awesome new “content aware” tools:

Hyperbolic parody aside, one of the other more intriguing features is Flash CS5′s compile for iPhone capability. It implies that someone may be able to use Flash to create a multi-platform application, deliverable on the internet and the iPhone without having to redo the application in Objective-C, C++, or C. As someone who is more experienced with ActionScript/Flash than those more traditional programming languages, I found myself intrigued.

I then discovered, however, the recent hubbub around the internet regarding Apple’s latest revision to their iPhone developer agreement. In particular, the changes to section 3.3.1 that came packaged with the new OS4 beta SDK (Software Development Kit). The section used to read:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

But now reads:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. 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).

Translation: build with our methods or don’t build at all.

This section now prohibits the use of any third-party compiler or development platform that doesn’t have the explicit approval of Apple. This continues a consistent trend of xenophobic company policies that have become all but expected of the contemporary Apple.

I can, however, understand why such policies are in place. For example, Apple refuses to allow its Operating Systems to be run on non-Apple hardware, a decision that forces those who enjoy the Mac GUI and infrastructure to buy Apple. Likewise, iPhone developers having to jump through Apple’s hoops corrodes the ability of competitors to profit off of creating developer tools for the platform. It also gives Apple a strong method of enforcing quality controls.

The downside? A closed ship can get stuffy. Applications developed for multiple platforms (not just the iPhone) are far less likely to dance to the tune. For example, there’s a good chance that Firefox (which I need not point out is wildly popular with Mac users) may not be developed on OS4. Likewise, singular pathways for development can stifle innovation as much as they prevent substandard apps.

The reaction among the developer community seems largely negative, though it is yet to be seen if this is simply irritation or the type of thing that will cause more than a few defections to Android. If the latter proves to be the case, then Apple may have to “think different” (see what I did there?).

For now, at least, I don’t have to feel quite as bad about being stuck with CS4.

Categories Digital Media

to our website



Comments (3)

Leave a Reply