|Home » Learning Curve » Developers Workshop
The Great Brick Wall of the Apple App Store
Travel all the way to the City by the Bay only to get the middle finger?
Marco Arment's one of many iPhone developers who attended this year's WWDC in the hopes of getting some answers and some action on the stagnating situation with third party development for the platform. As everyone he came away sorely disappointed.
Marco has several irons in the fire including an iPhone app called Instapaper. The tool itself is free but there are associated costs, many of which accrue to Marco himself. And they're not all directly monetary in nature.
Trust, Hostility, and the Human Side of Apple
Marco's basic screed on the iPhone situation comes at the end of this year's WWDC and it highlights issues long foreseen in that convoluted world and adds a number of (horrifying) insights not everyone would otherwise be privy to.
'An iPhone app developer's world is lonely', writes Marco. 'We were legally prevented by NDA from forming any communities for many months after the SDK was launched and even now there are no significantly sized iPhone developer communities.'
Be that as it may, developers can succeed without chatting about their work with each other. It's in the relationship between the user and the developer where it's finally seen what's wrong.
'Apple stands between us and our customers', so the interaction there is limited', explains Marco. 'We can't issue refunds, we can only issue a few promo copies, we can't collect upgrade revenue, we can't respond to App Store reviews, we can't provide installation support, and we can't release updates to address customers' issues in a reasonable amount of time. We can't even tell them when the next update will be available, because we honestly don't know.'
'It might be 6 days. It also might be 2 months. It also might never happen because Apple may refuse any further updates to our app. Our customers, like us, are mostly in the dark with this process and we can't do much to help them.'
'For the most part, it's just us and Apple in the room. And Apple's a brick wall.'
In an ordinary software market - for free software or otherwise - the programmers can relate directly to users, quickly issue fixes and add features, etc. Not so there in the world of the iPhone. In fact the level of control Apple exercise over third party software is frightening.
'Apple holds all of the power in the relationship. Apple could decide tomorrow to pull Instapaper from the App Store, refuse all future updates, and remotely delete it from every customer's iPhone without notice or reason.'
That last part bears repeating: Apple have the power to remotely delete software from your iPhone - presumably software you've already paid for as well. The frequency with which this will occur is irrelevant - they hold the keys and they can do this anytime they want. Through deliberate action, through hardware glitch, or through human error. The software you've paid for can suddenly disappear from your iPhone and you can't control it.
Apple can also drag on updates customers are screaming for. iPhone programmers can't issue updates themselves. All iPhone apps have to be signed by Apple. They won't run without the certificate. Third party developers can't release their own updates because the updates simply won't run. Only Apple can apply the root certificate. Third party developers have to submit updates to Apple again - and then just wait. And wait. And wait. All the while customer unrest grows.
'They could sit on my 2.0 update for two weeks or more before rejecting it for an issue they could have mentioned in either of the two previous rejections. (Currently still waiting: it's now day 14 since my most recent submission, and I have no idea when - or whether - it will be approved.)'
The only reason to stay in such a convoluted arrangement is trust, says Marco. You have to trust Apple are going to do the right thing despite their business model saying otherwise. But is that possible?
'It's hard to trust a huge corporation with thousands of employees', writes Marco, and thereby hits the bullseye. 'There's no personal accountability and absolutely no transparency. They aren't even accessible to us... As far as we can tell, from what Apple presents publicly, there's absolutely no reason to trust them at all to do the right thing. In fact, it's quite the opposite. Most reasonable people would perceive Apple's attitude toward iPhone developers as at best reluctant tolerance.'
And yet it's an axiom that even Steve Jobs has espoused: namely that without third party your platform dies.
WWDC & Apple's Giant Middle Finger
In light of these and other issues the third party present at this year's WWDC were hoping for a heated (and fruitful) Q&A with Apple people after the iPhone presentation. They didn't get it.
'The last session of WWDC '09 yesterday was about publishing on the App Store. The session itself blew through lightweight examples quickly, ending 45 minutes early... The majority of the audience was clearly there for the Q&A. As people lined up at the microphones around the room, the presenter abruptly showed a simple slide with only 'WWDC' in plain lettering, thanked us for coming, and bolted off the stage. The Apple engineers, usually staying around the stage for 'one-on-one' questions, were gone. The lights came up instantly and it was the only session that didn't end in music. The audience was stunned.'
'It was a giant middle finger to iPhone developers.'
Close to a declaration of war. Marco draws the inevitable conclusions.
'This went far beyond reluctant tolerance. We could probably have a more open discussion with Kim Jong-il about North Korea's nuclear policy.'
At the Micro Level
But it's not about hostility in the ranks - it's about hostility (arrogance) in the leadership, says Marco.
'It's clear the hostility and inaccessibility is not generally a problem with most individual employees or any sort of universal culture inside the company. In fact nearly everyone from Apple that I spoke with was helpful, friendly, and - most importantly - human. The problematic policies and attitudes are enforced from higher up in the company.'
But how high up is 'high'? And there are structural causes. App Store workers aren't outsourced - but they're not necessarily in the US either.
'While I'm glad I met some employees to finally get some insight into how they operate, I wish I didn't need to.'
So why are things so screwed up at Apple's iPhone store? This much is inviolable: it doesn't need to be so. There are other platforms for mobile devices where none of this happens.
It might be impossible to ascertain why things are as they are but it's not impossible to pick out the direct advantages for Apple in the current model.
- Security. Apple first released the iPhone with the effective security model of Microsoft Windows - that is to say: no security at all. Everything was owned by root and ran as root - and furthermore: the two passwords for the two user accounts were eminently crackable ('Alpine'/'Dottie'). Things weren't looking too good. It was a new platform and had the hackers wished to make mince out of it they'd have to hurry.
Apple introduced code signing and even propagated the idea to their computer OS (where it's basically worthless) but in the case of the iPhone could insist on a root certificate of their own - and furthermore in programming the kernel to not run any apps not so digitally signed.
This is wobbly and inconvenient security at best but it works. There are those who drank the Kool-Aid™ early on and said there had to be a very good reason for adopting the Microsoft security model - but this isn't a good reason at all - not when other systems for mobile devices are effectively more secure and do none of the above and still allow installs of third party software without interference.
- Money. Apple always say third party developers will be able to keep 70% of their revenues. They never express it as 'we're keeping 30% of your money'. But that's what they do. There are countless software distribution points on the web but none of them take anywhere near 30%. Apple keep (and pocket) 30% of all the money spent at the App Store. That's an emperor size nut.
Marco and iPhone developers in general have long been disgruntled. But they've stuck it out. After WWDC 2009 they'll probably still stick it out. But it's not a situation any conscionable software house wants to get involved in.
The Great Brick Wall of App Store
Marco's been keeping an eye on the App Store approval system too.
'Nearly all of developers' complaints about the App Store are caused or exacerbated by one root flaw: the long approval process.'
This everyone has come to understand. Put this in any other context and it's easy to see how utterly ridiculous it is. So why the tortuously interminable approval process? [One might ask why have an 'approval process' at all - see above.]
Marco's been spying on the App Store people - 'sort of'.
'I've now submitted three apps to the App Store and waited for nine approvals. For the last few reviews, I've checked the logs to see when the reviewers actually use the apps for the first time.'
He's been able to see when they finally got around to testing his applications.
'The reviewers don't touch the app until the day before approval or rejection. They don't seem to interact with the app for more than a few minutes.'
'The app just sits there for 6-8 days, untouched, then goes through an approval or rejection process that as far as I can tell takes less than 20 minutes for a complex app (and probably much less time for a simple one).'
[So what is it they're testing?]
'I don't believe the delay is caused by a legitimate work overload on Apple's end', writes Marco. 'As any developer or server admin will tell you, this is not the behavior of a queuing system that can't quite handle the inbound request volume. If it were, the delay wouldn't be consistent - it would grow out of control until nothing was getting served, then Apple would add more capacity, then requests would get served with no delay for a while, then they'd start queuing again.'
'It wouldn't be almost the same delay every time.'
Tinfoil hat time? You be the judge. One thing's certain: his assessment of the characteristics of the delay is spot on.
'I have a different theory: The delay is intentional. I think Apple found some good reasons for making app developers wait at least a few days before they spend a second of their time reviewing it.
My best guess is that a lot of developers find new bugs, cancel their submissions, and upload new binaries within a certain amount of time on average, and Apple doesn't want to review them twice. Or they just don't want developers to be able to issue new versions more than once every week or two to prevent gaming the (broken) 'newest' ranking.'
'If I'm right, well... let's just say that doing this would be highly offensive to developers, and I really hope that Apple is better than that in their treatment of the people that are earning them a lot of money. But I can't think of any other explanation that's supported by the behavior that I see.'
Neither can anyone else. And things are going to go on as before. Companies don't respond well to pleas. They respond instantaneously to pocketbook pain. If third party developers would just refuse to have anything to do with Apple until they stop their medieval practices things could sort themselves out rather quickly.
The iPhone hardware, user, and API interfaces are superior to anything else on the market. But the iPhone's competitors have it beat on almost everything else.
The iPhone is sexy but the Mac is sane. I can charge a fair price and have control of distribution. Being lost in the shuffle of 50,000 apps costing $3 or less makes it hard to make a living building software for the iPhone platform.
- Justin Williams
Having developers become frustrated and consider abandoning the iPhone platform because Apple needs to work out some logistical issues would be as sad as the overall App Store success has been brilliant. Apple should have a clear method to address rejections, get specific information on the problems, and getting help fixing them. It would mean happy developers, better software for users, and goodwill for Apple from developers and users alike.
- Chris Foresman
Marco.org: iPhone 2.2 Software Update
Marco.org: Garrett Murray Hits the App Store Wall
Marco.org: Trust, Hostility, and the Human Side of Apple