Steve Jobs’ response on Section 3.3.1

After posting my reaction to clause 3.3.1 of the iPhone SDK terms I decided to write Steve Jobs the following email:

Hi Steve,

Lots of people are pissed off at Apple’s mandate that applications be “originally written” in C/C++/Objective-C. If you go, for example, to the Hacker News homepage right now:

<http://news.ycombinator.com/>

You’ll see that most of the front page stories about this new restriction, with #1 being: “Steve Jobs Has Just Gone Mad” with (currently) 243 upvotes. The top 5 stories are all negative reactions to the TOS, and there are several others below them as well. Not a single positive reaction, even from John Gruber, your biggest fan.

I love your product, but your SDK TOS are growing on it like an invisible cancer.

Sincerely,
Greg

His response:

We think John Gruber’s post is very insightful and not negative:

http://daringfireball.net/2010/04/why_apple_changed_section_331

Steve

Of course he was right, I had somehow missed that post by Gruber, having only read the original. Gruber’s second post, which Jobs appears to be endorsing here, is indeed, very insightful, and may explain Apple’s motivations for the updates to section 3.3.1.

That said, I did not, and still don’t, consider those reasons to be very good, so I sent a reply in kind:

Sorry. I didn’t catch that post, but I finished it just now.

I still think it undermines Apple. You didn’t need this clause to get to where you are now with the iPhone’s market share, adding it just makes people lose respect for you and run for the hills, as a commenter to that article stated:

“So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.”

And that makes Apple evil. At least, it does in the sense that Google uses the term in “don’t be evil” – I believe pg translated “evil” as something along the lines of “trying to compete by means other than making the best product and marketing it honestly”.

From a developer’s point of view, you’re limiting creativity itself. Gruber is wrong, there are plenty of [applications] written using cross-platform frameworks that are amazing, that he himself has praised. Mozilla’s Firefox just being one of them.

I don’t think Apple has much to gain with 3.3.1, quite the opposite actually.

Sincerely,
Greg

Within about 3 minutes a second reply graced my inbox:

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.

With replies this short (understandably, of course) I can only guess at his meaning. Perhaps he’s referring to the days when some applications were being written with CodeWarrior and various other build systems. Or maybe he’s referring to the transition from Carbon-based applications to fully Cocoa applications (like Apple’s own Finder), or applications that were written using Macromedia’s Shockwave, or applications written in pure Java or those written in the now-defunct Java-Cocoa bridge. Perhaps it’s a bit of all of these.

Sure, many of the apps written using these systems aren’t very pretty, but can you imagine a Mac without Mozilla’s Firefox? Or a Mac that couldn’t run applications written in Python, Ruby, Java or a myriad of other languages? You would probably consider such a Mac severly handicapped. I don’t believe the existence of these in any way hampers Apple’s ability to progress the Mac platform, to the contrary, they enhance it. The existence of some sub-standard applications should not remove our ability to use those works of art that just so happen to be written without the aid of Apple’s tools.

I have nothing against Apple’s desire to enforce “quality applications”, but there are far better ways of going about it. Mandating that applications be “originally written” using Xcode and the C-based languages is just foolish as it does not magically create quality. What it does do, as I explained previously, is send developers running for the hills, or more specifically, to competing platforms where they have more creative freedom.

Does Section 3.3.1 help Apple in any way?

Gruber makes several claims:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage. If, say, a mobile Flash software platform — which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry — were established, that app market would not give people a reason to prefer the iPhone.

And, obviously, such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.

There is truth to this, but I think it’s absurd to think that a third-party toolkit that failed to keep up with Apple’s APIs and produced poor quality apps would ever be popular. Why would users and/or developers willingly choose to use an inferior product? And if they do, so what? No one is forcing you to use them. Further, the vast majority of applications written for the iPhone *have* been written using Apple’s tools, before these changes were made to Section 3.3.1.

Are these imagined advantages worth the consequences?

Many (if not most) developers do not view a company that is blatantly trying to “lock them in” favorably. It is not a virtue that people respect. If I were to write an app for the iPhone, I would choose the tools that I deemed “the best”, voluntarily, and that probably means I’ll use Objective-C and Xcode. But the notion that those are the only tools that I’m allowed to use scares me, and it seems, many others.

