Under the Radar 21: App Store Rejection
00:00:00
◼
►
welcome to under the radar a show about
00:00:02
◼
►
independent iOS app development I'm
00:00:04
◼
►
Marco Arment and I'm David Smith under
00:00:06
◼
►
the radar is never longer than 30
00:00:08
◼
►
minutes so let's get started so today we
00:00:11
◼
►
wanted to talk a little bit about app
00:00:15
◼
►
review and specifically avoiding App
00:00:17
◼
►
Store rejection I've run into some
00:00:19
◼
►
recent challenges with app review and
00:00:22
◼
►
this is just sort of par for the course
00:00:24
◼
►
and it seems like a good opportunity to
00:00:26
◼
►
talk about this like it's a as much as
00:00:28
◼
►
it's easy and nice and fun to talk about
00:00:31
◼
►
the building an app process like the
00:00:34
◼
►
part of actually you know designing it
00:00:36
◼
►
implementing it testing it and even in
00:00:38
◼
►
some ways even like submitting it that
00:00:40
◼
►
process like avenge at some point your
00:00:43
◼
►
app is going to go through the app
00:00:44
◼
►
review process if you're you know if
00:00:46
◼
►
you're an iOS developer and there's you
00:00:49
◼
►
know a very reasonable chance that at
00:00:52
◼
►
some point one of your apps is going to
00:00:54
◼
►
be rejected and it's probably worth
00:00:57
◼
►
saying that this is very common
00:00:59
◼
►
like I've been rejected I've been
00:01:00
◼
►
rejected many times over the years I've
00:01:02
◼
►
been doing this for seven years and it
00:01:03
◼
►
isn't like you know somehow and I get
00:01:06
◼
►
rejected it's always been sad and and
00:01:09
◼
►
and complicated but it isn't something
00:01:12
◼
►
that that's like and life-shattering and
00:01:14
◼
►
like oh no this is terrible because you
00:01:16
◼
►
know it's a process and you can usually
00:01:18
◼
►
work your way through like for the with
00:01:20
◼
►
a very few exceptions almost all the
00:01:21
◼
►
times I've had an app rejected I end up
00:01:23
◼
►
working with without review that's
00:01:25
◼
►
either a misunderstanding or I just need
00:01:26
◼
►
to change something small and subtle in
00:01:28
◼
►
my app and you can work your way through
00:01:31
◼
►
but there's a lot of things that you can
00:01:33
◼
►
probably do to avoid it in the first
00:01:34
◼
►
place and then just sort of some things
00:01:37
◼
►
that I think we're going to talk about a
00:01:38
◼
►
- of things - how to respond in an
00:01:41
◼
►
appropriate and constructive way when
00:01:43
◼
►
things don't go quite your way because
00:01:47
◼
►
it's a big part of the process and it's
00:01:48
◼
►
also certainly something you want to
00:01:49
◼
►
keep in mind when you're planning your
00:01:52
◼
►
like if you're especially if you're
00:01:53
◼
►
trying to release something with a
00:01:55
◼
►
specific date in mind I think right now
00:01:57
◼
►
Apple quotes that like 98% of new apps
00:01:59
◼
►
are reviewed within five days right now
00:02:02
◼
►
click on the on their support website
00:02:04
◼
►
which is probably I think you don't take
00:02:06
◼
►
them at the word that's probably true
00:02:08
◼
►
but you that doesn't mean that once you
00:02:11
◼
►
submit your app will be ready in five
00:02:13
◼
►
is you know every time you get rejected
00:02:15
◼
►
you kind of have to restart that clock
00:02:16
◼
►
and so I tend to expect things to take
00:02:19
◼
►
at least two weeks like 14 days to be
00:02:23
◼
►
you know from when I submit it when it
00:02:25
◼
►
will be ready for the store and by and
00:02:27
◼
►
large unless you know things are going
00:02:28
◼
►
very problematic or it's a really really
00:02:30
◼
►
really busy time of the year that
00:02:33
◼
►
usually sort of seems to work out yeah I
00:02:35
◼
►
mean it you know it this is probably a
00:02:38
◼
►
bigger problem with consulting where you
00:02:39
◼
►
have to where the client wants to know
00:02:41
◼
►
like when's it's gonna be ready and you
00:02:42
◼
►
kind of can't give them a guaranteed
00:02:45
◼
►
date but you know anytime you're
00:02:47
◼
►
planning any kind of marketing push
00:02:49
◼
►
which you probably should be with almost
00:02:50
◼
►
any kind of app you make these days it
00:02:52
◼
►
is kind of a problem to not know when it
00:02:55
◼
►
will actually be released and you know
00:02:57
◼
►
if if you can if you can have everything
00:02:59
◼
►
kind of like uncommitted and just kind
00:03:02
◼
►
of like in draft mode you know with all
00:03:04
◼
►
your marketing and everything then you
00:03:05
◼
►
can you know just release it whenever
00:03:07
◼
►
you get approved or you know within that
00:03:09
◼
►
ideal day of you know if you want to
00:03:11
◼
►
wait till it's on a weekend or wait till
00:03:13
◼
►
it's not midnight or whatever that's
00:03:15
◼
►
probably a better idea but otherwise if
00:03:18
◼
►
you have to commit to a firm date to
00:03:20
◼
►
somebody the only real way to do that is
00:03:23
◼
►
to set the app for hold for developer
00:03:25
◼
►
release and get it approved first and
00:03:28
◼
►
then set it to 8:00 and of course that's
00:03:31
◼
►
very time-consuming because then you
00:03:33
◼
►
have to basically write the entire app
00:03:35
◼
►
like maybe a month before you want to
00:03:36
◼
►
actually release it because you have to
00:03:38
◼
►
allow all these padding for everything
00:03:39
◼
►
so I think it's just you know anything
00:03:42
◼
►
you can do both for your for your client
00:03:44
◼
►
if you're a consultant or for yourself
00:03:46
◼
►
if you're not - and anything you can do
00:03:49
◼
►
to kind of reduce people's expectations
00:03:50
◼
►
of having a precise release date for an
00:03:52
◼
►
app store app will help you if there
00:03:55
◼
►
because that's that's the reality of
00:03:57
◼
►
what we're dealing with here with that
00:03:58
◼
►
review and it's always been that way and
00:04:00
◼
►
it's always been you know it's always
00:04:03
◼
►
been you can get it released within a
00:04:05
◼
►
week most of the time but not all the
00:04:08
◼
►
time and you can't guarantee that and it
00:04:10
◼
►
might be long or you know and you can't
00:04:11
◼
►
even say oh well maybe we'll get
00:04:13
◼
►
rejected once and then second time well
00:04:15
◼
►
it will get through you can't even say
00:04:16
◼
►
that because the second time you know
00:04:19
◼
►
first of all it might take longer there
00:04:20
◼
►
there's occasionally times where you get
00:04:22
◼
►
stuck in i purview for weeks and you
00:04:23
◼
►
don't really know why and maybe you got
00:04:25
◼
►
a like email developer relations to have
00:04:27
◼
►
kik-kik it for you and get it going
00:04:28
◼
►
again or something and sometimes things
00:04:30
◼
►
require manager review if you're like
00:04:32
◼
►
kind of on the edges I mean which we'll
00:04:33
◼
►
get to so there's you know you can never
00:04:36
◼
►
really be sure how long it will take and
00:04:38
◼
►
so anything you can do to not depend on
00:04:41
◼
►
that or to not guarantee that to anybody
00:04:43
◼
►
else the more you can do that the better
00:04:46
◼
►
and it's just sort of part of the
00:04:48
◼
►
process and it's probably one of the
00:04:49
◼
►
things to keep in mind with like the
00:04:50
◼
►
number one rule of app review in some
00:04:52
◼
►
ways is to like keep calm and try and
00:04:55
◼
►
not have it be a pressure thing because
00:04:58
◼
►
it was just very easy much easier said
00:04:59
◼
►
than done and I'm speaking that from
00:05:00
◼
►
very specific experience where it's hard
00:05:03
◼
►
to not be calm but anything you can do
00:05:06
◼
►
like you're sort of like to take
00:05:08
◼
►
pressure off that process to have it not
00:05:09
◼
►
be like but I have to have this out by
00:05:12
◼
►
this particular day like that is a
00:05:14
◼
►
makeover asking for trouble because this
00:05:17
◼
►
is the process we have like app review
00:05:18
◼
►
exists for a purpose
00:05:19
◼
►
you could disagree with that purpose or
00:05:21
◼
►
not but like it exists so this is the
00:05:23
◼
►
like these are the rules of the store
00:05:24
◼
►
and so it's just something that we have
00:05:26
◼
►
to as developers keep in mind and plan
00:05:29
◼
►
accordingly yeah it's not going anywhere
00:05:31
◼
►
like if you if you're sitting I mean
00:05:34
◼
►
even the most hardcore developers who
00:05:37
◼
►
were really super against the idea of
00:05:39
◼
►
the App Store in the early days I don't
00:05:41
◼
►
know anybody who is still fighting the
00:05:44
◼
►
fight of saying there shouldn't be a
00:05:45
◼
►
preview like everyone fought that fight
00:05:47
◼
►
in 2008 and I don't think anyone is
00:05:50
◼
►
still is still expecting that to change
00:05:52
◼
►
and ultimately I like the idea of a
00:05:55
◼
►
preview and I usually like the imitation
00:05:57
◼
►
of it there are parts of it that I think
00:06:00
◼
►
need to be reconsidered or need to be
00:06:03
◼
►
improved but overall the concept of app
00:06:06
◼
►
review and most of the execution of it I
00:06:09
◼
►
think is actually beneficial to both us
00:06:11
◼
►
and our customers and as an app store
00:06:13
◼
►
customer also I appreciate that as
00:06:16
◼
►
they're exactly because it's you know
00:06:18
◼
►
it's its goal is to try and maintain
00:06:21
◼
►
sort of a certain like be this line in
00:06:23
◼
►
the sand to try and say like you have to
00:06:25
◼
►
meet this bar and we can argue about
00:06:28
◼
►
where that bar is but yeah I'm very glad
00:06:30
◼
►
that there is a bar and both it's
00:06:32
◼
►
helpful as a developer to you know have
00:06:35
◼
►
some have a goal in mind and I think in
00:06:37
◼
►
general I wish the bar were a bit higher
00:06:39
◼
►
for a lot of in a lot of
00:06:40
◼
►
cases but it's the bar that exists that
00:06:43
◼
►
we have to at the very least reach
00:06:46
◼
►
so let's probably start talking about
00:06:48
◼
►
that bar and there's a couple of links
00:06:52
◼
►
we'll have in the show notes about this
00:06:53
◼
►
that Kapil is pretty helpful in terms of
00:06:55
◼
►
their documentation about app review
00:06:57
◼
►
about what to expect and they have a
00:07:00
◼
►
really helpful page that if you haven't
00:07:02
◼
►
looked at your of kind of doing this
00:07:03
◼
►
wrong of common a projection reasons and
00:07:06
◼
►
they have a page where they list out
00:07:08
◼
►
like what are these our most common
00:07:10
◼
►
reasons and they even include at the
00:07:12
◼
►
bottom like for certain periods of time
00:07:15
◼
►
they'll say what the most common reasons
00:07:17
◼
►
were for a projections before we get
00:07:20
◼
►
into those first thing you always have
00:07:21
◼
►
to do when you think about app review is
00:07:23
◼
►
read the actual app review guidelines
00:07:25
◼
►
like if you haven't read the rules
00:07:27
◼
►
there's really no way that you could
00:07:29
◼
►
reasonably expect for your app to pass
00:07:32
◼
►
review except by luck and there's a lot
00:07:35
◼
►
of them I counted them up but in
00:07:37
◼
►
preparation for today's show and there
00:07:39
◼
►
are currently a hundred and eighty-two
00:07:40
◼
►
app review rules and they're broken down
00:07:43
◼
►
into all kinds of different categories
00:07:44
◼
►
they're all different kinds like there's
00:07:46
◼
►
ones that are functional there's ones
00:07:47
◼
►
that are more privacy related there's
00:07:50
◼
►
ones that only apply to certain apps you
00:07:52
◼
►
know so if you're a health app there's
00:07:53
◼
►
certain rules that apply to you if
00:07:55
◼
►
you're a insurance company there's
00:07:58
◼
►
certain rules like there's all kinds of
00:07:59
◼
►
very some of them are very specific some
00:08:01
◼
►
of them are very broad and it's one of
00:08:03
◼
►
these things that periodically you
00:08:04
◼
►
should probably just like read through
00:08:06
◼
►
the app review guidelines and make sure
00:08:07
◼
►
that you at least know what begley
00:08:09
◼
►
what's going on there it's good you know
00:08:11
◼
►
sort of ignorance of the rule isn't
00:08:13
◼
►
going to be a particularly useful
00:08:15
◼
►
defense if app review comes back and
00:08:17
◼
►
says hey you know you need to change
00:08:18
◼
►
this like oh I didn't know it's like
00:08:20
◼
►
well you know it's it's in it's in the
00:08:23
◼
►
guidelines but on that page the most
00:08:26
◼
►
interesting thing that I see that when
00:08:28
◼
►
they break down kind of the typical
00:08:30
◼
►
reasons that people get rid get rejected
00:08:32
◼
►
like at least a quarter of them are in
00:08:36
◼
►
some ways entirely avoidable
00:08:38
◼
►
so fourteen percent they said of a
00:08:40
◼
►
projections happen because the developer
00:08:43
◼
►
did not provide enough enough
00:08:44
◼
►
information that's like the service
00:08:46
◼
►
catch-all more information needed which
00:08:48
◼
►
I would take to me like you didn't
00:08:50
◼
►
complete you didn't do something
00:08:52
◼
►
complete and you're
00:08:53
◼
►
like episode description your
00:08:55
◼
►
screenshots or your doing something
00:08:57
◼
►
funny that they need more clarification
00:08:58
◼
►
on which is a just as a side note is
00:09:01
◼
►
when you submit an app there's a little
00:09:04
◼
►
box that says review reviewer notes and
00:09:06
◼
►
if you don't you're not putting anything
00:09:08
◼
►
in there you're probably like way sort
00:09:11
◼
►
of doing doing it wrong because I'm
00:09:13
◼
►
doing that I think that's your
00:09:14
◼
►
opportunity if there's anything that's
00:09:16
◼
►
weird or edge KC or that your reviewer
00:09:19
◼
►
could get confused by like you can write
00:09:21
◼
►
a little note and review will row but
00:09:23
◼
►
will read it before you before they look
00:09:26
◼
►
at your app and so anytime you're doing
00:09:28
◼
►
anything that could be problematic like
00:09:29
◼
►
kind of preempt that by saying hey I'm
00:09:32
◼
►
doing this in this app you know maybe
00:09:34
◼
►
like in if it requires a certain kind of
00:09:37
◼
►
permission or you can explain why it
00:09:39
◼
►
requires that permission you know so
00:09:40
◼
►
like in pedometer plus plus it's like I
00:09:42
◼
►
have a little note that I usually submit
00:09:44
◼
►
along with it it says like it requires
00:09:46
◼
►
motion tracking permission and that's
00:09:48
◼
►
what it uses to come you know to counter
00:09:49
◼
►
steps if you don't provide this
00:09:51
◼
►
information it shows you an
00:09:52
◼
►
informational screen in the app
00:09:53
◼
►
indicating that you know it needs that
00:09:55
◼
►
permission in order to gather the data
00:09:57
◼
►
or something like that but like 14% of a
00:09:59
◼
►
projections are because you didn't
00:10:01
◼
►
provide enough information and then
00:10:03
◼
►
another 10% our apps that exhibit bugs
00:10:07
◼
►
which is typically I in this case I
00:10:09
◼
►
think crashes is probably the biggest
00:10:11
◼
►
category of um of bugs but like
00:10:14
◼
►
ultimately if you're submitting an app
00:10:16
◼
►
that's crashing in the brief window that
00:10:20
◼
►
the app reviewer is looking at it like
00:10:23
◼
►
something's got missed in QA probably
00:10:25
◼
►
because they're probably really not it's
00:10:27
◼
►
not the kind of bug that they're going
00:10:28
◼
►
to be like importing you know 10,000
00:10:30
◼
►
records into your database and really
00:10:32
◼
►
working I like pushing your app to the
00:10:34
◼
►
limit like I expect they're probably
00:10:35
◼
►
sitting down with your app and using it
00:10:37
◼
►
for five minutes at most and so if it
00:10:40
◼
►
crashes in that first five minutes like
00:10:42
◼
►
you've probably done something not quite
00:10:43
◼
►
right in your testing phase like you
00:10:46
◼
►
should probably have been able to
00:10:47
◼
►
replicate the crashed if they're having
00:10:49
◼
►
in the first place
00:10:50
◼
►
yeah I mean it this is and this is one
00:10:53
◼
►
of the reasons why a projectionists or a
00:10:55
◼
►
preview is so good for work for
00:10:57
◼
►
everybody because yeah I mean there are
00:10:59
◼
►
there are lots of crashes that get
00:11:01
◼
►
through review and that shipped to
00:11:02
◼
►
customers but I know a lot of developers
00:11:05
◼
►
myself included who
00:11:07
◼
►
who a preview has saved us from
00:11:09
◼
►
accidentally shipping something that
00:11:11
◼
►
would have affected a lot more people
00:11:13
◼
►
like you know they test a lot about the
00:11:16
◼
►
app like you know for instance like if
00:11:18
◼
►
you if you're new user registration or
00:11:20
◼
►
login process is broken and you ship a
00:11:23
◼
►
bug fix update that you think it's just
00:11:24
◼
►
a bug fix and you don't test new user
00:11:26
◼
►
logins because you didn't hit that
00:11:28
◼
►
during your like hour of testing on your
00:11:30
◼
►
own phone they will hit that and and
00:11:34
◼
►
then you don't accidentally break the
00:11:35
◼
►
app for all of your customers during the
00:11:37
◼
►
next week while you can get in while you
00:11:39
◼
►
can't get other bug fix out so this is
00:11:41
◼
►
like the the guideline where like if
00:11:43
◼
►
your app crashes or exhibits obvious
00:11:45
◼
►
bugs during review you will definitely
00:11:47
◼
►
get rejected that is great and I think
00:11:50
◼
►
that's totally unarguable like whether
00:11:52
◼
►
that should be there or not exactly yeah
00:11:54
◼
►
like that's the kind of and it will a it
00:11:57
◼
►
certainly happened to me too yet where
00:11:58
◼
►
you it's it's a lovely thing where
00:12:00
◼
►
they'll catch something that you just is
00:12:02
◼
►
it's usually not hard to recreate but
00:12:05
◼
►
it's just a situation that you may not
00:12:06
◼
►
you may have missed like it's on a
00:12:08
◼
►
particular device or like on a fresh
00:12:10
◼
►
install on a particular device you'll
00:12:13
◼
►
have an issue or are things like that
00:12:15
◼
►
and it's certainly the nice thing that
00:12:16
◼
►
it's like there's this last sort of
00:12:17
◼
►
sanity process like definitely don't
00:12:19
◼
►
rely on it as a QA process like app
00:12:21
◼
►
review is not a like it's not like oh
00:12:23
◼
►
you know I don't need to worry about
00:12:25
◼
►
doing basic QA because f of you will
00:12:28
◼
►
find it like that is entirely the wrong
00:12:30
◼
►
way to look at it it's more like it's
00:12:32
◼
►
this last chance to catch a bug that may
00:12:35
◼
►
otherwise get through but once we're
00:12:39
◼
►
through kind of like that was those
00:12:40
◼
►
first two like you just didn't provide
00:12:42
◼
►
enough information to app to Apple or
00:12:44
◼
►
there's like obvious and clean sort of
00:12:47
◼
►
glaring bugs in it like we'll then we
00:12:49
◼
►
start to get into rules and things that
00:12:52
◼
►
become much more I don't know like
00:12:55
◼
►
squishy you know things like they like
00:12:57
◼
►
got a guide let rule 10.6 is one of
00:12:59
◼
►
these like apple and our customers place
00:13:02
◼
►
a high value on simple refined creative
00:13:04
◼
►
well-thought-out interfaces they take
00:13:07
◼
►
more work but they're worth it annapolis
00:13:09
◼
►
that's a high bar if your app is user if
00:13:11
◼
►
your user interface is complex and less
00:13:13
◼
►
than very good
00:13:14
◼
►
it may be rejected and like six percent
00:13:17
◼
►
of apps are rejected for not meeting
00:13:20
◼
►
that criteria
00:13:20
◼
►
I wonder I'd love to see those six
00:13:22
◼
►
percent because if you look if you look
00:13:25
◼
►
at what's in this store I would describe
00:13:27
◼
►
many apps that I come across in the
00:13:30
◼
►
store as having you eyes that are less
00:13:32
◼
►
than very good it's so you've got to
00:13:35
◼
►
wonder what else they're seeing that
00:13:36
◼
►
gets that six percent rejection because
00:13:38
◼
►
this is one of those areas where I would
00:13:39
◼
►
love for the bar to be higher yeah
00:13:42
◼
►
exactly like it's been it's just this is
00:13:44
◼
►
these are they're like there's some of
00:13:45
◼
►
the guidelines that are like negative
00:13:47
◼
►
and there are some that are almost like
00:13:49
◼
►
more positive like a more like
00:13:50
◼
►
aspirational like I like the concept of
00:13:52
◼
►
this rule and like I like the way it's
00:13:54
◼
►
written even like I think that's a
00:13:55
◼
►
really good thing and like being more
00:13:58
◼
►
strict on that is certainly something
00:13:59
◼
►
that could be helpful but it's certainly
00:14:02
◼
►
something to keep in mind that like yeah
00:14:03
◼
►
like Apple is going to look at your app
00:14:05
◼
►
and if you really is just kind of like
00:14:07
◼
►
shoddy and thrown together there's a
00:14:09
◼
►
good chance that it'll be rejected as a
00:14:12
◼
►
result and so you know like work hard on
00:14:15
◼
►
your app make it look good you know try
00:14:17
◼
►
your best like especially an ice since
00:14:19
◼
►
like at the iOS 7 stuff like a lot of
00:14:21
◼
►
these things are much easier to do then
00:14:23
◼
►
they may have once been to kind of make
00:14:25
◼
►
an app that looks and feel that you know
00:14:26
◼
►
feels at home on the platform and you
00:14:29
◼
►
know is is good in the in that kind of
00:14:31
◼
►
visual sense but you know like know that
00:14:33
◼
►
if you don't you might get called on
00:14:36
◼
►
this yeah and it's this is one of those
00:14:39
◼
►
rules that it's it's very hard to
00:14:41
◼
►
enforce consistently by a large staff of
00:14:44
◼
►
a whole bunch of humans and and this is
00:14:46
◼
►
part of the problem that review well you
00:14:48
◼
►
know one of the biggest problems they
00:14:49
◼
►
have is just inconsistency of
00:14:51
◼
►
enforcement and you know we can sit here
00:14:53
◼
►
and we have and say like we'd love for
00:14:55
◼
►
that for the bar to be higher on like
00:14:57
◼
►
the UI quality rule but the higher they
00:15:01
◼
►
make it the the more we're gonna see
00:15:03
◼
►
people getting rejected for things that
00:15:05
◼
►
are arguable or that they shouldn't have
00:15:07
◼
►
been rejected for and we don't like that
00:15:09
◼
►
and we blog about that so you know I I
00:15:12
◼
►
don't know I think it this is one of
00:15:16
◼
►
those things where it I wish the rule
00:15:17
◼
►
was more strict but if it were it might
00:15:20
◼
►
just cause more problems
00:15:22
◼
►
maybe yeah and then it's like it's
00:15:25
◼
►
probably also worth it's like the
00:15:26
◼
►
reality with app review is and this is
00:15:28
◼
►
something very important when you are
00:15:30
◼
►
dealing with the rejection is the
00:15:31
◼
►
understanding that like the people who
00:15:33
◼
►
are doing app review
00:15:34
◼
►
our people like their individuals whose
00:15:37
◼
►
job it is to go to work every day and
00:15:39
◼
►
they sit down and they go through
00:15:40
◼
►
applications and they try make decisions
00:15:43
◼
►
about them and you know people are
00:15:46
◼
►
flawed and make mistakes and if they
00:15:48
◼
►
make mistakes and my experience half of
00:15:49
◼
►
you is very good about correcting those
00:15:51
◼
►
mistakes but you know you're there some
00:15:54
◼
►
inevitably there's going to be
00:15:55
◼
►
subjective decisions that someone has to
00:15:57
◼
►
make they have to look at it and it's
00:15:59
◼
►
like is this good enough is this good
00:16:00
◼
►
enough like it's there's something like
00:16:02
◼
►
if your app crashes like it's a binary
00:16:05
◼
►
thing like it as soon as I grab crashes
00:16:07
◼
►
it's failed for a review like that's
00:16:08
◼
►
just sort of like the rule it's
00:16:10
◼
►
something like a you know a refined
00:16:12
◼
►
quality interface like finding that line
00:16:16
◼
►
is inevitably going to be more difficult
00:16:17
◼
►
and so just sort of give a preview some
00:16:20
◼
►
grace about if we're having a Miss if
00:16:23
◼
►
you have a misunderstanding with them
00:16:25
◼
►
about what that might be
00:16:26
◼
►
then you know just kind of have to have
00:16:28
◼
►
to work through that at a human level
00:16:30
◼
►
that you're just trying to convince
00:16:31
◼
►
somebody who's doing their job you know
00:16:34
◼
►
that your app is actually good enough
00:16:36
◼
►
our sponsor this week is hover quite
00:16:39
◼
►
simply hover is the best way to buy and
00:16:41
◼
►
manage domain names it's my place a
00:16:43
◼
►
choice honestly if we're registering all
00:16:45
◼
►
of my domains I go there first
00:16:46
◼
►
and I just I stopped there and I buy
00:16:48
◼
►
things there because it's just really
00:16:50
◼
►
good it's well-designed its hassle-free
00:16:52
◼
►
it's very respectful of you and your
00:16:54
◼
►
time and your money and your privacy
00:16:57
◼
►
hover is great for buying domains they
00:16:59
◼
►
have all the big TL DS all the top-level
00:17:01
◼
►
domains that you might need all the
00:17:03
◼
►
crazy new ones plus all the nice you
00:17:04
◼
►
know conservative old ones that I tend
00:17:06
◼
►
to prefer most of the time and they have
00:17:09
◼
►
a great price as dot-com domain zernow
00:17:11
◼
►
just $12.99 a year that includes Whois
00:17:14
◼
►
privacy for free along with all their
00:17:16
◼
►
over two other domain names that include
00:17:17
◼
►
that they also have fantastic customer
00:17:20
◼
►
support hover has a no hold no wait no
00:17:22
◼
►
transfer phone support policy so you can
00:17:25
◼
►
just call them this is great you called
00:17:26
◼
►
them and a human being picks up the
00:17:28
◼
►
phone and that person helps you it's
00:17:29
◼
►
amazing it's like the way everything
00:17:31
◼
►
used to work before everything got
00:17:32
◼
►
horrible hover still has that today for
00:17:34
◼
►
their main registration plus of course
00:17:36
◼
►
you know you couldn't email them if you
00:17:37
◼
►
need to everything else they have great
00:17:38
◼
►
support they have volume discounts for
00:17:41
◼
►
bulk domain renewal they have custom
00:17:42
◼
►
email solutions you can have email
00:17:44
◼
►
hosted there or forwarded to the domain
00:17:46
◼
►
of your choice they even have an awesome
00:17:48
◼
►
new feature called
00:17:48
◼
►
our connect which makes it easier than
00:17:50
◼
►
ever to get new domains connected with
00:17:52
◼
►
various hosting platforms to make a
00:17:54
◼
►
whole website really nice and easily so
00:17:56
◼
►
now from the domain admin panel you can
00:17:58
◼
►
select which service you use including
00:17:59
◼
►
Squarespace tumblr Shopify and many more
00:18:01
◼
►
and they will automatically configure
00:18:03
◼
►
all your DNS to work with those things
00:18:05
◼
►
so no more weird copying and pasting
00:18:07
◼
►
getting the a record right and
00:18:08
◼
►
everything hover Connect is great for
00:18:10
◼
►
getting things set up quickly so go
00:18:11
◼
►
right now to hover calm and try them out
00:18:13
◼
►
for your domain names use code review
00:18:16
◼
►
that's code review at checkout and
00:18:18
◼
►
you'll get 10% off your first purchase
00:18:20
◼
►
at hover comm and show your support for
00:18:22
◼
►
under-the-radar
00:18:23
◼
►
and all of relay fm thank you very much
00:18:25
◼
►
to have a for sponsoring our show and of
00:18:27
◼
►
course there are many other rules that
00:18:30
◼
►
we could talk about oh yeah
00:18:32
◼
►
and just like kind of like as a guiding
00:18:34
◼
►
principle like in general I feel like a
00:18:36
◼
►
lot of people look at the app store
00:18:39
◼
►
rules as though they as though it's like
00:18:41
◼
►
a legal contract you can try to really
00:18:43
◼
►
wiggle your way around and it's very
00:18:45
◼
►
important to consider that the app store
00:18:47
◼
►
rules are not laws an app review is not
00:18:50
◼
►
a court of law
00:18:51
◼
►
and you know while while you can like
00:18:55
◼
►
whether there are parts of it the kind
00:18:56
◼
►
of sound like it like there's the appeal
00:18:58
◼
►
process and everything but it's always
00:19:00
◼
►
important to remember that these rules
00:19:04
◼
►
are broad usually they're vague they are
00:19:08
◼
►
made to be subjectively interpreted by
00:19:11
◼
►
the app reviewers and their managers and
00:19:13
◼
►
they also are not the complete list of
00:19:15
◼
►
rules and the rules can change over time
00:19:17
◼
►
so really what matters is the spirit of
00:19:21
◼
►
the rules not the letter of the rules
00:19:22
◼
►
because they're all being subjectively
00:19:24
◼
►
evaluated and you can't guarantee that
00:19:28
◼
►
if you if you are trying to skirt around
00:19:30
◼
►
a rule by using some kind of
00:19:32
◼
►
technicality in the wording or
00:19:33
◼
►
interpreting something differently
00:19:35
◼
►
that probably won't work and if he gets
00:19:37
◼
►
through once it probably won't get
00:19:38
◼
►
through the next time you gotta do an
00:19:39
◼
►
update and so it's it's wise in general
00:19:42
◼
►
to just avoid being near the edges of
00:19:45
◼
►
the rules you know avoid relying on
00:19:48
◼
►
things that are almost disallowed or
00:19:50
◼
►
almost against the rules but you're
00:19:52
◼
►
living on the edge because it's going to
00:19:55
◼
►
bite you eventually you know again you
00:19:57
◼
►
might get through this time but then
00:19:58
◼
►
when you need to submit an urgent bug
00:19:59
◼
►
fix that might get rejected for
00:20:01
◼
►
something the first
00:20:02
◼
►
past four that wasn't even included in
00:20:04
◼
►
the bug fix but like it you know just so
00:20:06
◼
►
happened Oh like Oh your login screen
00:20:07
◼
►
plays weird tricks that are kind of
00:20:09
◼
►
against the rules so we're gonna reject
00:20:10
◼
►
those important bug fix so generally
00:20:13
◼
►
speaking this is not a place to to try
00:20:16
◼
►
to play fast and loose or try to live on
00:20:18
◼
►
the edge of a certain interpretation of
00:20:20
◼
►
a certain rule because that's not how
00:20:22
◼
►
yeah exactly and like and especially
00:20:26
◼
►
when you start to get into like the next
00:20:28
◼
►
most popular reasons that people are
00:20:30
◼
►
rejected or become start to become
00:20:31
◼
►
things that are very obvious that aren't
00:20:34
◼
►
good like they tend to start to get into
00:20:35
◼
►
things around like to being fraudulent
00:20:37
◼
►
or misleading be not dealing with
00:20:40
◼
►
people's personal information correctly
00:20:41
◼
►
like having misleading or inappropriate
00:20:44
◼
►
trademark violations like things that
00:20:46
◼
►
are kind of obvious and problematic and
00:20:47
◼
►
if you're doing those things like you
00:20:49
◼
►
really are in trouble like the place to
00:20:51
◼
►
push the boundaries in your application
00:20:53
◼
►
is not on the policy side it's almost
00:20:57
◼
►
certainly going to be on the technology
00:20:58
◼
►
side like doing something new and
00:21:00
◼
►
interesting functionally rather than
00:21:03
◼
►
trying to like find some new way to sort
00:21:06
◼
►
of game the App Store because like you
00:21:07
◼
►
said like Apple at any point like it's a
00:21:10
◼
►
very one-sided relationship and you
00:21:12
◼
►
could argue back and forth about whether
00:21:14
◼
►
that's a good thing or not
00:21:15
◼
►
but at the end of the day if Apple
00:21:16
◼
►
doesn't like your app they don't have to
00:21:18
◼
►
publish it it's not a situation that
00:21:20
◼
►
even if if we know if like you could
00:21:24
◼
►
you're you in your heart of hearts could
00:21:25
◼
►
thinks this app belongs on the App Store
00:21:27
◼
►
if Apple disagrees that's where the way
00:21:30
◼
►
it is and by and large I think they're
00:21:32
◼
►
fairly good stewards of that power but
00:21:35
◼
►
ultimately that's the reality and so
00:21:37
◼
►
trying to do things that are gaming or
00:21:40
◼
►
being aggressive with the you know
00:21:41
◼
►
against the rules is just never going to
00:21:43
◼
►
work and it's just not productive yeah
00:21:46
◼
►
you you basically you can't rely on
00:21:48
◼
►
getting away with it you know like this
00:21:51
◼
►
like if if you if you think you can get
00:21:52
◼
►
away this thing's another you know
00:21:53
◼
►
they're parts of your life because you
00:21:55
◼
►
can live on the edge of rule or you can
00:21:57
◼
►
find a little loophole Apple doesn't
00:21:59
◼
►
care if what you do technically is
00:22:02
◼
►
allowed by the wording of a certain rule
00:22:04
◼
►
if it violates what they believe to be
00:22:07
◼
►
the spirit of the rule you're gonna get
00:22:08
◼
►
rejected simple as that
00:22:10
◼
►
and you can complain as much as you want
00:22:11
◼
►
you can you can blog about it you can
00:22:14
◼
►
get pressed about it but ultimate
00:22:16
◼
►
yeah they they make the final call and
00:22:19
◼
►
you you just have to accept that and you
00:22:22
◼
►
can you can you can argue about it but
00:22:24
◼
►
that arguing about it won't usually get
00:22:26
◼
►
your app back in the store unless it's
00:22:28
◼
►
really unless it's like really truly
00:22:30
◼
►
arguable and they are undecided
00:22:32
◼
►
internally about what the policy should
00:22:34
◼
►
be and then you can you can argue for
00:22:36
◼
►
certain things to be changed like when
00:22:37
◼
►
things are new and they're still
00:22:38
◼
►
figuring out the rules around certain
00:22:39
◼
►
things but stuff like the 30% cut and
00:22:41
◼
►
trying to get around that which
00:22:42
◼
►
everybody wants to try to get around
00:22:43
◼
►
these days trying to have like an in-app
00:22:46
◼
►
purchase through your website that's not
00:22:48
◼
►
running through their system and
00:22:49
◼
►
everything like stuff like that the
00:22:51
◼
►
rules pretty the rules are pretty clear
00:22:52
◼
►
and you you won't skirt them by some
00:22:55
◼
►
technicality exactly and so lastly I
00:22:59
◼
►
think the place to talk through is the
00:23:02
◼
►
process of when you get rejected what
00:23:05
◼
►
that's like and then maybe some
00:23:07
◼
►
recommendations around like constructive
00:23:10
◼
►
approaches to it you know and so you
00:23:12
◼
►
submit an app and you put it in out in
00:23:13
◼
►
the App Store and you're you know you
00:23:16
◼
►
kind of it goes into waiting for review
00:23:17
◼
►
like as its status and then eventually
00:23:19
◼
►
it'll pop over into in review which is
00:23:22
◼
►
always very exciting and it's terrifying
00:23:24
◼
►
terrifying yeah it's it's that's you
00:23:27
◼
►
could use that word it's it's it's very
00:23:28
◼
►
it's very similar so you're in this
00:23:30
◼
►
terrified state just waiting for and if
00:23:33
◼
►
you probably should have the iTunes
00:23:35
◼
►
Connect app installed on your phone in
00:23:37
◼
►
that you can turn on push notifications
00:23:39
◼
►
so you can be really aware of if
00:23:42
◼
►
anything's happened with your app and
00:23:44
◼
►
then you're hoping for it'll probably
00:23:45
◼
►
come back to pry the processing for App
00:23:48
◼
►
Store or pending developer release if
00:23:50
◼
►
it's been approved that's like those are
00:23:51
◼
►
the good ones or you may get your app
00:23:54
◼
►
has been rejected which is a bit of a
00:23:58
◼
►
harsh thing that can mean a lot of
00:23:59
◼
►
different things it could be rejected
00:24:01
◼
►
there's what's called metadata rejection
00:24:03
◼
►
which is the app is fine but there's
00:24:05
◼
►
some issue with your screenshot or
00:24:07
◼
►
description or something along those
00:24:09
◼
►
lines or your keywords aren't quite
00:24:10
◼
►
right or those types of things where
00:24:12
◼
►
it's more of a very minor fix like you
00:24:14
◼
►
don't have to resubmit your app you can
00:24:15
◼
►
just change the metadata and resubmit
00:24:18
◼
►
but you know it when it happens
00:24:20
◼
►
usually Apple bullion though they'll
00:24:22
◼
►
provide you a reason in what's called
00:24:25
◼
►
the resolution Center in iTunes Connect
00:24:26
◼
►
and you know they'll just basically
00:24:28
◼
►
usually though excited
00:24:29
◼
►
like I have pretty much always had a
00:24:30
◼
►
rejection that's always - always ties
00:24:32
◼
►
back to some rule sometimes the rules
00:24:34
◼
►
are the very like sort of catch-all
00:24:36
◼
►
rules sometimes they're very specific
00:24:37
◼
►
they'll say like this is what you know
00:24:39
◼
►
this is what the rule that you violated
00:24:41
◼
►
they give you like a one or two sentence
00:24:44
◼
►
description about your specific
00:24:46
◼
►
violation and then they'll usually give
00:24:48
◼
►
you a couple of sentences about you know
00:24:50
◼
►
what you'll need to change if anything
00:24:52
◼
►
could be changed to be in compliance
00:24:54
◼
►
with the rule and when this happens like
00:24:57
◼
►
number one advice and this is
00:24:58
◼
►
hard-fought advice that I've learned
00:25:00
◼
►
over the years is like the first thing
00:25:01
◼
►
you need to do is like calm down because
00:25:05
◼
►
there's so easy I this for myself for
00:25:07
◼
►
this to be a very emotional thing that
00:25:09
◼
►
like someone has it's kind of like when
00:25:11
◼
►
you read a one-star review in the App
00:25:12
◼
►
Store or something like that where it
00:25:15
◼
►
can be very emotional like you can
00:25:16
◼
►
become very attached to your software
00:25:17
◼
►
and then suddenly someone is saying they
00:25:19
◼
►
don't like it it's rejected it's a
00:25:21
◼
►
pretty harsh thing and so you kind of
00:25:23
◼
►
have to just like take a step back take
00:25:24
◼
►
a deep breath like you don't want to
00:25:26
◼
►
just like immediately you know go to the
00:25:28
◼
►
Resolution Center open that up and start
00:25:30
◼
►
yelling and screaming and saying AHA you
00:25:31
◼
►
know I can't believe you did this like
00:25:33
◼
►
the reality is you need to be
00:25:36
◼
►
professional you need to be polite
00:25:38
◼
►
understand that there's just someone
00:25:40
◼
►
doing their job at the other end of this
00:25:41
◼
►
so being polite considerate patient like
00:25:44
◼
►
writing in full sentences with not full
00:25:47
◼
►
all caps like these are things that are
00:25:49
◼
►
probably going to help your case because
00:25:50
◼
►
shouting at them isn't going to help
00:25:53
◼
►
your case being clear and constructive
00:25:55
◼
►
might might be or at least will help and
00:25:59
◼
►
the thing that I found most helpful to
00:26:00
◼
►
is to take a step back and try and put
00:26:03
◼
►
yourself in the app reviewers shoes and
00:26:05
◼
►
see why they rejected you like if it
00:26:08
◼
►
isn't immediately obvious like if
00:26:09
◼
►
obviously if they just said like your
00:26:10
◼
►
app crashed but that's not a big
00:26:12
◼
►
surprise but if you're on one of these
00:26:14
◼
►
things where it's more subjective just
00:26:17
◼
►
being like well you're wrong like that's
00:26:19
◼
►
not what I'm doing there or that's
00:26:20
◼
►
different or you're you know that rule
00:26:21
◼
►
is stupid none of those are gonna help
00:26:23
◼
►
but if you can understand why they're
00:26:25
◼
►
doing it like where they're coming from
00:26:26
◼
►
what that the spirit of that rule is
00:26:29
◼
►
probably around and frame your response
00:26:31
◼
►
to them accordingly you probably have a
00:26:35
◼
►
much better chance of kind of clearing
00:26:37
◼
►
it up and just sort of having it be a
00:26:39
◼
►
misunderstanding that gets fixed rather
00:26:42
◼
►
like a confrontation that just began and
00:26:45
◼
►
beyond that you just kind of have to
00:26:46
◼
►
work the process like it'll take time
00:26:48
◼
►
you you know you write them a message
00:26:50
◼
►
and then within you know a few hours a
00:26:52
◼
►
few days you'll get a response back if
00:26:54
◼
►
you need to you can go to the app review
00:26:56
◼
►
like appeal board which I think would
00:26:58
◼
►
take even longer when if you really are
00:27:00
◼
►
like pushing up against something that
00:27:02
◼
►
is kind of gray in the policy but in
00:27:05
◼
►
general you just kind of have to state
00:27:06
◼
►
you know sort of keep calm and just like
00:27:08
◼
►
work the process and understand that it
00:27:11
◼
►
happens it's nothing like personal in
00:27:14
◼
►
that way like it's not like oh man
00:27:16
◼
►
you're a failure you got your app your
00:27:17
◼
►
app was rejected initially like I've had
00:27:19
◼
►
a lot of apps many of whom went on to be
00:27:21
◼
►
very successful that their first
00:27:23
◼
►
submission was rejected for all kinds of
00:27:25
◼
►
reasons and so it's just part of the
00:27:27
◼
►
process Keep Calm be respectful and
00:27:29
◼
►
it'll probably work out okay in the end
00:27:31
◼
►
yeah I mean because we all go through
00:27:34
◼
►
everyone gets rejected and you know even
00:27:36
◼
►
not just your first version like it
00:27:38
◼
►
updates can get rejected for all sorts
00:27:40
◼
►
of reasons too and I mean my ass get
00:27:42
◼
►
rejected all the time like you know
00:27:43
◼
►
probably I would say maybe 10 to 20
00:27:47
◼
►
percent of my submissions get rejected
00:27:49
◼
►
for some reason and that's because and
00:27:51
◼
►
it used to be a higher rate like I've
00:27:52
◼
►
just gotten better over the years of
00:27:53
◼
►
trying to avoid this issues you know it
00:27:56
◼
►
just it happens right and we all deal
00:27:58
◼
►
with that I mean right now like I'm on
00:27:59
◼
►
edge right now against all the advice
00:28:01
◼
►
you just gave I'm not calm right now
00:28:02
◼
►
because I have a bug-fix update for
00:28:04
◼
►
overcast that's been in review through a
00:28:07
◼
►
night boundary and usually what that
00:28:09
◼
►
means like in review is fine when it
00:28:12
◼
►
last one day when it crosses a night
00:28:15
◼
►
boundary and you and you're in review
00:28:17
◼
►
for multiple days what that sometimes
00:28:19
◼
►
means is they're busy but what most of
00:28:22
◼
►
the time means is you're being kicked
00:28:25
◼
►
back to a manager for something and
00:28:26
◼
►
that's usually not good I'm probably
00:28:28
◼
►
about to get rejected for some reason
00:28:30
◼
►
that I consider like BS but I'm just
00:28:33
◼
►
gonna deal with it and I'm resubmit and
00:28:35
◼
►
I'll move on and that's life that's just
00:28:37
◼
►
being app developer and it's you know
00:28:38
◼
►
it's no big deal
00:28:40
◼
►
exactly and we just you know we just
00:28:42
◼
►
make them make the best of it like maybe
00:28:44
◼
►
and it's a kind of an example of a place
00:28:46
◼
►
where it's just like part of being like
00:28:48
◼
►
what you use the kind of the word
00:28:49
◼
►
professionalism or something like this
00:28:51
◼
►
is a very an area where that comes very
00:28:53
◼
►
much into play that like okay it happens
00:28:56
◼
►
like let's just move on try and make it
00:28:57
◼
►
on as unemotional as we can let's be
00:28:59
◼
►
respectful as best we can and in the end
00:29:01
◼
►
like I said I've been doing this a long
00:29:03
◼
►
time I've been rejected many times I've
00:29:05
◼
►
had some very I've had a lot of feelings
00:29:09
◼
►
about it at times but by and large I can
00:29:13
◼
►
look back and like the reason I'm still
00:29:15
◼
►
doing this you know seven and a half
00:29:16
◼
►
years later is because in the end I care
00:29:20
◼
►
Li look back at the way that app review
00:29:22
◼
►
has behaved and look at it in - but you
00:29:25
◼
►
know and sometimes I'll disagree with it
00:29:27
◼
►
but the I can respect it and I can
00:29:29
◼
►
understand where it's coming from and
00:29:30
◼
►
that helps a lot in keeping well handed
00:29:33
◼
►
and you know being reasonable in this
00:29:35
◼
►
process well said
00:29:37
◼
►
all right thanks like for listening
00:29:39
◼
►
everybody and we will talk to you next