Developing Perspective

#104: Learning to Love App Review.


00:00:00   Hello and welcome to Developing Perspective.

00:00:03   Developing Perspective is a podcast discussing news of note in iOS development, Apple, and

00:00:07   the like.

00:00:08   I'm your host, David Smith.

00:00:09   I'm an independent iOS developer based in Herndon, Virginia.

00:00:12   This is show number 104, and today is Monday, January 21st.

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

00:00:20   All right, first, an explanation and apology for last week.

00:00:25   There was no show last week, and the reason for that is my family and I had the flu.

00:00:29   Again, so if then, you know, two months we've had two different flus go around our house,

00:00:34   which is certainly not pleasant.

00:00:35   And then I was traveling a bit in the rest of the week.

00:00:37   So my apologies for that.

00:00:38   I know many of you, you know, it's part of the part of your week and part of the things

00:00:42   you look forward to.

00:00:43   So I apologize for not having a show there.

00:00:45   And that's, that's why but I should be everything's everyone seems healthy.

00:00:49   Everyone seems good this week.

00:00:50   So we should be back to a normal schedule.

00:00:52   And I may even try and squeeze in three this week.

00:00:54   That's why I'm starting on Monday.

00:00:55   All right, so the topic I'm going to talk about today is actually something that came

00:00:59   up, I guess it would be a week and a half ago now,

00:01:03   and I was going to talk about it last week,

00:01:04   but I wasn't able to get to because of illness.

00:01:06   And so I was going to talk a little bit about Apple's change

00:01:09   to the iTunes Connect policy about screenshots

00:01:13   and about whether or not you can-- basically,

00:01:17   Apple changed their policy so that you can no longer change

00:01:20   the screenshots of your application

00:01:22   unless you're doing a binary update, which essentially

00:01:24   means screenshots are now part of app review

00:01:28   in an absolute way.

00:01:29   before I'm sure they were reviewed by app review

00:01:31   whenever you submitted an app, but you

00:01:33   were able to change them after the fact, which allowed

00:01:35   you to do all kinds of funny things.

00:01:38   And I think specifically, Apple, as is typical,

00:01:41   didn't really explain why.

00:01:43   The pretty solid reasoning behind this

00:01:47   would almost certainly be it eliminates

00:01:49   the likelihood of people creating scam apps in the store.

00:01:52   And essentially, it's in a situation

00:01:54   where someone creates an app with a name vaguely

00:01:57   similar to, say, a popular game.

00:02:00   And then they submit it with screenshots

00:02:02   that are related to what the game actually looks like.

00:02:05   Some very simple game.

00:02:08   Apple approves it.

00:02:09   And then they go in and they change the description

00:02:11   in the screenshots to reflect-- to make

00:02:14   it look more and more like the thing

00:02:16   that they're trying to copy.

00:02:18   And then there's no review on that.

00:02:20   Because the way the app review is sort of a gateway,

00:02:23   it's not this constant policing.

00:02:25   And often they'll be reported and pulled back.

00:02:27   but it's not like those changes were reviewed.

00:02:29   And so by requiring screenshot changes

00:02:32   to go through app review, it'll likely mitigate

00:02:35   or at least reduce somewhat the problem of that.

00:02:38   And this is a part of a broader discussion.

00:02:41   That's why I think it's still relevant now.

00:02:43   The story isn't that Apple has made this change of policy

00:02:47   for the screenshots.

00:02:48   That's interesting.

00:02:49   The real part of this that's interesting

00:02:51   is whenever these things happen, there's always this bit of a--

00:02:55   I would say it's not quite a backlash,

00:02:57   but it's sort of that of people who complain and moan, oh, gosh,

00:03:00   you know, it's like these bad apples have ruined it for everybody, and I can't believe I have to do this,

00:03:05   it's going to be really annoying.

00:03:07   My take on this is, you know, when I see Apple make a change like that,

00:03:11   I am, there's like 1% annoyance and 99% happiness.

00:03:15   I am delighted whenever Apple makes policy changes whose goal and purpose is to increase user trust,

00:03:24   increase user safety in the app store.

00:03:28   Because that's how I make my living.

00:03:29   That's what I need are customers who trust that when they see

00:03:33   an app in the store and it looks like it's going to do something,

00:03:36   that they're going to buy it.

00:03:37   And more importantly, that they're

00:03:38   willing to take money out of their pocket

00:03:40   and give it to me or through Apple for that.

