Forgot your password?
typodupeerror
Iphone Programming Apple Your Rights Online

Steve Jobs Weighs In On iPhone Programming Language Mandate 711

Posted by timothy
from the he's-in-favor dept.
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.'"
This discussion has been archived. No new comments can be posted.

Steve Jobs Weighs In On iPhone Programming Language Mandate

Comments Filter:
  • by bcmm (768152) on Sunday April 11, 2010 @07:16AM (#31806934)
    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.
    • by WrongSizeGlass (838941) on Sunday April 11, 2010 @07:30AM (#31807010)

      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

      • by Yvan256 (722131) on Sunday April 11, 2010 @07:53AM (#31807146) Homepage Journal

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

      • Re: (Score:3, Interesting)

        by bcmm (768152)
        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.
    • by cfulmer (3166) on Sunday April 11, 2010 @08:01AM (#31807204) Homepage Journal
      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.
      • by Cryacin (657549) on Sunday April 11, 2010 @08:04AM (#31807228)

        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.

      • by digitalchinky (650880) <dtchky@gmail.com> on Sunday April 11, 2010 @08:34AM (#31807396)

        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.

    • by Goaway (82658) on Sunday April 11, 2010 @08:01AM (#31807208) Homepage

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

      • by PortHaven (242123) on Sunday April 11, 2010 @08:09AM (#31807256) Homepage

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

        • Re: (Score:3, Interesting)

          by moonbender (547943)

          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 t

          • Re: (Score:3, Insightful)

            by salesgeek (263995)

            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.

      • by Nerdfest (867930) on Sunday April 11, 2010 @08:40AM (#31807426)
        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.
      • by drinkypoo (153816) <martin.espinoza@gmail.com> on Sunday April 11, 2010 @08:58AM (#31807550) Homepage Journal

        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.

      • by the_raptor (652941) on Sunday April 11, 2010 @09:03AM (#31807564)

        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.

      • by boilednut (1245008) * on Sunday April 11, 2010 @10:10AM (#31808024)

        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.

    • by Grax (529699) on Sunday April 11, 2010 @08:39AM (#31807424) Homepage
      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.
  • Good Stuff (Score:2, Interesting)

    by QuantumG (50515) *

    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.

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

      That's a great idea! You can use this link [apple.com]. But please remember remember Mr. Job's sarcasm detector isn't working (I think it will be fixed in iPhone OS 4.0) so please be careful how you word it or he just might take it seriously ;-)

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

    • by Pojut (1027544)

      Because a pretty exterior is usually enough for most people...what's going on under the hood doesn't usually matter so long as the outside is pleasant to look at.

      Inexplicably, for many guys, this applies to women as well...I'll personally take an average (or even ugly) highly intelligent woman over a dumb knockout any day.

      • by hitmark (640295)

        animal instincts. We are "programmed" to evaluate a potential partner based on looks, as thats supposedly a indication of genetic fitness.

    • by mc moss (1163007) on Sunday April 11, 2010 @07:34AM (#31807030)

      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.

    • I honestly don't understand why Geeks put up with this and fall for the marketing propaganda.

      It's not really the 'geeks' Apple is after, they're after the mobile developers, and the developers are after profits. The App store is the easiest way for these mobile developers to sell their wares so they will put up with Apple's rules until there is a more viable consumer market for their products.

      If all the world were Apple we'd not be able to hack a thing.

      Fortunately there are plenty of other hardware platforms to 'hack'. Keep in mind that not everyone (consumers or manufacturers) wants their products "repurposed". There's just a tiny percentage of users who wa

  • Transcompilers? (Score:3, Informative)

    by drolli (522659) on Sunday April 11, 2010 @07:21AM (#31806962) Journal
    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.
  • by WhipItGood (679579) on Sunday April 11, 2010 @07:25AM (#31806974)
    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.
    • Re: (Score:3, Insightful)

      by bondsbw (888959)

      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

      • by ensignyu (417022) on Sunday April 11, 2010 @04:55PM (#31811606)

        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.

  • by PolygamousRanchKid (1290638) on Sunday April 11, 2010 @07:27AM (#31806988)

    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.

  • Substandard apps? (Score:5, Insightful)

    by shadowrat (1069614) on Sunday April 11, 2010 @07:40AM (#31807062)

    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.

    • "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." Actually, unless the engine is redesigned for the platform, often they DO suck. Think about the hundreds of games that were great on PC but absolutely dogshit on a more powerful gaming system, or going from PC to Mac.
  • by gaspyy (514539) on Sunday April 11, 2010 @07:42AM (#31807068)

    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.

  • Of course, nto that dev base will die. they will just code for other platforms.

  • by internet-redstar (552612) on Sunday April 11, 2010 @07:47AM (#31807112) Homepage
    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 [facebook.com]

  • 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 [newstechnica.com].

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

  • by jonwil (467024) on Sunday April 11, 2010 @08:48AM (#31807478)

    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?

  • by SuperKendall (25149) on Sunday April 11, 2010 @08:57AM (#31807538)

    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.

  • by dotwhynot (938895) on Sunday April 11, 2010 @09:10AM (#31807616)

    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 [flickr.com].

    • by khchung (462899) on Sunday April 11, 2010 @10:27AM (#31808166) Journal

      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?

  • Apple screws Adobe (Score:3, Interesting)

    by rxan (1424721) on Sunday April 11, 2010 @09:38AM (#31807790)

    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.

  • by kegon (766647) on Sunday April 11, 2010 @10:07AM (#31807990)

    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.

  • Obfuscation (Score:3, Informative)

    by Symbha (679466) on Sunday April 11, 2010 @10:30AM (#31808198)

    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.

  • by sadler121 (735320) <msadler@gmail.com> on Sunday April 11, 2010 @10:32AM (#31808234) Homepage

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

  • by aristotle-dude (626586) on Sunday April 11, 2010 @10:39AM (#31808278)
    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.

  • by jcr (53032) <jcrNO@SPAMmac.com> on Sunday April 11, 2010 @10:58AM (#31808412) Journal

    '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

  • by Anonymous Coward on Sunday April 11, 2010 @11:00AM (#31808422)

    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?

  • Sorry Adobe (Score:4, Insightful)

    by Mr Bubble (14652) on Sunday April 11, 2010 @03:19PM (#31810802)

    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.

"Consistency requires you to be as ignorant today as you were a year ago." -- Bernard Berenson

Working...