Steve Jobs comments on iPhone developer restrictions
With the big uproar over Apple's ban on non-native apps for the iPhone -- meaning every app has to be "originally written" in C, C++ or Objective C, and tools like Adobe's upcoming CS5 Flash-to-iPhone converter are probably banned -- developers have been seeking comment from Apple head honcho Steve Jobs. One dev, Greg Slepak, got a response from Jobs. Here's how it went down: Greg told Steve that "Lots of people are pissed off ... your SDK TOS are growing [on Apple's products] like an invisible cancer," and said that even John Gruber, a very outspoken Apple supporter, was questioning the decision.
Jobs responded by linking a recent Gruber article calling the new SDK terms of service a smart business move for Apple. Gruber's article argues that Apple has no incentive to give other companies any say over what goes into the App Store, and says that iPhone developers would be smart to follow Apple's advice, rather than Microsoft's or Adobe's. Jobs called the article "insightful."
Greg responded by saying "Gruber is wrong," and that cross-platform frameworks have plenty to offer Apple.
Jobs still wasn't buying it. He responded with this short message: "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."
That's the last message from Jobs, but Greg kept the discussion going on his blog. In his post about the exchange, he says that regardless of what Apple might gain by limiting developers to a standardized code base, they're essentially limiting creativity, and developers are going to jump ship to open platforms as a result.
What do you think, Download Squad readers? Do Apple's SDK restrictions ultimately serve users with better apps, or are they just plain evil?