00:03:44   Which isn't necessarily an easy thing.

00:03:46   If a user sees an application that they

00:03:49   think they're getting something and it turns out

00:03:51   they get something else, the next time

00:03:52   they go to buy something, they're going to be very skeptical. They're going to be much

00:03:56   more reluctant, and that ultimately is hurtful to me as a developer.

00:04:02   And it's one of those things that I think it's easy to think about people, you know,

00:04:07   it's like that app review is sort of a bad part of the store process and is bad for developers

00:04:15   or is annoying. I would definitely take the opposite of that. I would say that app review

00:04:21   is the single most significant aspect of the iOS App Store

00:04:26   that has made it successful.

00:04:28   And there are many other things that are certainly important

00:04:30   and are contributing factors.

00:04:31   I mean, excellent devices, reasonably large install base,

00:04:36   the demographics of the iOS users,

00:04:39   and those types of things.

00:04:40   They're certainly important.

00:04:40   You know, the way the app model works

00:04:42   in terms of sandboxing so that apps are safe

00:04:44   to install and uninstall, those are all important.

00:04:47   But if I had to list out all the different reasons

00:04:49   and pick the single most important,

00:04:50   say without a doubt it's App Review because App Review has created an environment where

00:04:55   users feel safe and where users know what they're getting. I think about the, you know,

00:05:03   sort of the obvious example, the obvious counter example of somewhere like Google Play where

00:05:08   Google Play is a store on many, many, many more devices than iOS is, and yet it is very

00:05:16   difficult for developers to make paid sales there.

00:05:20   People just typically aren't willing to put money

00:05:22   on the table there.

00:05:24   And that, I think, has far more to do with the fact

00:05:27   that people just-- you never know what you're getting.

00:05:30   I mean, there are-- I mean, I think

00:05:32   it's crazy that Temple Run 2 from Keith and Natalia

00:05:37   was launched last week.

00:05:39   And it seemed like within a day or two,

00:05:42   there were already Google Play clones trying

00:05:44   trying to scam and rip off people on the Google Play Store.

00:05:47   There's no review there.

00:05:48   They'll go in, and eventually Google

00:05:49   will go and find and pull them out.

00:05:51   But all the people who got those apps

00:05:53   are now probably out some money and really annoyed.

00:05:57   And that creates this really negative experience.

00:06:00   App review is one of those necessary evils.

00:06:02   And that's not even to say it's necessarily an evil.

00:06:04   It's just a necessary part of commerce.

00:06:06   It seems kind of-- if you take a step back

00:06:09   and you realize that what you're engaging with your customers

00:06:13   is honest to goodness business.

00:06:16   It's straight up commerce.

00:06:17   There are a lot of things that if you were a normal mom

00:06:20   at a corner store selling things,

00:06:23   the number of regulations and processes

00:06:25   and things that go into the products that you're selling

00:06:27   is fairly high and significant, and that's a good thing.

00:06:30   When I'm buying, it's like when I go to the gas station

00:06:34   and fill up my car with gas,

00:06:35   I'm pretty confident that's gonna be gasoline

00:06:37   and they're not giving me something else

00:06:40   because there is regulation and procedures in place

00:06:43   to protect that, and that's a good thing.

00:06:45   That creates trust, which ultimately helps me as a user.

00:06:48   So it's something that I think is really, really important.

00:06:51   Now, there's some things that it does that certainly

00:06:54   are side effects of that.

00:06:55   And these are where it starts to get

00:06:57   into the more practical part of what

00:06:59   I wanted to talk about today in terms of there

00:07:01   are a couple of side effects of app review.

00:07:04   And probably it's also fair to say app review is not

00:07:06   going anywhere.

00:07:07   It's not something that would ever-- if anything,

00:07:11   it'll get tighter and tighter rather than looser and looser.

00:07:13   And that's, like I was sort of just saying,

00:07:15   that's a good thing.

00:07:16   I'm really, really genuinely happy about that.

00:07:18   I think it's a good thing.

00:07:20   I would rather be slightly annoyed

00:07:22   and be able to make a sustainable business than have

00:07:24   this free-form Wild West where it's

00:07:26   very hard to make a living.

00:07:28   And so there are a couple of things

00:07:29   that are kind of the natural side effects of review.

00:07:32   The most important, which is actually, I think, a big plus,

00:07:35   that's a tertiary benefit, is that it forces a more

00:07:39   thoughtful development approach.

00:07:41   And this is something that I've certainly seen.