The iPhone is the #1 smartphone because people *like it*. They chose it based on the quality of the product itself, and developers flocked to it because of its popularity and its amazing tools. There was no need to lock anyone in, Apple got to where it is on merit, and that’s respectable. Trying to forcibly lock users and developers into the platform is a sign of insecurity.

Everyone fears The Ignorant Boss

For developers, this is the person who knows nothing about programming yet insists that you use X tool and write it in Y language. Now, suddenly, it is as if the formerly independent iPhone developers all have such a boss, and the worst part is that they can’t even communicate with this one. He lives several thousand miles away in Cupertino and isn’t even aware of their existence or anything related to their project.

Gruber goes on to discuss the impact Section 3.3.1 has on the user’s point of view:

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.

Ignoring the fact that Gruber is making objective that which is totally subjective, this is just plainly untrue.

One of my favorite applications on the Mac is Mozilla’s Firefox, and certainly my favorite web browser. I think it beats the pants off Safari. As this is not a review of Firefox I won’t get into the details, but I will point out that Firefox is written using a cross-platform software toolkit.

A friend of mine is a musician who thinks the world of Ableton Live (also written using a cross-platform software toolkit), while deriding Apple’s Logic Pro as “lackluster.”

Without question these are all examples of “top-notch” software written using cross-platform toolkits. There are hundreds of others. Much of the software that’s hidden from view and supports the foundations of Mac OS X itself is software that is written using cross-platform toolkits, and all of these are “native” in the sense that they run just as fast as software using the Cocoa frameworks. Some might have widgets that look different, but so do most iPhone games written in accordance to Apple’s rules, should we ban them because of it? That would be absurd and tantamount to software-racism!

I sent a final response to this effect:

The Mac has only been helped by the fact that Firefox, Ableton Live, and hundreds of other high-quality applications can run on it thanks to the fact that developers have a choice as to what tools they can use on it.

Crappy developers will make crappy apps regardless of how many layers there are, and it doesn’t make sense to limit source-to-source conversion tools like Unity3D and others. They’re all building apps through the iPhone developer tools in the end so the situation isn’t even comparable to the Mac where applications can completely avoid using Apple’s frameworks by replacing them with others.

In my opinion, 3.3.1 only serves to make the platform less attractive to legitimate developers, giving them reason to write their software for competing platforms instead.

Thanks for considering this.

Sincerely,
Greg

Apple is free to write whatever absurd rules they want for their SDK, but in doing so, I think the “creative company” is undermining creativity itself, and at its own expense.

The full text of this exchange with headers (sans the final reply), is right here.

Update (4/11/10): Steve Jobs’ Response: A Brief Followup

Update (9/10/10): A few months after this posting, Apple updated and relaxed their terms.

Tags: , , , ,

