PodSearch

Under the Radar

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:51 ◼   ► release

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:12 ◼   ► days

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:45 ◼   ► yeah

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 ◼   ► this works

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:41 ◼   ► than being

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:33 ◼   ► this

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

00:29:40 ◼   ► week bye