Engadget Cares: save us from Apple's groundbreaking, developer-shackling App Store

But it's not just about the draconian SDK agreement (which we'll get to in a minute), or the uncertainty that runs through every developer -- large and small -- as they wonder whether you'll give the all-important thumbs-up to the app they've just invested all that blood / sweat / tears / money into (we'll get to that, too). What seems to the rest of us like nefarious intent may simply be Apple coming to grips with its own successes by reacting with the same kneejerk response it plies to most everything else: control and micromanagement.
Let's rewind for a moment though, and go back to what Steve said at this Spring's iPhone roadmap event, where the SDK was introduced for the first time. As Steve's introduction reached its crescendo, he excitedly declared, "The developers and us have the same exact interest, which is to get as many apps out in front of as many iPhone users as possible," but "there are going to be some apps we're not going to distribute: porn, malicious apps, apps that invade your privacy..." The slide listed "malicious," "illegal," "porn," "privacy," "bandwidth hog," and "unforeseen." Ah, unforeseen -- glorious wiggle room. I suppose "apps that might compete with our own" wouldn't have gone over as well with the crowd. Read on.
As soon as the iPhone SDK's legal agreement made its way into the hands of eager developers, it became clear just what everybody was in for. Paraphrased in layman's terms (and vetted with help from our own geek-lawyer extraordinaire, Nilay), here are the key clauses your developers have to agree to in order to write an app for the iPhone:
Sections 2.1 and 2.2b: Use our SDK -- which is the only way to make a proper app -- but you can only distribute the applications through us. We're it. Make an app and try to sell it without us, and you're totally liable. Oh, and sub-note: we can approve or withhold an app at our sole discretion, and we're in no way responsible for your business's viability, nor your investment of time or money should we decide not to consign it in the App Store.
Section 3: You can't make apps that are mean, evil, malicious, install backdoors, etc. Alternately, no VoIP over cellular, no providing real-time route guidance, and nothing intended for use in emergency / life-saving situations. Don't breach anyone's copyright -- and don't screw with us.
Sections 5.1, 5.2, and 5.3: This SDK legal agreement is confidential. Engadget shouldn't even be writing about it. Also confidential: any knowledge we share with you about how to develop iPhone apps. So if you were thinking about doing a blog or a book about developing for the iPhone, or simply open-sourcing your app, then think again. Knowledge is a dangerous thing -- why do you think we did a commercial themed after Orwell's 1984?
Don't worry though, not everything is confidential: namely, anything you submit to us will be absolutely "non-confidential." We can talk publicly or privately about your apps without warning -- including what they do and how they work -- to whomever we want (including your competitors), and even before you've announced anything. We can also look at what you're doing, knock it off, and release our own version without any reproach. Trust that we wouldn't do such a thing, though.
Basically, that means that you can't build anything that you haven't prescribed in its given tool and feature set. So if the iPhone already has something like, say, a browser (read: mobile Safari), and Google wants to port a mobile version of Chrome for the iPhone, Google's out of luck. And Apple's legal wiggle room is unbelievably broad. Is a Word / Excel editor a code interpreter? Is a BitTorrent client a code interpreter? Should one have to build a complete and fully functional piece of software just to find out?
Thankfully, you guys have a fast-tracked review process for rejected apps so devs don't have to go to the back of the line if their program has some fixable but show-stopping issues. But mitigating the inherent risk of having their hard work nixed, developers are likely to either avoid the platform entirely for applications requiring any significant level of investment, or do as a huge portion of devs alrady have, keeping their apps largely limited to completely safe, un-interesting, dare I say novelty concepts. It's like the SDK doctrine, purposefully or not, gave Sturgeon's Law ("ninety percent of everything is crap") a big helping hand by de-incentivizing the best developers from doing anything interesting. Calculators, to-do lists, dictionaries, flashlights, there are hundreds and hundreds -- but not a single app that will sync my Google Calendar over the air, or help me manage my multiple Gmail accounts, or let me acquire podcasts -- the most frequently updated content on my device -- on the go.
In fact, each of those kinds of apps has, among others, been blocked or rejected. As developer Synthesis discovered in creating their iPhone SyncML client, there's no way to directly sync the device's calendar over the air with CalDAV / SyncML. Sure, one can do this with the Apple-endorsed methods (via Exchange or Mobile Me), but unlike the iPhone's relatively open contact database, devs aren't allowed to touch the iPhone's calendar database. No one really knows why, and they're certainly not being offered any explanations. Sorry, Synthesis.
Then there's more recently MailWrangler, and the now-infamous Podcaster, two apps rejected for not "providing sufficient differentiation or added functionality" and "duplicating the functionality of... iTunes," respectively. Podcaster allowed for podcast downloads on the go, while MailWrangler gives users legitimate, Apple-prescribed means of accessing multiple Gmail accounts without having to log out and log back in again.
But here's the real kicker in all this: there are already numerous iPhone apps with very real, very clear code interpreters built in, as well as other apps with features that don't just kind-of-maybe-sort-of duplicate Apple functionality -- they do so outright. And they're available right now on the App Store. I won't call those apps out here, as I don't want to see them get taken down just to make a point, but there are apps that already fully encroach on Apple's own objectives for the device, and they were most certainly let through.
So why is Apple rejecting some apps and letting others pass? I'm not sure there's any simple answer. Macworld editor Jason Snell wrote on this same topic just yesterday, insinuating that some malicious behavior "can just as easily be explained by incompetence." And given the piss-poor quality and frequency by which many of those apps "duplicate" the functionality of Apple's software (both on the desktop and iPhone), the rules of acceptance seem in many ways more arbitrary than iniquitous. Let that sink in for a moment, though, because it's kind of an unsettling conclusion we're beginning to arrive at: not only are there no known hard and fast rules to abide by when writing a program for the App Store, there's quite likely to a largely subjective smell-test for apps towards the end of the review process. It's not just about playing by all the rules, it might also be a crap shoot -- developers had better hope they get assigned an App Store reviewer who's feeling generous that day.
So it seems to me, you have two possible courses of action to clean up this mess, Apple: one, the bare minimum of courtesy and respect for its developers, and the other, full-on-righteous. If absolutely nothing else, you need to post some very clear, very easily interpreted guidelines as to what will and will not fly in the App Store. No more mystery, no more concern as to whether the investment associated with developing a program will be for naught if some faceless App Store approval technician semi-arbitrarily decides to hit reject. Just lay it out for all to bear and follow. Sure, there will be a lot of hating going on when Apple says in explicit terms that Mozilla has zero hope of ever getting Firefox on the iPhone, but at least the crippling uncertainty is removed from the equation. You shouldn't have to be one of the hallowed few approved by the iFund to be certain before you start work on your app that it will be approved.
Now, if you want to do the right thing -- the thing that may ultimately keep you out of some grumpy developer's class-action lawsuit, the thing that will take away Android's biggest consumer appeal right now -- you'll simply stop filtering apps based on content, and only look for the kind of code Steve specifically promised to protect users against in the first place: grossly buggy and broken, malicious, or otherwise evil. I'm not exactly convinced of the latter's likelihood, but closed market or open, at a certain point this whole thing becomes about consistency and reliability, and right now you've got neither to wave in your defense, Apple.
In the meantime, groups like the iPhone Dev Team will continue to carry the torch for jailbreaking, hacking, and unauthorized app development. Hell, jailbroken development will even likely gain steam as increasing numbers of users can't find enough apps of any real utility on the official App Store. Even big companies like Sling Media have taken to working around the walled-garden. So here's to doing good by all the those willing to invest in your platform, and to the simple kind of change that Apple, as a company, can make today if only you think a little harder about tomorrow -- and everyone living in it with an iPhone or iPod touch.
If you know a company or technology in need of a little advice (especially one too afraid to ask for it), hit Ryan up at engadgetcaresATengadgetDOTcom.





















Porn is not a limitation, it's just the final frontier.
Apps I've got from the App Store (that I've used in double-digit counts):
1. Facebook
2. Bomberman (Got over real quick; haven't played since, I think)
3. Trism
4. MobileFinder
5. Wikipanion
6. IM+
Apps I've got off of Cydia that I use frequently:
1. Cycorder
2. Snapture
3. Finder (newly released, but gotta have it)
4. Winterboard
5. Searcher
6. BiteSMS
7. Categories
8. Terminal
See the type of applications in both categories. I don't wanna say anything else.
Oh, I forgot a very important app from the Cydia list:
9. QuickGold. It's a MUST-HAVE.
I have a porn app. Its called Safari.
@avester:
Here's to saving the best for last, then?
@Rohit Kapur
Yeah, all my useful apps are from Cydia too, the app store is a bunch of lame apps that might be fun but they're not terribly useful.
-Taylor
Swearing will make you unpopular too. :P
And I think you're not looking at Apple's competition very well; somehow much freer application availability is working for them.
As for what other platforms approach the ubiquity of the iPhone: S60 would be a good start. Even Windows Mobile (counting all incarnations) has more devices. And both of them have readily available SDKs and don't have a single choke point that even the most trivial app must pass. (S60 does require approval of the developer for apps requesting certain capabilities, but no app-by-app discretion even for these.)
Steve, I hope you're reading this.
He can't hear you talking, he has his turtleneck pulled up over his ears and is whispering "nanananananaaaaa"
The mock turtleneck you mean? Not bloody likely. Prolly has the whole shirt over his head, covering the top with the latest issue of the new yorker.
Poor guy, let's not...
Mock him? Duuude.
Go ahead. Low rate this one, it went to hell faster than I could control.
Right on. I think Apple believe they have hit oil with this, and that supply will soon run dry if they don't sort the situation out. I had an iPhone on release in UK and the App Store was great when the first few good apps came out but I haven't used it since, too many god damn duplicate flashlight/calculator bullshit apps (as mentioned in the article). Let some REAL developers make some REAL useful apps. I wanted to start developing for the iPhone in my free time (c# developer) which would be a pretty big task and I'm pretty sure I could put some genuinely useful apps out there. However, until there is some clear rules and less monkeys assessing app approval/rejection I am not going to bother.
I have bought a LOT of Apple products and I have great respect for the company and so far the quality of service, but this is outrageous. Fuck you, Apple, sort it out.
Great article, you win 10 internets.
Agreed. I don't even have an iPhone, but I'm thinking I'd like one in
the future. Or maybe not... This whole thing is making it look kind
of stupid.
Fuck you Apple.
I completely agree. I love the iPhone / iPod Touch and think it is a fantastic device that pushes the mobile device world ahead by 5 years. The lightweight, optimized OSX is an excellent platform for application developers, even acknowledging the relative arcane (for the uninitiated) Cocoa/Obj-C platform. It uses a powerful, mature development environment and debugging tools.
The irony in all of this is that the primary issue of contention isn't related to the device itself, or the Obj-C based platform, or the SDK (or even the annoying Mac fanboys), but Apple itself! What they need to do is get the hell out of the way and let the developer community make it happen! Their nonsensical behavior of locking down the SDK material and stifling cooperation and collaboration between developers with non-disclosure agreements is vastly counterproductive --- that is --- if their goal is indeed to ensure the future success of the platform! I don't knows what is really going on, but from my (admittedly limited) perspective, I'm going to speculate that Apple's patent attorneys and/or other legal representatives have gone overboard perhaps on trying to protect (at least what they think is) patentable intellectual property contained within the SDK. I may be completely wrong, but I can't think of any other reasonable alternative.
Steve Jobs and his top executives obviously have to understand the importance of the developer community having open access to knowledge about the platform and being able to discuss, collaborate on and assist each other with application development, debugging, troubleshooting, etc. So there has got to be some legitimate purpose to the (hopefully temporary) draconian use of the developer NDA to keep information from being shared publicly about the SDK.
And I've been saying this all along for years now -- that Apple and S. Jobs has got to realize the importance of transparency and proper communication with it's partners, developers, and users. I'm not suggesting that they need to share future product details, but they definitely need to communicate their position when certain problems arise and how they intend to fix them. This would go a long way to preventing the kind of lingering bad press and customer frustration that we've seen over the past few years. When issues come up, we usually receive nothing but silence from Apple headquarters, sometimes followed much later by a succinct "open letter" from Mr. Jobs, and many times nothing at all. Even a simple, reassuring "we are working on the problem" or "we haven't come to a conclusion on the issue" would be much more desirable than the present situation.
Similarly, at the moment, developers just want to know when they are going to be able to discuss problems with each other and seek help from online and offline resources. Especially in software development, people are always encountering the same issues and problems and will end up perpetually re-inventing the wheel if they are unable to communicate amongst themselves. In addition, the "app store" and the health and robustness of the platform suffer from the inability of new developers to seek out guidance and assistance getting started with the platform. Online forums can't be used, help groups can't be started, developers can't collaborate with each other, books and guides by experts cannot be published, etc. These types resources are how many software engineers and developers got started in the first place, and especially when attempting to move to a new platform and programming language. Everyone cannot just enroll into the computer science department at Stanford to receive officially sanctioned assistance with iPhone development or get a new job at an existing Mac development house with Obj-C/Cocoa/iPhone developemtn experts.
Apple needs to fix this mess and fix it now!
I'd like to chime in to Apple's defense at the risk of becoming unpopular in this thread.
Apple's iPhone platform is precedent-setting and unique in the field of computing.
While we are tempted to treat it like a microPC or mini laptop platform, it is in fact a device in a field heretofore dominated by embedded devices.
With the iPhone, Apple must provide a Quality of Service (QoS) above and beyond that of a PC or similar device.
On a desktop PC, it makes no difference if you run a program that slows down your system or crashes your OS.
On a phone, that's disastrous. A phone is almost like a real-time device, and the core feauture-set must be protected from the p2p flavour of the month and unneccesary podcast app or what have you. It's bad enough that people are using this thing as a music player, movie player, camera, web browser, mirror, to-do-list tracker, calendar, mame cabinet, telnet client, pocket protector, coffee cup warmer, cellular modem .. you get the idea.
If you want to sail with the big pirates in the ocean of independent software choices, you're going to have to leave the play pen and take responsibility for your actions. Jailbreaking your iPhone is one clear way of doing that, and it's the perfect balance between voiding your warranty and allowing you free reign over your hardware. Your system crashes because you effed it up? It's your fault bigboy. You broke it, you can fix it.
For every forum like engadget's complaining about obstinance on Apple's part, there would be a hundred more starbucks-swigging urban techno-trolls whining that their iPhone stopped working after they installed limewire and tried to download Led zeppelin's entire discography or every episode of the sopranos.
How many other platforms even come this close to the ubiquity of the iPhone? Does anyone complain that there is no SDK for devices X,Y and Z? To be honest I have no idea. I don't even own a cell phone. If I did, I'd buy an iPod touch and jailbreak it to use wifi and voip.
Steve knows exactly what he's doing and I hope he does read this thread. at least he'll know enough to contact me and send me a free ipod as a thanks. (or sue me)
I'd like to chime in to Apple's defense at the risk of becoming unpopular in this thread.
Apple's iPhone platform is precedent-setting and unique in the field of computing.
While we are tempted to treat it like a microPC or mini laptop platform, it is in fact a device in a field heretofore dominated by embedded devices.
With the iPhone, Apple must provide a Quality of Service (QoS) above and beyond that of a PC or similar device.
On a desktop PC, it makes no difference if you run a program that slows down your system or crashes your OS.
On a phone, that's disastrous. A phone is almost like a real-time device, and the core feauture-set must be protected from the p2p flavour of the month and unneccesary podcast app or what have you. It's bad enough that people are using this thing as a music player, movie player, camera, web browser, mirror, to-do-list tracker, calendar, mame cabinet, telnet client, pocket protector, coffee cup warmer, cellular modem .. you get the idea.
If you want to sail with the big pirates in the ocean of independent software choices, you're going to have to leave the play pen and take responsibility for your actions. Jailbreaking your iPhone is one clear way of doing that, and it's the perfect balance between voiding your warranty and allowing you free reign over your hardware. Your system crashes because you effed it up? It's your fault bigboy. You broke it, you can fix it.
For every forum like engadget's complaining about obstinance on Apple's part, there would be a hundred more starbucks-swigging urban techno-trolls whining that their iPhone stopped working after they installed limewire and tried to download Led zeppelin's entire discography or every episode of the sopranos.
How many other platforms even come this close to the ubiquity of the iPhone? Does anyone complain that there is no SDK for devices X,Y and Z? To be honest I have no idea. I don't even own a cell phone. If I did, I'd buy an iPod touch and jailbreak it to use wifi and voip.
Steve knows exactly what he's doing and I hope he does read this thread. at least he'll know enough to contact me and send me a free ipod as a thanks. (or sue me)
Ok, double posting will certainly make me unpopular,
but I swear it was a browser glitch.
@alex kessaris: Re iPhone being so unique
When the PalmOS came out it did have problems sandboxing 3rd party apps. WinMo and Symbian appeared to have learned from this and have avoided many if not all of the issues.
I have used iPhone, WinMo, and PalmOS devices. Even with some pretty intensive apps installed the WinMo 6 device has been the most stable. An iPhone app crashed daily, the Palm OS itself crashed weekly. My trusty WinMo 6 phone has an app crash maybe once a month.
So if other mobile OS platforms can fully support 3rd party apps why is Apple so concerned about bad apps breaking the iPhone? Perhaps because the iPhone OS is not that robust?
Lets be honest here; the iPhone brought a cool aesthetic design, multi-touch screen, and a very cool browser experience. But that's it. Everything else already existed in the marketplace.
Also, there was a comment here along the lines of "Apple let the developers talk to each other." There are numerous Android blogs, user groups, and coding support sites already up and running. A quick search for iPhone development support only returned hits to Apple.com itself. I found several Cocoa development sites, but none relating specifically to the iPhone.
Surely my search results merely failed to locate iPhone dev resource sites, and that they do exist. If not what is Apple thinking?
@alex:
You write a long post about the smartphone landscape, making such sweeping claims as the iPhone being "precedent setting and unique in the field" and at the end you disclose you don't even own a cell phone? WTF man?
I'd like to know what platform you have first hand experience with a phone crashing due to apps, or being unable to answer a phone call- besides the iPhone? You've been kneeling at the altar of Apple too long, buddy. Cell phones and SmartPhones as a class are pretty reliable. I do own a SmartPhone and do it use it everyday and have never lost phone functionality, never had a virus, never had a dodgy app tank my phone.
Steve Jobs' claims of not allowing native apps on the iPhone at first because of security and reliability concerns seems pretty dodgy. They initially launched a product with previous generation hardware and still had issues, then followed it up with an even buggier untried chipset. If Apple opens up the App Store at least they could blame devs for the platform's issues.
All this FUD about independantly dev'd apps creating a breeding ground for abuse and generally destroying the basic functions of the phone is crap. If you look at the much-maligned WinMo platform, they don't have these issues. I'm not aware of any platform that has these issues. If you sell a decent platform that is set-up for a good experience at retail purchase, users will be able to judge for themselves when performance has become un-acceptable because of installed apps.
Don't make excuses for Apple in that they want to keep their device pristine and free from crippling issues- they've disproved that themselves.
a buddy of mine submitted an app that when your iphone is on your hip and you lift your leg it makes a fart sound. he submitted it to apple and they refused to put it in the app store saying it was obscene? ridiculous.
I can't wait for someone to do something interesting for the iPhone...
Bastards!
Now that's just funny, not obscene. I would pay money for the app, if I had an iPhone that is. Stupid....poor....student. :(
damnit. i wanted to write that exact app.
I wonder why? Sounds like the sort of app iPhone users would go for in droves.
Hey Matt,
Thanks for the support. Apple just couldn't see the humor. Obscene, maybe they should think about how obscene some of the song lyrics are on iTunes. Same thing goes for some of the movies. I think the user should have the choice to buy what they want and install it on their phone. I'm considering discontinuing development for the iPhone, and taking a long hard look at Android.
btw here is a video demonstrating his app:
http://www.youtube.com/watch?v=ZBoAY7cq3QE&feature=email
the problem with the App store is that Apple refuses to let Apps in that do things better than Apple designed programs...for Ex, the Mail App that was made the included all the gmail features was nixed becasue it would over lap Apples mail app...
Apple wont admit that there are better products out there than its own designed apps, dont cross apple and your apps get approved
Maybe Google told Apple not to let it on there- after all, if someone else made an app for Gmail without Google's consent, they might be reluctant to let it through for copyright/trademark/patent/whateverthhell infringement.
If it was Google that made the app, they would have known before submitting that it wouldn't be let in (Google and Apple are tight, remember?)...
wtf? Sorry, From My Cube, that wasn't directed at you. "Bastards!" was supposed to be in reply to the fart guy's comment.
Well, at least the comment system looks cooler now.
Maybe Google told Apple not to let it on there- after all, if someone else made an app for Gmail without Google's consent, they might be reluctant to let it through for copyright/trademark/patent/whateverthhell infringement.
If it was Google that made the app, they would have known before submitting that it wouldn't be let in (Google and Apple are tight, remember?)...
What reason does Nokia have to be simmering? They aren't losing marketshare due to the iPhone. They're still number one and their smartphone OS is still number one.
A bunch of fanboys downloading calculator and myspace apps won't hurt Nokia in any way.
Ummmm
No one cares about nokia's smartphone...even if they realize that nokia *makes* a smartphone.
The smartphone market is divided between Windows Mobile, Blackberry, Palm and iPhone. Nokia cant compete.
When you cant compete, you should not bother playing the game.
@Joe-- you ignorant little turtleweed- Step outside the US and see for yourslef, Nokia doesnt hold, it 'owns' a good percentage of the smartphone market. RIM, BB, WinMo only try to compete, and iPhone its not even a minority it would be classified in the 'Other' category.
Now go do what u teenagers do...
@Joe
That was quite possible the most stupid thing I've ever read. Thank you for that life enriching moment.
Now fuck off and die.
And Apple wonders why so many people Jailbreak their iPhone/iTouch.
The vast majority don't jailbreak their phones. Sure, maybe the percentage is high in the Engadget crowd, but if you're an app developer, the unlocked market is tiny and not profitable.
BRAVEHEART: "Freeeeeeeeeeeeeeeeeeedommmmmmmmm!!!"
@ Marin
Which is, among other reasons, why all Jailbreak apps are free....
Apple is just trying to cover themselves. It basically a 'you play nice
and we play nice agreement". But, do something wrong or piss us off
and we'll nuke you. With all the sue happy sobs running around how
can you blame them for covering themselves.
They are not out to screw anyone, they just want protection from those
that would screw them or harm their users.
just missing that usual engadget sarcasm... :)
The best article i've read about this subject so far.
That really really sums it all up, apple needs to wake up.
They cannot just "wake up". Such authoritarian behavior is in Apple's DNA.
also, they will probably never "wake up"....
that has got to become an old trick first, then they can simply "awake" and it'll be soo revolutionary...
And we wonder why M$ is still around!!! Cant we demand for something better than these dillweeds?
It would be nice if they would allow applications to run in the background too. My Windows Mobile phone with 128MB handles dozens of applications running in the background to keep me updated and informed. Guess what? I have zero slow down and can play games any time I want.
The iPhone / iPod Touch has beefier hardware than most WM phones. There are no excuses just incompetence and ignorance.
Ditto. I am stuck deciding between the Touch Pro and the Touch HD. I am on T-Mobile, and I'm not that concerned with 3G as it probably won't reach where I live for at least another year. I have a Dash right now that I really like, but I just want a faster CPU and microSDHC support. I was all set for the Touch Pro until I saw the Touch HD in action. Mmmm...
I do like the iPhone in terms of hardware, I just hate the OS and the people that make it. :-)
My fiance had a T-Mobile Dash that absolutely sucked if you ran more than one program at once. I blame Microsoft, though. When I had my iPhone Jailbroken, I could run all kinds of apps in the background and it was fine. It did drain power faster, though, which was one reason Apple didn't want background apps. I think their decision was a little too strong. Instead, they should have a "Background Apps" menu in the settings. Any app the user authorizes to run in in the background can. Any app that isn't authorized will close. By default, new applications will be set to close on exit. That would allow users to opt-in with known consequences, and allow the non-power users to keep the current behavior.
The only app I have that I would authorize at this point is Pandora, but some of the location-aware social networks like Loopt would benefit greatly from having this feature.
Just a quick question. How do Apple know if your app is malicious? Do you have to submit source code for the revue?
Yes, you give them the source for review, once approved they build your app from that source
for distro on the app store.
And sometimes "malicious" can mean "Your app is clearly much better than ours so we are gonna reject you but steal your source code and make our own." Ugh.