Slashdot Mirror


Steve Jobs Weighs In On iPhone Programming Language Mandate

Dotnaught writes "Greg Slepak, founder of software company Tao Effect, wrote Apple CEO Steve Jobs to complain about Apple's mandate that iPhone applications be originally written in C/C++/Objective-C. Job's response was to endorse a post by John Gruber on the Daring Fireball blog. Jobs called it 'very insightful,' suggesting Gruber's prediction that third-party iPhone development tools are out might be right. Jobs sent a second reply that also doesn't bode well for third-party iPhone development tools: '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.'"

103 of 711 comments (clear)

  1. They want devs to choose by bcmm · · Score: 5, Insightful

    By restricting the use of abstraction layers, they want to make devs choose between writing their app for the iPhone or for Android, it would seem (or, of course, writing it twice).

    Of course, the real choice is "write for iPhone, or write for every other platform". I hope developers are bright enough to see where this is going.

    --
    # cat /dev/mem | strings | grep -i llama
    Damn, my RAM is full of llamas.
    1. Re:They want devs to choose by WrongSizeGlass · · Score: 3, Interesting

      the real choice is "write for iPhone, or write for every other platform".

      Unfortunately, this is result of Apple's decision (whether it was their intent or not). Until the Apple App Store isn't the "biggest market available to the mobile developers"* they will have to make a decision: iPhone first, iPhone only or everything else.

      I still think Apple will blink on this issue (a very small 'blink') and give up a little bit of this ridiculous effort. Small dev tools will still be allowed but Adobe will still be out.


      * the largest market place to sell their apps, not the largest mobile platform

    2. Re:They want devs to choose by cfulmer · · Score: 5, Insightful

      It seems to me that this is anti-competitive. They're using the iPhone's market dominance to increase the costs of producing applications on other platforms. And, that's likely to raise an antitrust lawsuit. If Apple is so concerned about quality of software being produced, they already have a mechanism to deal with it -- the app store review process.

    3. Re:They want devs to choose by Goaway · · Score: 5, Insightful

      (or, of course, writing it twice)

      This is the one. He wants apps written for the iPhone, not apps that try to shoehorn some kind of cross-platform abstraction on top of the iPhone, because that usually sucks, and (at least in his eyes) it makes the iPhone look bad if the apps look bad.

      How many times do you hear gamers complain that a game is a crappy port because it is not properly written for the platform it is on, but instead tries squeeze in the functionality of some other platform? That is the exact thing he doesn't want on his platform.

    4. Re:They want devs to choose by bcmm · · Score: 2, Interesting

      It doesn't need to become "not the largest single marketplace", it only needs to become "not more than 50% of the app market". At that point, it would become more effective to use cross-platform tools to target everything else at the same time.

      --
      # cat /dev/mem | strings | grep -i llama
      Damn, my RAM is full of llamas.
    5. Re:They want devs to choose by Cryacin · · Score: 5, Funny

      they already have a mechanism to deal with it -- the app store review process.

      Magic 8 balls need a holiday every now and again too you know.

      --
      Science advances one funeral at a time- Max Planck
    6. Re:They want devs to choose by PortHaven · · Score: 3, Interesting

      A little less than you hear gamers whine (or brag) that a game is only available on one platform.

    7. Re:They want devs to choose by cbreak · · Score: 5, Insightful

      How's that anti-competitive? I have to buy a Windows PC to develop for the XBox too... It's just common sense that you have to have the platform your tools run on to use the tools.

    8. Re:They want devs to choose by moonbender · · Score: 2, Interesting

      Exactly! But there is no shortage of apps. The iPhone market is too large and wealthy to ignore.

      Developers have a choice: develop natively for iPhone OS, develop cross-platform (or natively) for other systems, or they might just do both*. Apple is betting many devs will either do both, or they'll drop the other platforms. Given how juicy a target iPhone OS is, particularly for commercial development, that's a fairly safe bet.

      And I have to agree that the average native application is of higher quality than the average cross-platform application; some examples to the contrary notwithstanding. This has been my experience on platforms -- for instance, Picasa (ported via winelib) is one of the better photo management apps for Linux, but the interface and integration is terrible. Many Java apps on my phone (Nokia 5800XM) suck compared to the native ones; and in fact having a touch screen phone makes using a lot of cross platform apps almost impossible. It's difficult to design a (phone) app in a way that it's polished on all platforms -- heck it's difficult enough to do it if the only difference is the screen resolution.

      --
      Switch back to Slashdot's D1 system.
    9. Re:They want devs to choose by digitalchinky · · Score: 5, Informative

      I'm guessing you are American, the IPhone is a tiny player in the rest of the world - a world that is dominated by Nokia, SE, LG, and Samsung for the most part, though there are many other manufacturers. In Asia the Chinese knock offs are extremely popular.

      Now that said, if you were to venture away from the self delusional 'free phone mentality' and just bought something outright, you would find even in America, a vast array of hardware to choose from. Hardware without all the draconian operator restrictions programmed in.

    10. Re:They want devs to choose by Nerdfest · · Score: 5, Insightful

      How about this ... they have an approval process, so use that to disallow sub-standard applications regardless of the language that they're written in.

    11. Re:They want devs to choose by drinkypoo · · Score: 4, Interesting

      This is the one. He wants apps written for the iPhone, not apps that try to shoehorn some kind of cross-platform abstraction on top of the iPhone, because that usually sucks, and (at least in his eyes) it makes the iPhone look bad if the apps look bad.

      That's stupid because the iPhone does not differ substantially from other smartphones. It has a big touchscreen, just like the rest. There's no reason why an app written for a range of smartphones wouldn't look and work just fine on it.

      How many times do you hear gamers complain that a game is a crappy port because it is not properly written for the platform it is on, but instead tries squeeze in the functionality of some other platform? That is the exact thing he doesn't want on his platform.

      His platform? He can have it. I'd like a platform that belongs to the users, thanks. And Thank Google for providing one based on Free Software and Open Standards, not to mention Open Source.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    12. Re:They want devs to choose by LordVader717 · · Score: 5, Informative

      They don't have to be a monopoly to break the law.

    13. Re:They want devs to choose by TheRaven64 · · Score: 5, Interesting

      Not sure about Google, but we (GNUstep) have a project to implement UIKit. We already have pretty much all of the Foundation framework that the iPhone exposes, and our CoreGraphics implementation will hopefully to be finished as a result of this year's GSoC. A lot of UIKit is very similar to stuff we've already implemented for AppKit, so there's a lot of potential for code reuse. We've approached Nokia for funding the development of UIKit, with the N900 as a primary target, but if anyone at Google (or anywhere else) is interested in funding some of the work then please let me know.

      --
      I am TheRaven on Soylent News
    14. Re:They want devs to choose by salesgeek · · Score: 2, Insightful

      This is the first time I've ever seen market saturation being bragged about as a reason to support a platform. Perhaps moving to a forest where there is some sunlight would be wise if you want to ever be more than a sapling.

      --
      -- $G
    15. Re:They want devs to choose by boilednut · · Score: 5, Insightful

      He wants apps written for the iPhone, not apps that try to shoehorn some kind of cross-platform abstraction on top of the iPhone, because that usually sucks, and (at least in his eyes) it makes the iPhone look bad if the apps look bad.

      This is a patently ridiculous generalization. Adobe Flash CS5 is a translator with associated API libraries -- similar in kind to a C compiler and the C standard library. So, an analogous argument would be that all code built with GCC sucks; and, therefore, only assembly can be used.

      I wish I could view with indifference all of the people that drink the Apple Kool-Aid; but, I fear that little choice and freedom will remain in the wake of a tide of lemmings rushing off Apple's cliff of corporate lock-in.

    16. Re:They want devs to choose by dakameleon · · Score: 5, Insightful

      But what about apps that don't fully use iPhone's features because it is catering for the lowest common denominator across multiple platforms?

      What?! Don't "fully use" the iPhone's features?! What on earth are you on about? Does iFart "fully use iPhone's features"?

      So what if an app doesn't "fully use iPhone features", as long as it provides adequate functionality? Consistency across devices is also laudable for the ease of transition from one platform to another. But that assumption works only in a world where competition drives innovation rather than hostility.

      It is perfectly reasonable to want fewer high-quality apps on the platform, rather than wishing for more crap apps. This just aligns with the usual Apple approach.

      Who are you to determine what is "quality"? Or for that matter, who is Apple to determine what its users will be happy with? There's plenty of junk on the App Store already, so it's not like they're making value judgements on the functionality of the apps, but are far more interested in ensuring they control the end to end process. Too much control can choke off a platform, too.

      (disclaimer: current iPhone user, increasingly disillusioned)

      --
      Man who leaps off cliff jumps to conclusion.
    17. Re:They want devs to choose by hyphz · · Score: 2, Informative

      You couldn't seriously develop for the iPhone without a Mac. Assuming that you wanted to test the final output of your marvelous multi-platform compiler to make sure that it, y'know, actually worked on the platform you were targeting, you would need a Mac. As far as I know there's still no way to run iPhone Simulator, switch an iPhone to Development Mode, or create an AdHoc profile without one.

    18. Re:They want devs to choose by Raffaello · · Score: 4, Informative

      You do have to be a monopoly in order for leveraging market share against competitors to be illegal.

      What we're seeing here is Apple leveraging their App Store market in a way that reduces competition from Adobe and Google in the smart phone market. This is perfectly legal right up to the point that Apple acquires a monopoly market share in smart phones. They're nowhere near that point, so leveraging their tiny (10%?) share of the smart phone market to attempt to box out Google and Adobe is perfectly legal. This is exactly how competitors compete all the time. It is desirable that competitors differentiate themselves in these sorts of ways so that the market can make choices. (N.B. differentiation is desirable - I'm not saying that I think it's desirable that Apple do what they did - I don't.)

      The choice here is this: will the market prefer a clearly more restrictive but also more selective platform, or will the market prefer a less restrictive but also less selective platform. This sort of decision can and should be made in the marketplace, not in a court of law. If anyone wants to influence this market decision, they have only to choose Android (or some other smart phone platform, Palm, Blackberry, etc.) rather than the iPhone.

    19. Re:They want devs to choose by Raffaello · · Score: 2, Informative

      Also, it doesn't make devs choose. Someone will be working on an objective-C to Android-Java cross compiler as we speak

      No such cross-compiler is necessary:

      Cross compiling UI code would be fairly pointless since the two platforms don't have the same UI design.

      Cross compiling app logic is unnecessary as well because even the disputed iPhoneOS 4.0 agreement allows devs to code in C and C++, and Android has a native dev kit that lets devs code in C and C++.

      So just write your app logic in C/C++, your iPhone UI in objective-c (or C/C++), and your Android UI in either C, C++, or Dalvik-Java.

    20. Re:They want devs to choose by dissy · · Score: 2, Informative

      It's just common sense that you have to have the platform your tools run on to use the tools.

      By that logic you would need an Xbox not a windows PC

      Hate to break it to you, but Visual Studio with Xbox SDK does not at all run on the xbox, it runs on Windows.

      Just like xcode runs on osx and not the phone.

    21. Re:They want devs to choose by nametaken · · Score: 5, Informative

      I can write apps for android on ANY platform.

    22. Re:They want devs to choose by TheRaven64 · · Score: 2, Informative

      We're not cloning the UI, we're reimplementing the APIs. The point is to make it easy to port iPhone apps to other platforms, not to make a copy of the iPhone's standard interface. The Chinese companies you mention typically don't have access to the source code for third-party iPhone apps, so this would be no use to them, and persuading third-party devs to sell apps for a knock-off platform is hard. Nokia, on the other hand, has a vested interest in making it easy to port iPhone apps to the N900 and similar machines, because it removes one of the main ways that Apple differentiates the iPhone.

      --
      I am TheRaven on Soylent News
    23. Re:They want devs to choose by mdwh2 · · Score: 3, Insightful

      That's one definition, but there are others. These include a company being able to affect the terms and conditions of exchange so that the price of the product is set by the firm, rather than by market forces. The theoretical definition of literally only one supplier is not very relevant in the real world.

      Are you seriously telling me that all the courts were wrong to convict Microsoft? Why, if only Microsoft had called on you as their defence, you'd be up there, quoting from the dictionary! Why didn't they think of that?

    24. Re:They want devs to choose by Raffaello · · Score: 2, Informative

      US federal courts don't treat the Merriam-Webster Dictionary as the last word on what a monopoly is under the law.

      Tthey rely instead on the Sherman Antitrust Act and its interpretation over the decades in previous federal court precedents as relates to the regulation of de facto monopolies . Note that a de facto monopoly does not ever have 100% market share (i.e., it is not the sole firm in the relevant market)

      A real world, de facto monopoly (as opposed to a dictionary monopoly, or a de jure monopoly) is a firm that has what is known as monopoly market power: they are able to set prices without any regard for the prices of the offerings of existing competitiors.

      Microsoft was ruled to have a monopoly in PC operating systems because they could charge $200 retail and $50 OEM when their competitors were offering a product with equivalent functionality for nothing at all.

  2. Good Stuff by QuantumG · · Score: 2, Interesting

    As Jobs can do no wrong, I suggest that he load some more requirements and restrictions on iPhone developers.. oh, and maybe someone can let me know, can Apple remotely delete apps off iPhones? If not, they should get on that. Customers *love* that.

    --
    How we know is more important than what we know.
  3. Re:None of this would've happened... by DarkKnightRadick · · Score: 2, Insightful

    That's only because Flash is strapped with new features that really don't fit well with the medium, although it has helped bring streaming video to the net (still doesn't make it a proper fit). Stuff like Neurotically Yours and badgers, otoh, are a perfect fit for the medium.

    (Semi)Complex games and full streaming HD video? Not so much.

    --
    "There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
  4. And this is why I don't buy Apple by syousef · · Score: 2, Informative

    I honestly don't understand why Geeks put up with this and fall for the marketing propaganda. If all the world were Apple we'd not be able to hack a thing.

    --
    These posts express my own personal views, not those of my employer
    1. Re:And this is why I don't buy Apple by mc+moss · · Score: 4, Insightful

      Most geeks don't, at least when it comes to the iphone. However, for most of the population, the requirements are different. They are not worried about "openness" (or Linux would have a much larger market share) but want something with a slick UI and is easy to use.

  5. Transcompilers? by drolli · · Score: 2, Informative

    How about transcompilers? They do not necessarily introduce new layers. Anyway i think its up to the users to evalute which applications are the best.

  6. Welcome to the new world! by WhipItGood · · Score: 3, Insightful

    As if the Microsoft monopoly wasn't bad enough in the 90's, now we get a modern-day Apple one that makes Microsoft pale in comparison. As Apple gains market share (and they are), this type of attitude is 180 degrees away from where development should be heading.

    1. Re:Welcome to the new world! by bondsbw · · Score: 2, Insightful

      As Apple gains market share (and they are), this type of attitude is 180 degrees away from where development should be heading.

      I highlighted "market" on purpose. Your statement assumes that Apple's target market is the one you think it is... which I assume is general personal computing. But I doubt that's the case. Think of it this way... game consoles have a tradition of being locked down. Many of them through time have allowed developers into their ecosystem only if they follow rules that, even compared with Apple's standards, seem locked down. (I know this isn't true of all... just a generalization.)

      Apple has made it clear that they aren't after an expanded role into existing markets. They claim to have entered a new, non-traditional market, and with that the rules have changed; take it or leave it.

      (As an aside, I would personally prefer they be more open as well... but I'm not Steve, so what I say doesn't go.)

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    2. Re:Welcome to the new world! by bheer · · Score: 2, Insightful

      You must've not been check the stock markets lately, these days AAPL is almost as big as MSFT and gaining fast.

      (via)

    3. Re:Welcome to the new world! by cbreak · · Score: 2, Interesting

      Since when is the size of a company measured on the stock market? That makes no sense at all... User base, number of employees, that would be a reasonable measure.

    4. Re:Welcome to the new world! by PortHaven · · Score: 2, Insightful

      Let's see....

      Microsoft Market Cap = $266 billion
      Apple Market Cap = $219 billion

      Seems like we're there folks....and Apple has turned out to be far worse than the 1984 commercial

    5. Re:Welcome to the new world! by drinkypoo · · Score: 3, Insightful

      How many real programmers are unable to program in one of the three languages? Ahhh - ah - ahhh! I said "real programmers", not some Java hacker, or Flash hacker, or whatever.

      You're creating an arbitrary distinction here. Programmers don't suddenly become 'real' programmers at some particular level of education. A real programmer is anyone who writes real programs. You should have said 'software engineer' which would at least mean something. The simple truth is that whoever creates the apps people want to use should be able to create apps and put them in the marketplace, regardless of their supposed ability as a programmer on your arbitrary scale.

      Flash for example - it's a resource hog that runs like a two legged dog even on powerful machines. Who the hell really WANTS it on a portable platform like an iPhone? At best, people will accept it because it is so ubiquitous. No one WANTS it!

      That's pure bullshit. People want it because they want to be able to use flash apps. Who cares which is the chicken, and which is the egg, and which came first? We're here today, and have to deal with the real world in which we live, in which flash support is an important line item. Would that it were not, but it is.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:Welcome to the new world! by ensignyu · · Score: 3, Interesting

      It's not really that new of a market. Windows Mobile and PalmOS allowed you to install any apps you want.

      The only real difference is that the iPhone has a central app store. I think it makes sense for Apple to have rules about what they sell on the App Store. The problem is that you can *only* get apps from the App Store, you can't install apps from anywhere else.

      I don't buy the argument that people really want a locked down platform. They might be willing to put up with it, since it's the only way you can play (true for both consoles and now the iPhone), but it's mostly only Apple who's benefiting, not us.

      People who really want a walled garden can just stick to installing stuff from the app store and not do any sideloading. Android I believe has a toggle switch to allow installing non-market apps.

  7. It's Steve Jobs iPhone; he can pick the language by PolygamousRanchKid+ · · Score: 4, Insightful

    Just like the kid in the neighborhood who owns the ball determines the rules of the game.

    You don't like it that way? The solution is simple:

    Don't play in that game, and . . .

    . . . find a different ball and game that has rules that you like.

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  8. Re:None of this would've happened... by gaspyy · · Score: 3, Informative

    I read you post three times but I could see no facts, examples, anecdotes, anything. Just words.

    Flash supports multitouch and has access to accelerometer data, GPS info and so on, so what "new features" don't fit well with the medium?
    Semicomplex games not good? There are so many games in flash, some of them excellent, that isn't even funny. Quake has been ported to Flash, as well as Prince of Persia, just to name two classics, I could give many more examples.

    HD Fullscreen video works great in Flash 10.1 RC

  9. Re:Old trick by Anonymous Coward · · Score: 5, Informative

    Compile to C is banned. The policy is not a technical requirement, it's a contract. You can't get access to the Apple App Store without agreeing not to use intermediate layers. If your code is created in something other than Objective C, C or C++, you're in violation of that agreement, even if at some point all of it is represented in C code. Steve Jobs is a benevolent dictator and he has just extended his reach into your toolkit. (Captcha: soviet, how fitting)

  10. Re:None of this would've happened... by je+ne+sais+quoi · · Score: 5, Insightful
    well that's the crux of what Gruber sees as the benefit of Apple's policy for iphone users:

    iPhone users: I can see two arguments here. On the one side, this rule should be good for quality. Cross-platform software toolkits have never -- ever -- produced top-notch native apps for Apple platforms. Not for the classic Mac OS, not for Mac OS X, and not for iPhone OS. Such apps generally have been downright crummy. On the other hand, perhaps iPhone users will be missing out on good apps that would have been released if not for this rule, but won't now. I don't think iPhone OS users are going to miss the sort of apps these cross-platform toolkits produce, though.

    Speaking as someone who has to deal with 64 bit flash on linux and has had to deal with all manner of MS enforced formats on the the mac, I completely and utterly agree with this part. Apps running using native platform tools do fairly well, cross-platform apps suck a lot of the time. You windows users have seen this too -- itunes, quicktime and safari are dogs on windows because they had to import all their own libraries. On Apple machines these are lighweight apps that are fast. On windows it just doesn't work as well. And let's face it, as nice as open software is, working well is what sells units, ideology is secondary.

    --
    Gentlemen! You can't fight in here, this is the war room!
  11. Substandard apps? by shadowrat · · Score: 5, Insightful

    intermediate layers between the platform and the developer ultimately produces sub-standard apps

    Right. That's why all those games built with engines and level editors and scripting tools always suck. C'mon apple. You have to allow unity. You can't want games but require everyone to make them from scratch.

    Afraid that cool unity game will show up on pc, wii, xbox, android, Mac, myspace? It'll be just like the 90's when the pc was gaming heaven and mac users got to play marathon for 11 years.

    1. Re:Substandard apps? by shutdown+-p+now · · Score: 2, Informative

      Unity3D creates an Xcode project for the game engine. Since it's compiled natively, I see no reason why it would fall afoul of Apple's license.

      It doesn't matter how it's compiled, anymore. What matters is how the code (written in C, C++ or Objective-C) that you're compiling was produced. If a "translator tool" was involved in the process, then you're violating your SDK license agreement.

  12. Additional layers have nothing to do with this by gaspyy · · Score: 5, Insightful

    Keep in mind that actual Flash apps written by CS5 beta testers have been approved in Apple's app store in the past as well as many games written with Unity3D, so it's not like performance is a problem.

    Since every app is checked against objective (and subjective) criterias, it would have been OK to just reject poorly written applications.

    Forcing me to use a specific programming language is insane. Imagine Microsoft demanding all windows apps to be written only in C# and compiled only with Visual Studio. It would be an outrage. But hey, it's Steve Jobs, the Big Brother himself, and he knows what's best for us, right?

    Also, the timing was devious - on Friday, just before the Monday's official release of Adobe's CS5, effectively giving them no time to react. I was never a big fan of Adobe (especially before the Macromedia acquisition - their corporate culture started to change afterwards) but this is simply Steve Jobs being a big dick.

    Finally, I know that many /.-ers are against Flash. Keep in mind however that this move goes well beyond Flash, affecting other tools and frameworks. If successful, this move will lead to more and more closed ecosystems (from other vendors as well). Today's Apple makes Microsoft look like saints.

    1. Re:Additional layers have nothing to do with this by Anonymous Coward · · Score: 4, Insightful

      You Apple supporters amaze me. Is there nothing that Jobs can do that would make you NOT defend him?

      You do realise that "I would wager that it has to do with the way that it gets compiled, if they aren't using Apple's compiler and profiler they may not be taking advantage of the APIs needed to do all that super neato app backgrounding and such." - is complete horseshit. It's technically illiterate... and is aimed entirely at the sort of gobby Apple supporters who know nothing about technology, but spout so much shit in defense of Apple's atrocious behaviour.

    2. Re:Additional layers have nothing to do with this by Anonymous Coward · · Score: 5, Informative

      Forcing me to use a specific programming language is insane. Imagine Microsoft demanding all windows apps to be written only in C# and compiled only with Visual Studio. It would be an outrage. But hey, it's Steve Jobs, the Big Brother himself, and he knows what's best for us, right?

      Is this asinine? You are aware Microsoft is demanding all Windows Phone 7 apps be written in C#/Silverlight, right? I may not agree with their move, but to say it puts them alone on a pillar of evil seems to show your own bias more than any factual opinion.

      You are confusing platform with development tools. Apple is banning cross-platform development tools, even if they produce valid code for the platform. Microsoft is doing no such thing. If you have a development tool able of producing both Flash, Silverlight and iPhoneOS versions of your app. Microsoft will accept it, Apple will not.

    3. Re:Additional layers have nothing to do with this by shutdown+-p+now · · Score: 3, Insightful

      Is this asinine? You are aware Microsoft is demanding all Windows Phone 7 apps be written in C#/Silverlight, right?

      You're wrong. There's no requirement that WP7 apps be written in C#.

      They have to be managed verifiable .NET assemblies, yes, and the API is Silverlight. However, this does not preclude anyone from writing a compiler that produces verifiable .NET assemblies (to give a few examples of what is possible - F#, IronPython, IronRuby), nor from abstracting Silverlight APIs through your own framework which also happens to be cross-platform.

    4. Re:Additional layers have nothing to do with this by shutdown+-p+now · · Score: 3, Insightful

      This new restriction applies to iPhone OS 4.0, where they introduce multitasking for third party apps which takes advantage of halting portions of apps... unless they are cross compiled in which case the performance tricks fail.

      You have been repeatedly told (in other stories about these new restriction, by me as well as others) that it's not how iPhone OS 4 multitasking works at all. There's no "suspending of portions of apps" there. They are just suspended entirely - if they want to do any background work, they have to offload that to OS-provided daemons (which are separate processes).

      The fact that you keep ignoring all replies calling you out on your mistakes, and just posting the same tripe over and over again, leads me to conclude that mistakes aren't mistakes after all, but deliberate FUD.

  13. Re:Apple's hindering itself by diegocg · · Score: 4, Insightful

    It's horrible. I'd like my framework methods to b less than 30 characters long, please. Sorry to promote MS here, but I happen to like method names like OnInit and OnLoad.

    So those reasons (and the MVC pattern) are the strongest you have to think that Cocoa is "god-awful"?

  14. Re:None of this would've happened... by DarkKnightRadick · · Score: 3, Insightful

    And none of that was meant for flash. It was meant to be a way to provide animated effects to a website. It wasn't meant to be the entire website (many, many issues there to include no ability to deep link). Just because you can do something doesn't mean you should. Phones aren't gaming consoles. Yet they are used as one now. Does that make games a good fit for phones? No, it just means you can do it. I didn't say the games weren't good. I said they aren't a good fit for the medium (which is poorly supported on any non-Windows platform).

    All I see is you making my point for me. "Flash supports this and flash supports that." Big whoop. That's like my above example of the phone as a gaming platform. Sure you can play games on it, but seriously. Why would you? Controls are a pain (and really not any better with full qwerty keyboards) and the screen size, even for something like the iPhone or Android, is TINY. What is a phone good for? Making phone calls and storing numbers. Period. Just because phones have tried to expand past that doesn't make that a good decision, just a popular one.

    I'm all about expanding and moving beyond limitations, but Flash, at it's base, is an over-glorified animation program just like the modern cell phone is at it's base an over-glorified communications device.

    You want HD video? Use a proper video codec. You want to play games? Use a proper platform (PC or dedicated console). You want some cute animations that turn into viral memes? Use Flash all you want. Want to make phone calls from anywhere? Get a cell phone.

    --
    "There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
  15. Which path for Apple, the light or the dark? by internet-redstar · · Score: 2, Insightful
    I think the choices Steve is making are very clear: the choice is: MacOS or iPhoneOS. Light or Dark. It is clear he's made the choice for an era of darkness... sadly enough it will only make the Mac platform less popular amongst techies who where the primary adopters after MacOS X.

    And the economics of a closed fully controlled platform, have been in Steve's dreams since the seventies. Luckily we all know it will ultimately utterly fail, as so many closed platforms in the past. It will take a while. It might be hard for hackers such as us, but we will prevail! Sad to see Apple go down like this, was a big fan, contributor, promotor, book writer, journalist and so on for years.

    I am really disappointed in Steve. At least Google tries a little bit to 'do no evil', Steve makes beautiful things, but with a very bitter taste! Facebook group: iPad is an attack on our freedom

  16. What by jellyfrog · · Score: 2, Informative

    intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

    I find that intermediate layers such as Python tend to produce above-standard apps due to the developers (ie. me) not having to implement every little detail manually. Number of Bugs ~ k * Amount of Code, well known fact.

  17. Re:Apple's hindering itself by cbreak · · Score: 2, Insightful

    I happen to like Objective-C and the Cocoa framework. It's method names are quite descriptive and don't leave much guesswork on what they do. Incidentally, there are short method names too for things that are easy to describe in short names. You don't have to use the MVC pattern if you don't want to. It's just more convenient to work with API the way it is designed to be used.

  18. Blink on this issue? by Yvan256 · · Score: 5, Funny

    Don't Blink. Blink and you're dead. Don't turn your back. Don't look away. And don't Blink. Good Luck.

    1. Re:Blink on this issue? by bigstrat2003 · · Score: 2, Interesting

      I'm torn, because while I don't really have the nerves to stomach another episode with those terrifying bastards... the episode is going to have River Song, so it'll have important story material (and it's a two-parter, as well :/).

      Honestly, that's my least favorite thing about having Steven Moffat write the show... he always wrote the really scary episodes, and I have no stomach for that sort of thing.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  19. Re:None of this would've happened... by cbreak · · Score: 2, Insightful

    Have you ever used flash? It's slow as hell, shutters on pal resolution movies even, and often uses 100% of the CPU Time of one of my cores in my 8 Core Mac Pro. WHEN IDLE! The flash platform is a pile of CPU eating crap, I can't imagine how anyone would use that voluntarily. On an iPhone it'd probably eat away all battery power within less than an hour.

  20. iPhone developer agreement: Eat a bug on camera by David+Gerard · · Score: 3, Funny

    iPhone developers are up in arms at Apple requiring them to use only Apple toolkits, sacrifice a Windows developer at their local Apple Shop every Sunday and maintain an altar to Steve Jobs in their homes. And eat a bug.

    Apple is famous for its rigid control over its devices, in its quest to maintain user quality. Developers have worked under increasing restrictions in their attempts to provide quality applications for the iPhone such as I Am Rich, Magic 8 Ball and iFart.

    "Not a big deal," said Mr Jobs in a personal email. "Cross-platform development leads to a worse user experience every time. Also, the video of you eating the bug has to be H.264 QuickTime or your app is out. Extra points for cockroaches."

    "This clause shows a fundamental lack of understanding of the creative freedom developers need," said iPhone developer Greg Slepak. "Software is an infinitely malleable creation of pure thought. Toolkits, languages and frameworks are only a way to develop something people will want. It's like telling Rembrandt what brand of brushes he's allowed to use."

    He paused to chow down on a palmetto bug for his MacBook's camera. "I'll tell you, a lot of iPhone developers are seriously considering Android, just as soon as Google develops a suitably exploitable stream of mindless thralls that will generate us a gushing torrent of money."

    "Thanks for the video, Greg," said Mr Jobs, "but we've just added section 3.3.1.a: 'In particular, when Greg Slepak submits an application, the bucket of cockroaches in the video have to be Apple-branded and genetically assembled in Cupertino.' So we've rejected your application, cancelled your membership and zeroed your account.

    "Of course, you're free to apply again. Or not, if you don't want a goddamn dumptruck full of money backed up to your house. It's a free country."

    --
    http://rocknerd.co.uk
  21. Re:Basically, they want to kill their dev base. by cbreak · · Score: 2, Insightful

    I doubt there are many people in "dev base" who are affected by that. After all, for a long time, the mandated tools were the only ones that were able to create applications, so most of the developers are already using them.

  22. Re:c# / monotouch? by elnyka · · Score: 2, Interesting
    http://www.youtube.com/watch?v=bB93-xeFJ40&feature=related Just to clarify, it is technically feasible. It is technically "just there". But from Apple's standpoint, it makes sense to thwart it (and Flash). Not that we have to like it but it is Apple's right to make that decision.

    For all those people who don't like that (I can see some going NERDRAGE!!! APPLE BAAAAD!), then do your best to develop kick-ass applications on Android and BlackBerry above and beyond whatever technical problems those platforms might have.

  23. Re:Apple's hindering itself by domukun367 · · Score: 2, Insightful

    I'm an ex C++ developer, who has worked in Javaland for the last 5 years, or J2EE or whatever the fuck they call it now. I don't see any benefit from GC apart from barely educated Javaschool (http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html) graduates writing bloated, slow and misguided code, resulting from their complete misunderstanding of the JVM and basic memory allocation.

    I'll take boost's shared_ptr and OBJ-C's autorelease any day.

    --
    Please don't send a Word document when a text file will do the job.
  24. Intermediate Layers by Grax · · Score: 5, Funny

    I don't understand why they keep sticking those damn intermediate layers in there. Real programmers write write in assembly language. If you want real performance that is what you need to be doing instead of using foofy object-oriented programming tools and junk like that. In my experience those other things just add more bugs and no real value. If you want information an old-fashioned text-only display can provide it. Remove all the layers please.

    1. Re:Intermediate Layers by N!k0N · · Score: 2, Funny

      Real programmers write write in assembly language.

      nah, Real programmers use butterflies. http://xkcd.com/378/

  25. Re:None of this would've happened... by Mr.+Spontaneous · · Score: 5, Informative

    But let's talk more about the Flash Player on the Mac. If it is not 100% on par with the Windows player people assume that it is all our fault. The facts show that this is simply not the case. Let's take for example the question of hardware acceleration for H.264 video that we released with Flash Player 10.1. Here you can see some published results for how much the situation has improved on Windows. Unfortunately we could not add this acceleration to the Mac player because Apple does not provide a public API to make this happen. You can easily verify that by asking Apple. I'm happy to say that we still made some improvements for the Mac player when it comes to video playback, but we simply could not implement the hardware acceleration. This is but one example of stumbling blocks we face when it comes to Apple.

    From http://theflashblog.com/?p=1641

    --
    Its all fun and games until someone loses an eye... then its just fun.
  26. Re:Apple's hindering itself by tk77 · · Score: 2, Interesting

    Please explain how Objective C is god-awful. I actually find it a pleasure to use and find the Cocoa API's way more intuitive then the MFC ones. Please don't bring up C# and .Net. I can't stand THAT god-awful hack of a language and framework. I don't want to include, or make my users download such a large install just to to run a 1mb application.

    I've actually found the intellisense in Visual Studio fails on me way more often then in Xcode. Sure, in past versions intellisense in Xcode was horrible. But after doing a project in Visual Studio 2008 recently, I just gave up on the intellisense and kept the MFC documentation open on a second monitor. (Yes, it may be better in VS 2010, but that JUST came out. I still had issues with it occasionally and had to keep resetting it). Not to mention I find Apple's documentation and samples way better then Microsofts.

    Also, because Objective-C is just straight C with object oriented extensions (message passing), I can include just about ANY C library I want. I'm able to take libraries I've written for apps on Linux/Unix and link to them for iPhone apps (statically of course, but I can still use them as is).

  27. How will this affect emulators? by jonwil · · Score: 2, Interesting

    There are a number of emulators on the App Store such as the C64 one and IIRC some Genesis stuff (emulators that are OK under the previous rules because they don't have any way for the user to control the code being run by the emulator). Will such things be removed from the App Store by Apple?

  28. Re:Apple's hindering itself by John+Betonschaar · · Score: 3, Interesting

    1. Syntax is something subjective, and actually the way methods are invoked through messages is one of the key strengths of Obj-C that makes it so flexible without requiring all the complexity and pitfalls of of C++
    2. What do you not like about the way you have to define methods? You basically declare the method name and its signature and that's it. Which is like every other programming language
    3. How is XCode 'primitive'. It's actually the only graphical IDE that I've ever used and found to be somewhat tolerable. In my day-to-day job I use strictly gvim and the CLI, because no IDE I know of has enough positives to counter the many negatives that any IDE will have compared to having a powerful editor like gvim. But XCode comes pretty close, closer than anything I've used before. Calling it primitive makes no sense to me whatsoever
    4. There is no garbage collection in iPhone OS because it would be a bad choice for memory-constrained applications. You use the retain/release memory model, optionally with user-defined autorelease pools to mimic garbage collection while still having full control over object lifetime. Much like using smart pointers in C++.
    5. What is 'weird' about the way properties are defined? Just like your 'the way methods are defined is weird'-argument, your statement is basically void. Declaring a property basically involves declaring its name, type, its attributes and optionally any accessor methods. How is this weird and how would you expect this to work without sacrificing features like atomicity and automatic retain/release semantics?
    6. What di you mean 'the IDE is not integrated'? Integrated with what? The debugger is integrated, the editor is integrated, the build control is integrated, the interface builder is integrated, the instruments tools are integrated, I really don't get what you're talking about?

  29. Misinterpretaton of Gruber by SuperKendall · · Score: 2, Insightful

    The article summary misinterprets the core of what Gruber was arguing. He was speculating Apple didn't care so much about languages, it was more cross-platform frameworks they were after - so the subtle distinction is that systems that either converted other languages to objective-c or targeted the platform directly might be allowed. For instance, Mono for the iPhone lets you build applications in C#, but with bindings into the Cocoa frameworks.

    Unity (popular game engine) might seem like a grey area, but if Apples motivation is quality of applications you simply cannot ban game engines, sine everyone having to write an engine from scratch would lower, not raise, overall quality. If for no other reeason than the pull of the game industry game engines should be OK.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  30. Porting is a totally different issue. by the_raptor · · Score: 4, Interesting

    The problem with console to PC ports is that consoles are designed with the limitations of game controllers in mind and so therefore are often "simplified" compared to native PC titles. That isn't what this is about. This is about porting between the different touch based smart phones which are all so similar in capability that it is like porting between Windows, Linux, or OSX (which works fine if you don't target a propriety platform to begin with). This is solely about Steve Jobs trying to turn his beachhead in the mobile market into an occupation.

    --

    ========
    CINC, 4th Penguin Legion
    1. Re:Porting is a totally different issue. by c_forq · · Score: 2, Informative

      Except that you also have people complaining of crappy ports from PS3 to X-Box (or vice-versa) when both are designed with the limitations of controllers. Or from Arcade to console, or from console to handheld, etc.

      --
      Computers allow humans to make mistakes at the fastest speeds known, with the possible exception of tequila and handguns
    2. Re:Porting is a totally different issue. by jedidiah · · Score: 2, Insightful

      It's up to the end users to decide where the line should be drawn.

      Forcing developers away from cross-platform frameworks won't garauntee that apps won't be crap.

      It will help discourage development for other platforms though.

      If Microsoft suddenly decided to ban likes of QT, these Apple Cult faithful would be all over Microsoft like stink on a pig. They would be the first to scream the loudest that this sort of thing is wrong and abusive.

      It's not up to Big Brother, it's up to the individual citizen.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  31. iTunes for Windows is using non-native APIs by dotwhynot · · Score: 5, Interesting

    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.” -- Apple

    Is Apple actually calling iTunes for Windows for a sub-standard app? That perhaps should be banned from the platform? Apple themselves are using non-native API intermediate layers such as CoreFoundation and CoreGraphics in their implementation of iTunes for Windows.

    1. Re:iTunes for Windows is using non-native APIs by khchung · · Score: 5, Insightful

      Is Apple actually calling iTunes for Windows for a sub-standard app? That perhaps should be banned from the platform? Apple themselves are using non-native API intermediate layers such as CoreFoundation and CoreGraphics in their implementation of iTunes for Windows.

      Yes, iTunes for Windows is a sub-standard app... for the Windows platform.

      Compared to other Windows apps (which are already not great feats of engineering), the iTunes app really sucks in many areas - slow startup, unresponsive UI whenever it is busy, non-standard UI elements, etc.

      Jobs understand very well these downsides are exactly what you get for putting an intermediate layer to help support multi-platforms - the apps will suck except possibly for the primary platform (if any) of the intermediate layer. And Apple doesn't want such apps on the iPhone, they would rather have the app not available than have a sucky one. You know, some might consider this quality control.

      As for banning, well, the platform is Windows, perhaps you should ask Microsoft if they care about sucky apps on their platform?

      --
      Oliver.
  32. Re:It's Steve Jobs iPhone; he can pick the languag by Orii · · Score: 4, Insightful

    And feel free to use your freedom of speech to argue against a policy you don't agree with, that you don't want to catch on more widely, and that you hope will be changed if enough outcry is raised.

  33. Apple screws Adobe by rxan · · Score: 3, Interesting

    Isn't Apple being a hypocrite here? Apple allows apps written in C/C++ but those, when designed correctly, can be ported to/from another supporting platform (ie: Android) in a matter of days. Furthermore Apple has a web browser and has been touting support for web apps and HTML5, yet the web is a definition of cross-platform content. There are plenty of tools and frameworks in web development (ie: Dreamweaver) that allow you to make websites easily. Apple allows those websites.

    It seems it comes down to a screw Adobe move.

  34. Re:None of this would've happened... by TheRaven64 · · Score: 5, Insightful

    Except that Apple ships a highly optimised H.264 CODEC as part of OS X. If they used that, instead of shipping their own, then it would be much faster. If you grab an H.264 movie and play it in QuickTime on a Mac, the CPU load is under half that of playing it in Flash. It's not that Apple doesn't provide APIs for doing it, it's that Apple doesn't provide APIs for doing it the way Adobe wants to do it, which is an entirely different complaint.

    --
    I am TheRaven on Soylent News
  35. Re:why might apple be doing this by salesgeek · · Score: 5, Insightful

    Basically, hogwash. Having one language and one tool chain leads to fewer methods of being able to solve problems, and reduces the utility of your computer system. Now instead of being able to use a .5mm slot head screwdriver, all I have a big ol' sledge hammer. There really is no "computer science" basis for Apple's decision. There is a marketing reason or two, though:

    1. Eliminate cross platform development tools and lock in developers and users to your platform.
    2. Ensure you can always put out better stuff than independent software vendors by pulling a Microsoft and adding new (undocumented or unreleased) libraries to the OS and then using the libraries to produce more functional, better integrated software than ISVs can.
    3. It's easy to kill off competition or those doing things you don't like with the platform by introducing incompatibilities in system libraries.

    The rest of your post, while interesting is basically speculating that Apple will create some whiz-bang complier that will solve all of the remaining big problems in computer science. I wish Apple luck, and I hope they solve at least two or three of the big challenges.

    A note on languages: Objective-C does not make for instant parallelism as you still have to fix the giant game of whack-a-mole that goes on with shared memory and have a more effective way of communication between processes/threads/whatever you want to call 'em. Providing some metadata might help, but it's no magic bullet.

    --
    -- $G
  36. 3rd Party Programming Tools Not To Blame by kegon · · Score: 3, Insightful

    The Gruber blog highlights the Mac Kindle app built with the QT toolkit as an example of problems of cross platform libraries causing bad user experiences. He seems quite rankled by the OK button being not quite the right size and text ever so slightly clipped. This would appear to be the fault of a lazy programmer rather than "evil QT".

    I don't remember having looked closely at the OSX style guidelines but my few QT applications have the approved order of "OK" and "Cancel" and all of my elements are properly aligned and not clipped. I would hazard a guess that the native design tools do not make it impossible to make a badly designed or non-conformant GUI.

    I think Jobs has erred in highlighting 3rd party programming tools as the source of problems based on Gruber's pedanticism. The only great apps that are native have been written by the big companies that can afford to spend the extra effort on a single platform.

    We all know that in the future Adobe will give in, Flash will be "enhanced" especially for Apple products and it will immediately become absolutely vital for web browsing according to the Job's reality distortion field.

  37. Irrelevant. by SanityInAnarchy · · Score: 5, Insightful

    Does a single thing you said explain why they won't allow frameworks which compile to Objective-C?

    That's where I'm having trouble. I can see a technical reason to force people to use a single language, or at least a single runtime representation, in the same way that, say, the new Windows Mobile forces you to use .NET. I don't see any technical reason for them to care what language you originally use to produce it.

    --
    Don't thank God, thank a doctor!
    1. Re:Irrelevant. by goombah99 · · Score: 2, Insightful

      Does a single thing you said explain why they won't allow frameworks which compile to Objective-C?

      That's where I'm having trouble. I can see a technical reason to force people to use a single language, or at least a single runtime representation, in the same way that, say, the new Windows Mobile forces you to use .NET. I don't see any technical reason for them to care what language you originally use to produce it.

      I dont' have a complete answer but I can grunt out a few ideas on this.

      1)
        Consider the problem of python's global interpreter lock. it prevents parallel execution of python: most people are suprised when they discover that a multi-threaded python application excecutes only one thread at a time and so is usually slower than a single threaded python program. (yes there are exceptions, and yes there are non-standard native libs to fix this problem, but let's not get off topic).

      If you convert a python code to C, this non-parallizable global interprer lock does not go away!

      What this example shows is that even if you output something into objective-c or whatever, you can create programs that impose huge constraints on the way a code must be executed.

        2)
      consider what happens if apple implements new features. e.g. suppose they built something like openMP into objective C. What happens if the abstraction that converts one language to objective C does not use this feature. For the case I just mentioned, openMP, I could imagine that it would be fairly difficult to convert the openMP processor directives in a machine translated way that would still make sense or work. TO be specific when you convert languages you tend to replace native commands like
      for x = 1..3:
              y = 3 + x

      into function calls in the new language:

      for_loop_method(1,3, store( y*, add_objC( x*, int_long(3)) ) )

      while the simple for loop would respond to openMP very well, the second form of nested function calls would not work at all in openMP.

      thus reducing something to objective-c is not the same as natively programming in Objective-c

      --
      Some drink at the fountain of knowledge. Others just gargle.
    2. Re:Irrelevant. by shutdown+-p+now · · Score: 3, Insightful

      Consider the problem of python's global interpreter lock.

      Not all implementations of Python have GIL, as it's not required in any way by the spec. E.g. neither Jython nor IronPython have it. In fact, as the name itself says, it's a Global Interpreter Lock. Any hypothetical implementation of a Python-to-ObjC translator wouldn't need it.

      consider what happens if apple implements new features. e.g. suppose they built something like openMP into objective C. What happens if the abstraction that converts one language to objective C does not use this feature.

      Same thing as what happens if a programmer who write directly in Objective-C doesn't use it.

      TO be specific when you convert languages you tend to replace native commands like
      for x = 1..3:
                      y = 3 + x

      into function calls in the new language:

      for_loop_method(1,3, store( y*, add_objC( x*, int_long(3)) ) )

      If you really think that what you have just written is in any way resembling an output of a typical translator, or even valid C, please just hand in your geek card now, and stop spreading FUD on the topic on which you don't have the slightest clue.

      (Hint: C doesn't have closures, or lazily-evaluated function arguments. Your (and similar) translation of for-loop to a function is impossible.)

    3. Re:Irrelevant. by ThePhilips · · Score: 3, Informative

      I don't see any technical reason for them to care what language you originally use to produce it.

      There is a nice simple example right from Mac OS X itself: the application menu.

      There are essentially two ways for applications to construct the menu: either by adding own items to whatever Cocoa creates automatically (that's official blessed way) or create one from scratch. If one goes with the official blessed way, then regardless of version of Mac OS X, application's menu would look integral to the rest of the OS. If one picks the latter option (many Carbon applications did it that way) then menu would look out of place for any Mac OS X version except the one application was created originally.

      The nice thing about Cocoa framework is that it take over a lot of OS integration tasks. But the story doesn't end there. The way Cocoa takes over the tasks allows Apple to introduce the changes into it in a next Mac OS X versions and have all properly written applications still work, behave and look properly - in accordance with rest of the new OS.

      Such practices are essentially taboo in Windows or Java. But Apple with Cocoa (and ObjC - it is the enabler of the magic) does them quite often.

      --
      All hope abandon ye who enter here.
    4. Re:Irrelevant. by SanityInAnarchy · · Score: 4, Insightful

      I don't think you quite understand what Apple is doing here.

      There are essentially two ways for applications to construct the menu: either by adding own items to whatever Cocoa creates automatically (that's official blessed way) or create one from scratch.

      So you use Cocoa bindings for whatever language you actually want to use, or you compile from another language into Objective C.

      So you still haven't provided a single example of why it must be originally coded in Objective C. By analogy, Google App Engine requires that I use Python or Java, but they certainly don't prevent me from using JRuby.

      But Apple with Cocoa (and ObjC - it is the enabler of the magic)

      Yeah, clearly Cocoa couldn't work in any other language...

      So yeah, your examples don't even preclude this working in other native languages. My problem is that they're effectively saying you cannot use anything which compiles to Objective C, only Objective C itself.

      In other words, they're banning third-party preprocessors.

      --
      Don't thank God, thank a doctor!
  38. Obfuscation by Symbha · · Score: 2, Informative

    It seems to me, this just means that Adobe et al. have to make it impossible to tell that their tools were used to create the app.

  39. How long until this is extended to all of OS X? by sadler121 · · Score: 3, Insightful

    So how long until Apple creates an App Store for OS X, and forces Developers to only write Apps in Objective C, under NDA?

    1. Re:How long until this is extended to all of OS X? by ducomputergeek · · Score: 2, Insightful

      I think an app store for OSX would be seen as a great benefit by most end users. One place where you can go search for apps, browse for apps, read reviews, and buy & install effortlessly that is also vetted to not to be Malware/virus is something that most end users would find extremely useful.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
  40. This will just affect publishers who cannot code by aristotle-dude · · Score: 2, Insightful
    People who were putting out cookie cutter apps or games using some middleware to make their life easy will be affected by this. If this affects you in a major way for your multi-platform deployment then there is something wrong with your codebase. If you were targeting several platforms from the beginning, your core code should be C/C++ and then you should have another layer for your platform API specific hooks in the higher level project. Just keep that common code linked with relative paths to your iPhone project file and do the same for the other platforms you are targeting.

    Thin client apps should not be affected by this since you would already be coding your interfaces separately for each platform for a native look and feel and having the major grunt work done on the server.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
  41. It's all in the last sentence. by jcr · · Score: 2, Insightful

    '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.'"

    Take a look at any app on the Mac that uses Qt to generate the UI. Apple has seen plenty of instances of shallow ports of Windows or X11 apps to the Mac, and they're flat-out painful.

    If you can't be bothered to learn the native development tools to write iPhone and iPad apps, then don't let the door hit you on the way out. Somehow, the iPhone market will just have to get by with the tens of thousands of developers who aren't trying to live in a little C# bubble.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  42. How are they going to enforce that? by Anonymous Coward · · Score: 3, Insightful

    I've worked for a company that produced a fully automated Java-to-Obj-C and Java-to-Brew translator and we've place app in the AppStore's top ten several times.

    We take the Java bytecode and generate and intermediate representation that can then be used to re-create, say, Objective-C or C++ (BREW) code (once again: we've put several apps in the top ten on the AppStore). Of course we were also shipping on BREW and Android.

    How can they detect the process is automated?

    I mean, heck... We generate frakking Objective-c SOURCE CODE.

    What can they dew? Ask us to hand over the source code and see that it hasn't been typed by a thousand monkeys?

  43. Re:why might apple be doing this by mog007 · · Score: 5, Insightful

    Having one language, so long as it's turing-complete, shouldn't give you fewer methods to solve a problem. Now, if you're locked into a single language it would probably make it difficult to find a pre-existing library that might assist you.

    I agree that there's no computer science basis for Apple's decision, but then again, Apple doesn't make their decisions based on computer science, they base them on business.

  44. Rationalisation by Dogtanian · · Score: 5, Insightful

    Now what might be the resource use case improvement here? I'll start the speculation with this thought and leave it to others to fill in more.

    No offence, but this does smack being the thin end of a typical wedge of rationalisation that ends up justifying and "explaining" Apple's behaviour in the absense of any explanation from them.

    While I'm not accusing you (specifically) of being a fanboy necessarily, Apple's secretive nature generally benefits them when combined with their rather partisan fanbase. Say nothing concrete that can be seized upon, and let people speculate, rationalise and justify your marketing decisions.

    It's up to Apple to explain- or not- the reasoning behind what they do; if the latter, that's their choice, but we're not obliged to give them the benefit of the doubt. Sorry, but I don't believe the reasons behind the decision were technical, and I'm not going to buy a third-party's speculation masquerading as explanation.

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    1. Re:Rationalisation by shutdown+-p+now · · Score: 3, Insightful

      No offence, but this does smack being the thin end of a typical wedge of rationalisation that ends up justifying and "explaining" Apple's behaviour in the absense of any explanation from them.

      But there is an explanation now - that's what TFA is about. Jobs has effectively admitted that this is strictly about Apple controlling the platform, and not permitting cross-platform development.

  45. Re:None of this would've happened... by nine-times · · Score: 4, Informative

    And what's more, the way Adobe wants to do it is "in Flash". They could just use Apple's decoder, but the whole point is to keep all web video playing in Flash so that developers need to keep buying new versions of Flash.

    What's more, if you read Adobe's on statements on the issue, you eventually realize that a lot of their performance problems come down to this: Apple has two APIs, Carbon and Cocoa. Carbon is basically a depreciated legacy API that exists in OSX to make it easier to allow developers to port OS9 applications to OSX, but Adobe didn't want to rewrite their applications so they kept using the depreciated API. Apple wasn't adding new features to Carbon and so it never got hardware acceleration support for video decoding, which meant that Adobe's applications didn't have access to hardware acceleration support.

    Adobe is trying to blame Apple, but their real complaint against Apple is, "In the 10 years that OSX has been out, we never bothered to rewrite their plugin to stop using the depreciate OS9 APIs.

  46. Re:Obvious mistake by jo_ham · · Score: 3, Funny

    Yes, I don't need Cider.

    But I really should have it!

    Apps inside Cider wrappers were so awesome!

    *please note sarcasm, and please someone go outside and find whoever thought Cider was acceptable performance on OS X and beat them with a sock full of oranges.

  47. Re:Old trick by kgo · · Score: 2, Insightful

    To 100% certainty, no...

    Certain enough for Apple to ban an app or ask to see the source? Sure.

    For popular commercial stuff like MonoTouch, they'd just need to come up with some sort of fingerprint or signature. Presumably they're all going to have some boilerplate library code in there, MonoTouch.init_gc() or whatever...

    For homebrew stuff, they can probably still look for stuff that clearly isn't written by a human. Not sure how much a name mangling scheme would get exposed in Objective-C, but that'd be a good place to start.

    --
    Can you construct some sort of rudimentary lathe?
  48. Re:why might apple be doing this by NormalVisual · · Score: 2, Insightful

    Having one language, so long as it's turing-complete, shouldn't give you fewer methods to solve a problem.

    Sure it can. Compare two Turing-complete languages, identical in every way except that one supports unsigned integers and the other doesn't. Right off the bat, one offers more ways to do some things than the other.

    --
    Please stand clear of the doors, por favor mantenganse alejado de las puertas
  49. Re:None of this would've happened... by beakerMeep · · Score: 4, Insightful

    You have been able to deep link into Flash for years. And honestly, if you think touchscreen phones are over glorified, I'm not sure why you're involving yourself in this debate at all.

    It's like you brought a big swath of your lawn up in here, laid it down, and asked everyone to get off of it.

    --
    meep
  50. Re:why might apple be doing this by shutdown+-p+now · · Score: 2, Informative

    It's not. It still requires you to explicitly parallelize code and specify dependencies. It also does nothing to deal with the problem of memory sharing.

  51. Re:Qt was hit hard as well by shutdown+-p+now · · Score: 2, Interesting

    Qt requires several extensions to C++ (signals/slots and RTTI, mostly) which are implemented by a translator from "Qt C++" to plain C++ - the tool called "moc". And Apple banned all translation tools, with no regard to what language is fed as an input to them.

  52. Sorry Adobe by Mr+Bubble · · Score: 3, Insightful

    Mac users had to settle for being locked out, shit on, and ignored for many, many years. Suddenly the servant is the master and everyone's whining about how Adobe isn't allowed to continue to foist their buggy plug in and dev tools on us anymore. Grow up. Compete. Make a decent HTML 5 animation editor that doesn't suck like all the other Mac software you've put out in the last 10 years.

    --
    "The world is a construct of forceful imagination. Those who don't know walk around in the reailties of those who do"
  53. Re:why might apple be doing this by Sir_Lewk · · Score: 4, Insightful

    I trust you do all of your programming in BrainFuck right?

    Face it, even if any Turing complete language can do what any other Turing complete language can do, sometimes there are write languages for the job, and sometimes there are wrong languages for the job.

    --
    "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
  54. Re:None of this would've happened... by R3d+M3rcury · · Score: 2, Informative

    Carbon is basically a depreciated legacy API that exists in OSX to make it easier to allow developers to port OS9 applications to OSX, but Adobe didn't want to rewrite their applications so they kept using the depreciated API.

    And this is also an interesting point, regarding Apple.

    Way back in 1997, Apple told everyone that the future was "Rhapsody" and we were all going to rewrite our applications in Objective-C and everything would be wonderful. Developers, by and large, said, "So we're going to take decades of work and rewrite it in a 'weird' language just so we can work on your new operating system? Thanks, but if we're going to rewrite decades of work, we'll do it for Windows. Nice working with you."

    So back in 1998, Apple told everyone that future was Mac OS X and that they'd meet us half-way or so. Drag your code up to at least System 7 standards and we'll do the rest. That was Carbon. Of course, developers rightly said, "Oh, but you're not going to be supporting Carbon beyond that." "No, no!" said Apple. "We understand your investment and we're going to keep supporting Carbon! That's why the Finder is in Carbon and will remain so! Trust us--Carbon applications will always be on equal footing with Cocoa applications!"

    Yeah, right.

    For example, Apple insisted that the future for Carbon apps doing UI was HIViews. "Use HIViews and we'll continue to support you!" They exclaimed. So Adobe rewrote all their stuff to use HIViews. And what happens? "Oh, HIViews aren't 64-bit compatible and they never will be. You have to rewrite all your UI code in Cocoa." So much for continuing to support you, huh?

  55. Re:None of this would've happened... by exomondo · · Score: 2, Interesting

    Just because you can do something doesn't mean you should. Phones aren't gaming consoles. Yet they are used as one now. Does that make games a good fit for phones? No, it just means you can do it. I didn't say the games weren't good. I said they aren't a good fit for the medium (which is poorly supported on any non-Windows platform).

    But that depends solely on what games you are talking about, many games ARE fit for and even SUPERIOR on that platform. For example Angry Birds, great on a touchscreen phone, would be awful on a console. Conversely Nazi Zombies, great on a console, rubbish on a touchscreen phone. There is no rule that 'games suck on X platform and are great Y platform'.

  56. Objective-C to Language X instead? by Kryptonut · · Score: 2, Interesting

    People are complaining "I can't write my app in precious language X and cross compile it (or whatever conversion they do) to run on iPhone" whether language X be Java, Flash or whatever.

    Has anyone ever considered going to other way? Write something in Objective-C and cross compile to other platforms? Hell, most of the specifications are open, we even have GNUStep! It's really not THAT complicated a language, C with a Smalltalk style OO model strapped to it and a few libraries.

    Why not have a converter that takes an Objective-C iPhone app's code and converts it to Dalvik, .NET or whatever your other targets are, instead of moaning because you can't write your app in Java or whatever you pick?

    Seems to be all one sided, even lazy, if you ask me. Objective-C isn't THAT hard to learn, and the majority of specs are open.