Apple's new iPhone restrictions and the 5 stages of grief

Apple's new iPhone restrictions and the 5 stages of grief

Summary: Apple's developer agreement for iPhone OS 4 requires apps to be "originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine". With this change, Apple appears to have put the kibosh on hundreds of apps already on the market and destroyed a cottage industry of cross-platform tools including Flash CS5, Unity, and MonoTouch.

SHARE:

A change in Apple's new iPhone OS 4 developer's agreement is putting application writers through all 5 stages of grief ever since it was released last week. According to the Kübler-Ross model, the 5 stages of grief are: Denial, Anger, Bargaining, Depression, Acceptance. Since the change, Anger and Denial have been reverberating across the net, with signs of Bargaining and Depression to follow. Is Acceptance on the way, or will this be the final straw that drives developers to Android and other alternative operating systems?

It started when Apple released a software developer kit for its upcoming iPhone OS version 4. Before using the new SDK, developers must click on one of those "I agree" buttons indicating acceptance of pages and pages of legalese that nobody ever reads. Well, almost nobody. Daring Fireball's John Grober read it, and (in apparent defiance of Apple's secrecy clauses) posted the interesting parts on his blog. Now Apple is faced with the biggest brouhaha since the App Store was created. Section 3.3.1 is the part that has developers up in arms:

3.3.1 — 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).

With that single paragraph, Apple appears to have put the kibosh on hundreds of applications already on the market or in the works, and destroyed a cottage industry of companies building cross-platform development tools that had hoped to bridge the gap between iPhone, Android, and PC programming. Let's take a look at who stands to lose the most. Adobe is the largest, but by no means the only, company affected. Apple has always banned Flash from the iPhone, but Adobe had found a way around the restrictions by translating Flash programs to native iPhone apps in its new CS5 suite. In iPhone OS 4, that won't be allowed any more. Lee Brimelow, an Adobe platform evangelist, famously wrote "Go screw yourself Apple" on his personal blog after hearing of the change. Meanwhile, Adobe's CTO was more sanguine:

The ability to package an application for the iPhone or iPad is one feature in one product in Creative Suite. CS5 consists of 15 industry-leading applications, which contain hundreds of new capabilities and a ton of innovation. We intend to still deliver this capability in CS5 and it is up to Apple whether they choose to allow or disallow applications as their rules shift over time.

Novel, who sponsors the Mono project, is working on a system called MonoTouch that lets you write programs in the C# language (or port existing programs from Windows and Linux) and compile them to native iPhone apps. A strict reading of the new agreement seems to disallow that, but a Novel blog post shows they are still in the denial phase:

We believe that MonoTouch brings an impressive value to the Apple ecosystem. MonoTouch's C-powered runtime blends the power of native code and Apple's iPhoneOS APIs with type safety, automatic memory management, and other benefits that years of runtime innovation have delivered to the ISO Common Language Infrastructure. We are reaching out to Apple for clarification on their intention, and believe there is plenty of room for course-correction prior to the final release of the 4.0 SDK.

Corona from Ansca Mobile is a tool for rapidly creating iPhone games and apps without the complexity of XCode or Objective-C. Instead, you use a language called Lua. On their home page they brag about a developer who used the toolkit to develop an iPad game in a single day. The iPhone OS 4 agreement requires programs to be originally written in Objective-C, not Lua. However, on the company blog Carlos Icaza, CEO of Ansca Mobile is still holding out hope:

Let me reassure all of you that we will do whatever it takes to make this work, just like we have been doing since Corona first started shipping. ... I, along with my co-founder Walter Luh, have reached out to Apple both officially and unofficially, and we continue to do our diligence in regards to the new TOS. We have also been in touch with other companies that are in the same situation we are. To this day, Apple has never officially or unofficially mentioned anything to us regarding non-compliance.

Appcelerator makes a product called Titanium that lets you build "native" mobile and desktop apps with web technologies. You write your program in JavaScript and the tool generates a native Objective-C version for you. According to the iPhone OS 4 agreement, that will no longer be allowed. However, on the company blog, Jeff Haynie writes:

