Wednesday, November 11, 2009

Joe Hewitt Quits iPhone Dev

TechCrunch is reporting that Facebook engineer Joe Hewitt has given up on iPhone development. According to them, Joe has stated the App Store review process is the main reason for his departure.

Now, Joe is an undoubtedly high-profile developer due to his involvement with Facebook and his creation of the Three20 project, and he's not the only developer to express dissatisfaction with the review process. His departure is something that Apple is certainly going to notice. I'm personally sorry to see him go, he was a valuable contributor to the iPhone development community.

That being said, however, if TechCrunch's reporting is accurate, then I have an issue with Joe's parting words… with his claimed reason for leaving the platform. It comes across, at least to me, as a cheap shot; misguided and even a touch hypocritical. Now, maybe the comment comes across as harsher than it was intended out of context, but have you read Facebook's terms of service?

Pretty much every proscription that's in the iPhone SDK, and many that aren't, are contained in the Facebook TOS. Facebook doesn't allow nudity, for example. It even has vague proscriptions against things like "bullying", and they retain the right to take down any material at any time "without reason". Without reason? You mean your content doesn't even have to be illegal, offensive, or a violation of the TOS for Facebook to be able to take down the end-result of your hard labor? Right. Yet, I haven't heard Joe say a single thing about Facebook's TOS, or threaten to leave the company or web development altogether as a result of his employer's oppressive and restrictive terms.

Pot, Kettle. Kettle, Pot.

The only meaningful difference between Facebook's TOS and the iPhone SDK agreement is that Apple acts as a gatekeeper, reviewing applications before they go on the store to make sure applications comply with the SDK agreement, whereas Facebook doesn't act as gatekeeper, they allow anything on, and then take down the offending material after the a complaint is filed.

I suppose the difference between the two approaches is an important one, but it's not without reason that the two function in different ways. Facebook hosts their content in the United States and is considered a "service provider". Under U.S. laws, and the laws of most countries, service providers have a certain amount of immunity as long as they take action to remove illegal or infringing content. As long as they respond to complaints in a timely fashion they are generally not liable, criminally nor civilly, for the content that their users and third-party developers put up. If Facebook hosts content that is illegal in another country, there's typically little chance of prosecution because of jurisdictional issues, so the only recourse is to send Facebook a takedown notice.

On the other hand, Apple is actually running a store. They sell applications using servers and even maintaining a physical presence in countries around the world. Apple's App Store does not benefit from a service provider's immunity the way Facebook does, nor can they hide from prosecution using jurisdiction since they actively sell their products around the world. Even though Apple is not the original author of the applications they sell, they can still be held liable, much the way that a shopkeeper who sells illegal goods, but doesn't manufacture them, can be held liable.

I really doubt that Apple wants this responsibility for reviewing applications any more than we developers want them to have it. I'd bet money that Apple's legal staff looked at the situation prior to the App Store's initial opening and came to the conclusion that opening the app store to any application without review would expose Apple to significant legal risks.

Yes, the review team screws up now and again, but they have a much harder job than Facebook's legal team because they have to be proactive and look at an enormous volume of material before it goes online and have to constantly make judgment calls. They have to make those judgment calls after spending only a very small amount of time with each app, and sometimes they don't get it right. But, Facebook doesn't always get everything right, either, despite benefiting from the service provider's immunity.

Simply put: the App Store is not the web, and Apple and Facebook are both taking similar steps to protect themselves from liability in light of their situations, which are fundamentally different. Part of the reason that the App Store has been so successful is precisely because it's NOT the web. It's easier and more focused than the web. It's on everybody's iPhone, all over the world, at all times. That's pretty cool, but there's a cost to that, and part of that cost is that it opens Apple up to liability. They have to cover their ass, and don't believe you wouldn't either in their shoes.

It's fine to hate the review process. It's fine to think Apple should do things differently, or to suggest that they should be better about not rejecting apps for stupid reasons. It's even fine to leave the platform if it's not meeting your needs, or if you just want to move on to something new. But leaving a platform as a way of making a public statement about that plaform while simultaneously continuing to work for a company whose platform has similar, but even more oppressive and restrictive rules doesn't seem entirely fair to me.



13 comments:

five kids said...

TechCrunch's reporting is accurate - see Joe's email to the Three20 group - http://groups.google.com/group/three20/browse_thread/thread/645f3c51ee3135a0

K. A. Barber said...

A bit hypocritical? Yes he is being a bit hypocritical.

I think though that his actions are more out of intense emotion and frustration than logic or calculated reasoning.

I've felt it and so has every other developer who has poured blood,sweat, and tears into submitting an app to the App Store. The waiting was like having a little piece of me held captive. Not showing up on any category listing at first because of an incorrect date selection was irritating.

Intellectually I understand that Apple's actions are at the moment driven by what they know is best for there company and I know the App Store and the iPhone are a powerful wonderful thing. I cannot fault them from protecting there baby.

