Apple Relaxes iOS Development Tool Restrictions
An anonymous reader writes "Earlier this year Apple caused major upset among developers by updating the iPhone developer program license with clause 3.3.1. It basically stopped the use of cross-platform compilers, meaning Adobe Flash could not be used to develop an app for the App Store. The move also put into doubt which other development platforms could be used and generally caused a lot of confusion. Apple has just significantly relaxed that policy and allowed for the use of development tools, as long as 'the resulting apps do not download any code.'"
There are still interesting problems in not allowing to download or update any code. With the rise of jailbreaking iPhones and them running unsigned and modified applications (cracked and/or otherwise), there is no way for an anticheat system to update itself. All anticheat systems like Valve's VAC, PunkBuster and Blizzard's Warden rely on downloading updated code from the internet.
What this means for online iPhone games is that when someone releases a hack for the jailbroken iPhones, their users can completely ruin the games and legit players cannot do anything. And since Apple is a control freak, they check every update to your application slowly and ineffectely. All while the hacking is rampant and ruins everyones game.
There certainly are need for updating code and Apple needs to remove that clause too. We don't want walled gardens controlled by mega corporations, we want systems we can use the way we want.
It's refreshing to see Apple wrong so many times in a row. Watching them backpedal is amusing.
So...when will they be approving Google Voice?
Absolute power corrupts absolutely. indymedia
Does that count as downloading?
I am looking at this in the context of scriptability.
More importantly, developers will no longer have to second guess the reasons why apps may or may not be accepted. From the statement:
"In addition, for the first time we are publishing the App Store Review Guidelines to help developers understand how we review submitted apps. We hope it will make us more transparent and help our developers create even more successful apps for the App Store."
webkit is exempt.
Written like a true slashdotter who didn't read the article.
Its good to see big companies backpedal and fix their mistakes, even more if the company is Apple/Ms/Google
Don't get me wrong, I think it made sense for *them* to ban things like Adobe CS5, but I don't think it was good for everyone involved (especially users and developers), and its great to see them do that, for whatever reason it must be.
The WebKit JavaScript implementation is essentially the one exception to the downloadable code rule. I imagine that you could still be rejected for implementing core functionality in downloadable JavaScript, as that would open up a potential security hole.
Let's clarify, since the description isn't that great. Apple will now allow Adobe's Flash to export in iPhone app format
Also, Apple released their App Store Review Guidelines (PDF). Worth a read.
This was all about Unity, which basically does exactly what Adobe's Flash packaging tool did for the most part. The Unity game tools have been used to develop some fairly popular iPhone games, and Apple knew it couldn't continue to authorise Unity based apps whilst denying apps created with Adobe's tools without falling foul of competition laws. Similarly, by kicking Unity off too they'd be throwing away from of the iPhone's most popular games.
So the question now is, does this mean if Adobe tries to release it's tools again that Apple is going to let it, or are they now going to try and find another excuse to deny Adobe access to the platform?
Apple stood to lose far more if it continued to stand by this policy, and if it stood by the policy whilst letting some apps through it also stood to face the DoJ, so it had to decide one way or the other.
This is the actual statement by Apple.
Also, I've read some rumors about the next iLife '11 having a new program for creating iOS apps in a similar way to the Android's AppInventor. This new statement seems a like a pointer in that direction, otherwise they would have a hard time arguing about antitrust issues on the App Store...
exp(i*pi)+1=0
there is no way for an anticheat system to update itself.
What's to prevent the game maker from simply issuing a software update, and having software issue challenges to each other related to versions before accepting games?
Online cheating is not as great a problem as with the PC's or consoles.
It only takes a few seconds to update a new version on the device.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Most of the time these worries are about anti virus instead. There the updates also contain exe updates.
But the same update mechanism used for an normal application can apply to a any application. Let it bet antivirus, anti-cheat or a simple game. If you want to update it you do it via a the app-store, and don't come up with a own update system. If that is not good enough, that should be updated, not implement it on yourself.
The fact that windows does not have a central update system and every app has to do their own update mechanism is a bad thing of windows. And it is a sad fact that user have come accustomed to that.
What I would like to see apple do is to add performance to it's application review process. Say for instance you app does not boot to a stable runnable state in 10 seconds it gets disapproved. Same goes for memory usage and and processor load. That would solve the whole "user experience" goal that they claim to have. Of course it would keep most of the interpreted apps, flash, java etc off of the phone but I have no problem with that. On one hand I would like to have to option to use interpreted languages on the device on the other hand I know that for performance reasons it is not the way to go.
Got Code?
But most people wouldn't have blamed Flash - especially if there wasn't an easy example of a non-flash version to point to. They'd have blamed the iPhone. Most people, even most iPhone users, don't read /. or related sites - that's one of the reasons that the iPhone has been a smashing commercial success, you don't need to be a geek to use it (N70, I'm looking at you here). Keeping Flash off the platform was exactly the right business decision to make.
Even if Adobe would release a version that wasn't a battery killing unstable one - which would be a great start - the usability experience isn't close to being there for multitouch devices. And the iPhone is all about user experience.
You're special forces then? That's great! I just love your olympics!
This was all about Unity, which basically does exactly what Adobe's Flash packaging tool did for the most part.
Actually I thought Unity was more intermediate, producing an XCode project you would compile - the flash tool produced a binary directly.
Apple knew it couldn't continue to authorise Unity based apps whilst denying apps created with Adobe's tools without falling foul of competition laws
Actually it could do that forever because there are no such laws. Anti-Trust doesn't enter into the picture in any way.
The real reason the relaxed the restrictions is, I think twofold:
1) Developer outcry - Apple does respect and listen to developers, and they were having too many people come up with too many perfectly valid edge cases (like using Mono or Scheme for development). Apple had actually pulled back on this restriction a few months earlier letting people submit things developed using alternative languages on a case by case basis, that was probably a lot of work to review.
2) Control of app quality. This I think is key - what Apple is really worried about with Flash developed apps coming out is that a ton a crappy stuff would flood the store and the review process. So what has changed? The fact that they have a stated review policy now, which says in part "we will not allow a ton of crappy small applications that do nothing". The whole limitation made no sense before because Apple benefits from having quality applications on the platform, so now its more clear that wider spectrum of development tools will not be allowed to destroy the level of quality the application pool enjoys, so someone CAN use Flash to compile an iPhone binary but they had better be producing something good. A formal app store review policy allows Apple to be more relaxed in other regards, because it keeps control over the final quality of applications.
Whats really odd is that it took this long to come up with any kind of review policy document!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Does this mean that I can use C# to generate a Silverlight app that will run on Windows, Windows Mobile, Linux, Android and iPhone?
Can I write in Java an app that will run on every desktop and mobile?
Well, considering that a good app experience on a desktop (with a mouse and keyboard) is by definition very different than a good app experience on a multi-touch device, probably not, no. You might be able to share some code internals, but you could do that anyway.
You're special forces then? That's great! I just love your olympics!
Apple seem terribly random and unpredictable. It would be senseless for any developer to begin work on a project that has become permitted by this clause, because tomorrow the terms could change again.
I'm an Android developer, releasing my first game in the next 4-6 weeks. Then I need to consider whether or not to produce an iPhone version. The decision will only slightly be based on forecasted sales, market share of competing products, and demand for my product. For the most part I will need to decide if I can afford to invest the time developing for a platform that may, at any point, "ban" my product for some obscure reason. (For example, all of my graphics are produced in 3D Studio and rendered as 2D sprites. Suppose Apple takes a dislike to Autodesk...?)
Sure, so how does Skype get through.
Because it doesn't duplicte existing functionality. There is no built in VOIP client, and it uses the Apple contacts. GV linked back to Google contacts...
In fact, how do most apps get around points 2.11-2.13?
2.11 Apps that duplicate apps already in the App Store may be rejected, particularly if there are many of them
At this point that might be a problem for some applications but there's always a new idea without many apps in the store.
2.12 Apps that are not very useful or do not provide any lasting entertainment value may be rejected
I think you might just be able to work around that by writing an app that is useful or entertaining.
2.13 Apps that are primarily marketing materials or advertisements will be rejected
To me that simply repeats point 2.12 since an application that is primarily marketing is also not useful (though I suppose it could be entertaining, and thus possibly accepted).
I would say the vast majority of apps in the store fall under these points.
Like what? Very few of the applications I have seen fall under these points, except possibly for point 2.11 - but that's the thing, the avoidance of replication is more a point going forward than it has been (though Apple has been starting to reject some applications in crowded categories).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Are you serious?
Wow man, you are a true fanboy.
There are mistakes, and then there is an attitude that the whole world should bow to their wishes. It's only when they realize they don't have quite that much clout that Apple backs down.
A good company that did not believe customers owed their happiness to the company, developers owed their very existence to the company, would not have locked down the tools in the first place.
Apple treats its customers as though it's only because of Apple's great kindness that those customers get to use Apple products. They treat their developers like a necessary evil, and it's only by Apple's grace and mercy that developers are permitted to write code for Apple products.
That's how you get things like the ridiculous hoops needed to write apps for the App store, or the ridiculous policy of no flash when flash is ubiquitous on the internet. That's a "you get what we give you" attitude if there ever was one. The only reason Apple is backpedaling now is because they pushed it too far and received some backlash. That's it. And they are only going to change the policy far enough to reduce the backlash to an acceptable level - they are not going to change their attitude, and if they see an opportunity to lock things down again they will jump on it.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
Flash is a failure on Android? Since when?
It works great on my phone.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
What's refreshing to see is a company that actually admits it was wrong, how often does that happen?
If you think Apple does so more than other companies in its industry, you are drowning in the Kool-Aid.
Obligatory Penny Arcade. Except probably swap from to to.
since Nokia started the Lighthouse project, nicely hosted on code.google.com :)
See: http://tamss60.tamoggemon.com/2010/03/18/qt-on-android-the-bogdan-vatra-interview/
and instructions for how to do it.
I think this line from the guidelines is pretty funny:
"If your app is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps."
So basically, don't snitch.
To the contrary, however, in the past, it seems like running to the press and trashing them can really help get your app approved.
See, e.g. http://apple.slashdot.org/story/10/04/16/2327219/Bad-PR-Forces-Apple-To-Reconsider-Banning-Mark-Fiores-App
After the disaster that has been flash on Andoid so far, perhaps this is just Apples way of saying "see we told you". I expect a plethora of sub-par apps flooding the app store soon, in the end this will probably help HTML5's cause much more than Adobe.
I'm trying in vain to find where they admitted they were wrong. All I see is "we listened to our developers," which is nothing more than a nice way of saying "we think this is beginning to hurt our bottom line" and is something MOST companies do if they get to that point.
Didn't Steve Jobs make a big hullabaloo about how "intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform"[1] when asked about the rule? So is that magically no longer true, or do they just no longer care? Or is it, perhaps, that their transparently self-serving reasoning for instituting the rule in the first place has started to cost them more than it gains?
The about-face is good, don't get me wrong. But trying to frame it as some sort of benevolence instead of ANOTHER self-serving action to mitigate problems caused by the first is misguided at best.
Apple wanted to control everything, and thought they had the clout to get it done. Apparently enough developers made them nervous about it that they changed their mind. Good, but hardly some sign of a great corporate system.
[1] http://www.taoeffect.com/blog/2010/04/steve-jobs-response-on-section-3-3-1/
Would you rather they not, "Listen to their developers"? Every free-market libertarian on this site says that the way companies learn what to do is to, get this, piss off customers so that it affects their bottom line.
Seriously, everybody (myself included) bitched about the restriction clause. Now its lifted. And you fucks still want to bitch?
Wouldn't it be better to prefer to work with another platform that does not have to receive negative feedback in the first place?
Sure it would. And I'd love to ride a Unicorn through the sky!
Too bad I can't do either. All platforms have some negative feedback from the user community. The question is, do the curators of the platform you are developing to listen to you?
I'm not even saying Google does not, I think they do as well. But Apple is very good about taking in suggestions for enhancements and eventually coming out with really good API's around them, or as in this case responding to something Developers saw as pointless and removing it (and in reality they had backed down on it months ago with a slight revision to the alternate platform clause).
It's not like Google is perfect either after all, like only allowing Skype to be used with Verizon, or allowing really crapping phone company specific UI to be added to Android.
Has there been any fundamental policy shift before today?
Yes, for example they had a no screen-scriping rule in place for camera use (because that was the only way to read the camera data realtime was a private API call) and they specifically allowed use of that private call so that basically every barcode scanner and AR app could function.
They've also backed of policy choices like not allowing free apps to change to paid apps (or something along those lines, I forget the exact details since I wasn't affected). Or they have also changed policy around in-app purchases to change some restrictions.
Basically there are a lot of examples of where Apple came out with some initial policy that had issues, and they fixed it is response to developer feedback.
If not, what were you saying prior to today on why you prefer to work with iOS development?
I'm saying it because I have found it to be a consistent pattern over the past few years. I was a Java developer for many years, I could do Android development just as easily - but I like more what Apple is doing around the iOS platform, and currently I see a ton more potential (and it's much easier to make a living at it).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The problem is that Apple can't trust a third party development environment to take over too much of the app share. In the past stuff like that has wrecked OSes as a vital update breaks the third party APIs that are used in bestseller apps. Apple wants to be able to release iOS 5 and 6 without worrying if they break Flash's internal APIs
Also, you say, "That's why I prefer to work with iOS development, because they do listen to developers and take into account feedback or concerns, and really change fundamental policy instead of continuing said policy just because it exists as so many other companies would do..." Has there been any fundamental policy shift before today? If not, what were you saying prior to today on why you prefer to work with iOS development?
They listened to developer demand and introduced an SDK and stopped allowing only HTML5 web apps. They allowed turn by turn navigation products. And neither of those were really influenced by the rising success of Android, at the time. I could probably think of a few more, but you asked for "ANY", of which two satisfies.
Makes me wonder... WebKit is embeddable in iOS apps, right? Is it possible to embed it in such a way that it is not visible - e.g. just hide it, or overlay it with something - and use it solely as a JS scripting engine?
It uses them alongside their own contact list. A given contact can be in either or both lists. If that were the distinguishing characteristic, it seems like that would be easy enough to handle in a Google Voice app.
Dewey, what part of this looks like authorities should be involved?
As I said they listen to feedback, and have done things like making all WWDC (Apple developer conference) videos free for every registered iPhone developer.
Wow, free access to developer resources. Well, to registered and paid-up developers. Amazing.
There really are no "hoops" at all in application development, and honestly how can you claim there are with 250k approved apps?
Yeah, except for anyone who wanted to code one in LISP or Ruby. Or oh, I don't know, whatever keeps a huge number of apps from being approved or rejected.
It's a great platform to develop for as long as you don't step on a land-mine and for some reason be unable to sell your hard work. If you like running a business with a huge uncertainty like "Will I even be able to show this to customers, let alone sell it" hanging in the air, it's for you.
The only reason Apple is backpedaling now is because they pushed it too far and received some backlash.
Isn't that the reason most people back down from a bad position? People tell them they are wrong, and eventually they see the light...
Do they see the light, or just stop doing the thing that got pressure while someone's watching? One's right, the other is the behavior of a sociopath.
They still don't promise to reject an app quickly with a good reason. They'll still let unpleasant (for them) apps linger forever while their developers' businesses die.
but often not, especially with companies. That's my point, that to me it seems rare that customer complaints change anything about how a company works.
What's really changed? Apple is changing what they're doing here only because with the rise of android they've got less control over app developers. Next time they've got this much lock-in they'll do the same sort of thing - use it to stifle competition right up until they'd lose market share by doing so.
Beyond enabling them by developing for their devices you're also showing you'll work with the Microsoft of the moment. Damn the industry, and open competition, I'm making money attaching myself to their locked-in users!
Not in the slightest. What's an argument to you kid? Shaking your user IDs at each other while shouting "Nuh uh"? Points are raised, answered, dissected. Claims are made, and tested. He can be the illustrious whatever he wants but if he dodges the issue he's proven nothing.
I'm not challenging him on the iOS build environment, or his UI design skills. I'm discussing issues other developers have that he, by his very admission, has never seen and has heard very little about.
I'm bringing up questions from the news: "this uncertainty, what if it happened to you?"
He on the other hand is saying quite plainly that that never happened and besides, stopped sometime last year, but that reports are largely fabricated.
I see risk. A company I worked for recently was building a PBX and one of the risks they had to disclose to investors, and they weren't even publicly traded yet, was that the whole system simply wouldn't get through regulatory testing despite otherwise working. And this is government regulatory testing at an independent lab, not Apple's totally opaque approval process.
I see that risk here. If you wrote an app, and as a programmer about half of what I write is small dev tweaks - I assume others are similar, that DID step on Apple's toes, what then? I don't see any clear guidelines on exactly what is not allowed. What I do see is Apple sitting on things for months, refusing to say anything, threatening and punishing those who speak out (though being swayed back again by intense PR), but never actually giving a firm reason that you can work with because they don't want to appear to everyone else to be hostile to development.
Instead of talking about the risk and how to avoid it he sidestepped the issue and talked about all the apps that do get approved - as if the trivial approval process for yet another pedometer, or calculator, is in any way related to what goes on when Apple plays rough. It's as if I asked a question about how many people get mugged and the city PR person says "Over a million people safely enjoy our city every day." A total non-answer.
And as for the dev sessions, I simply disagree. They charge to see the presentation in person because seats are limited because of your chance to see people but the video of the presentations are never comparatively useful. Once you get past the extra time spent on introductions and chatter you've still got to slog along at their pace. Far more useful at that point, in a strict sense, is if they've summarized the talk and given the demo code. The video is more about seeing other developers, "meeting" the personalities, and community building. Not useless, but not something the developer should be paying for - it's Apple's community - dev's already bought in with their phones. And especially since it could reach a wider audience if it were open.
But then there's the thing... Charge for something, keep some people out, and you've made it more precious to some others. They could make the dev tools free, to support kids who want to get into it, as I myself started coding on an Apple 2+ long before I could have afforded dev tools. But they don't. It costs them more to host the video with access controls rather than simply make it available, but they feel that barrier is necessary. Why?