Nov 13

This week has seen the departure of two high profile iPhone developers: Joe Hewitt and Rouge Amoeba. This is a big loss to the iPhone development community.

Rouge Amoeba details the story of the rejection of their Airfoil Speakers Touch app and presumably that was the straw that broke the camels back. I think this case has some interesting aspects that are worth discussing. I will not take sides, since I don’t know all the details of what has transpired between Apple and Rouge Amoeba.

There has been an interesting exchange between Jeff LaMarche and John Gruber about this case, which to me highlights the difficult position that Apple’s App Store reviewers are in. The iPhone is a computer that is constantly connected to a network, but it happens to be disguised as a phone. The complexity of the applications that you can write for the iPhone is astounding. The Airfoil Speakers Touch app is a great example of a complex application that involves streaming audio over a network from another computer. When a very experienced iPhone developer like Jeff LaMarche is not clear on the details of where images that show up in the UI are coming from, how is an App Store reviewer (presumably without a developer background) supposed to understand how an application like this is architected?

Since Apple is unlikely to completely do away with the App Store review process, what can be done to make it better?

In Rouge Amoeba’s case maybe getting an engineer at Apple involved earlier could quickly have resolved any technical questions Apple might have, and then they can make an informed decision on merits instead of possible misunderstandings. To not overburden an already bogged down process, there should be a limit to how often you can call in engineers to review your case. Maybe you have to use one of your golden support tickets. (And they could borrow the process from American football where a team who challenges the ruling on the field does not get charged a timeout if the ruling is overturned.)

I think the bigger issue is transparency. (Regular readers know that I’ve been on this soap box several times in the past.) In the beginning Apple could be excused from being overwhelmed and making up rules as they go. But now, 15+ months later, it’s time to publish the rules. All the rules.

It’s the uncertainty and apparent randomness that is making life hazardous for iPhone developers and companies who depend on the App Store for a living.

Maybe Apple still doesn’t know all the rules and all the details. That’s ok. The American legal system works in a similar way with case law. There is a limited number of laws that have been legislated and then courts interpret those laws and apply them to real-world cases. The key here is that courts’ decisions are published for all to see and learn from. I know this is a gross simplification and a system that is not without controversy, and bad decisions. But I think there’s enough similarity for Apple to adopt a similar system.

If every App Store rejection was published by Apple, including a detailed explanation of the reasons, all developers could learn and avoid mistakes made by others. Developers would win in such a system. I think Apple would win even more with a less clogged review system and much happier developers.

written by Nick \\ tags:

Nov 02

Thank you oDesk!

To all new visitors from oDesk: Welcome! If you like what you see here, click on the orange button in the top right corner of each page to subscribe to the RSS feed.

You should also check out the other blogs on the list. They’re all on my daily reading list.

written by Nick

Oct 19

I just received my session survey feedback from 360|iDev Denver 2009:

  • Agree that the Session was Informative? 100%
  • Agree that the Speaker was Authoritative? 100%
  • Agree that the Session was What you Expected? 100%
  • Overall rating (1-5, 5 being best) Avg : 5

Wow! I could literally not have asked for anything more. Thank you to all of you who attended my talk. If you have not checked out the presentation, it’s available here: UIWebView – The Most Versatile Class in UIKit.

While on the topic of feedback, feel free to suggest topics you would like to see covered here on the iPhone Development Blog in the future. Is there anything you would like to see more of? Less? Comments are open.

written by Nick

Oct 16

Back in the old days while the NDA was still in effect, us old-time developers had to walk miles through snow without shoes to find any information about iPhone development and the iPhone SDK. These days, there’s too much information available and it’s hard to know where to start.

It’s great if you have a veteran iPhone developer at your side to guide you through the jungle. To make sure that you understand the Cocoa Touch principles, get a good application architecture in place from the start, etc, etc.

Luckily you can have one of the best teachers in the business by your side for two days to get you started the right way. Dan Grigsby of Mobile Orchard fame is teaching his Two Day Beginning iPhone Programming Training Class in Portland, Nov 12-13 and in Los Angeles, Nov 19-20. You don’t need any iPhone or Mac programming experience before the class, but you should have some prior development experience, e.g. being a web developer.

More information here. If you enter the coupon code “nick”, you’ll get a nice discount if you sign up during early registration. (And no, I’m not getting any kickbacks on this.)

If you’re already past the beginner level, then you should definitely subscribe to the Mobile Orchard Podcast. It has great interviews with iPhone developers and gets into wonderfully gory details about iPhone programming and other development issues.

