Steve Jobs defends Apple's changes to iPhone developer agreement

Posted:
in iPhone edited January 2014
Apple co-founder Steve Jobs allegedly responded via e-mail to a developer who expressed his unhappiness with changes to the developer program license agreement for the iPhone 4.0 software development kit.



Greg Slepak, CEO of TaoEffect, said he sent an e-mail to Jobs after learning the iPhone 4 SDK banned the porting of Flash, Java and Mono applications. Specifically, the new agreement prohibits the development of apps using "an intermediary translation or compatibility layer tool."



Slepak told Jobs he believed the reaction to the change across the entire internet was negative, including from Daring Fireball's John Gruber, who Slepak called Jobs' "biggest fan." Jobs reportedly responded by sending a link to Gruber's commentary on why Apple changed section 3.1.1 of its developer agreement. "We think John Gruber's post is very insightful and not negative," the Apple CEO allegedly said.



Slepak wrote back and said he believes Apple's changes are "limiting creativity itself," and said he believes there are a number of applications written with cross-platform frameworks that are "amazing," such as Mozilla Firefox. Jobs, Slepak said, responded to his second note in about three minutes.



"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," he wrote.



Last October, Adobe announced that developers would be able to create native iPhone applications ported from existing software written in Flash. The feature is set to become a part of the forthcoming Creative Suite 5 from Adobe.



Apple's changes have sparked spirited debate, with one Adobe evangelist this week lashing out at the iPhone maker for what he felt was a "hostile and despicable move." Lee Brimelow, a platform evangelist with Adobe, who advocates Flash and related Flex and Air developments, gained attention when he said he believes Apple timed the change to "hurt sales of CS5."
«13456712