It’s our belief that we are fully in compliance with iPhone OS 4.0 ToS as we interpret them. ... Titanium produces a valid XCode project at application creation, generates Objective-C (and sometimes C/C++) and executes the xcodebuild to compile your XCode project into a native application using Apple’s published APIs. We believe Titanium adds value to the Apple Development ecosystem and enhances the Apple platform for many thousands of developers around the world. As we always have, we will continue to work with Apple to ensure we stay in compliance with their terms of service.

With all the fuss you might think Apple would simply bow to criticism and remove the offending clause. You might be wrong. Greg Slepak of the Tao Effect manged to get an email conversation going with Steve Jobs himself over the controversy. The results are interesting. Apparently Jobs and company made the change deliberately in order to prevent the rise of meta-platforms, de-facto standard software platforms on top of Cocoa Touch. Greg quotes Jobs as saying:

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform

Not everybody is unhappy with Apple's position. Freelance artist Anthony Sigalas, who graciously granted me permission to use and modify his artwork for this article, writes:

The restrictions of languages and tools people can use to create Apps are rightly imposed in my opinion, to keep the new platform clean with Apps created by developers with deep understanding of the specified platform. A create once deploy everywhere application with e.g. Flash CS5 does little or nothing at all to take advantage of the amazing technologies possible exclusively to iPhone OS. I know as a heavy user that I wouldn't want those kind of Apps in my iDevice springboard. All in all it's Apple's platform and they can dictate their set of rules.

Assuming Apple does not back down, this could signal another wave of developers leaving the platform in favor of others such as Android and Windows Mobile. Or, they could just decide to stay because the market for iPhone, iPad, and iPod touch is too large to ignore (80 million+ devices by the last estimate). It reminds me of the decision by Google to pull out of China. Some will pull out on principle, but will it be enough to make a difference?

Another parallel was Apple's decision years ago not to allow Mac clones. Ultimately this relegated the Mac to a niche, never getting over 10% of the overall personal computer market. Apple seems content with that, but developers betting on them to make a living might not.

Topics: Hardware, Apple, iPhone, Mobility, Smartphones, Software Development

Ed Burnette

About Ed Burnette

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. He has written numerous technical articles and books, most recently "Hello, Android: Introducing Google's Mobile Development Platform" from the Pragmatic Programmers.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