written by Nick

Sep 18

Today Apple launched the new App Store Resource Center. Calling it “new” is actually a bit of a stretch, since it seems to be mostly a collection of information that was previously scattered in several places. But we should still give Apple credit for the effort. The are moving in the right direction.

I still think my own App Store Rejection Reasons page is a good complement to Apple’s official documents. And I just updated the page with a few new items that I painfully encountered.

written by Nick \\ tags:

Sep 05

After a brief outage due to upgrading to the latest version of WordPress, we’re back.

If you are running a WordPress blog, now would be a good time to upgrade to version 2.8.4. There is a nasty worm that’s going around attacking all older versions of WordPress. Ominous security advisories abound.

written by Nick

Aug 31

If you are considering attending the 360|iDev conference in Denver, September 27-30, and you have not yet purchased your tickets, then today would be a good time to do so. The conference organizers tell me that starting tomorrow, the price will going up every week.

Check out the great line-up of speakers here: 360|iDev

written by Nick \\ tags:

Aug 21

Apple posts their answers to the FCC’s questions.

One of the more interesting items posted was the statistic that “more than 40 full-time trained reviewers” review 8,500 new applications and updates per week, and at least two reviewers study each application. Some quick math reveals that each reviewer spends on average 5 minutes testing an application. That explains a lot.

People are questioning if the 40 full-time reviewers is the entire review staff, or if there is an additional group of front-line reviewers. (Would these people be part-time and/or untrained?) Also, how can 40 reviewers (or really 40 / 2) handle all the languages stemming from 77 country specific App Stores?

Now that I got my frustrations with the App Store out of my system, I promise that this will be the last post on this subject for a while. Now back to the regularly scheduled programming.

written by Nick \\ tags:

Aug 17

Yesterday I told you about Bikini Blast which was held up in Apple’s approval calamity for four months. Today I’m going to top this by a wide margin. Here’s the story, in the words of my client:

It seemed like a good idea: Build a fun, flirty iPhone app that generates millions of custom pick-up lines on the fly, simply by tapping in specifics of a situation: A user enters the place, time of day and characteristics of his intended date, hits a button and chooses a line ranging from clever to clumsy. And just to keep things under control, the user can choose between lines that are either Safe or Sexy.

The app is called LittleWingman (www.LittleWingman.com) and it tested through the roof. It’s an equal-opportunity app, generating pick-up lines regardless of gender or orientation. And because it contains no graphics, no profanity and no abusive language of any kind, we knew it was a cinch to gain approval from Apple’s iTunes Store. And it did. Eventually.

Nine gruelling months after it was originally submitted.

Why was LittleWingman constantly rejected? As it turns out, not for any specific objectionable words or graphics — it doesn’t have any. In fact, LittleWingman may be the first and only app ever rejected purely for the sexual ideas it stimulates in users’ minds.

Are phrases like “tight-fitting jeans” and “legs” objectionable? Not to most people. But when LittleWingman composed them into the following line, iTunes had a big problem with it:

“I’m tonight’s official legs inspector. I’m going to have to ask you to remove those tight-fitting jeans.”

At first, we thought iTunes objected to words like “breasts” and “ass” — two commonly used words in many other apps. So we replaced those with “casabas” and “tush,” only to be rejected again. Within a week or two, the same canned message came back with the same canned rejection:

At 5:51 PM -0800 3/5/09, xxx@apple.com wrote:
Thank you for submitting LittleWingman to the App Store. We’ve reviewed LittleWingman again and determined that we still cannot post this version of your iPhone application to the App Store because it contains inappropriate sexual content and is in violation of Section 3.3.12 from the iPhone SDK Agreement which states:

“Applications must not contain any obscene, pornographic, offensive or defamatory content or materials of any kind (text, graphics, images, photographs, etc.), or other content or materials that in Apple’s reasonable judgement may be found objectionable by iPhone or iPod touch users.”

If you believe that you can make the necessary changes so that LittleWingman does not violate the iPhone SDK Agreement we encourage you to do so and resubmit it for review.

We combed through the content again, looking for any profanity or objectionable content. But we could find any, because there wasn’t any. It was the app that was writing the content by itself, based on what the user had chosen.

For example, LittleWingman generated this line for a user who finds herself at a wedding: “Think any of the rabbis at this ceremony can lend us some personal lubricants?” Random? Funny? Hardly as objectionable as a flushing toilet, upskirt shots or jiggling breasts, yet Apple rejected that generated line flat out.