The reality is that none of this logic stops me from being a little saddened by what my heart perceives as unfair behavior on there part.

I worked very hard on MotionInk and though it has its flaws it is a representation of my hard work. Anyone else who has worked hard to get an application to the point of release on any platform is going to probably have some emotional attachment to it. It is human nature.

Eventually, I feel that Apple will tame the App Store beast and the rules of play will at last be understandable and documented. I'll optimistically take my chances and keep creating and submitting apps. Many others will do the same........

Berko said...

Actually, this is a tad inaccurate. Joe reported that he is no longer committing 100% of his time to iPhone development, not completely bowing out. In fact, he doesn't even say how much he will put towards it, but that it's not going to be 100% any longer.

Also, the reason for him not committing 100% any longer wasn't necessarily the review process entirely. It was more like the straw that broke the camel's back. His Three20 project (which, as we all know, is awesome) contained some code (that was only used for debugging) that used undocumented APIs. Now that Apple scans for undocumented code, a lot of developer's apps are being rejected simply because this debugging code exists (a problem I was bitten by recently). He goes on to say that a very small percentage of Three20 code is used by any particular app and none of the debug code is used...it's just in there. Apple knows this t be the case (they had actually emailed him to let him know about it) and the fact that they're still rejected apps because of it is a bit ridiculous. This was it...and again, it was more like the last straw rather than a "I don't like Apple's review process, so I will no longer develop for the iPhone." reaction.

Jack Nutting said...

It seems like his reasons are mostly around Three20, and the fact that Apple was apparently rejecting all apps using it due to the "illegal" API use. If that's the case, I don't really understand the commotion; Why not just remove the offending code from Three20, and everyone using it can resubmit their apps? Sure, it's a minor annoyance, and I hate having to push back release dates by two weeks as much as anyone else, but in the grand perspective of things, does it really matter if your app comes out in October or November?

In any case, Joe has done some great stuff, both with Three20 and with earlier projects like Firebug. Shame to see him go, and I look forward to seeing what he comes up with next.

bobby1234 said...

Jeff I think your point is spot on... the apps store isn't the www and things operate differently.

Joe Hewitt seems to have been frustrated for a while

http://joehewitt.com/post/innocent-until-proven-guilty/

(from August)

pippin said...

Actually my experience with Apple's review process aren't too bad these days.
My main complaint would be that it definitely takes too long, especially if you have several iterations and that there are no real feedback loops that allow you to plan ahead (like an ETA or something).
However, they work on it. They did introduce some communications channels like their e-mail contact for "urgent updates". I had to use this once when the server my App works with changed and actually existing customers could not use the app anymore and Apple approved the change within 24h. OK, granted the App had already been sitting in the "normal" approval chain for 10 days before I called that since I knew about the upcoming chnage but still, I got immediate feedback and they seemed to care.
IMHO, App Store approval has a learning curve but on the other hand, the process helps building trust among customers that the App they are going to buy is not total crap, whether that's justified or not.

Brandon Keepers said...

Just to clarify, Joe wasn't specifically criticising the review process or anything about the iPhone platform, but more generally "the way Apple treats its developer community".

Having developed an application on the Facebook platform, and now going through the iPhone process, I definitely sense the same thing. Facebook engaged the developer community and made me feel like a vital part to their success, while I get the sense from Apple that they don't care if I participate or not.

Matty said...

You nailed that post, I could not agree more.

I would like to add that Facebook keeps everything forever - it's the web - Joe should know this. I hope he remembers to think before hitting send the next time.

This is a great example of the type of attitude and behavior that I would not tolerate from a programmer I have hired. It also tells me who I would never hire if I reviewed a resume and referenced their blog.

Matt Thomas said...

I think people are turning this into something it's not. Joe Hewitt was unhappy with the App Store review process. That's all. They're trying to discredit Joe's move by comparing it to Facebook's strict Terms of Service. But that's not the point. Joe was unhappy and he was in a position to do something that made him happy so he chose to do it.

The truth is, you can have a very draconian Terms of Service and still treat developers like gold. You can also have a very open Terms of Service and treat your developers like crap.

Jeff, I really like your blog but you're being very accusatory and mean to someone who had to make a very personal decision about his happiness. You may not agree with his decision or reasons but can you fault him for doing something to make his life happier?

Nick said...

As I heard one famous person say regarding the blue ray lic rules. "It is a big bag of hurt", I return the quote to the app store, "it is a big bag of hurt"

PhoneFreelancer said...

I really can't imagine that Apple would be too concerned with this one developer dropping out of their development program. He is only one iphone developer and id order to develop apps for the iPhone he has to follow Apples rules. Its that simple. They have created a very lucrative for developers and for that they are able to set their approval process standards as high as they wish.

Edwin said...

scrub m65 kamagra attorney lawyer body scrub field jacket lovegra marijuana attorney injury lawyer

SEO Services Consultants said...

Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming. Thanks again and good luck! Web Design Company