227 Responses to “Steve Jobs’ response on Section 3.3.1”

  1. Subd

    April 10th, 2010 at 7:11 pm

    wot, steve responds to your mail…?

  2. Greg Slepak

    April 10th, 2010 at 7:26 pm

    Oh yeah, we play poker on Tuesday’s actually. ;-)

    He responds to mail sometimes, but I wouldn’t bother him unless you have a genuine question that you feel hasn’t been addressed. I can’t imagine what his Inbox looks like… so it’s incredible and commendable that he ever responds.

  3. Apple Vs Adobe: Steve Jobs Responds

    April 10th, 2010 at 7:55 pm

    [...] after an Adobe employee wrote a post telling Apple to “go screw yourself“.Developer Greg Slepak claims to have emailed the Apple CEO about the situation, and posted the following thread. Given [...]

  4. Clark

    April 10th, 2010 at 8:01 pm

    “Crappy developers will make crappy apps regardless of how many layers there are”

    Pretty much sums up everything.

  5. Goobi

    April 10th, 2010 at 8:16 pm

    Totally agree with your final comment. The App Store is full of crap applications already, so what’s the fuss about? If Apple had a stronghold over the qualitative aspects of apps, then Jobs could talk.

  6. Scott Rafer

    April 10th, 2010 at 8:51 pm

    No one could defeat your argument any quicker than you have yourself. The beJobsus doesn’t want these devices to be Macs. He’s precisely thrilled at your complaints.

    Crossposted from http://rafer.tumblr.com/post/511804618/sure-many-of-the-apps-written-using-these-systems

  7. Iria

    April 10th, 2010 at 9:03 pm

    Why sans the final reply? Interesting tag by the way: F-ingAppStore

  8. david Small

    April 10th, 2010 at 9:03 pm

    Steve doesn’t want apps written for the iphone/ipad to simultaneously show up on competitor platforms. Why am I not surprised.

    He’s got to be tired of competitors copying Apple’s products. He’s got to be even more tired of software tools that enable those knock-offs to function like Apple’s produts.

    He’s drawn a line in the sand and I applaud him for that.

  9. Steve Jobs responds to complaint about new development tool restrictions for iPhone, cites Gruber | Tech Zone 24

    April 10th, 2010 at 9:03 pm

    [...] Apr 2010 20:48:00 EST. Please see our terms for use of feeds.Permalink Mashable  |  Tao Effect Blog (Greg), Daring Fireball (Gruber)  | Email this | Comments none Leave a [...]

  10. sami

    April 10th, 2010 at 9:06 pm

    Greg, don’t bother… android will do for you just fine… SDK TOS is as good as it gets….

  11. eddy Poon

    April 10th, 2010 at 9:07 pm

    Greg:
    Thank you for your time and sharing your communcations with Steve Jobs.

    80% of apps downloaded from the appstore sucks, and 80% of them were written using cross platform tools.

    The problem right now is – consumers would not know how apps were written, they only know the experience was bad, and they blame it on the phone and Apple.

    I am not saying this is democratic, I am saying in general, this is the right thing to do for the end consumers.

    Look at Kindle for Mac, for Christ’s sake. It’s a piece of junk.

  12. Aleksandar

    April 10th, 2010 at 9:08 pm

    “One of my favorite applications on the Mac is Mozilla’s Firefox, and certainly my favorite web browser. I think it beats the pants off Safari. As this is not a review of Firefox I won’t get into the details, but I will point out that Firefox is written using a cross-platform software toolkit.”

    Seriously? Your arguments just took a huge dive for me, here’s why.

    I’m using Firefox daily on my office Win7 machine where it runs great (on some old Pentium Dual Core, 4GB RAM). On Snow Leopard and 4GB C2D 2.2GHz MBP, it runs like crap. It takes *minutes* to load, UI is clunky and slow to react, it’s barely usable. I tried to use it for months after I moved to Mac, purely out of great experience on Windows, but it was in vain. The only time I ever start it now is to occasionally use Firebug and only after I failed to do what I needed in Safari dev tools.
    Thunderbird 2 was even worse.

    I can’t possibly imagine how you could consider Firefox on Mac to be better than Safari. It’s the worse browser on Mac, by high and large.

  13. Zachary

    April 10th, 2010 at 9:16 pm

    I’ve worked on multiple crossplatform projects, and while I agree with the general perspective you have, I disagree with your use of Firefox as an example of good mac software.

    Firefox, at least on my macbook pro, runs like a turtle that has been bathed in superglue. Crashing often, leaking memory horribly, and just being a poor mac program.

    Since I switched to Safari and Chrome, I’ve had many fewer crashes and other poor browsing events. I just can’t understand why anyone would champion Firefox at this point. Maybe you’re on a mutli-core desktop mac and it runs like a dream there.

  14. Steve Jobs Weighs In On Developer Agreement Drama [Apple] | i Top Tech

    April 10th, 2010 at 9:17 pm

    [...] Slepak wrote back to Jobs refuting Gruber’s post and explaining that “from a developer’s point of view, you’re limiting creativity itself.” A few minutes later, Jobs replied again, elaborating—or what goes for elaboration, anyway, in an email from Steve Jobs—his company’s motivation for requiring apps to be originally written in Objective-C: [...]

  15. Daniel W

    April 10th, 2010 at 9:24 pm

    You keep referencing Firefox as being a prime example of a high-quality product produced by a cross-platform framework, as if it was indisputable.

    I, and I’m certain many others, feel that the Mac version of Firefox is, quite frankly, a piece of crap. It’s slow, buggy, ugly, and feels nothing like a Mac app should.

    It bothers me how you keep referring to Firefox as being “without question” the best example of a high-quality cross-platform app, when many Mac users feel differently. That’s not any better than John Gruber stating that “cross-platform software toolkits have never produced top-notch native apps for Apple platforms.”

    Having said that, I don’t disagree with your side of the argument. But as someone who thinks that Firefox for Mac can do a much better job, I felt I had to respond.

  16. chris f

    April 10th, 2010 at 9:33 pm

    what’s wrong with apple wanting to exclude apps that aren’t optimized for their hardware? if anything, i would think it encourages creativity by requiring integration of the app with the features of the iPhone OS system, instead of just being a lazy port from another platform.

  17. RidleyGriff

    April 10th, 2010 at 9:37 pm

    Thanks for doing the legwork on this, Greg. Great article.

    WIth your example of Ableton Live, though, I would like to whole-heartedly disagree. Live is, in fact, a great example of what is wrong with cross-platform development.

    It runs its own UI that has pretty much nothing to do with Apple’s Human Interface Guidelines. The way it handles files can often be bizarre. There is no way a Mac user can sit down at that application and intuit how to do much of everything without going through a lengthy tutorial.

    On the Mac side, we see this kind of thing all the time — and we say it “feels like a Windows program”. And for that program, all the benefits of our platform of choice are lost, as we have to relearn how to use our computers for the application that isn’t playing ball with how Macs do things.

    It is, frankly, obnoxious.

    The exact same could be said not only for Firefox, but for Final Draft, a cross-platform screenwriting word processor. Far less complex than something like Live, the Final Draft UI was a living nightmare up until the most recent version 8. Why is 8 so great? Because the Mac version of the application looks and behaves _exactly like a Mac application should_. And suddenly, it goes from being an eyesore that gets in the way (which drove me to the open-source Celtx for a while) into being a transparent interface through which I can do my work.

    A lot of us everyday Mac owners choose this platform because it has the ability to get out of the way of what we are working on. Programs developed with cross-platform toolkits rarely do this. And while your friend may love Live, I would bet he loves it for the features it offers and its innovative take on creating music, not it’s bizarre (for a Mac user) interface.

    Apple is in the process of defining what the user experience is going to be for an OS that is going to be their focus for a very, very long time. They are trying to rebuild user interaction from the ground up. If cross-platform toolkits ruled the day, I have very little doubt that we would end up seeing the same miasma of design elements and operability quirks that we deal with in today’s computers and devices.

    That will be fine in the Android world. It won’t be for what Apple is trying to do here.

    Apple may be forcing people’s hands and playing some brutal hardball — and people have every right to be upset — but from an end user’s perspective, I can’t help but think this will give me a superior experience when all is said and done.

    I want my Mac applications to look and behave like native Mac applications. I want my iPhone apps to behave and look like native iPhone apps. And if they do, I will continue to use this platform.

    That’s the lock-in Gruber is talking about; users staying with something because they prefer the experience it provides.

    And not only will we iPhone users support Apple for providing that experience, we will also support the developers who provide it.

    “Lock in” can look like an ugly phrase, but if it’s a developer being locked into a buying audience of almost 100 million passionate users and growing, it can also look like an opportunity.

  18. Noé bullock

    April 10th, 2010 at 9:41 pm

    Apple is devolving into what they hate the most: Microsoft
    I dont want to live in a world according to Apple in as much as one created by Microsoft. It is offensive to creativity and bordering in a dirty monopoly and a software dictartorship. I can envision a lot of viruses coming up labelled “to Apple with love”

  19. VonGuard

    April 10th, 2010 at 9:41 pm

    Jobs is actually quite responsive to emails. I’ve gotten responses before, too. They’re usually very short, but always smartly so.

    You just can’t email him something stupid, or silly. He obviously has the “inbox at 0″ obsession.

  20. The TechNexus » Blog Archive » Steve Jobs responds directly to developer over new iPhone SDK rules, cites blog for explanation

    April 10th, 2010 at 9:48 pm

    [...] Apr 2010 20:48:00 EST. Please see our terms for use of feeds.Permalink Mashable  |  Tao Effect Blog (Greg), Daring Fireball (Gruber)  | Email [...]

  21. Barry

    April 10th, 2010 at 9:48 pm

    Dude, this is about the iPad/iPhone devices. NOT the Mac. The world isn’t coming to an end. Stop being a douche. Apple can do whatever they want with their iToys. It’s THEIRS. Heck, they could have provided NO SDK and made everyone make web apps.

    Calm down. It’s not that big of a deal.

    -Barry

  22. John Lindal

    April 10th, 2010 at 9:51 pm

    All the cross platform frameworks I’ve worked with started from the lowest-common-denominator solution and struggled hard to get out of the pit. You could write simple applications with them, but if you wanted them to feel native, you had to build way outside their bounds. If only one platform supported a cool feature, it ended up at the bottom of the framework’s todo list. (I don’t develop for the iPhone.)

  23. Steve Jobs responds directly to developer over new iPhone SDK rules, cites blog for explanation | Technology South Africa

    April 10th, 2010 at 9:51 pm

    [...] Apr 2010 20:48:00 EST. Please see our terms for use of feeds.Permalink Mashable  |  Tao Effect Blog (Greg), Daring Fireball (Gruber)  | Email [...]

  24. Terms of Service « combustible knowledge

    April 10th, 2010 at 10:01 pm

    [...] disagreement on lack of creativity when building applications is pretty damn silly. From the Tao Effect: From a developer’s point of view, you’re limiting creativity itself. Gruber is wrong, there [...]

  25. Derek

    April 10th, 2010 at 10:03 pm

    I think the Mozilla example is a bit off. For quite a while, Mozilla has used the Cocoa API (and before that, Carbon). Before that, the Camino project fused the Mozilla browser engine with a pure Cocoa interface. If a 3.3.1-style clause existed in OS X in Firefox’s heyday, there would have been no problem. The key is that the browser engine has been sufficiently separated from the host API. This is good development practice.

  26. Ethan Osten

    April 10th, 2010 at 10:08 pm

    Regardless of whether Firefox is pretty good on the Mac being written on XUL, I think that’s really in spite of its cross-platform architecture. Firefox for Mac still feels in tons of places like a hack – a nice hack, but a hack nonetheless. And given infinite resources, a Firefox written in Cocoa and Objective-C would be a lot more pleasant than what we have now.

    So why invite that sort of situation on the iPhone?

  27. Brian Mastenbrook

    April 10th, 2010 at 10:11 pm

    I think it’s unfortunate that the discussion ended up being about cross-platform toolkits, since in the end developers will wind up using them anyway, even if it’s just a home-grown solution that abstracts their application’s core logic away from the user interface layer. There’s no consistent way to crack down on this other than to reject applications that are also running on other platforms with a similar user interface, and perhaps that’s Apple’s goal all along here.

    The more obnoxious part of the restriction is that it prohibits using the iPhone APIs directly from languages other than C, C++, Objective-C, and JavaScript. There are a number of developers who have shipped applications written in other languages. MonoTouch is an example of this, as developers don’t use a compatibility layer but instead call the native APIs from a different language (C#) which is compiled to native code and then linked into an application by Apple’s toolchain. Similarly, developers have shipped applications written in Scheme, Haskell, and pretty much anything else you can think of. These applications are developed on Macs and the user interface is defined in Apple’s own Interface Builder tool; the only difference is in the language used to express the logic of the application.

    Will Apple start rejecting these? Not necessarily, if they’re not specifically looking for it, but the letter of the agreement certainly forbids this. It also forbids inline assembly (though they might just treat that as a C extension) and the venerable parser-generator tools lex and yacc, along with other code-generation techniques.

    Apple’s enforcement of their provisions has been selective and arbitrary. For example, use of interpreters other than the JavaScript implementation in WebKit has been forbidden for some time, which also forbids the use of emulators. Yet as I write this, there are a half-dozen HP-48 emulation programs on the App Store. There’s no significant difference between these emulators and emulators for classic 8-bit computers; the difference between a high-end calculator and a small computer is essentially arbitrary and was often blurred during the 80′s by products like Tandy’s TRS-80 pocket computer line.

    In 1st Amendment jurisprudence in the United States, the term “chilling effects” is used to describe the potential encouragement of self-censorship resulting from an overbroad law. The theory is that by criminalizing certain kinds of speech that are not obviously deserving of the full protection of the law (for example, arguments for the overthrow of the government in absence of a specific call to imminent lawless action), the government will discourage other kinds of speech which are on the margins but more obviously protected (for example, an argument that the president should be impeached for violations of the law). This culture of fear spreads as each individual at the current margin of prohibition decides to practice self-censorship, thus establishing a new margin of acceptable speech.

    Apple’s own restrictions may have this effect over time. As with the law, Apple’s enforcement of its App Store restrictions is selective, frequently arbitrary, and often seems to be motivated by political concerns (in this case, the desire to replace Flash with HTML5). Software developers who invest a significant amount of effort into creating apps for the iPhone platform will self-censor by avoiding tools and techniques they would ordinarily have used as part of their toolchest to deliver the best possible application as rapidly as possible, and some developers will decide to publish on another platform first and save the effort of dealing with Apple’s seemingly-capricious reviewers until later. By and large, this will involve mostly small developers, as those with deep pockets will simply spend the extra resources necessary to develop their applications the way Apple wants them done.

    Does Apple care about this? Probably not; I think they still ultimately view the iPhone OS as a platform for media and entertainment, and secondarily as a vehicle for rich clients to cloud applications, which can of course be written however developers please. Time will tell if the impact is noticeable or not. Ultimately, none of this as silly as the restriction on running unsigned applications on one’s own device, which would probably satisfy many of the creative programmer types who simply want an easy vehicle for experimentation, especially for the iPad and without having to use a computer for development. I think it’s clear to all that Jobs is running the company from his own playbook, which is not necessarily in line with the perception of Apple by some of its most devoted fans. I often wonder what Mr. Gruber would say about a Microsoft which restricted its own platforms in this way, in a world where Apple was more open about development on the iPhone OS. Unfortunately, my Subjunc-TV is on the fritz, so I’ll never know!

  28. Allen Bauer

    April 10th, 2010 at 10:12 pm

    As a creator of developer tools based on the Pascal and C/C++ languages, I’m appalled at this move by Apple. The developer tools on which I work are native compilers that don’t rely on any kind of intermediate run-time or interpreter of any kind. By limiting developers into authoring their applications in ObjectveC, C or C++, that means that I could not take our Pascal compiler (again it compiles down to native CPU instructions directly) and make it generate CPU instructions for the iPhone and iPad CPUs. Even though we have a C/C++ compiler too, our Pascal compiler is also very popular and has a very large following. In fact, we’re currently working on getting our compilers to target the Desktop MacOS running on Intel CPUs. Our customers have been asking for a Mac version of our tools and now that we’re working on providing them, this comes along…

  29. Ruben Munoz

    April 10th, 2010 at 10:14 pm

    If anyone here has been following the fight over flash should definitely read this article.

    http://www.roughlydrafted.com/2010/04/10/five-tremendous-apple-vs-adobe-flash-myths/

  30. Felipe Cepriano

    April 10th, 2010 at 10:15 pm

    I think that Apple’s problem with 3rd party frameworks is that them would break the User Experience of iPhone OS.
    I’ve never used an App made with them, but I’m almost sure that the look and feel of Apps made using Flash or Monotouch would be really different from the native ones. Apple thinks that this adds unneeded complexity and should be avoided.

    You said about Firefox, but I know a lot of Mac users that don’t use it because Firefox “doesn’t feel right as a Mac application” and use Camino (or even Safari) instead.

    PS: I think that giving Firefox as an example of a high-quality “made with cross-platform” app is just bad because XUL is slow as hell.
    K-meleon, that also uses Mozilla Gecko but is made with native Win32 APIs, it’s a lot faster than FF.
    Not saying that every cross-platform framework is bad, though. Qt comes to my mind as a great one.

  31. Glenn

    April 10th, 2010 at 10:16 pm

    It’s critical to distinguish between the iphone and the mac. Historically, the Mac played second fiddle to Microsoft. Apple is filled with developers who saw their software ignored because development was so Windows-centric. Apple’s won’t repeat that scenario.

    As for your arguments, distinguish losing control to a commercial ‘entity’ versus a truly open standard. Apple isn’t scared of python, ruby or java. It’s scared of Adobe and Microsoft creating and controlling a meta-platform.

    Finally, why are you pissed? Has Apple shut out something you really want? Otherwise, I see only a reasonable, but largely philosophical objection.

  32. mark

    April 10th, 2010 at 10:16 pm

    Someone said consider how Grand Central Dispatch works, which was seen in iPhone OS 4.0. How well would that work with Adobe’s Packager?

  33. Finance Geek » Steve Jobs Weighs In On Adobe Flash Furor — And Tells You To Read John Gruber’s Post About It

    April 10th, 2010 at 10:17 pm

    [...] The emails Steve responded to were sent by Greg at Tao Effect.  You can read the whole exchange here. [...]

  34. Justin Baker

    April 10th, 2010 at 10:22 pm

    Forcing restrictions on people just makes them resentful, and that’s what is being done to the developers. It hurts both Apple, the developers, and the end users who won’t be getting the great app NOT written in a language used to just to satisfy Apple.

  35. mark

    April 10th, 2010 at 10:24 pm

    I’m not sure why you keep referring to how things are acceptable on a Mac. There is a huge difference between Mac – in terms of performance and battery life and component space – and iPhone/iPad.

    So accordingly, Apple has not applied any such restrictions to Mac. A poorly written app on a Mac may drain the battery faster and run slowly but it will be a lot less noticeable or annoying than on a handheld like iPhone.

  36. Enlightenment

    April 10th, 2010 at 10:26 pm

    I heard that Apple has a patent on “How to be a Douchebag”. It appears that Apple is using this patent a lot.

  37. Perry

    April 10th, 2010 at 10:27 pm

    A few dedicated smalltalk programmers made Squeak work in the iPhone and actually released a bunch of apps written in Squeak. I’m guessing they’ve just gotten told they’re not wanted. Similarly for people who carefully ported a couple of lisp dialects etc.

    The arrogance here is Jobs informing people he knows better than they do how they should write their applications. He’s within his legal rights to change the agreement any way he likes, but he’s just alienated a lot of people who really loved the platform by telling them to take all their hard work and shove it.

  38. watchdog

    April 10th, 2010 at 10:35 pm

    The key to every handheld product is optimization. Apple has been optimizing its OS and SDK to squeeze out maximum performance while using as little battery as possible. Battery life and slow performance are the two most basic user complaints.

    A developer who uses the development tools that Apple banned gets his product to market quicker but the cost is optimization in performance and battery life. In the long run, the user loses, and Apple loses, as nobody blames the development tool, but everybody blames iPhone. (As an example, many people say Pre apps suck, but does anyone ask if is it the Pre or is it the app development tools? No, rightly or wrongly, everyone just thinks it is the Pre.)

  39. Kathy Gill

    April 10th, 2010 at 10:36 pm

    I’m with Gruber re about cross-platform apps and the Mac — not from the perspective of a dev but from the perspective of a user.

    I’m a long-time Mac user, before that cpm/dos/windows. My experience mirrors his assertion. And yes, I know anecdotes do not research make.

    I have used Firefox since it launched. However, I have not used Firefox on my MacBookPro (although I still use it on my PC) for months because it’s just too unstable and too much of a resource hog. There are things I miss about it, but not enough to put up with the headaches. Although Safari isn’t 100% perfect either, it’s pretty darn good, most of the time. Ditto Camino, for that matter. Chrome works sometimes and other times drives me batty with its sluggishness. (When Safari has issues, it’s more often than not with the Adobe Flash player, which either crashes or dies when I kill it.)

    In the past, I’ve defended Apple’s “tight” control over hardware-software integration because it resulted in “plug and play” when the PC world was willy-nilly. The smartphone world is every bit as willy-nilly as the PC world was 15 years ago. If restrictions on application development results in a better user experience, then so be it.

    Full disclosure: I’m a 15+years AAPL stockholder (and my S.O. works for MSFT).

  40. Rick

    April 10th, 2010 at 10:36 pm

    Crappy developers can make crappy apps with Cocoa Touch and Xcode also.

    This is a dumb requirement. As a .NET C# programmer, I’d love to tap in to the iPhone market, but I want to use the tools I know and not have to learn another tool.

  41. Donald Shimoda

    April 10th, 2010 at 10:37 pm

    Agree with clark. Is not a matter of layers, dont even a matter of languages ot frameworks. Dont even a matter of the OS you use to make another OS app. And theres many other ways to do quality control.

  42. lostproc

    April 10th, 2010 at 10:37 pm

    How can you compare the hw/sw combo of an iPhone and iPhone OS4.x to MacOS X and modern Core Duo or i5/i7 hardware? Steve is correct in the context of the iPhone, intermediaries suck. Mobile devices are still too constrained. You don’t notice the cross platform penalty on a laptop/desktop because you have gigs of RAM and dual/quad core CPUs. When smart phones have Cortex A9s and 1 GB RAM standard, Apple may change this. For the current time, I agree with Steve, resources are too precious on the mobile platform for intermediaries. Learn how use the native tools and make the HW sing. In comparison, do you see cross-platform tools on the XBox 360 or PS3? No, you need to write tight, native code to make those platforms hum as well. Look at the titles out now for these platforms and compare to 2 years ago. Night and day in terms of graphics details, world size, and AI threads.

  43. eikonklast

    April 10th, 2010 at 10:37 pm

    Apple invited developers to a great party. And seeing what a great event it was and all the attention it was getting, the guests began to ask why they themselves were not getting credit. And why the host wasn’t more accomodating.

    Yet, this remained Apple’s party.

  44. Manav

    April 10th, 2010 at 10:39 pm

    Steve Jobs is a monoplistic control freak. He is misusing Apple’s position to attack Adobe. I wonder where are FTC and other judicial system to kick Apple hard in their nuts this time.

    Jobs is acting like a real asshole here..IMHO.

    Disclaimer: I do not work in Adobe. I just hate such shit that Apple does. If it was Microsoft, not even one person in this whole universe would defend them. I don’t understand why people don’t give same reaction to Apple.

  45. Danno Bonano

    April 10th, 2010 at 10:40 pm

    Simply put, if a CS5 platform became a standard for app delivery on multiple platforms, Apple would be beholden to Adobe for future updates. So if Apple releases SDK 5, Adobe’s release schedule may not coincide for 6 more months and that means that Apple’s platform may be slow to adapt.

    Time will tell if this will hurt Apple but users are no longer concerned about “specs”. They care about a simplistic experience where things are completed that the user wanted completed. They want a top-notch, refined, stable, easy to use, attractive device and UI that just works.

    Sorry but giving power to someone else severely jeopardizes that experience. As a developer, I simply cannot agree with your article on any level here and have to agree that Apple is right if they want the power to consistently deliver the best experience for their customers.

    Android is a mess. Wait until people that buy new Droids realize they are running version 1.6 and can’t upgrade to 2.1. Or that they have to find their software from a myriad of questionable sources. Fact is, except for the geeks, people want simplicity and a one stop location. Something that just works.

    The dev platform has to be controlled by Apple to provide the best experience.

  46. Danno Bonano

    April 10th, 2010 at 10:42 pm

    And, very few ported cross-platform apps work great. If any. If you want sucky apps, I hear Google won’t be stopping Adobe. Go fish.

  47. K H

    April 10th, 2010 at 10:44 pm

    Steve wants his users and his developers to be monogamous. You either choose to stay with Cocoa Touch, or you move on. If you’re going to write an app for the App Store, better make it good and not just some repurposed shit you’ve had sitting around.

    I applaud Apple for heading off the Flash CS5 iPhone packager at the pass. Saved a lot of time with the billions of half-assed converted Flash apps they’d have to reject.

  48. has apple come full circle with 3.3.1 terms of service?

    April 10th, 2010 at 10:45 pm

    [...] Greg Slepak of Tao Effect, has put together a great response on what direction this is taking and makes an impassioned email to Steve Jobs. [...]