Steve Jobs responds directly to developer over new iPhone SDK rules, cites blog for explanation
Plenty ink has already been spilled about the new restrictions in clause 3.3.1 of the new iPhone SDK terms of use. The new wording disallows developers to use third party, cross platform development tools (like Flash CS5) to build their apps, and plenty of folks (like Adobe) are angered by it. Now it seems Steve Jobs has chimed in as well. Developer Greg Slepak reached out to Steve, citing the large outpouring of negativity on the topic, including a post by John Gruber of Daring Fireball, who Greg calls Apple's "biggest fan." Steve apparently responded, citing a newer post by Gruber that explains Apple's theoretical reasoning for locking down the platform like this. Steve called the post "very insightful." When Greg replied, raising some very legitimate defense that highly popular, important apps like Mozilla Firefox are built with cross platform frameworks, Steve Jobs had a slightly less terse response:On Greg's blog he breaks down some of Gruber's claims and makes a pretty compelling case for third party toolkits -- important examples of which can be found all over the Mac and Windows landscape. We get the feeling his impassioned pleas, and the oft-bandied threat of developer migration, will fall on deaf ears at Apple as always, but at least he helps shape this debate somewhat, which will no doubt rage on for months and years to come. Check out the full conversation between Greg and Steve, including Greg's final response, after the break.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.
Greg:
Steve: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
We think John Gruber's post is very insightful and not negative:
http://daringfireball.net/2010/04/why_apple_changed_section_331
Steve
Greg:
Steve: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
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.
Greg:
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
























