Developing Perspective

#43: Dealing with Delay


00:00:00   Hello and welcome to Developing Perspectives. Developing Perspective is a podcast discussing

00:00:05   news of note and iOS, Apple and the like. I'm your host, David Smith. I'm an independent

00:00:09   iOS and Mac developer based in Herndon, Virginia. Today is Wednesday, May 9th, and this is show

00:00:15   number 43. Developing Perspective is never longer than 15 minutes, so let's get started.

00:00:20   All right, for today's show, I'm going to be talking about sort of maybe a sadder part

00:00:26   of the App Store and the app process. Certainly one that is not as fun or as joy-filled as

00:00:33   many of the other things that I talk about. Specifically today I'm going to talk about

00:00:39   being disappointed by the process and how you work through that and how to embrace that

00:00:46   in some ways. So specifically this is related to yesterday. I was expecting audiobooks to

00:00:53   reviewed this big update that I've been working on for probably about three or four months

00:00:57   and it was. You know, it seems Apple's getting pretty consistent about

00:01:01   its right around seven days kind of review cycle and so I was kind of expecting

00:01:05   sometime either yesterday or maybe today at the latest it would have been reviewed

00:01:09   hopefully approved and into the store, big launch, etc.

00:01:13   And yesterday it was reviewed

00:01:17   and kind of a funny thing happened. So audiobooks has a free version and it has a

00:01:21   paid version. The free version is ad supported, the paid version is 99 cents. And one of them

00:01:28   was approved and the other one wasn't. And the other one, it's not that it was rejected,

00:01:32   it was just, "It'll take more time." Which is kind of a weird message you get from the

00:01:36   app review process and you're just kind of like, "Okay, well I don't really know what

00:01:40   to do with that. It wasn't rejected, so there's nothing for me to fix." It's not like, "Oh,

00:01:46   the app is rejected because you did XYZ." It's just, "Well, it's going to take some

00:01:49   more time. And as a developer that's kind of frustrating.

00:01:53   You know, this is something I've been working on for months and months and months.

00:01:57   I was all excited, I had my promotional stuff ready, I'm kind of all ready to go

00:02:01   and I was like, "Oh, actually never mind. You know, just sort of

00:02:05   you're just going to have to wait. I have no idea how long this will take or whatever

00:02:09   but you know, that's just kind of what happened." And this isn't the

00:02:13   first time this kind of thing has ever happened to me. It's, you know, I've been doing this for about

00:02:17   half years and I've had probably about every sort of hiccup, delay or challenge happen

00:02:22   that could happen.

00:02:23   I've had apps pulled from the store, I've had apps rejected outright, I've had major

00:02:27   updates that say "oh you can't do that", you know all kinds of things.

00:02:32   And I think maybe it's a maturity thing, maybe it's just an experience thing, at this point

00:02:38   I'm just kind of used to that and I'm okay with it.

00:02:43   It certainly is... it would be great if every update I ever submitted was just approved

00:02:48   and was approved on a repeatable known schedule.

00:02:53   I submit it on a Friday, it'll be approved by next Wednesday or something like that,

00:02:58   but that's just not realistic.

00:03:00   And I've talked about this a little bit this morning, so if you've read that, this is kind

00:03:04   of hopefully more just to add some color to that.

00:03:07   But the thing about being an app developer is you can prepare, and your job in many ways

00:03:14   is to prepare and to prepare and to make all the, sort of get everything in line and make

00:03:18   all your plans and preparations, but you can never actually really plan on something.

00:03:23   You can't say, "Well, okay, I'm gonna do, you know, it's like I'm gonna launch on this

00:03:28   particular day."

00:03:30   You can kind of guess.

00:03:31   You can kind of, you know, it's like when I've worked with clients in the past, they're

00:03:34   like, "Oh, we want to be in by..."

00:03:36   Whatever.

