• Tutorials
  • Blog
  • About
  • Contact
  • Apple is Changing their Terms of Service 3 Days Prior to CS5 Launch

    2010 - 04.08

    CompileForIPhoneLast week I wrote “Looking into a crystal ball, I fear Apple will deny all Flash built content on the iPhone App store.”  I think I’ll be keeping that crystal ball around because today Apple announced their new iPhone OS4 and made a few minor changes to their terms of services (TOS):

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

    was changed to:

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

    The general interpretation of this change is that Adobe’s new ‘Compile for iPhone’ feature would violate the TOS (terms of service) agreement.  This is all going down 3 days before Adobe is expecting to announce their new CS5 suite.

    Now I’m not saying that Apple is intentionally sending a big f-you towards Adobe . . . actually . . .  ok, yeah,  that’s what I’m saying.

    The timing of the TOS change couldn’t be worse for Adobe.  On Monday, Adobe is launching CS5 and one of the biggest expected announcements was the ‘Compile for iPhone’ (highlighted at the Max keynote)  Peter Elst of Adobe even goes so far as to call the timing ’a malicious move‘ by Apple.

    Adobe employees have spent countless hours developing, writing example code, and documenting the process of building flash applications for the iPhone.  This is an astronomical amount of work and while it might not be a financial burden for Adobe, it is in fact dispiriting for all of the individuals who worked hard to make this feature possible.

    Adobe’s official twitter response is:

    We are looking into the new SDK language. We continue to develop Packager for iPhone OS which will debut in Flash

    The CS5 code is and has been in lock down for sometime.  One would expect for Flash CS5 to ship with the ‘Compile for iPhone’ feature still included.  The good news is developers should be able to get Flash applications on to their own personal provisioned phones but it doesn’t look good for submission to the Apple App Store.

    Why Apple, why?

    (I previously wrote about this here)

    Apple has always enjoyed controlling every aspect of their product line.  Allowing Adobe to partake in development tooling means that Apple has less control over one aspect small aspect of iPhone universe.  If Apple is truly the cell phone ‘Soup Nazi’ then any loss of control is a bad thing in their mind.

    A large influx of Adobe generated applications means that Apple would suffer more App Store distress and an extreme slow down to the application approval process.  Add increased traffic from iPad application submissions and you have a recipe for disaster.

    I’m also suspicious that Apple may have wanted to discourage their developers from being able to cross compiling all of these applications to other mobile operating systems.  (Check out ‘One Application, Five Screens’)  Apple’s unique and increasing library is one of it’s largest selling points when courting users.
    How Apple, how?

    Apple isn’t looking to turn away applications made in JavaScript.  Solutions like PhoneGap should continue to work correctly however UnityOpenPlug ELIPSMonoTouch, and XMLVM are all question marks. I’ll go out on a limb and guess that Apple won’t be too restrictive with these other cross compilers.

    Apple will most likely be enforcing this new rule by take a strong look at the additional and mandatory binary signature that is required to make Flash on the iPhone work.  Do these other cross compilers have a similar binary signature that identifies them as being cross compiled?  (I’m asking because I have no idea.  Comments anyone?)

    Adobe Could Respond

    Adobe originally didn’t seem worried about the possibility of this:

    Adobe’s Jeremy Clark has said:

    iPhone applications built with Flash Platform tools are compiled into standard, native iPhone executable packages and no runtime interpreter is necessary to run the application. Over 30 Applications built using the Flash Packager for iPhone have already been accepted in the iPhone app store so we’re confident that our method fits within the rules of the iPhone App Store.

    I hope that Adobe’s confidence in the ‘old rules of the iPhone App Store’ didn’t blind them into not having an alternative plan.

    What kind of alternative plan?

    I hope that Adobe is considering letting Flash for the jailbroken iPhone quietly slip out the backdoor. I have theorized that Adobe could do it. I just hope that this prediction comes true.

    Or maybe Adobe has a far better alternative that they will wow us with on Monday.  I just hope that Adobe isn’t (as John Gruber puts it) royally fucked.

    Other suggested responses?  Quit developing software for the Mac maybe?

    Be sure to comment with ideas and opinions.  Thanks!

    9 Responses to “Apple is Changing their Terms of Service 3 Days Prior to CS5 Launch”

    Your Reply