116 comments
Log in or register to join the discussion
  • wave?

    "annother wave of developers leaving the platform in favor of others such
    as Android and Windows Mobile."

    in your dream, ed, only in your dream. there is no wave only in the
    opposite direction. remember 185.000 apps for the iphone/ipod touch.
    more than 3500 for the ipad (in ONE week!). actually the number of apps
    and developers is accelerating.

    a few vocal self-exposer of the blogosphere don't make a wave.
    bannedfromzdnetagain
    • How do explain this then?

      http://www.appcelerator.com/mobile-developer-survey/ (March 23-25):
      "Increased competition among mobile platforms shows that Android (81% very interested in the platform) is closing in on iPhone (87%), while Blackberry (43%) and Windows Phone (34%) have doubled and nearly tripled their developer interest numbers, respectively, in just two months."

      http://metrics.admob.com/2010/03/admob-publisher-survey/ (March 23):
      "More than 70% of iPhone developers plan to develop for Android over the next six months and close to half of Android developers (48%) plan to develop for iPhone." (note: AdMob is owned by Google)
      Ed Burnette
      • Very easy. Microsoft supported surveys ~ Not like it hasn't happened B4!

        Oh, and you too, you Microsoft fanboi!
        The Danger is Microsoft
        • Good argument.....

          Way to make a case. Someone get this man on a law firm, pronto!
          OhTheHumanity
      • Airport WIFI Traffic...

        I know who I would develop for first.

        http://www.boingo.com/blog/?page_id=1691
        CowLauncher
        • Cupertino Airport maybe...

          This does not reflect anything other that the IPhone's proclivity to attach to WiFi. It certainly does not reflect the proportion of devices passing through airports -- unless of course the only airport surveyed is in Cupertino.
          NameRedacted
          • I've seen airport Wi-Fi be notoriously buggy even before iPad.

            When simply moving past a column in the walkway can mean the
            difference between signal and no signal, can you really take the Wi-Fi
            complaints seriously? BWI is spotty at best.
            Vulpinemac
      • Looks to me like nobody's leaving Apple...

        ... based on everything you just copied. Interest in developing for another
        platform doesn't mean moving full-time to that other platform. Nothing
        there uses the word 'Move," merely 'develop.'

        It also doesn't help you that the data is now over 2 weeks old and the
        iPad platform isn't even mentioned.
        Vulpinemac
    • wave?

      Many of those apps were built from third party apps. Without a doubt
      this move WILL damage Apple developers. PC devs won't move to
      Apple and that is where a lot of your "wave" of new developers were
      coming from. Cardinal rule #1 don't mess with a developer's tools. If
      it does the job to spec then leave it alone. Many of these tools
      packaged to native ObjC. So this was nothing more than again telling
      everyone use Apple or go somewhere else. I am afraid people will go
      somewhere else.

      If Microsoft pulled this stunt it would be on the evening news. The
      Feds would be suing and Microsoft would be banned for life from the
      EU.

      Lets get real. This was a dumb paranoid move. Clarify the language
      of 3.3.1. Heck Apple make some money and license them rights to
      make 3rd party tools!! Then you have control of the output and make
      money again.
      cynmobile
      • feds and microsoft and apple puts restrictions to prevent people from free

        They prevent people from doing what they love
        marvinlol666
    • You can't be serious...

      The Google Market place is growing at a pace that far exceeded Apples at this point in the Iphone life cycle...

      Also, a lot of developers have jumped ship because of the Apple limitations and now they're being forced to choose between Multitasking and Easy Development so you'll see companies like Novell (ed get it right) creating the same layer for Android (really easy to do seeing that mono exists on Linux) and Adobe Accelerating Flash Development for Android to Spite Apple.

      Watch, Apple is going to lose their choke hold on the market with these releases because Jobs is the same old punk he's always been.
      slickjim
      • wishful thinking

        cold, hard numbers still tell another story.
        bannedfromzdnetagain
      • Peter Peter, Humble Pie Eater

        AAPL: going ... up, and up, and up.

        A year from now, you'll be just another one of many fools looking ... even
        more foolish.
        brian ansorge
        • Be careful of throwing stones.

          This time next year you may find yourself in a greenhouse.
          Bozzer
  • Apple is not the only fruit

    I suspect the timing is more to do with Android (not flash). Since Android is mainly a java development platform, Apple's restrictions stop people developing cross platform between iPhone & Android.

    However, Android app numbers are increasing at an incredible pace. So it won't stop everything that's on iPhone being available on Android.

    iPhone relies on Google for a lot of its features and so as time moves on, Android will likely end up with more Google features than iPhone.

    And of course they only develop for iPhone because it sold a lot, but that will stop if Job's restrictions become too onerous. At some point it's just not worth the money to jump through Job's hoops.

    Plus I think iPad will flop, screen/keyboard combos don't work, the screen should be at eye level to be comfortable, the keyboard at hand level.

    So it's kindof an awkward compromise that won't display flash sites properly. Without another hit, I don't believe iApple lockins work.

    i.e. This is a stupid choice that will backfire.
    guihombre
    • restrictions

      why would they sell less when Job's restrictions become too onerous?
      what restrictions? the ones that didn't prevent apple from selling already
      85 million iphones and ipod touches? dream on.

      and for updates on the ipad flop, have a look here:
      http://labs.chitika.com/ipad/

      i would propose to bookmark it. more than one million will have been
      sold next week. oops. total iFlop.
      bannedfromzdnetagain
      • Even I, as an Apple supporter, think your link is weak.

        Only stats from Apple count. This silly site that uses a custom algorithm to 'guesstimate' sales is rather weak.

        Yes, iPad is selling well. Don't dip down to the cellar (the Chitika site) to support your opinion, K?
        The Danger is Microsoft
        • agreed

          at the moment it is just an indication.

          we'll see.
          bannedfromzdnetagain
      • Link Blocked by Ad Blocker

        Turned my ad blocker off and saw that this nonsense is nothing more than some half-baked estimate. Fail.
        NameRedacted
      • apple had DRM restrictions that prevents people from freedoms

        Adobe flash has DRM too
        marvinlol666