00:03:37   I want to be in the App Store by June 1st. So I'll say, "Okay, well we're going to need to submit by May 1st."

00:03:43   In the hopes that over a month we'll be able to get any hiccups or delays worked out.

00:03:49   And you kind of just get used to this. That you don't have control over that process.

00:03:54   That Apple is a gatekeeper and as well they should be.

00:03:58   And by doing what they're doing, they're ultimately sort of making my life better.

00:04:02   And this is kind of one of those things that I think you can kind of take two ways about

00:04:06   it.

00:04:07   And one of them is sort of constructive and positive and will make you sane.

00:04:11   And the other way will kind of just make you sad.

00:04:13   And so sort of the sad way is when you think, "Oh man, Apple is doing this, that, or the

00:04:18   other.

00:04:19   Oh man, what are they doing?

00:04:20   My app's fine.

00:04:21   Why isn't it just approved?"

00:04:22   And you can kind of get, you know, just sort of depressed about it.

00:04:27   And I've seen a lot of developers kind of head down that road.

00:04:29   they just kind of get mad when the app review process doesn't go how they like or they start

00:04:34   complaining about it and it's like, "Oh, Apple's stifling innovation. Apple's doing this and

00:04:39   the other."

00:04:40   And it's like, I've so rarely seen anything that I'd say where that's the case. I mean,

00:04:45   there are policy questions that you could sort of talk about, you could debate about

00:04:49   and say, "Well, is that best for customers? Is that best for developers?" But by and large,

00:04:54   I've never seen anything that I think didn't make sense if you look at it through the lens

00:04:59   of Apple's goal is to protect the end users and the customers from bad, nefarious, and

00:05:10   just sort of negative experiences in the App Store.

00:05:13   I think their goal, you could say, is simply to make the App Store the safest and best

00:05:18   place to get software for a smartphone, period.

00:05:23   If you look at it from that perspective, I think they do a great job of that.

00:05:27   I think they don't do a perfect job, they don't do it every single time in a perfect

00:05:31   way, but they do it very consistently.

00:05:34   And I have experience working on other platforms that don't have a review process, for example

00:05:39   on Android Market.

00:05:41   And when I first started out there, it's like, "Oh, this is great."

00:05:44   Whenever it's ready, I hit submit and it's in the store.

00:05:46   I remember that was crazy.

00:05:48   I think I was on an instant message conversation with one of my developers at the time, getting

00:05:54   getting ready to launch our app. He was doing the actual submission in Android Marketplace

00:06:00   and it's like, you know, he's like, "Oh, submitted. I open up, you know, Android Market on my

00:06:06   testing device and there it is." It was instantaneous and that was like, "Oh, this is awesome. This

00:06:11   is great. You know, I can plan around this. I can make, you know, I know exactly what's

00:06:17   going to happen." But my experience beyond that in Android Market is just that creates

00:06:23   just a horrible experience for the users because anything can get in and things get pulled

00:06:30   but and things only get pulled after a certain number of users have had a horrible experience

00:06:36   and so those users are probably going to be much more sort of disinclined to download

00:06:43   apps to you know get new things to play the sort of to play around in the app store because

00:06:48   they got burned. And fair enough, you got millions and millions of users, but if that

00:06:54   experience continues and continues and continues, there's a point at which there's just not

00:06:59   as much of a viable market, and you end up in a place like with Android Market where

00:07:03   all these users just aren't going to be downloading apps, especially not ones that they pay for.

00:07:09   And so you're going to say, "Okay, well, they'll only ever get free stuff, because, well, what

00:07:12   have they lost then? Just a little bit of time." And so these are just kind of, you

00:07:16   know, that's the cost of having this great place where we can make this living. And as

00:07:22   a developer, you just have to be patient. You just have to kind of expect this, not

00:07:27   in a way that you want to kind of be fatalistic about it, but you want to be, you sort of

00:07:32   expect that things will not go as you would potentially like them to go, as your hopes

