Why did Apple change its mind on app development

  • Avatar

    Posted: 09 September 2010 05:15 PM

    I’m wondering what motivated Apple to change its mind about restrictions on iOS app development. Any ideas?

    Here are the points as outlined by Gruber including his comments.

    SECTION 3.3.1 ? THIRD-PARTY DEVELOPER TOOLS AND LANGUAGES

    This is the section that was changed a few months ago, with the release of iOS 4.0, to ban the use of third-party developer tools. In the 4.0 version of the agreement, section 3.3.1 read (italics added):

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


    In today?s updated agreement, the entire italicized section has been removed. There?s no longer any mention of specific programming languages, nor any prohibition against ?intermediary translation or compatibility layers?. This means, I believe, that tools such as Adobe?s Flash cross-compiler are no longer banned from use. If you can produce a binary that complies with the guidelines, how you produced it doesn?t matter.

    SECTION 3.3.2 ? INTERPRETERS

    Old:

    3.3.2 An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple?s Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple?s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

    New:

    3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple?s built-in WebKit framework.

    I don?t think this new language is a change in policy. It?s just a shorter, more direct explanation. So, for example, games that include a Lua interpreter are OK, but only if they use the Lua interpreter to run scripts that are hard-coded into the app bundle itself ? it can?t be used to interpret script that users can download or install later. This change in language matches the de facto policy that has been applied by the App Store reviewers.

    SECTION 3.3.9 ? PRIVACY AND ANALYTICS

    Old:

    3.3.9 You and Your Applications may not collect, use, or disclose to any third party, user or device data without prior user consent, and then only under the following conditions:

    The collection, use or disclosure is necessary in order to provide a service or function that is directly relevant to the use of the Application. For example, without Apple?s prior written consent, You may not use third party analytics software in Your Application to collect and send device data to a third party for aggregation, processing, or analysis.

    The collection, use or disclosure is for the purpose of serving advertising to Your Application; is provided to an independent advertising service provider whose primary business is serving mobile ads (for example, an advertising service provider owned by or affiliated with a developer or distributor of mobile devices, mobile operating systems or development environments other than Apple would not qualify as independent); and the disclosure is limited to UDID, user location data, and other data specifically designated by Apple as available for advertising purposes.

    New:

    3.3.9 You and Your Applications may not collect user or device data without prior user consent, and then only to provide a service or function that is directly relevant to the use of the Application, or to serve advertising. You may not use analytics software in Your Application to collect and send device data to a third party.

    Again, shorter and sweeter. The language that seemed written specifically to ban AdMob ? the mobile ad network purchased by Google, a purveyor of mobile operating systems ? has been removed.

    That?s it for the significant changes to the developer license agreement.

    So the two “big deals” seem to be 3rd party programming tools and Google’s AdMob.

    [ Edited: 09 September 2010 05:20 PM by relentlessFocus ]

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Avatar

    Posted: 09 September 2010 05:43 PM #1

    That seemed to be the obvious answer but it suggests to me given the relatively short time they existed that it was short-sighted on their part to include them in the first place. Wouldn’t Apple have run the the agreement by their legal dept? Wouldn’t someone there say, errrmmm, well you may well be inviting some government interest?

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Avatar

    Posted: 09 September 2010 06:20 PM #2

    I think it is a great decision.  SJ must have witnessed the Law of unintended consequences.  In the process of trying to get developers to focus on Objective C and Apple’s IDE he put every major game developer into the gray area since they all rely on toolsets which include scripting languages for game logic and such.  So as he parades EPIC on stage to highlight all the great things you can do in gaming using Unreal 3, he realizes that the development tools don’t exist on the Mac and Project Sword violates the developer agreement.

         
  • Avatar

    Posted: 09 September 2010 06:27 PM #3

    pats - 09 September 2010 09:20 PM

    I think it is a great decision.  SJ must have witnessed the Law of unintended consequences.  In the process of trying to get developers to focus on Objective C and Apple’s IDE he put every major game developer into the gray area since they all rely on toolsets which include scripting languages for game logic and such.  So as he parades EPIC on stage to highlight all the great things you can do in gaming using Unreal 3, he realizes that the development tools don’t exist on the Mac and Project Sword violates the developer agreement.

    That makes sense. Jobs has taken to games in a big way since the iPhone/iPTouch proved to be such desired game machines.

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Posted: 09 September 2010 06:41 PM #4

    This was a common sense move at this time in the platform’s development. With the iPad added to the mix it represents a different market (and potential market) than that for the iPhone and iPod touch.

         
  • Avatar

    Posted: 09 September 2010 08:59 PM #5

    I still don’t understand the rationale behind the AdMob decision.

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Posted: 10 September 2010 03:14 AM #6

    Why do I not see this as a big deal? It’s a tweaking of terms.

         
  • Avatar

    Posted: 10 September 2010 07:35 AM #7

    DawnTreader - 10 September 2010 06:14 AM

    Why do I not see this as a big deal? It’s a tweaking of terms.

    I see it as a “deal” if not a big deal because these decisions got Apple a lot of unnecessary bad press at a time when Apple was receiving widespread bad press on several other issues including Flash, the walled garden v openness meme and “antennagate”.  Both The decisions in question brought interest from government regulators. All this *may* have contributed to Apple’s lacklustre share performance recently despite excellent financial performance and speaks to management decision making.

    It may simply be a sign of acknowledgement of past errors which is in itself a good thing, Or as Pats pointed out it may have been the result of other circumstances but for me, I’d like to understand how the company I’ve commmitted my future to is thinking. I see this as a bit more than tweaking some minor points in the SDK.

    [ Edited: 10 September 2010 07:42 AM by relentlessFocus ]

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Avatar

    Posted: 10 September 2010 08:21 AM #8

    For what its worth here are Apples guidelines for app developers. The last paragraph before the table of contents is why I love Apple.

    [ Edited: 10 September 2010 08:24 AM by relentlessFocus ]

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus

         
  • Posted: 10 September 2010 09:13 AM #9

    I think it’s simply a matter of Apple having swiftly and firmly blocked stuff they don’t like, and saying little about it until they have figured out a complete and workable set of rules to publish. They may also have been waiting for a third party toolset to be ready that does games better than Flash, for Gamecenter, and for the lawyers to review the softer wording and the app review rules for legality and effectiveness.

         
  • Avatar

    Posted: 10 September 2010 11:54 AM #10

    DawnTreader - 10 September 2010 06:14 AM

    Why do I not see this as a big deal? It’s a tweaking of terms.

    Perhaps because you’ve forgotten what Steve said about Flash and third party tools in his “Thoughts on Flash”.

    Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn?t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

    We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

    This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor?s platforms.

    Flash is a cross platform development tool. It is not Adobe?s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple?s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

    As for why… The buzz this morning is that it’s more consistent with the EU’s competition goals than what could placate the FTC.

    Oh, and it’s very clear that either Steve is lying to us above, or lying in saying that third party frameworks and tools are OK now. There is no reconciling the two positions.

         
  • Avatar

    Posted: 10 September 2010 12:36 PM #11

    Bosco (Brad Hutchings) - 10 September 2010 02:54 PM
    DawnTreader - 10 September 2010 06:14 AM

    Why do I not see this as a big deal? It’s a tweaking of terms.

    Perhaps because you’ve forgotten what Steve said about Flash and third party tools in his “Thoughts on Flash”.

    Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn?t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

    We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

    This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor?s platforms.

    Flash is a cross platform development tool. It is not Adobe?s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple?s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

    As for why… The buzz this morning is that it’s more consistent with the EU’s competition goals than what could placate the FTC.

    Oh, and it’s very clear that either Steve is lying to us above, or lying in saying that third party frameworks and tools are OK now. There is no reconciling the two positions.

    I guess nobody is allowed to change their mind.  Maybe rather then accusing him of lying you should accept both statements can coexist.  He doesn’t want flash and still want’s folks to use Apple’s tools, but has changed his mind on allowing Apps built using alternate IDEs into the App store.  Have you ever changed your mind on decisions in your life.  Do you call yourself a liar because you reassessed the situation and come to a different result.

         
  • Avatar

    Posted: 10 September 2010 01:32 PM #12

    pats - 10 September 2010 03:36 PM

    I guess nobody is allowed to change their mind.  Maybe rather then accusing him of lying you should accept both statements can coexist.  He doesn’t want flash and still want’s folks to use Apple’s tools, but has changed his mind on allowing Apps built using alternate IDEs into the App store.  Have you ever changed your mind on decisions in your life.  Do you call yourself a liar because you reassessed the situation and come to a different result.

    It depends how invested you are in a particular vision of truth. When heavily invested, it requires that you admit explicitly what you were wrong about. His decision to ban these tools was presented as based on some underlying reasons. The “facts” cited for those reasons do not seem to have changed. More explanation is needed so that people can better judge what he claims and does in the future.

         
  • Avatar

    Posted: 10 September 2010 01:52 PM #13

    Brad pretty much considers everything that SJobs says as a lie. When you start with that premise, all other discussion is pretty much useless. Jobs cannot (is not allowed to) change his position on anything, otherwise he has lied to us all.

    Quite sad, really.

    Signature

    Mac switchers see my profile for switching help…

         
  • Avatar

    Posted: 10 September 2010 01:58 PM #14

    Intruder - 10 September 2010 04:52 PM

    Brad pretty much considers everything that SJobs says as a lie. When you start with that premise, all other discussion is pretty much useless. Jobs cannot (is not allowed to) change his position on anything, otherwise he has lied to us all.

    Quite sad, really.

    It is sad that the CEO of a company many people love has a truth problem, and that his truth problem costs third party developers millions of dollars and countless headaches. Now, we can trade snarky attacks, or you can simply try to reconcile “facts” asserted in his Letter on Flash with the policy change he allowed yesterday. Actually, I know you can’t do that, because they just don’t mesh. Care to address the issue?

         
  • Avatar

    Posted: 10 September 2010 02:50 PM #15

    Bosco (Brad Hutchings) - 10 September 2010 04:58 PM
    Intruder - 10 September 2010 04:52 PM

    Brad pretty much considers everything that SJobs says as a lie. When you start with that premise, all other discussion is pretty much useless. Jobs cannot (is not allowed to) change his position on anything, otherwise he has lied to us all.

    Quite sad, really.

    It is sad that the CEO of a company many people love has a truth problem, and that his truth problem costs third party developers millions of dollars and countless headaches. Now, we can trade snarky attacks, or you can simply try to reconcile “facts” asserted in his Letter on Flash with the policy change he allowed yesterday. Actually, I know you can’t do that, because they just don’t mesh. Care to address the issue?

    I don’t know where your numbers come from but I guess you can say that because of SJ there are third party developers who have made hundreds of millions of dollars because of SJ’s vision.

    I don’t find it hard to reconcile the “facts” that you’ve pointed out above. You’re mixing two different issues. The stuff you quote from Job’s letter is about Flash code playing (poorly) on iOS devices and the change in rules doesn’t change that. Flash on the web won’t be playing on web pages on iOS devices. What the rule change does is something that wasn’t in that letter you quote, using Flash Packager to create write once use everywhere Flash code. I’m surprised that you’re conflating these and then decide that Jobs is a liar. Now that I think on it, maybe I’m not surprised. I think Pats gave a good explanation about why he might have changed his mind about the clause that was added to the iOS 4 sdk and then removed the other day.

    Signature

    news, backstory, analysis and opinion for investors in AAPL at my blog relentless focus