Comments

  • Reply 1 of 240
    lkrupplkrupp Posts: 10,557member
    I suppose this individual developer could create his own hardware platform if he is unhappy with Apple's license. Then he would be free to do whatever he wants with it, just like Apple. He could also just stop developing for the Apple platforms but that would probably hit him where it hurts, his income. Adobe could do the same thing, right? What to do, what to do?



    Does he have the right to criticize Apple's policies? Absolutely but it's a two way street and his lane is much narrower than Apple's. He's got less room to maneuver and Apple's has a bigger, heavier vehicle rumbling down the road.



    And every time a new OS X update comes out we see the results of those "intermediate layers" in the form of problems, crashes, reversions to the previous point release, and so on.
  • Reply 2 of 240
    tulkastulkas Posts: 3,757member
    Quote:
    Originally Posted by lkrupp View Post


    I suppose this individual developer could create his own hardware platform if he is unhappy with Apple's license. Then he would be free to do whatever he wants with it, just like Apple. He could also just stop developing for the Apple platforms but that would probably hit him where it hurts, his income. Adobe could do the same thing, right? What to do, what to do?



    Does he have the right to criticize Apple's policies? Absolutely but it's a two way street and his lane is much narrower than Apple's. He's got less room to maneuver and Apple's has a bigger, heavier vehicle rumbling down the road.



    That's right. Apple is the big boy on the block now, so that makes the right by default. While one does have the right to complain, you really shouldn't. Only if you have the resources to develop an entire platform on your own do your complaints have any merit. And in that case, you are then a competitor to Apple, so that invalidates your complaints as well. Best to just keep quiet and assume Apple cannot be wrong. Success==right.
  • Reply 3 of 240
    sflocalsflocal Posts: 6,093member
    This is a non-issue. This is not any different than working on any other closed, proprietary system. You want bad? This was lifted from the Nintendo Developers Site thanks to a poster on the Taoeffect site:



    ?Developer Qualifications: An Authorized Developer will have demonstrated the ability to develop and program excellent software for Nintendo video game systems or for other game platforms. In addition, an Authorized Developer will have a stable business organization with secure office facilities separate from a personal residence ( Home offices do not meet this requirement ), sufficient resources to insure the security of Nintendo confidential information and in order to ensure an effective environment for working with Nintendo and/or its Publishers. Nintendo provides Authorized Developers with highly confidential information and many of Nintendo?s Publishers also rely on recommendations and referrals to Authorized Developers. For these reasons, Nintendo exercises a very high level of care in evaluating Authorized Developers.?



    Other makers have just as bad policies as to what you can and can't do in order to make anything for their system. Raise as big a stink with other closed systems (including toasters) and maybe more people will listen to you.



    Until then, this is a non-issue for developers that did the smart thing by using the native SDK. The complainers are just the ones resistant to change. They are afraid to venture out of their safe bubble.
  • Reply 4 of 240
    Quote:
    Originally Posted by lkrupp View Post


    I suppose this individual developer could create his own hardware platform if he is unhappy with Apple's license. Then he would be free to do whatever he wants with it, just like Apple. He could also just stop developing for the Apple platforms but that would probably hit him where it hurts, his income. Adobe could do the same thing, right? What to do, what to do?



    Does he have the right to criticize Apple's policies? Absolutely but it's a two way street and his lane is much narrower than Apple's. He's got less room to maneuver and Apple's has a bigger, heavier vehicle rumbling down the road.



    And every time a new OS X update comes out we see the results of those "intermediate layers" in the form of problems, crashes, reversions to the previous point release, and so on.



    I somewhat agree with this. But I also don't like the direction this is going. When large platforms like Apple's and Microsoft's start locking out third parties it's putting the users in the position to choose one over the other. You're not going to be able to mix and match what you want. Or, like so many do now, jail break your device to get what "YOU" want on it.



    What would happen if Microsoft suddenly released an update that prevented iTunes from running? Think of the chaos that would ensue. Microsoft could take a big cut out of Apple's sales by doing just that. Could they get away with it? Probably not. Lawyers would be swarming everywhere.
  • Reply 5 of 240
    Here we go again...
  • Reply 6 of 240
    amitofuamitofu Posts: 59member
    Quote:
    Originally Posted by sashuey View Post


    What would happen if Microsoft suddenly released an update that prevented iTunes from running? Think of the chaos that would ensue. Microsoft could take a big cut out of Apple's sales by doing just that. Could they get away with it? Probably not. Lawyers would be swarming everywhere.



    Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.



    Oh the Irony. And what hypocrisy!
  • Reply 7 of 240
    sflocalsflocal Posts: 6,093member
    Quote:
    Originally Posted by Tulkas View Post


    That's right. Apple is the big boy on the block now, so that makes the right by default. While one does have the right to complain, you really shouldn't. Only if you have the resources to develop an entire platform on your own do your complaints have any merit. And in that case, you are then a competitor to Apple, so that invalidates your complaints as well. Best to just keep quiet and assume Apple cannot be wrong. Success==right.



    This isn't an issue of right or wrong. Apple created a hugely popular system for the masses and they are being associated as a company that may very well change the way people use computers in the next 10 years. Frankly, I think that scares a lot of developers that have spent years learning their craft in another language / system and shudder at the thought of having to learn something new. That's life.



    It's called evolution. Do you think we all should have stayed on FORTRAN and COBOL because too many people would raise a stink about having to learn a new language?



    Technology has been like this since the beginning. Adapt or get left behind.



    But the poster is right. If you want to change the world then develop your own system. That's what Android is supposed to do right?
  • Reply 8 of 240
    tofinotofino Posts: 697member
    Quote:
    Originally Posted by amitofu View Post


    Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.



    Oh the Irony. And what hypocrisy!



    well - from what i read about itunes on windows - you just proved steve's argument.
  • Reply 9 of 240
    cory bauercory bauer Posts: 1,286member
    Quote:
    Originally Posted by sashuey View Post


    I somewhat agree with this. But I also don't like the direction this is going. When large platforms like Apple's and Microsoft's start locking out third parties it's putting the users in the position to choose one over the other. You're not going to be able to mix and match what you want. Or, like so many do now, jail break your device to get what "YOU" want on it.



    But they're not locking anyone out; they're just making sure developers use the official SDK. This is a good thing for end users because when Apple adds new features or makes major changes to the platform they almost always make sure it's as painless as possible for developers to update their apps accordingly - but they cant do that if they're not using the tools apple provided. Take the move to intel processors on the mac platform for instance; Apple continually highly recommended developers code their apps in xCode using cocoa; those who listened were able to make the switch fairly easily. Those who didn't took years to port their apps.



    You don't want to come to rely on an app that won't run on iPhone OS 5 until sometime after iPhone OS 6 has shipped.
  • Reply 10 of 240
    crimguycrimguy Posts: 124member
    The reality is that devs now who haven't been using Apple's tools now have to do so. Their previous investments have been intentionally deprecated by Apple. They can either develop their applications solely for apple, or develop 2 versions side-by-side, one for Apple, the other for the other OS's.



    This at a time when Android is making great strides and a growing number of devs had voiced their dissatisfaction at developing for the iPhone OS. Does not seem like a smart move for me. Gruber says no one ever makes a good application using a 3rd party toolkit. Is that true?
  • Reply 11 of 240
    Quote:
    Originally Posted by amitofu View Post


    Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.



    Oh the Irony. And what hypocrisy!



    We are talking about mobile systems that require more care. Also, iTunes doesn't use a third party platform that excists ONLY to interject themselves into various platforms.



    I think it's important to look into the agreements from other platforms and systems. For instance the PS3 and the Nintendo example above.



    I still don't understand why people are so upset that a vendor would ask that things written for their devices conform to a standard they feel is best for their device. Do you want to insist that radios also carry TV? That my Honda use Ford parts? That a creator can specify what goes into and on their device?
  • Reply 12 of 240
    Quote:
    Originally Posted by amitofu View Post


    Good point. Apple uses a compatibility layer (Cocoa) to get iTunes and Safari to run on Windows without having to rewrite them from scratch as native applications. And they do it in a different programming language than what Windows' native APIs are written in.



    And as we all know, iTunes on Windows sucks, doesn't it? Same with Safari.



    Both of these examples prove Jobs larger point that cross-platform development layers result in inferior products. Period. TaoEffect's examples of Ableton Live and Firefox are actually quite hilarious because with Live you have an application that adheres to zero Apple Human Interface Guidelines, is confounding to even the most advanced Mac user, and takes as much time learning the interface as it does learning the application itself. WIth Firefox, you have a browser that doesn't feel like a Mac application AND has terrible performance to boot.



    Jobs is right.



    If Microsoft banned all cross-platform development tools, they would have every right to do so. And Apple would simply write new versions in whatever native tools MS was requiring. (And you may end up with PC apps across the board that behaved consistently and performed better.)
  • Reply 13 of 240
    ochymingochyming Posts: 474member
    There is too much noise that common sense is completely engulfed.

    ? And that Adobe evangelist did blow it up for Adobe long before this brouhaha with his failed attack on iPad.



    Sad that Flash developers would side with Adobe instead of arming themselves with flexibility.

    Adobe as is with Apple is defending its interest, developers should defend theirs, and not be hijacked by this situation.



    It is unbelievable why they ignored to have Apple input before adding that feature to Flash CS 05? Working with Apple perhaps this situation wouldn't exist.



    So, maybe there could be some light down the tunnel, if Adobe stop being bully (Yeah, it is Adobe being bully here) and cooperate with Apple, and why Flash developers are not suggesting cooperation between booth companies to achieve an easy way out?



    .
  • Reply 14 of 240
    Quote:
    Originally Posted by Crimguy View Post


    The reality is that devs now who haven't been using Apple's tools now have to do so. Their previous investments have been intentionally deprecated by Apple. They can either develop their applications solely for apple, or develop 2 versions side-by-side, one for Apple, the other for the other OS's.



    This at a time when Android is making great strides and a growing number of devs had voiced their dissatisfaction at developing for the iPhone OS. Does not seem like a smart move for me. Gruber says no one ever makes a good application using a 3rd party toolkit. Is that true?





    1. Apple has always strongly recommended developers use Apple's native tools. Developers ignored that advice, and now they playing ground has shifted. Unfortunate, but not as out of the blue as some are screaming.



    2. Then let developers develop for Android. Clearly Apple thinks they are in the driver's seat here, and with iAd coming down the pike -- which will essentially be paying developers to develop for the iPhone OS -- I think they're right.



    3. Gruber said that they will always be inferior to a natively-coded app, and of course he's right. Whether it's speed, UI, or compatibility, an intermediary layer by its very nature will result in an app that does not perform at the same level as a native one. The fact that TaoEffect's examples of two "great" cross-platform apps are ones that exhibit many of these issues is just further proof.
  • Reply 15 of 240
    MarvinMarvin Posts: 15,322moderator
    Quote:
    Originally Posted by AppleInsider View Post


    Slepak wrote back and said he believes Apple's changes are "limiting creativity itself," and said he believes there are a number of applications written with cross-platform frameworks that are "amazing," such as Mozilla Firefox. Jobs, Slepak said, responded to his second note in about three minutes.



    Hmmm, I wonder if this move affects Opera too. It was submitted to the App Store not too long ago and hasn't been accepted yet:



    http://www.youtube.com/watch?v=OpTCS3g-cBY



    Clearly Apple want to push webkit but if I can get browsing to be that fast on 2G/3G, I'd switch to Opera on the iPhone. Opera is a Cocoa app but maybe it has some code in there that Apple can use as an excuse to block it. Having its own Javascript engine would be a problem for a start.



    Quote:
    Originally Posted by sflocal


    Until then, this is a non-issue for developers that did the smart thing by using the native SDK. The complainers are just the ones resistant to change. They are afraid to venture out of their safe bubble.



    The iPhone runs OS X though so there's no absolute need for the restrictions. Nintendo obviously depend on the quality of the games to sell the platform. Apple can put apps about sex positions and farting or soundboards up and it doesn't matter. Code translation is actually beneficial as it allows rapid application development in IDEs that are more efficient than a developer learning XCode/Obj-C etc. It's up to Apple what they do of course and other companies do have restrictions that are as bad but the reasoning behind this move is starting to look more and more dubious.



    Rather than it being a move about software quality (which was the reason given for the centralized App Store), it's more about profit and control. If Opera goes through, it starts to eat away at their mobile Safari smartphone share. If Flash apps can be authored, it means there's no need to buy a Mac to build apps and no need to use XCode.
  • Reply 16 of 240
    amitofuamitofu Posts: 59member
    Quote:
    Originally Posted by sflocal View Post


    t's called evolution. Do you think we all should have stayed on FORTRAN and COBOL because too many people would raise a stink about having to learn a new language?



    Technology has been like this since the beginning. Adapt or get left behind.



    Exactly. And Apple is forbidding evolution--to better, faster, more stable, more maintainable programming languages. Objective-C is three decades old. New languages, like Scala, have powerful type systems and flexible syntaxes compared to Objective-C. Their type systems allow them to be heavily optimized by compilers. They are precisely garbage collected, which takes less processor time than manual memory management. And many memory allocations can be eliminated all together, which uses less memory than manually managed objects that are always allocated on the heap, and often less memory than C++ because the optimizer runs at link time and sees the whole program.



    I agree with your point wholeheartedly. But you make the case for exactly why Apple's policy is ridiculous.
  • Reply 17 of 240
    Quote:
    Originally Posted by sashuey View Post


    I somewhat agree with this. But I also don't like the direction this is going. When large platforms like Apple's and Microsoft's start locking out third parties it's putting the users in the position to choose one over the other. You're not going to be able to mix and match what you want. Or, like so many do now, jail break your device to get what "YOU" want on it.



    What would happen if Microsoft suddenly released an update that prevented iTunes from running? Think of the chaos that would ensue. Microsoft could take a big cut out of Apple's sales by doing just that. Could they get away with it? Probably not. Lawyers would be swarming everywhere.



    The situation, like most, is filled with subtle differences. I have to ask, how many people have jail broken iPhones? What percentage of the public do you think have ANY desire to do this? How much does it improve function for the average consumer? I remember a time when people in an office I worked in wanted to stick with Token Ring and not use Ethernet. They LOVED Token Ring. But it didn't offer an upside to the majority of people in the office.



    The issue at hand is what is best for a consumer who wants a device that runs and runs well. They are what is most important for Apple. There is a method that allows for better software and better solutions. There is a path that offers the best experience for the average consumer.



    Not what's best, or easiest for the develops who don't want to learn a different language.
  • Reply 18 of 240
    ochymingochyming Posts: 474member
    Quote:
    Originally Posted by Crimguy View Post


    The reality is that devs now who haven't been using Apple's tools now have to do so. Their previous investments have been intentionally deprecated by Apple. They can either develop their applications solely for apple, or develop 2 versions side-by-side, one for Apple, the other for the other OS's.



    This at a time when Android is making great strides and a growing number of devs had voiced their dissatisfaction at developing for the iPhone OS. Does not seem like a smart move for me. Gruber says no one ever makes a good application using a 3rd party toolkit. Is that true?



    On a PC you cannot install OSX or at least without some level of shenanigan.

    On an Intel Mac you can install Windows, and it comes with Xcode as option.



    Why no one is urging both companies to work together on this?
  • Reply 19 of 240
    sector7gsector7g Posts: 156member
    I never understand why people get upset at this. if apple says they don't want use a specific program then don't use it or go write apps for android. there is a good reason why the iphone and app store are successful, and it wasn't because they allowed flash ports. developers have a choice of platforms these days. apple does things in certain ways which at first people hate, but they always turn out to be big hits. sometimes openness doesn't work look at android. while it may be a success in sales terms the OS feels patched together all the apps work differently some require a keyboard some only work on 2.0. they crash alot. its not pleasant with the iphone it just works and just seems solid
  • Reply 20 of 240
    Quote:
    Originally Posted by amitofu View Post


    Exactly. And Apple is forbidding evolution--to better, faster, more stable, more maintainable programming languages. Objective-C is three decades old. New languages, like Scala, have powerful type systems and flexible syntaxes compared to Objective-C. Their type systems allow them to be heavily optimized by compilers. They are precisely garbage collected, which takes less processor time than manual memory management. And many memory allocations can be eliminated all together, which uses less memory than manually managed objects that are always allocated on the heap, and often less memory than C++ because the optimizer runs at link time and sees the whole program.



    I agree with your point wholeheartedly. But you make the case for exactly why Apple's policy is ridiculous.



    The point is what is best for the Apple customer. Not who wants to study a comp sic semesters reading.



    If it is a bad move I imagine the products will fail...well honestly the 'best' technology or product is often subjective and often there are other factors that go NGO something being successful.

    There is no doubt that what Apple is doing will provide for better software and a better user experience with systems that are sensitive to battery and power.



    If they are wrong, as you have decided, they will likely adopt your opinion at some future point to avoid bankruptcy because people have turned away from their solutions because they

    are not evolutionary enough in their technology.



    But in the meantime if you want to develop for Apple's mobile platform you can learn to use their requested technology.
Sign In or Register to comment.