Comments
41
Subscribe to commentsGreenwaldApr 11th 2010 10:08AM
It's a dick move but it makes sense. Apple has the largest platform. Apple users pay the most for apps. Thus Apple should get only the best local apps.
I'd disagree with it not because of the whole "open platform stuff" or limiting creativity, but because for a lot of apps basic functionality is *good enough*. If the app is just about presenting some aggergated material, does it really make a difference to the end user if it were a 100% native app? Then I guess you could use a web app, but its nice to have that full app wrapper feel.
blasztaApr 11th 2010 10:26PM
I agree with you. Is 100% native app should be better than < 100% native or non native app? Nope. Definitely no.
A quality app should be judge by their usability, performance, etc. , not how they write it (sloppy programming usually we can easily detect by the performance of the app). And currently Apple have mystical AppStore approval process to do that.
There's no plus point for developer. Unless they want to devoted their life to develop apps for iPhone, and never think of creating the same app for other platform, unless the want to screw their life than currently he is :)
fiendsanApr 11th 2010 10:37AM
yeah dick, and i wouldnt say developers would jump ship, but lets say java, if you build something in java you can deploy easily in a variety of platforms, same goes with most open source frameworks, what will happen is developers with time will start shiffting to other open frameworks, since they would be more universally workable and as important as that.. acceptable
unlike the apple store were you know you have to build with the apple platform and pray that your app is accepted (no easy/legal way to install without the apple store) or you just wasted a bunch of time and money for nothing (since it only works on the iphone)...
even if google takes a similar control of their app store, you can still easily install a app on a android phone from another website, that's a huge difference, and more than consumers, developers will see that as a huge plus, to have control over their product ...
LGgeekApr 12th 2010 9:45PM
"(no easy/legal way to install without the apple store) "
jailbreak it's both easy and legal.
pristy.siteApr 11th 2010 10:51AM
SWF is web format, free to use and platform independent, so nobody can earn money with it. If iPad had flash than you can play flash games of it and not to pay nothing. Apple is just doing the best for quality and earning money at the same time, bold but intelligent move.
Scott CookApr 11th 2010 11:52AM
To 3 & 4
Perhaps you should get a little more educated instead of downing the Apple cool ade and making inaccurate comments. Apps for the iPhone/Touch created in CS5 do not result in an SWF file. They result in an app that runs without a Flash runtime or plug in or whatever. They are no different then any other existing app store app other than how they were created. So #3 you are clueless.
#4 what a Palm has to do with this situation I have no clue. Apple = stability and quality is not automatic nor realistic. Perhaps you should be telling all the people with iPad Wi-Fi problems that it must be their fault. You should also tell all those people that bought apps that are bug-ridden (and written in Apple's blessed environment) that they are mistaken because Apple = stability and quality. You see it doesn't matter what something is written in, it depends on how well it's written. It's more likely to make programming errors in C then to make programming errors in a development tool. One or two lines in a tool might generate 50-100 lines of backend code. If that code doesn't work for one developer it probably doesn't work for many. Those things get quickly detected and hopefully quickly corrected. If the tool developer fails to quickly correct things the tool will be abandoned. If the tool fails to generate apps that are complex and have a good look and feel it will be abandoned.
As others have mentioned there are already apps in the app store that were created with the beta version of the Adobe tool and apps that were created with other 3rd party tools. They work, no ifs, ands or buts.
This "war" that Apple started has no basis in reality this is simply arrogance much like stating the 2nd gen Touch and non GS iPhones cannot support multitasking despite the fact that jailbroken ones multitask just fine. After these latest Apple moves I will no longer invest any time or money into Big Brother Steve's lies.
DavidApr 11th 2010 11:13AM
I was a happy Palm user for years but I switched to the iPhone 2 years ago. It wasn't until my wife came home bitching about her Palm being in an endless start, crash, reboot cycle that I realized my iPhone hadn't done that in the 4 months I owned it. Nor has it in the last 18 months.
I'll take stable, quality, and closed over open any day. Adobe - screw you and the Flash you rode in on.
mattApr 11th 2010 12:38PM
they're evil, and it will hopefully just give further boost to the jailbreaking community. Still haven't bought one app from apple. Thanks cydia!
octoberasianApr 11th 2010 11:14AM
Someone clarify this for me:
What's wrong with programming in C/C++ for iPhone/iPad apps?
I thought that the majority of programs use one or both languages. I am trying to find any reason against this other than the inability to use the private APIs, which is unreasonable unless it was for security reasons.
I've been going over various arguments on different forums and blogs since this was revealed, but I can't figure out what's the argument about. I've seen mentioning of locking out IDEs from other companies because they use something like C# so they could develop apps more quickly.
And, using C/C++ is a bad thing?
SlappyApr 11th 2010 12:59PM
It's not a question of Objective-C over other languages, it's a matter of "I built my app in 'X' and I want to have a cross-compiler make it work on something it wasn't built for."
There are issues with cross-compilers, for example if new features are released in the OS the cross-compiled apps will not be able to use them and it is dependent on the cross-compiler to be updated, etc...In the interim the app breaks, doesn't work, etc. and the user blames the app developer.
SlappyApr 11th 2010 12:57PM
Developers will develop for where the customer base is.
There are trade-offs to every platform: Android fragmentation, compatibility issues on Windows systems, and license limitations on iPhone (and other platforms).
If you don't like something, fine, don't participate but it doesn't make a business 'evil' it makes them a business interested in providing a product to a customer.
JayApr 11th 2010 1:04PM
I'm not sure I get what the problem is with limiting to C/C++ either. Surely, there must be a converter written somewhere that will let you export to different platforms from your code and then make minor tweaks to adjust it for that platform? If not, some company could make a killing writing software that will do that.
Hint to developers: Get to work on that!
Aside from that Adobe's exporter simply sticks the Flash code within a wrapper that will work on the iPhone. There is no way to just click and convert Actionscript to any other programming language. Therefore, there will be bugs using their apps.
elliot_genoApr 18th 2010 10:05PM
No, they didn't just make a wrapper for a swf. I was a BETA tester for it... They were actually compiling directly to a native iPhone ap.
It takes the code a developer is used to coding in, and translates to whole other language. You could have thought of it as the Rosetta Stone for iphones aps... and Apple smashed it with their new TOS.
All they did was cut their potential pool of developers. Dick move yes... Dumb move... definitely.
JayApr 20th 2010 12:14AM
Well, if that is the case, then Apple shouldn't even be able to tell that it was compiled with, Flash, should they? Unless Adobe, in their wisdom places a nice snippet of code in the first couple line that says "created with Adobe Flash". So, if they just remove that code, then everything should be fine and people can submit their apps to the app store no problem!
RyanApr 11th 2010 1:33PM
This is just crap..the very strict Appstore approval proces is already meant to deny sub-standard apps from the appstore. Regardsless off the framework they're made in.
Just another way for Apple to maintain their cashflow. But like almost every crazy restriction Apple sets..the fans seem to be oh so understanding.
AemonyApr 11th 2010 2:04PM
What did you expect? It's from the same guy who said that Java was a dead and slow language who nobody uses anymore.
ithincalotApr 11th 2010 2:08PM
I'm a developer and I've been a big fan of the iPhone since I got the 2G nearly 3 years ago. I stomached the first year without native apps, and I have dealt with the ambiguous app approval process because it screens out a lot of crap and doesn't, for the most part, affect me (although Google Voice sure would have been nice... too bad Steve Jobs apparently hates Google now).
But, as a developer, the language limitation is more than I can handle.
Several other commenters asked what is the problem with C/C++/Objective-C. Those are fine languages and if you are already using them, you probably don't care. But what if you want to release your same app for iPhone and Android (and possibly WebOS and WP7 when it's out)? Without a framework option, you now must maintain two separate code bases. You've got a forced fork in your project, and as any developer knows, that means increased overhead, difficult maintaining similar user experiences, different bugs, and longer time for updates. Additionally, frameworks and libraries allow a rapid development time that has now been severely hindered.
Keep it up, Apple, and the FTC or SEC will come knocking on your door for _your_ anti-competitive practices.
octoberasianApr 11th 2010 3:46PM
I think I'm starting to understand all of this hub-bub.
So, for example, let's say I make a program in Actionscript 3 (AS 3) and I want it to work in iPhone/iPad, this new developer agreement thus denies me access of getting it on the App Store and eventually in user's hands. I would have to re-code the app in C/C++/Obj-C when in the first place I'm probably not trained/knowledgeable in it.
Now, if I programmed it in C/C++ originally, then I wouldn't be in such a predicament.
In other words, programmers would rather program in a code they work with very well, whether that be C, C++, C#, Obj-C, AS, Java, or WebOS, then have a cross-compiler to port them to other projects unless the device itself is compatible in the original code. As a programmer, you would rather program in something that's faster, easier, and convenient originally then port it over.
The Apple agreement, in other words, denies a programmer that ability and alienates them, and makes their life a lot more difficult seeing now that they have to use two or more programming languages for the same application. They would eventually have to re-code from scratch any or all apps in C/C++/Obj-C if it wasn't already in it. And, this would in turn increase development time, costs, and compatibility and testing issues.
I now wonder: Why isn't there a unified programming language for mobile devices other than Java (which can work on pretty much anything)?
The Windows Phone's language of .NET/C# seems rather ideal-- without changing too many lines, the same program could feasibly run on PC, 360, or a Windows Phone 7 device.
But, a programming language that would work on WP7 device, Android device, iPhone device, WebOS device, or Blackberry device cross-platform, single-language would probably be the best deal.
Actionscript can work but the device must be able to run Flash, so that leaves out iPhone/iPad.
Java works on practically all mobile devices but, from experience, is difficult and slow.
A cross-compiler would work but issues do arise as Slappy said above.
jtreanorApr 11th 2010 2:15PM
I am strongly opposed to Apples move. And I think I will lead to less revenue to them.
However I would like to know if Apple can tell the difference between an app which has been originally written in an IDE other than xcode...afterall they will just receive a binary which has been compiled from xcode
How could they enforce this?
jtreanorApr 11th 2010 2:17PM
It might also be worth adding that I would definitely develop for the iPhone if I wasnt limited to Objective C/Xcode