Note: follow-up post.

An iPhone app developer’s world is lonely. 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 (except the occasionally good iPhone questions on Stack Overflow, but even that is now too flooded with newbie questions to be useful for experts or semi-experts to follow).

Three parties are involved: the developers (us), Apple, and the customers. For the most part, Apple stands between us and our customers, so the interaction there is limited: 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.

For Mac development, it’s less of an issue because we can freely interact with our customers, build apps that do whatever we want, release updates immediately and as often as we like, and collect money directly. Mac developers and Apple can largely ignore each other, coexisting happily and staying out of each other’s way.

But for iPhone developers, 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. Or, more realistically, 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 its 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.)

Trust

When the relationship’s power is so lopsided, the only sensible reason to stay in it is trust. If we can reasonably trust Apple to use its power reasonably and fairly, we can sustain the imbalance.

It’s hard to trust a huge corporation with thousands of employees. There’s no personal accountability and absolutely no transparency. They aren’t even accessible to us: the phone representatives have no authority and very little knowledge of the problems developers may encounter, and the support email addresses rarely end up in the correct department (as if we have any way to know) and rarely get meaningfully answered.

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.

Hostility

The last session of WWDC ‘09 yesterday was about publishing on the App Store. The content of sessions is under NDA, so I can’t tell you what it was about. So I’ll tell you what wasn’t in it: the audience Q&A session that succeeded nearly every other WWDC session and usually provided invaluable access to Apple employees and useful additional knowledge to attendees. The session itself blew through its 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. And that’s the closing impression that Apple gave us for WWDC. Clearly, they had absolutely no interest in fielding even a single question from the topic that we have the most questions about.

This went far beyond reluctant tolerance. It’s hard to interpret it as anything else except blatant hostility. We could probably have a more open discussion with Kim Jong-il about North Korea’s nuclear policy.

The human side of Apple

One of the most valuable benefits of attending WWDC is getting the otherwise unattainable opportunity to meet Apple employees and interact with them as human beings rather than the wall of silence and hostility that’s usually presented to us.

In talking to many Apple employees this week, it’s clear that 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. These were just regular people who deal with hard problems and need to keep a lot of secrets.

The problematic policies and attitudes, clearly, are enforced from higher up in the company.

To some extent, this is comforting: most of an app developer’s risky decisions (mainly rejections) are made by the lower-level people who seem well-intentioned.

I’ve also learned that many of the problems aren’t intentional: many parts of Apple’s internal infrastructure are overloaded or extremely outdated, and they’re scrambling to keep up with their growth, often ineffectively.

One major surprise was when an Apple employee told me that the App Store reviewers are not outsourced: they’re all direct, full-time Apple employees. Many of them work nights and weekends to keep up with the extremely high submission volume, and they’re constantly expanding the staff to keep up with the submission growth. That said, he wouldn’t say whether they work in Cupertino — it’s very possible that a little App Review office in Bangalore could technically not be called “outsourced” but is certainly offshored. (I was also unable to get a direct answer on my artificial delay theory.)

I also learned, through various statements and implications, that the App Review team tries to actively avoid major blog publicity about bad rejections, and it’s something they take very seriously. This means, fortunately for us as iPhone-dev bloggers, that we matter and we should continue to bitch incessantly whenever anything is rejected for an invalid or ridiculous reason.

I’m satisfied and somewhat comforted by the human side of Apple that I’ve met so far, but nothing could replace better (than zero) transparency. While I’m glad I met some employees to finally get some insight into how they operate, I wish I didn’t need to.

Note: follow-up post.