00:07:39   and dreams or just expectations would be, that you can just be realistic and say, you

00:07:45   know, is what I'm doing something that is pushing a boundary? Is what I'm doing is something

00:07:51   that is complicated? Is what I'm doing something that, you know, is trying, is playing in a

00:07:58   gray area? And most often I know with, with sort of typically developers, you know, there

00:08:04   are certainly stories that are counter to this, but most often developers who get apps

00:08:07   rejected or who get things delayed or pushed around, have some expectation that what they're

00:08:15   doing is not dubious in a nefarious way, but is pushing a boundary or doing something in

00:08:22   a way that they're trying to test a limit. They're kind of seeing where that boundary

00:08:27   is because they see, well, sort of the biggest profits, the most money I can make is at that

00:08:32   boundary.

00:08:33   Because if mine's the app that does this thing to the max, then I'm able to make more and

00:08:38   more money from that.

00:08:39   Which you kind of know going into it.

00:08:41   I mean, I'm thinking, reminded of, I think, Launch Center, which is David Bernard's app

00:08:47   that he was launching, trying to launch before Christmas.

00:08:50   And he was doing something which was essentially making the notification center into a place

00:08:56   that you could launch tasks from.

00:08:59   which is kind of, you know, it's just clever and interesting and novel and an interesting use of some of the new APIs in iOS 5.

00:09:04   But it's definitely something where you're kind of pushing a limit and you're pushing a boundary.

00:09:09   And, you know, it's like one of his competitors' apps got approved, but his didn't, and, you know, kind of went round and round.

00:09:14   And he ended up, he pulled it out, and then, you know, so it was rejected, and then he changed some of the functionality

00:09:19   so it was more of a basic launcher. And, you know, it's like that's frustrating as a developer.

00:09:24   as a developer, that's kind of infuriating sometimes. But more often than not, if you

00:09:29   know, if you're trying to make your money from that, from testing a boundary, from pushing

00:09:35   something, you just kind of expect it. I mean, audiobooks, my guess is the challenge is something

00:09:40   around in-app purchase, because I do something with in-app purchase in audiobooks that I

00:09:44   don't think a lot of apps do. I think audiobooks right now has about 850 in-app purchases.

00:09:48   It has a lot of in-app purchases. It has a lot of content that you can upgrade and you

00:09:52   buying as professional audio books and all these things that

00:09:56   i don't think a lot of people do and so is kind of used to the fact that okay

00:09:59   that's going to be tricky that a lot of people

00:10:03   or that apples can when look at that more closely because

00:10:06   there's eight hundred and fifty opportunities for someone for me to ask

00:10:09   someone for money in a way that

00:10:11   uh... means you know skirt a policy or

00:10:13   you treat something in a way

00:10:15   and i've been as a result of that i'm also very careful about what i do

00:10:18   you know i

00:10:20   I've read through those in-app purchasing guidelines so many times to make sure there's

00:10:24   nothing I'm doing that is against that.

00:10:28   But that is what it is.

00:10:31   So "Out of Your Books" is in limbo for, who knows, a couple of days, a couple of weeks,

00:10:36   I don't know.

00:10:37   And so that's going to lead me into the last little topic for the show, and that's kind

00:10:42   of what do you do about this?

00:10:43   How do you deal with this?

00:10:45   And the way that I've been, especially if this is your living, if this is how you make

00:10:49   your money, it's kind of an important thing that you can have some dependability, some

00:10:53   planning, even if you can't make proper plans and say, "Oh, I'm going to launch on day X."

00:10:58   You want to be able to sort of manage this uncertainty and a little bit of anxiety you

00:11:04   have. And what I've done for that is to diversify, has been the way that I've been able to manage

00:11:10   that most effectively, where I have a large variety of apps in the App Store that I make

00:11:16   my living from. And only really two of them are making me, you know, two apps make the