The correspondence flew back and forth, with LittleWingman getting rejected for combining innocent phrases like “kiss” with innocent body parts like “lips” into pick-up lines that resulted wonderfully appealing ideas as to what things people might actually kiss with their lips. Each time, the App Store returned the same canned response, with no guidance as to fixing the problem, mainly because there was no problem there to fix. Unlike the “baby shaker” app, LittleWingman was pure, positive pick-up lines — and healthy ones, at that.

At six months, we thought we had a breakthrough: iPhone 3.0’s 17+ rating was just the ticket to get us past our non-existent objectionable content. We re-submitted and got rejected. Again.

The maddening, automated responses were finally disrupted when, after seven months, a breathing App Store human being actually left a voicemail at our offices. We began the dialogue which, two months later, resulted in LittleWingman being approved — with only two word changes from its original submission. And that, as it turns out, is the main problem with technology: it lacks human judgment, which cost us time, energy — and nine months’ of sales.

It’s been nine months of nuttiness. But at least now the world doesn’t have to struggle with how to approach that blonde at the end of the bar.

NINE MONTHS! Insane. That has to be a world record. And for the sanity of all iPhone developers out there, I sincerely hope so. Maybe I can submit it to Guinness Book of World Records?

You can find LittleWingman in the App Store here. You won’t find it anywhere on the What’s new pages in iTunes, because the date of the app is Jan 21, 2009. Another not so nice side-effect of the App Store approval process.

written by Nick \\ tags:

Aug 15

This is the second part in a series about iPhone application being rejected by the App Store. You can read the previous part here: 57 Ways To Get Your iPhone Application Rejected From The App Store and the accompanying App Store Rejection Reasons list.

I always inform my clients about the “objectionable content” clause in Apple’s iPhone developer agreement to let them know that there is always a risk that Apple will reject the app and their development investment may be lost. Some clients find this level of risk to be unacceptable, and they walk away from the platform. This self censorship is not good for my business, and in most cases it’s not good for Apple either.

When I was approached by the publishers of this book I didn’t imagine that it would get caught up in the objectionable content morass. The book is political satire and in my opinion hilarious. Each page has a real photo of a famous politician to which Mr. Lee has added his own cartoon style talk bubbles. With the limited amount of text on each page, I thought this would make a great iPhone app. Apple unfortunately thought otherwise. After five weeks in review, the app was rejected because it was “defamatory”.

Steve Jobs famously replied to a developer who had developed an app that counted down the number days remaining of the Bush administration. Steve’s defense of that rejection was to ask why should Apple risk offending half their customer base. I don’t know if that put the kibosh on all apps that could raise some political ire. I didn’t tally the jabs in Election Daze to see if one side came out ahead, but it seemed pretty evenhanded to me.

In the end my client decided to drop the fight with Apple. The presidential election was quickly approaching and their carefully timed promotional campaign was not going to be able to ride the tide of political interest.

My second example is an app that we knew from the beginning was going to be a tough battle with Apple. The client was prepared for this and had the patience and resources to ride it out. The application is Bikini Blast which is a wallpaper download type app with photos of, you guessed it, women in bikinis. (I want to point out that we also developed iWallpaper for this client and that app has a category called “Hunks”. So this is not a gender issue.)

Our client sells wallpapers and applications for many other phones, so he has experience dealing with all the major carriers and their content rules and he used that experience when selecting content for Bikini Blast.

Note to Apple: All the major carries have published very clear guidelines on what is acceptable content and what is not. Furthermore they have outsourced the approval of such content to a few companies that specialize in this. I think this is a great way to establish a policy and then take a step back from the daily headaches of deciding what to approve and what to reject.

Bikini Blast was submitted to the App Store in October 2008. Then we heard nothing. This was before Apple started sending out the “this app is going to take longer to approve emails”. So no email. No phone call. No smoke signals. Just complete silence for FOUR MONTHS. Then suddenly out of the blue in January 2009 the client received the approval email.

I said in the first part of this series that these spectacular rejections and wait times are exceptions. However, the point is that they do happen often enough to give businesses pause before diving into iPhone application development. It is difficult to build a business around a platform when the rules are not known, the wait times are indeterminate, the communication is nonexistent, and there is no way to appeal decisions or even have a discussion with anyone responsible for the process.

If you thought four months was a long time to put your business on hold, that’s nothing compared to the next story. And all you have to do is wait until Monday for the next installment of this series.

written by Nick \\ tags: