There’s a been a lot of talking about the now famous Section 3.3.1 of the iPhone Dev Agreement, the one that bans applications written in other programming languages than Objective C. As Gruber pointed out in his Steve Jobs-endorsed post, Apple wants to make Obj-C and the Cocoa Touch API the de facto standard for mobile applications, period.
But in my opinion that of banned cross-compilers is not that a big of a deal compared to what developers found out in Section 3.3.9 of the iPhone Dev Agreement.
It turns out that Apple is banning the use of 3rd party analytics and services, thus making impossible for services like Flurry, MediaLets and SimpleGeo to be embedded by developers into their applications. This sounds crazy, we know, so let’s just include an excerpt of the agreement:
”- All use of User Data collected or obtained through an Application must be limited to the same purpose as necessary to provide services or functionality for such Application. For example, the use of User Data collected on and used in a social networking Application could be used for the same purpose on the website version of that Application; however, the use of location-based User Data for enabling targeted advertising in an Application is prohibited unless targeted advertising is the purpose of such Application (e.g., a geo-location coupon application).
- You may only provide or disclose User Data to third parties as necessary for providing services or functionality for the Application that collected the User Data, and then only if You receive express user consent. For example, if Your Application would like to post a message from a user to a third party social networking site, then You may only share the message if the user has explicitly indicated an intention to share it by clicking or selecting a button or checking a box that clearly explains how the message will be shared.
- Notwithstanding anything else in this Agreement, Device Data may not be provided or disclosed to a third party without Apple’s prior written consent. Accordingly, the use of third party software in Your Application to collect and send Device Data to a third party for processing or analysis is expressly prohibited.”
As you can guess, this may be a bigger deal than the Adobe / Apple problem with cross compilers: it bans a lot of analytics tools, advertisement and geo location external services developers used to implement in their applications to get accurate reports about how people used their apps. As we can see in the agreement, “the use of third party software to collect and send data is expressly prohibited”. Nice touch, Apple.
Also, please take a look at the first clause , the one that talks about “use of location-based User Data for enabling targeted advertising”. It’s prohibited. Basically, unless an application’s purpose is that of providing location-based advertising - say, like local coupon codes and sales - location based advertisement will be no longer allowed. The promise of Foursquare and Gowalla revolutionizing local businesses may be gone for good.
All in all, could this be Apple’s first move in providing itself a system for analytics? Of course I can see the ban of ads as a reference to iAd, but 3rd party analytics really surprised me.
No doubt worrying times are coming for developers and founders of these services that, until now, provided an excellent way to collect data and stats about applications. This is a bigger deal for developers.