Steve Jobs defends Apple's changes to iPhone developer agreement

1235712

Comments

  • Reply 81 of 240
    g3prog3pro Posts: 669member
    Quote:
    Originally Posted by anonymouse View Post


    No, there is no hypocrisy or double standards or foul play, Will it be harder to port, yes, but that's not the motivation here.



    No, it's fairly clear to most that the decision is to lock developers in.
  • Reply 82 of 240
    gotapplegotapple Posts: 115member
    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!



    iTunes on Windows is total mess. The UI's non-standard, and the logic in the program works in a weird way for a Windows user... I'd love to see Microsoft to ban these low quality ports.
  • Reply 83 of 240
    amitofuamitofu Posts: 59member
    Quote:
    Originally Posted by sexualintellectual View Post


    Yes, there are layers inherently involved in programming. Apple just wants to make sure you stick to the ones they have the most control over.



    I think that these are indeed Apple's intentions. And I think they're the right intentions. But I think the way Apple expresses these intentions in their developer agreement has an unintended consequence.



    Apple wants your app to like like this, this is good:

    iPhone OS -> UIKit -> Your App



    Apple doesn't want your app to look like this, very bad:

    iPhone OS -> UIKit -> [Flash, QT, etc.] -> Your App



    So far so good. But the unintended consequence of how Apple phrased its agreement is that the following is also forbidden:

    iPhone OS -> UIKit -> Your App <- backend implementation details written in a different language



    In the last case everything the user sees and interacts with is written exclusively in Objective-C. There's no middleman. But behind the scenes the Objective-C controllers delegate to code written in another programing language that's compiled and linked natively. The final executable is indistinguishable from one that was written exclusively in Objective-C. It probably would even get through Apple's approval process, though it appears to be expressly forbidden.



    I explained in a previous post why you might want or need to employ such an app structure. I think such an implementation is in line with Apple's goals for the platform. It's just an uncommon corner case that gets caught in the cross fire.



    Section 3.3.1 of Apple's agreement states that "only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs." Apple should clarify what directly linking means. All code is "directly linked" in the final executable. But maybe if your app links with Apple's frameworks, and also links with your own code written in another language, but there are mp dependencies between your code in the other language and Apple's high level frameworks, this would qualify as not directly linking. As long as directly linking with absolutely fundamental libraries like libc is permitted, I'd be okay with this.
  • Reply 84 of 240
    Quote:
    Originally Posted by gotApple View Post


    iTunes on Windows is total mess. The UI's non-standard, and the logic in the program works in a weird way for a Windows user... I'd love to see Microsoft to ban these low quality ports.



    I think the same way about iTunes on Mac OS X as well.



    Seriously, try to manually arrange your library, copy your content machine to machine. Arrange things (add metadata), then move that. Plus it was written in Carbon -- they hate Carbon for everyone else, then use it themselves. etc., etc.
  • Reply 85 of 240
    mdriftmeyermdriftmeyer Posts: 7,503member
    Ten years of delayed movement to Cocoa and now Adobe fans are crying wolf?



    Deal with it.



    You either want to make a ton of money on the mobile platforms and even solid returns on the laptop/desktop as it continues to expand or you just want to target the laptop/desktop markets.
  • Reply 86 of 240
    Quote:
    Originally Posted by jeff94svx View Post


    I'm not a developer or software writer, but from what I've heard, Flash can be used to introduce viruses to PCs. If true, then theoretically it could introduce viruses to the iPhone OS, thus making the user experience an unpleasant exercise like PCs have become.



    Do you have the Flash plugin on your Mac?



    A few million others do.



    Has that turned your Mac into a virus-laden zombie?



    I'm not a big fan of Flash, but I care for FUD even less.
  • Reply 87 of 240
    anonymouseanonymouse Posts: 6,860member
    Quote:
    Originally Posted by nikon133 View Post


    Well if it's not, it darn looks like it is. I didn't have chance to sit with SJ and discuss that in private, though. Have you? \



    He's been pretty clear in his email about the motivations (pointing to Grubers article) and they are really pretty obvious to an intelligent observer.
  • Reply 88 of 240
    Quote:
    Originally Posted by Soskok View Post


    You all know that there are hundreds of apps at apple app store that essentially do the same thing, most of those are ported (so written by developers in a different language) and many of them perform just BAD. Why have such a thing?



    Ask Apple. They approve a lot of merde that was made with their own dictated tools.



    Whether an app is good or bad isn't a function of how low-level the language is that it was written with. It's not a question of programming, but one of design.



    In fact, the higher productivity from RAD tools favor good design by freeing the developer from the tedium of bit-counting and letting them spend more of their time and attention on the user interface.



    Quote:
    Originally Posted by Soskok View Post


    P.S. some times to have a choice is bad, dont forget it.



    When, specifically?
  • Reply 89 of 240
    Quote:
    Originally Posted by amitofu View Post


    Apple wants your app to like like this, this is good:

    Code:


    iPhone OS -> UIKit -> Your App







    Apple doesn't want your app to look like this, very bad:

    Code:


    iPhone OS -> UIKit -> <Flash, QT, etc.> -> Your App







    Problem. All good code looks more like this:



    Code:


    iPhone Kernel -> iPhone Abstaction A,B or C -> UIKit -> Your App







    But your App breaks down into:





    Code:


    Your App Library -> Your App OOD-> Your App UI







    And so on.



    Sometimes you put abstractions on top of things like OpenGL or OpenCL. Sometimes you're building/including libraries to interpret XML. Sometimes you doing something like Excel, where you create your own language to interpret cells. (Apple's Numbers will violate their own terms, because they have their own language in there). And so on.



    It is arbitrary.



    They used to say FORTRAN programmers can write FORTRAN in any language. (back in the FORTRAN4 days). The point being that you can write bad code in any language. The language is NOT an indication of quality. This is something that any 1st year programmer knows, except Apple.
  • Reply 90 of 240
    nikon133nikon133 Posts: 2,600member
    Quote:
    Originally Posted by anantksundaram View Post


    Pleeeeeease.... we have been through this a gazillion times in these threads, and you should not be contributing to FUD.



    Gross margin (which is what you are referring to here) ≠ Profit margin. Apple's profit margin is ~20%, well in line with other successful companies, and much lower than companies such as Google (~30%) and MSFT (~35%).



    Even with that, saying that Apple is not about making money (what original poster claimed) is ridiculous... as it would be for any other corporation. And last time I've checked, Apple was a corporation - not a humanitarian, non-profitable institution.
  • Reply 91 of 240
    Quote:
    Originally Posted by mdriftmeyer View Post


    Ten years of delayed movement to Cocoa and now Adobe fans are crying wolf?



    How does this vaguely relate?



    Why aren't you complaining that Apple hasn't moved FinalCut, iTunes or QuickTime over?
  • Reply 92 of 240
    graxspoograxspoo Posts: 162member
    We all know what's really going on here. Jobs has a vendetta against Adobe. This has nothing to do with what is good for the end user. Let the market figure that one out. That's how capitalism works. If your app sucks, people won't buy it. If its great, and its built with Flash, good for you.

    This video: http://www.youtube.com/watch?v=wwFbwHaP5tE

    Makes me think its quite possible to write excellent apps for the iPad using Adobe technologies.

    And, the fact is that Adobe is very entrenched in the publishing world. If the iPad is supposed to save publishing, then the designers should be able to use tools that fit well into their existing work-flows. These Photoshop guys aren't going to run out and learn HTML5.

    This is a draconian measure that is going to stifle innovation...
  • Reply 93 of 240
    nikon133nikon133 Posts: 2,600member
    Quote:
    Originally Posted by RationalTroll View Post


    It boils down to one: productivity.



    If you want to write for just iPhone, there's a productivity advantage to using higher-level languages, and that advantage multiplies logarithmically when you want to deploy to multiple devices.



    If you've ever pondered the millions of man-hours lost every year to bugs caused by the difference between "=" and "==" you know what I mean, and if you haven't there are plenty of papers describing the productivity advantages of modern high-level languages for applications programming.



    While some like to point out that Apple is the leading smart phone manufacturer, they're overlooking that other OSes run on devices from multiple manufacturers.



    Take a look at these stats:

    http://techcrunch.com/2010/04/05/com...on-the-iphone/



    In terms of subscribers per OS, Apple is #3 with about one-fourth of the market.



    Gartner says it'll be that way for Apple for a while, as Android eclipses them:

    http://www.computerworld.com/s/artic...2_says_Gartner



    Android and most other mobile OSes don't dictate what language you can use. They don't care, the more the merrier as long as it lets you deliver the goods.



    The only reason Apple has more apps today is that most of the mobile RAD tools in the pipeline aren't shipping yet. Once they do, we can expect to see an explosion of app development.



    With any of those tools you can write and maintain a single code base for 75% of the mobile market.



    It could be 100%, but Jobs is devolving into Gates so developers will have to be satisfied with bypassing the iPhone until he comes around.



    In the meantime, Jobs has given Android the biggest gift ever: thousands of developers using high-productivity RAD tools.



    Jobs' excuse that everyone at Apple suddenly forgot how to write APIs to handle threads effectively for their multitasking simply doesn't hold water. What he's after is control, pure and simple, and he's got just enough hubris to believe that his 25% market share can reverse the tide of history which increasingly favors RAD tools.



    Great post, mate.
  • Reply 94 of 240
    anonymouseanonymouse Posts: 6,860member
    Quote:
    Originally Posted by Sue Denim View Post


    I get your point. But why is it the platform? Because that's where they say it is. This is all arbitrary. Software Engineers know better.



    It's the platform because that's the platform they created. This is really a tautology.



    Quote:

    Too late. They just did. They said "the ones we like are the only ones you can use.



    No, they said use the ones we created for the platform, see above.



    Quote:

    To say "Flash Sucks" shows ignorant of software development. Flash is a tool. Do we argue "a screwdriver sucks? It does at pounding nails or cutting wood -- for driving screws, it isn't that bad.



    Some screwdrivers just suck. And using a phillips head screwdriver on flat head screws rarely works well.
  • Reply 95 of 240
    Quote:
    Originally Posted by amitofu View Post


    I think that these are indeed Apple's intentions. And I think they're the right intentions. But I think the way Apple expresses these intentions in their developer agreement has an unintended consequence.



    Apple wants your app to like like this, this is good:

    iPhone OS -> UIKit -> Your App



    Apple doesn't want your app to look like this, very bad:

    iPhone OS -> UIKit -> [Flash, QT, etc.] -> Your App



    So far so good. But the unintended consequence of how Apple phrased its agreement is that the following is also forbidden:

    iPhone OS -> UIKit -> Your App <- backend implementation details written in a different language



    In the last case everything the user sees and interacts with is written exclusively in Objective-C. There's no middleman. But behind the scenes the Objective-C controllers delegate to code written in another programing language that's compiled and linked natively. The final executable is indistinguishable from one that was written exclusively in Objective-C. It probably would even get through Apple's approval process, though it appears to be expressly forbidden.



    I explained in a previous post why you might want or need to employ such an app structure. I think such an implementation is in line with Apple's goals for the platform. It's just an uncommon corner case that gets caught in the cross fire.



    Section 3.3.1 of Apple's agreement states that "only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs." Apple should clarify what directly linking means. All code is "directly linked" in the final executable. But maybe if your app links with Apple's frameworks, and also links with your own code written in another language, but there are mp dependencies between your code in the other language and Apple's high level frameworks, this would qualify as not directly linking. As long as directly linking with absolutely fundamental libraries like libc is permitted, I'd be okay with this.



    I see your point, and I happen to agree with you on what should be allowed. If none of your code in the alternate language relies specifically on Apple's frameworks, then it doesn't seem that you are using any kind of compatibility layer with their platform. The UI code is written using their APIs, while it seems the computationally complex Scala part is fully encapsulated by your C/C++/Objective C code without any calls back to iPhone APIs within said Scala code (please correct me if I misunderstood). The issue of direct linking is the final sticking point, but hopefully they see it the same way if you decide to submit your application in its current state. I would be very interested to hear the verdict, by the way, because I can envision myself using a similar structure sometime in the future if they allow it. Good luck to you.
  • Reply 96 of 240
    Quote:
    Originally Posted by graxspoo View Post


    This video: http://www.youtube.com/watch?v=wwFbwHaP5tE

    Makes me think its quite possible to write excellent apps for the iPad using Adobe technologies.

    And, the fact is that Adobe is very entrenched in the publishing world...



    I think you're hitting the nail on the head.



    If you're Apple and you want to lock publishers into a proprietary DRM, and make them write a custom solution for just your platform, then what's the worst thing that could happen? That they could have better tools that works cross-platform and is easier for them to implement (integrates with their publishing workflows).



    Since Flash/Air works better for publishers, it weakens Apple's power over them.



    So this isn't about Apple's power over Adobe. This is about Apple's power over the Publishers.



    If Publishers can use Adobe's tools to publish to ANY iPad like device, then Apple can't bully them into their costs/policies as much. Adobe's just stuck in the middle by daring to help Publishers too much.
  • Reply 97 of 240
    tulkastulkas Posts: 3,757member
    Quote:
    Originally Posted by oxygenhose View Post


    It's amazing how much whining is done over Apple. I keep thinking "why not shut the hell up, change your diaper and buy a competitor's product?" It's especially annoying to see forum twits whine about Apple stopping 'innovation' when they've never done anything of consequence. That should be an automatic 5 across the eyes, probably should cost them a few teeth.



    This entitlement mentality is weak intellectually and ultimately a cowardly dodge of personal responsibility. I think it's a way talentless people bolster their own lack of motivation and hide their deep insecurities. Apple isn't your problem folks, you need to get on the Cialis forums and complain about your issues there.



    wow...
  • Reply 98 of 240
    tulkastulkas Posts: 3,757member
    Quote:
    Originally Posted by lkrupp View Post


    Well then, it sounds like the JooJoo would be the perfect platform for both you and the developer. The JooJoo was built from the ground up, has none of the evil restrictions that the evil Apple and even more evil Steven P. Jobs impose and require. There should be plenty of JooJoos available for sale. Problem solved.





    No, I just don't automatically assume Apple is always in the right...because that would be as dumb as assuming they are always wrong.
  • Reply 99 of 240
    myapplelovemyapplelove Posts: 1,515member
    this to me is a bollocks, non issue, if it were pretty much anyone else other than apple no one would be on their case, because no one would care. If it had been apple circa 1999 no one would be on apple's back either, because no one would be threatened.



    Now apple as much as sneezes and we have a ton of pundits commenting on it.
  • Reply 100 of 240
    graxspoograxspoo Posts: 162member
    Quote:
    Originally Posted by Sue Denim View Post


    Since Flash/Air works better for publishers, it weakens Apple's power over them.

    So this isn't about Apple's power over Adobe. This is about Apple's power over the Publishers.



    Interesting. Do you really think Apple needs to do that? I mean, they didn't insist that studios edit all movies with FinalCut in order for them to be sold in the iTunes store...

    But who knows, maybe they would have if they could have gotten away with it!



    Then they could start dictating movie plots and product placement... "We've found that movies that feature images of non Apple computing devices result in an inferior experience for the audience." "We've found that movies where the bad-guys use Macs generate confusion in the minds of our customers."
Sign In or Register to comment.