@Bones3D Sorry, voted you down by accident.
@Bones3D It always was.
Younger people forget that once upon a time microsoft was the white knight breaking up the evil empire by being willing to sell their OS to any computer company that wanted it. Microsoft became powerful enough to enforce it's own brand of evil and became worse as apple became less powerful and able to enforce it's own nasties, so it was seen as less evil, but at the end of the day it's all the same.
Fuck apple. Can't wait til HP Slate is out and I'm glad I didn't buy an new iPhone to replace my 1st gen.
Don't mess with Adobe - they matter more than Apple.
Apple can do this because the truth is they are a little blip on the map. MS's anti-trust case was because they had like 90% of the PC OS market. Apple doesn't have 90% of anything.
@dataninja yes they do. they have the music market sewn up. Also this is just the opening move. The next step is whether or not RIM and Microsoft jump on board. THAT's when it becomes an anti trust suit. And I'd say it's almost certainly going to happen. RIM would be suicidal morons to do it, but they think they are the big boys in the market and are likely to be too full of themselves to remember that they have an aging product and are a fraction of the size of the other two big players.
I think people are looking at this the wrong way. What Adobe, Microsoft, Nokia and Google need to do to make it super brainless to port iPhone apps to the other platforms whether it be flash, QT or etc.
Instead of crying outside the gates and trying to figure out how to play in Apple's playground, they should be working on how to get developers to play in Adobe's, Nokia's, Microsoft's and Google's playground.
There will never be an iPhone container that's translates to from iPhone app flash or QT. Dual translation layers would be a nightmare, but if they can figure out how to help developers earn more money with minimal invest of time / resources to port, that would break Apple's lock-in strategy, a win-win for everyone right?
@geohsia
Well, you hit the point. You are suggesting to go for the least (lowest) common denominator: Apps should run on every device. That's exactly what Steve doesn't want.
Compare that to PC, XBox 360 and PS3 games: Cross platform games are more or less mediocre on at least one of the platforms. As a consumer, I didn't buy a PS3 for a lousy XBox 360 port.
@clochard42 Well,not necessarily the lowest common denominator. I get the fact that there's always one ugly duckling. When you port there's always work associated with customizing for a particular platform, especially when it comes to UI. You can't stop someone from being lazy, but that doesn't mean all ports are bad. There are ways to do good ports.
In your analogy if you didn't want the lousy Xbox 360 port, that's fine. The the onus now is on Apple's competitors to a) make it easy to port and b) make sure that its easy to make a GOOD port. Assuming then that all ports aren't crippled and duct taped together, consumers then would have choice of hardware vendors. Right now Apple is the king in terms of apps so they determine what HW you should be happy with. Want a physical keyboard? too bad. Want faster processor? Too bad. Want an replaceable battery? What about access to add-on media cards? Too bad.
Apple is in controls but if apps weren't an issue then Apple would then have to respond to competitors and customers rather than determining what we should be happy with.
At the end of the day it's no one's fault but Adobe / Google / Microsoft / Nokia for dropping the ball and not building the right ecosystem. They have a lot of catching up to do and right now they need to woo iPhone developers and to do so they need some pretty good tools, that's all I'm saying.
I'm glad I got rid of my iphone 3G. I got a Droid and happier than ever. What a freedom! After the bold move of Steve, I ordered a Dell XPS 16 instead of Macbook Pro 17 too. Bye Apple!
@bananazx
The developer in me wants to buy a Droid, the consumer in me just likes the hazel free iPhone and the app store. Sadly most consumers are no tech freaks or developers and apple perfectly targets them.
Should be blame apple for giving customers what they want (or at least buy)? Business is business. And google has a not so hidden agenda with Android as well. You are stepping out of the frying pan, into the fire.
@clochard42
The consumer in me wants to do what I want not what Steve wants me to do. I had hated the three year use of iTune and filnally I made my choice and got out. Apple has been successful so far, but In the long run, Apple's dictatorial behavior will hurt itself. I can use any language or framework to develop an application for Windows. When Microsoft can't force me to use Visual Studio only, Apple can't too.
@bananazx
I'm not saying that I like what apple is doing right now. But I understand it from a business perspective. The "lassie-faire" didn't work for apple, now they are trying something different.
And with Windows phone 7 your choice of development tools is limited as well. So with Android.
To throw my two cents in: Most people just forget that it just won't work. Adobe just fouls us to think it would, but never proved it.
iPhones/iPads have 128 MB of RAM, 3GS and iPad have 256 MB. 128 MB minus OS X and cocoa touch leaves about 30 MB for apps - I've read somewhere. And with the upcoming multitasking we don't want to waste memory either (that should explain why multitasking isn't supported on older 128 MB iPhones/iPads - just not enough memory to keep multiple full fledged apps loaded or even parts of them). So these devices are by no means comparable to even the cheapest PC you can buy.
I'm a java developer and would love to have Java on the iPhone. But 20 MB of libraries, some MBs of JVM code and the hotspot compiler creating native code eating up even more memory just doesn't work. To a lesser extend this holds true for flash as well.
We may blame Apple for providing products that look like full fledged computers, but they are not.
Even if we developers don't like it: Java, Flash and other frameworks need resources that the mobile gadgets just cannot offer.
@clochard42
But that is not what is in question here. Apple is banning Adobe generated ARM assembly code on the grounds of being sub standard due to the use of a product other than Apple's SDK + tools to generate native code. No virtual machine was ever involved in this argument.
@Tohe
We are not talking about harmless little LLVM code. Doesn't make any difference whether a VM uses a just in time compiler (Java) or an ahead of time compiler (Flash). It wastes resources by coming with its own libraries duplicating things that are already in the OS.
See http://www.devwhy.com/blog/2009/10/8/flash-on-the-iphone.html
Steve jobs is the new Steve Balmer! There is absolutely no logical excuse for not supporting Flash! Blow away the dev excuses - the ONLY thing that matters is the user experience! Flash runs flawlessly on 95% of computers worldwide... and to constantly run into "plugin missing" symbols on every web page is a constant remiinder of Steve Jobs overblown ego - or just plain Stupidity1 as a user interface designer for the past 20 years, this by far the most insane business/dev/ux strategy of all time!
@Rimshot1
"Flash runs flawlessly on 95% of computers worldwide"
Right now it (a full, final version) doesn't run on any smartphone or alike mobile device because these devices don't have the required resources (RAM / processing power).
Typos - should have read "Stupidiy!" and "inane" ..although "insanely stupid" has a nice ring to it!
Well, it seems as if Apple is trying to weed out poor software products on the Iphone platform....I think this is the wrong way and the wrong time to go about it...Hello, your competitior Adroid is ALREADY HERE. This will only push developers over to the droid.
What i would prob do, is offer an incentive to those who do NOT use 3rd party stuff for development....like a discount or something.
Whatever the negative effects of this move will be (and boy, there will be some), Jobs and the rest of Apple will see soon, especially after HTC buys Palm next week and the next cellphone golden child is born. Apple took over the market on a last ditch whim, and they'll go out with the gracefulness of an elephant: too big for its own damn good...
I own both an iPod Touch and a HTC Eris Droid phone. Apple is making sure their products continue to be strong, efficient and in regard to games, optimized for their platform. I'm glad they are putting these safeguards in.
Is it me or Greg was particularly insensitive in his email to Steve Jobs ?
- reference to cancer when Steve almost died from one
- reference to Google don't be evil as an example, when I guess Steve thinks they are the most evil around there (stole webkit, Android, AdMobile from Apple right when they still were members of Apple board, partnereeing with NSA ...)
- threatening right away to leave for other platforms
This whole debate is NOT about Flash. Anything who thinks so has no business talking.
Apple's statement of concern over maintaining app quality is contrary to fact in that MANY of the currently approved apps in their store are by no means of quality acceptable to the end users, and if Apple were truly concerned, would have been removed. There are apps that crash consistently, some that are outright scams, many that are no better than cash grabs for those careless enough to buy them. I do believe that Apple contradicts itself with actions and words. Not to mention the entirely plausible possibility that this is an attempt to lock out competition. I'm disappointed, Apple. As I type this on my iPhone, I hope it lives just long enough for a better, open smart phone to come along and steal my heart away from its petty control freak of a parent.
Bottom line: For Apple employees, users or partners invested heavily or exclusively with Apple, this decision is understandable (albeit risky, IMO). For consumers, the decision limits direct comparison and the ability to objectively choose among competing platforms. For developers, the decision hinders opportunities to diversify beyond Apple. For iPhone OS developers who have invested heavily in cross-platform development tools, they are simply screwed.
As many folks have already implied: what’s in the best interest of Apple is not necessarily what’s in the best interest of consumers and developers.
Which camp you belong to should dictate your stance on Apple's decision.
I don't really see why anyone here wants to make the distinction between PCs and smartphones vis a vis the OS and app development. Smartphones are no more than ultra-portable computers with built-in telephony support (via audio hardware, cellular hardware, and an interface designed to provide the user with a simulation of a real key pad).
I thank Apple for all they have done to raise the bar on the state of the art in cell phones in general and smart phones in particular, but that is no excuse to let them do just whatever they want and be above criticism for it.
As a developer, I understand what Steve is trying to do. If you want an application to run fast, you write it in Assembly. Of course this is not the easiest for most developers, so instead you use a high level language like C / C++. The problem is as you get a development tool that goes to a higher level where even a child could easily build an app, the underlying code is bloated and not efficient. Most Websites and Applications that run slow are not due to the hardware, but are instead due to badly written software.