#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: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: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: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.