iPhone SDK first thoughts

March 6th, 2008 by ken

I haven’t even downloaded the SDK yet, but many of my questions can be answered from simply reading the documentation and license agreement.

1) How does File System access work?

From the FAQ:

How do I write information locally?
You can write to your application's local storage area.

From the Agreement:

An Application may write data on a device only to the Application's designated container area, except as otherwise specified by Apple.

So each application is sand-boxed. You cannot modify data from another application; for example, to edit the Notepad database, access iTunes media, etc.

2) What is Apple’s policy on using undocumented frameworks, classes or functions?

The SDK is great, but us developers have already reverse engineered the iPhone and know the iPhone OS inside and out. Can we still use routines we know about?

From the Agreement:

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

You are only allowed to do what is specified in the SDK manual. Anything else is completely off limits. Imagine if they had this rule on the Mac, just how stable things would be ;)

3) How picky will Apple be about UI design?

From the Agreement:
Applications must comply with the Human Interface Guidelines and other Documentation provided by Apple.

We are sorry to inform you that your app has been declined for inclusion in the App Store. Reason: Your app scored a 4.3 for Aesthetic Integrity. An Aesthetic Integrity score of 5 or higher is required. Please try again later.

4) What’s the problem with having to get your apps approved by Apple?

You have to play by their rules. Kind of takes some of the fun out of it.


7 Responses to “iPhone SDK first thoughts”

  1. Honoo Flammen Says:

    I remember seeing me some ugly Palm OS apps. Maybe having a gatekeeper and a $99 entry barrier is a good thing.

    :D

  2. Peter Hosey Says:

    I just looked at the SDK agreement and I don’t see any of those excerpts. I’m looking at the agreement in the iPhone developer registration form; what agreement are you looking at?

  3. ken Says:

    @Peter: Go to the iPhone Dev Center web page and click on “iPhone SDK Agreement”. Section 3.3 “Program Requirements for Applications “. You’ll find a long list of requirements; they’ve really covered their bases.
    -Ken

  4. Paul Says:

    @Honoo: It’s not as if you’re -forced- to use ugly apps. Freedom of choice is a good thing. This looks like it’s going to work out to be much more repressive than that. If so, that will be unfortunate for developers looking to do interesting new things, and users as well, who want functionality of which Apple doesn’t approve.

    @Ken: Quentin had a similar post lined up (we laughed and cried at what you quoted in #2), and canned it after we noted that the Agreement covers -itself-. I imagine you’ll be fine, but watch your back 8).

  5. Tristan Brotherton Says:

    How about the other massive limitation. You can only run one third party app at a time. (No multi tasking) and if you leave the app it closes. (no background applications). This kills it as a viable platform for me.

    http://www.techcrunch.com/2008/03/07/iphone-sdk-some-of-the-details-arent-great/#comments

  6. Dominik Wagner Says:

    “Applications must be approved and signed with an Apple-
    issued certificate before they can be tested on the iPhone or iPod touch, pursuant to a separate
    iPhone Developer Program License Agreement.”

    Approved before they can be tested? really? seriously?

  7. Geoff Wilson Says:

    @Paul On Palm OS, you really had no choice. The option was 1. Ugly App or 2. No App. I’m not sure it is even possible to create an entirely ugly app with the iPhone SDK. The default widgets and default user experience should make even simple apps acceptable. See the medical library browser demo thing in the keynote for an example.