00:11:22   vast majority of my income, my recipe book and audiobooks. But the rest of my apps, I

00:11:27   have a lot of little apps that make me a little bit of money. And in aggregate, having ten

00:11:31   apps that make you five dollars a day, you know, makes you fifty dollars a day, which

00:11:36   is enough to kind of, you know, smooth out some of these bumps that, you know, otherwise,

00:11:44   know

00:11:45   pretty very detrimental was often people who seem exasperated and

00:11:48   sort of challenges when you're kind of

00:11:50   if you put all your eggs in one basket

00:11:52   and then that has to get stuck in turn you know server view limbo

00:11:56   it's gonna be a little awkward that's going to be difficult and he's i think

00:11:58   of what happened with readability

00:12:00   uh... kind of immunity

00:12:02   aside from all but the crew the other things that happened with them

00:12:05   the

00:12:06   when they reserve visit you know when they work in this after working this

00:12:08   app

00:12:09   they approved a submitted it and it got rejected went back and forth back and

00:12:12   forth

00:12:13   and i mean i imagine a huge amount of money was burned on that process

00:12:17   that

00:12:19   you know they're never going to get back that

00:12:22   is difficult because of kind of it's like well that's their thing that's

00:12:26   their one half

00:12:27   and you know it's fair enough they're not an independent and so they're you

00:12:31   know

00:12:32   they make their money in a different way than i do but

00:12:34   i can't

00:12:37   afford to have my main bread and butter

00:12:39   apps or

00:12:41   sort of where I'm getting my money from just unavailable.

00:12:44   So I've just diversified.

00:12:46   I mean, you just kind of think of different things

00:12:48   that you can do to kind of diversify your process,

00:12:51   make somewhat you kind of end up in a place

00:12:53   where you make smaller investments.

00:12:55   So rather than making one app that took me a year to do,

00:12:59   I'm making smaller apps that maybe took a month,

00:13:05   maybe took two months to make, that helped

00:13:09   me learn new APIs and frameworks and things, which is just sort of good for my personal

00:13:13   development, and then I put them in the store and I make a little money from them. And that

00:13:17   smooths out these little bumps that are just inevitable. And as soon as you can kind of

00:13:21   just accept that that's inevitable and that this is part of the process, it's great when

00:13:25   you're pleasantly surprised and, you know, I submit something and it's approved a day

00:13:29   later and it's great. But, you know, these things where these problems are going to happen,

00:13:33   these hiccups, and you just kind of accept, move on, and, you know, don't get too wrapped

00:13:38   up and romped around the axle about it. Alright, that's today's show. I hope you enjoyed it,

00:13:43   I hope it's helpful and useful. I've made almost every mistake or had every problem

00:13:47   that could happen in the App Store. So if you have any other questions, thoughts, things

00:13:51   that you've run into or things that you're worried about in the App Store, certainly,

00:13:53   you know, by all means hit me up with a question and I'd be happy to kind of address it here.

00:13:57   I've probably made every mistake. The only area of the App Store I don't know much about

00:14:01   is games. So anything that's not game-related, I could probably speak with some authority.

00:14:06   And as always, if you want to hit me up with comments, questions, concerns, I'm on Twitter

00:14:10   @_davidsmith.

00:14:16   You can read my blog at david-smith.org.

00:14:19   And I just wanted to let you guys know that I've created a Twitter feed for the podcast.

00:14:24   So that's Dev Perspective, D-E-V Perspective.

00:14:27   Developing Perspective is just too long for a Twitter username.

00:14:32   But essentially it's just the RSS feed for the podcast posted in Twitter, if that's how

00:14:37   you prefer to kind of be aware of when new episodes are available.

00:14:40   So I just wanted to let you know about that.

00:14:42   But otherwise, if you have a good week, I hope you write some good code.

00:14:46   Happy coding, and I will talk to you later.

00:14:48   Bye.

00:14:49   [BLANK_AUDIO]