00:07:44   In my own experience, say if you compare it to--

00:07:46   you could say developing on something like Google Play,

00:07:48   where updates go out immediately,

00:07:50   or even just to web development or something like that,

00:07:52   where you don't have to live with your mistakes

00:07:55   for very long.

00:07:56   If you push an update to a website and something's wrong,

00:08:00   you can push out another update immediately.

00:08:03   there's no barrier to correcting mistakes,

00:08:07   and so you don't have to live with them hardly at all.

00:08:10   I think that's a very significant difference

00:08:12   compared to what you have on iOS,

00:08:14   where you have to live with your mistakes

00:08:16   for up to a week, two weeks sometimes,

00:08:20   and so you have to be much more thoughtful

00:08:22   about what you're doing.

00:08:23   You have to be more careful.

00:08:24   You have to be much more disciplined in what you're doing

00:08:29   so that you don't end up with that situation,

00:08:32   And that slows down a bit the churns you could do.

00:08:35   And I think overall, that's a good thing.

00:08:37   I think it certainly helps me to be more careful about what

00:08:41   I'm pushing out the door, because I

00:08:42   know that I can't just immediately fix it or go back.

00:08:45   Once an app updates out there, it's going to spread,

00:08:48   and it's going to be what most users are going to get.

00:08:50   And there are a few things that Apple

00:08:51   does to certainly mitigate this.

00:08:52   You can do the expedited review process, which is great.

00:08:56   I had to use it over the Christmas break

00:08:58   or just before the Christmas shutdown,

00:09:01   Because I pushed an update that disabled in-app purchase

00:09:04   accidentally, which was a bit awkward.

00:09:06   And it's like Apple was very responsive.

00:09:09   Even though it was right at the peak of that Christmas app

00:09:12   review, they were turned around within maybe about 12, 18

00:09:15   hours even.

00:09:16   It was a really quick process.

00:09:17   And that was awesome.

00:09:18   And I'm glad that's there.

00:09:20   But that's my one use for probably the next year,

00:09:23   where I could do an expedited review.

00:09:25   And so I have to be very careful now, very thoughtful,

00:09:28   very deliberate about what I push to the store.

00:09:30   And that's a good thing.

00:09:32   So first, I'd say that's the number-- a big advantage

00:09:34   that you can kind of take the app review reality

00:09:37   and turn it into a strategy to help improve your process.

00:09:40   Is you have to look at it as, this is a great opportunity

00:09:44   for me to make sure that I'm building

00:09:46   good quality solid products.

00:09:48   And I'm shipping them only when they're ready,

00:09:51   or ready to see-- when I think that they're at a point

00:09:53   that they're ready for the customer to see.

00:09:56   So use that to your advantage.

00:09:58   Have that discipline.

00:09:58   and have that thoughtfulness, because you have to.

00:10:01   It's not a bad thing for someone to force you

00:10:03   to be a better developer.

00:10:05   And so in that case, just live with that and embrace it.

00:10:09   First, and then another thing that I'd

00:10:10   say that is also great about the review process--

00:10:13   and this is something that I've started doing more and more--

00:10:15   is you just kind of start using it to your advantage

00:10:18   in terms of--

00:10:20   I think most people are familiar with kind of a development

00:10:22   process where you have the concept of a release candidate.

00:10:26   So say if you were starting with a normal development cycle,

00:10:30   you'd have an alpha version of a product.

00:10:32   Let's just say it's a new product.

00:10:34   You have an alpha version, which basically works,

00:10:36   but is nowhere near shipping.

00:10:38   A beta product is feature complete, could be shipped,

00:10:40   but you don't think is ready.

00:10:42   And then you end up with a release candidate, which

00:10:44   is something you're saying, I believe

00:10:46   this is ready to go to the store and to customers

00:10:48   and ready to out the door.

00:10:50   But I want to verify that through some kind of quality

00:10:52   assurance or testing process.

00:10:55   What I've typically started doing is I will release--

00:10:58   or I will submit all of my release candidates

00:11:03   to the app store as soon as I can sort of brand them

00:11:07   as release candidates.

00:11:09   And then I will set the status in the store

00:11:12   so that it won't release immediately to customers

00:11:16   if that app gets approved.

00:11:18   And the reason I do that is, if you say-- recently,

00:11:21   they've been pretty quick.

00:11:22   They've been-- I've seen a lot of reviews coming around

00:11:24   in a couple of days, but typically you

00:11:26   have to plan at least a week, sometimes two,

00:11:28   depending on what time of year it is.

00:11:30   And if you're planning that into your cycle,

00:11:34   then you submit your release date

00:11:35   as soon as you brand it as such.

00:11:38   Then you have a week or two to do your internal testing,

00:11:42   your user testing, all those kinds of things.

00:11:44   If you find a problem before it goes into review,

00:11:46   you can just pull it and resubmit it,

00:11:48   release RC2 or submit RC2 if it's at that point.

00:11:52   If it turns out RC1 was great and you

00:11:54   didn't have any problems, or you didn't have any problems that

00:11:56   were showstopper significance.

00:11:58   You just let it go through review and approve it.

00:12:00   And if you do, by taking that approach,

00:12:03   you actually haven't lost any time from the review process

00:12:07   in terms of you're not actually delaying when

00:12:10   you can ship really at all.

00:12:12   So a lot of people complain about the process of once it's

00:12:14   finally ready to ship, they then have to wait another week.

00:12:17   It's a week without revenue, a week

00:12:18   before it can get to customers, and so on.

00:12:21   I think that's a nice sort of side effect of this approach

00:12:24   is that you don't really lose that time if you submit your RCs

00:12:26   right when they're ready.

00:12:27   And so that's what I do.

00:12:28   I mean, it's like a great example of that

00:12:30   where it was actually really helpful.

00:12:31   I was with Check the Weather where I submitted my first RC.

00:12:36   It was approved pretty quickly before I was even

00:12:38   ready for all of the press and the promotional side of what

00:12:41   I was doing.

00:12:42   And it meant that I had an app approved in the store

00:12:45   that I could generate promo codes for, send to people.

00:12:48   And I talked about this in the old episodes

00:12:50   about how I generated promo codes

00:12:53   and sent them out before the app was actually released,

00:12:54   which meant people didn't have to do ad hoc builds,

00:12:56   and had these great knock-on effects, which were great.

00:13:00   And so that's what I do to take advantage of that.

00:13:03   Another thing I also like that's beneficial about the review

00:13:07   timeline and the time delay, especially,

00:13:09   is that it means that you have this extra time to time shift

00:13:14   your work.

00:13:15   So for example, say you're working

00:13:16   on the website for your application.

00:13:18   It's going to have a promotional site,

00:13:20   or you're going to have those types of,

00:13:21   you know, do press or outreach,

00:13:23   all those kinds of activities.

00:13:25   You can be doing those while the app is in review.

00:13:28   And so you can shift, rather than,

00:13:30   whenever you actually shift the app,

00:13:31   having to have all your ducks in a row,

00:13:34   you can essentially just have only the,

00:13:37   you get the programming done up front,

00:13:39   and then you have a week to do all the other side,

00:13:42   sort of the promotional and marketing activities.

00:13:44   And that's kind of just a nice additional benefit

00:13:47   of having it.

00:13:48   Some people would say, "Oh, it would be better

00:13:49   "if I didn't have to do that,"

00:13:50   but the reality is, it is what it is.

00:13:53   These are some things that I do to make it better

00:13:55   and more useful for my own time.

00:13:58   Anyway, so hopefully that's helpful and thoughtful

00:14:00   and interesting for people.

00:14:02   That's how I view App Review.

00:14:03   I love App Review.

00:14:04   It is what has allowed me to do this independent

00:14:07   and do this full-time.

00:14:08   And I think I say that without any sort of irony.

00:14:11   I really don't think without App Review

00:14:13   I'd be able to be an independent developer

00:14:15   because that's the thing that builds customer confidence,

00:14:17   customer confidence is what makes people comfortable

00:14:19   opening their wallets and giving me money.

00:14:22   So anyway, that's it for today's show.

00:14:24   I'm definitely going to encourage

00:14:26   you to reach out if you have any questions or comments,

00:14:29   just through either emailing me, david@david-smith.org.

00:14:33   You can hit me on Twitter.

00:14:35   I'm @_davidsmith there, or I'm @davidsmith on app.net.

00:14:39   And I'm going through a period now.

00:14:41   It would be great if you have questions or things for me

00:14:44   to address on the show.

00:14:45   I'd love to do that for you.

00:14:47   topics or ideas or things that you have, just let me know.

00:14:50   Otherwise, I hope you have a great week.

00:14:51   Happy coding.

00:14:52   And I will talk to you, hopefully,

00:14:54   a couple more times this week.