Under the Radar

Under the Radar 99: Effecting Change


  welcome to under the radar a show about

  independent iOS app development I'm

  Marco Arment and I'm David Smith under

  the radar is never longer than 30

  minutes so let's get started so today I

  wanted to talk about kind of related to

  a recent discussion about trying to get

  watch podcast playback and and I did a

  blog post this week basically saying

  like here's what we need to do this and

  I kind of want to talk about the process

  of trying to effect change with Apple

  and their products and their stores and

  everything else and this takes a lot of

  different forms I think the the first

  thing I wanted to talk about is how to

  know what you can and can't change if

  you are going to try to get something

  done at Apple or try to get a bug fix to

  try to get a feature done or try to get

  something some policy changed it helps

  to know the company well enough to know

  basically what fights aren't worth

  fighting and we know what's not worth

  your effort and what is if you want to

  like get bugs fixed you know or they get

  API changes to to some degree that stuff

  is usually possible those those are

  fights worth fighting a lot of people

  try to get unfair or arguable App Store

  rejections overturned I think it is

  worth challenging unfair or arguable app

  store rejections sometimes unfair to me

  means that the rules were not applied

  correctly or maybe consistently with

  other apps unfair does not mean you

  disagree with the rules that's a

  different situation so if you've been

  rejected for some way that you think is

  actually unfair like the rules were not

  applied correctly that is usually worth

  you know filing the appeal and if that

  doesn't work then maybe going public

  with it as for arguable App Store

  rejections that that's very broad that

  could be a lot of things if you keep

  hitting rules that are arguable maybe

  you should rethink what kind of apps

  you're trying to make because generally

  I recommend that you don't build a

  business or attempt to build a business

  on living on the edge of a rule you know

  if you stay away from the edges of the

  rules or the vagaries or the exact

  interpretations of certain rules you're

  generally gonna be happier and it's

  gonna be easier to do business both

  you know immediately and going forward

  so those are generally like that the

  things that generally you can affect

  bugs api's and you know bad App Store

  rejections and you know what you can

  change and take a number of different

  forms you know you can obviously you

  know with absolute rejections you can

  you can do the private appeal which I

  definitely recommend you do first those

  appeals often work I've heard a lot of

  stories from friends and other

  developers who who have appealed things

  and they do get overturned what's your

  experience with that

  I have many experiences with that and in

  general I would say that is I've had

  usually we can come to some

  understanding like often the source or a

  I think that Apple appreciates the

  working it through with them first in

  that sense of I've dealt with all kinds

  of variety of rejections for a variety

  of reasons and work you know I think the

  impression I've gotten is that you get

  farther by not running to the press not

  in trying to make a big fuss like maybe

  that is the the final straw like that

  you do down the road but that initially

  you work with them and you work with

  them patiently and you know with

  politeness and respect and you work

  through it because typically they're

  coming at you know it's like the issue

  unless you're just doing something wild

  and off the reservation like usually

  there is some sticking point that

  they're stuck on that you have to work

  out a way to work around that's you know

  there may be a small change that you can

  make to your app that will affect that

  change and my do you handle that in a

  respectful way that in my experience

  that that serve there that the appeal

  process and working those channels

  directly will often get you somewhere

  you know sometimes it may not be exactly

  where you would like to be you know

  sometimes you'll end up having to make

  changes to your app that may you know

  limit its functionality or make you feel

  like you've lost a competitive edge or

  something but by and large like that

  that process does work and while it can

  be you know frustrating in the moment

  and you know I've certainly been very

  emotional in the moment you know when

  you when I work on something for you

  know four months and you

  submit it and then you know it gets

  rejected for a reason that you don't

  agree with like that's a very emotional

  thing but it does ultimately you know

  work through and just being respectful

  making sure you're understanding the

  subtext around what they're saying I

  think is something that I've found to

  also be helpful that often like they're

  saying they're saying one thing and

  which is correct but it's because of

  something else like there's another

  there's an underlying reason that you're

  trying to find and if you end the better

  you can try to understand that or you

  know ask probing questions around that

  the better you're able to make the make

  a change cuz usually what I've ended up

  happening is it's the it's unlikely that

  they'll just they'll be like oh actually

  yet we hope we made a mistake you're

  fine now maybe they will maybe they

  won't in my experience usually it's a

  more likely scenario is you know here is

  this small change that I can say like if

  I did this would it be okay then and

  they often says well we can't pre

  approve it but that's you know heading

  in the right direction and then I make

  it and make a change every submit and

  then everything's fine but it does work

  like I've gone through that process

  enough times and you know gotten apps

  that were rejected you know ultimately

  approved often with you know relatively

  minor changes so it does work and it's

  something that I would encourage you to

  do and it's definitely the place to

  start that you know thankfully I'm very

  rarely if ever had to sort of make a

  bait try to make a big fuss to get

  something happened because it's sort of

  you're you're going all in at that point

  like it's either gonna work or it is it

  or it doesn't and even if it does work

  you're putting your app in kind of an

  awkward situation for its future going

  forward it's like it was you know if it

  was old ultimately accepted but not

  under the best circumstances like what

  does that mean in six months when you

  submit an a big update and you're kind

  of doubling down on the features that

  were questionable to start with so

  that's certainly my experience and you

  know it's it's it works and it's it's an

  encouraging process that's gotten a lot

  better because they wanted you know back

  you know whatever eight years ago when

  things were a much more like I don't

  think on Apple side they had quite

  dialed in their process there to the

  degree they have now and saying yeah

  that's a generous yeah it works better

  now yeah it's way better now all right

  so those are kind of the the things that

  you can

  effect change with there's also a lot of

  things that you can't really affect

  change and that your effort is probably

  wasted and it might even annoy Apple if

  you do it and this includes things like

  trying to get major App Store policies

  or business rules changed or get

  exceptions for yourself this is things

  like getting around the 30 percent cut

  for in-app purchases or subscriptions or

  things like that this also includes like

  campaigning for major technical changes

  they're very unlikely to do so things

  like allowing all iOS apps to run in the

  background indefinitely you know like if

  you just want to have like a persistent

  daemon running and iOS like that's never

  gonna happen they're never gonna allow

  that also you know things that combine

  both of these like both app store policy

  and major technical things like allowing

  side loading of iOS apps that's probably

  never gonna happen either like I respect

  people who try to make that case to

  Apple but I think it's futile I don't

  think that's ever going to happen and

  also kind of obvious things like

  anything that could be potentially

  abused like even if you have good

  intentions on something you want to be

  able to do you have to think about what

  what could a bad actor do with that same


  so anything that could be abused for

  privacy violations is a big one so

  things like access to restricted

  Hardware things like you know face ID

  touch ID you know secure Enclave stuff

  access to like the the restricted

  privacy sensitive API is like location

  or microphone without prompting the user

  stuff like that like if you need those

  things you're gonna have a hard time and

  that's that's probably not a great way

  to spend any any amount of effort trying

  to affect change at Apple and also that

  there's a big one that that's kind of

  sad but but it's reality and that's if

  you're trying to get bug fixes or API

  changes for either very old or very low

  priority api's or platforms and so you

  know this would include you know low

  priority platforms in general you know

  that would I would say things like TV OS

  is pretty low priority I would say

  unfortunately most of mac OS is pretty

  low priority so you know if you if you

  want some you know API enhanced on a low

  priority platform you're gonna have a

  hard time doing it even if even a bug

  fix you know if it's not a really

  cool bug you're in you might have a hard

  time even getting anybody to care about

  that or to have time to work on it

  because you know even if you make a

  great case for any for some kind of

  change like this if nobody's working on

  that thing you know there's no one to

  fix it it's not gonna happen you know a

  lot of Apple projects will go either

  completely unstaffed or staffed by like

  one person who also worked on 17 other

  things for years like like you know it's

  like who maintains like address book you

  know it's it's probably like one person

  who also maintains six other frameworks

  and even when you have a like a small

  staff on a project they might not have

  time to do your bug or your enhancement

  because every year when Apple does like

  you know big new headlining features

  that they market to customers or they

  have new hardware that think you need to

  take advantage over B be adopted for

  that before all those like one person or

  small teams that are working on like you

  know old apps or kind of you know less

  high priority things they have to adopt

  those marketing features first those

  that will always take priority over like

  you know old enhancements or bug fixes

  they also want to do so for a lot of

  projects at Apple there's literally not

  time for much of anything else like so

  if you file some bug with like you know

  I work like I work as a great example

  because it has a staff I work is staffed

  but I work is involved in so many

  marketing features every year that like

  that it has to adopt or that it has to

  make sure it works with so any change

  changes to iOS changes to like the

  multitasking the file picking document

  handling changes to iCloud collaboration

  sharing like they're like I work is

  involved in all sorts of crazy stuff and

  so if you have a like a feature request

  or some kind of minor bug and I work

  that's gonna take way lower priority

  than all the crazy marketing stuff they

  have to do every year just to keep up

  with Apple's own stuff so there's a lot

  of project at Apple for which like you

  can file bugs or you can you know write

  a nice blog post saying that that you

  you wish this this you know obscure bug

  would be fixed or that you wish this API

  was different but if it's a low priority

  or old ap

  or project or if it's just or if it's

  staff is way too busy doing other stuff

  you're gonna have really hard time with

  that and into that end I think also it's

  hard for us to have a sense of what the

  future is going to hold and because we

  don't like the we're at a disadvantage

  to for computers to Apple in that we're

  in the regard that they know what next

  year's release is going to look like and

  have a good idea probably of what the

  next release after that is going to look

  like and so if you're filing bugs

  against frameworks or things that Apple

  knows they have different plans for in

  the future

  then it's going to become even harder

  likely for your your bug or your issue

  to be addressed and maybe you know you

  would in the best case it'll be like

  rolled into the changes they're making

  or if they're replacing the framework

  with something better or you know those

  types of things may come into play but

  it's the awkward thing to if it's easy

  like all we see is the end results and

  we can't know what's you know what's

  coming in nine months whereas Apple does

  and so it's entirely possible that a bug

  comes in for a framework and they're

  like yeah we're not we're not gonna fix

  that because you know in ten months that

  frameworks going away or it's gonna be

  replaced with something better they're

  rather gonna put their engineering

  effort into that and so that can often

  you know it's a we we don't we file a

  bug you know can do all the right things

  an example project you know show how to

  reproduce it it may never get fixed and

  the reason why it may never get fixed

  could be any of the things you were just

  talking about in terms of staffing it

  could just be a question of priorities

  or the future you know it's impossible

  to know exactly why it happened and that

  consitency frustrating but that's just

  the reality i think we were sponsored

  this week by blue apron the number one

  recipe delivery service with the

  freshest ingredients blue aprons mission

  is to make incredible home cooking

  accessible to everyone and support a

  more sustainable food system they set

  the highest standards for ingredients

  and they're building a community of home

  chefs for less than $10 per meal blue

  apron delivers seasonal recipes along

  with fresh high-quality ingredients to

  make delicious home-cooked meals in 40

  minutes or less see our shows a little

  bit shorter than that is pretty good

  each meal comes with a step-by-step easy

  to follow a recipe card and

  pre-portioned ingredients and they ship

  the exact amount of each ingredient that

  the recipe requires so they are reducing

  food waste in the process and blue

  aprons freshness guarantee promises that

  every ingredient arrives ready to cook

  or they will make it right I personally

  have been a blue apron customer with our

  family for she's I don't know maybe two

  years now it's been a while now even

  before they were sponsoring any of our

  shows and we just loved blue apron their

  recipes are fantastic they we are we

  have really become better chefs as a

  result of having blue apron it is

  awesome we've tried so many new foods

  new cuisines that like things we would

  ever even ordered in a restaurant that

  all of a sudden we're cooking and then

  they're delicious and now we can happen

  we order those things in restaurants

  like it expand your horizons both for

  food and also it really does make you a

  better cook by just having so much more

  experience and on nights that we don't

  have blue apron we make better things

  now so you can choose from a variety of

  new recipes each week or you can just

  let their team choose for you and

  surprise you

  you can cook meals like suey glazed pork

  and rice cake with bok choy a marinated

  green beans skillet vegetable chili with

  cornmeal and cheddar drop biscuits or

  garlic butter shrimp and corn with green

  bean salad and roasted purple tomatoes

  there is no weekly commitment so you

  only get deliveries when you want them

  you can cancel them at any time you can

  skip some if you're gonna be out of town

  or whatever it doesn't matter so check

  out this week's menu and get three free

  meals with your first purchase including

  free shipping by going to blue apron

  comm slash radar you will love how great

  it feels and tastes to create incredible

  home-cooked meals blue apron

  so get started today by going to blue

  apron comm slash radar thank you to blue

  apron for supporting this show blue

  apron a better way to cook after all the

  discussion before of what you can change

  and what you can't change at Apple now

  let's talk about how you actually do

  that the best ways to affect change at

  Apple you know if you're gonna be doing

  something that's actually changeable how

  do you do it so first as we talked about

  a little bit earlier you should start

  with private methods first so very first

  thing with any bug or enhancement is

  file a radar and I and this is this is a

  hard thing to do because the radar

  system is it's almost punitive like it

  really is is almost abusive like in how

  much effort they want you to

  invest into filing bug reports even down

  to things like making sample projects

  with a which they were almost always

  requests for almost anything even if it

  doesn't seem to need it to the point

  where I almost think it's a delay tactic

  so they can just close more bugs and

  people don't do it but actually I don't

  almost think that I do think that but

  anyway so file a radar first and and the

  reason why is because radar is it's

  apples bug reporting system and radar is

  how Apple passes things around and

  prioritizes things internally so if you

  later want to write a blog post or email

  somebody in the company or bother

  somebody on Twitter who works there or

  something if you want to like escalate

  things further it really helps to have a

  radar number or series of numbers to

  point them to to say look this is what

  I'm talking about because then if they

  actually take up your case and if they

  want to prioritize something in the

  company or forward to somebody else or

  get to the right department or try to

  convince somebody that that they should

  be prioritised they are going to do that

  by passing around radar numbers to

  people and so it really helps a lot if

  you have a radar filed I'm not always

  the best at this and usually when they

  ask for a simple project I just get mad

  and just abandon it because I'm like I'm

  not gonna waste my time doing this you

  know you should fix this bug but that is

  the most effective way to do it and that

  you know and so generally radar first

  and then keep things private first if

  you can so obviously with App Store

  appeals you know do the private appeal

  first before you go public because most

  of the time you won't need to go public

  and that'll be nice when you have when

  you do need to go public

  it makes your case a little more

  defensible to them internally if you can

  save like if you basically tried to try

  to do it privately first you know

  similar thing with like when you're

  reporting security vulnerabilities I

  feel like I mean I don't know much about

  that community but I think it works in a

  similar way where it's like you try the

  private method first and then if it

  doesn't work then you consider going


  do you file radars and stuff and for all

  your stuff or do you just work it out

  yourself how do you do that

  so I have a lot of I've found a great

  many radars over the years and they I

  think radars tend to take different

  forms like some of my radars

  are just straight-up bug reports like

  I'm just saying I use this API in a way

  that it is documented that it should

  work and it doesn't and like those ones

  are relatively straightforward and you

  know that's I've that that's sort of one

  side and the other side of the radars

  that I file tend to be and I write them

  this way actually now I write they're

  almost just letters like they're like

  like open letters to Apple say or like

  guys closed letters to Apple saying I

  believe it's called letters yeah it's

  like here's this thing that you know

  like hi I'm I make these apps these and

  you know this is something that I'd like

  to be able to do with them at a current

  API I can't do and I try and give as

  much context and just sort of I try to

  flesh out the not just like what I want

  like not just the like the technical

  like I wish this API would do XYZ but I

  try and provide like real-world

  situations and examples as to why you

  know sometimes it's like Andy you know

  he even like here's a link to my app

  like here you can go see where this wood

  will fit in like to try and build a case

  because as best I can understand this

  you have I've several friends who work

  at Apple like I know a lot of people

  that the impression I get is that like

  radar is this funny thing because we see

  this very kind of sort of terse opaque

  thing on the outside where we put things

  in and then we'll either get you know

  it's like just duplicate or nothing will

  happen at all for a long period of time

  but internally with Apple you know they

  have a sort of discussions and threads

  and things that are going on around you

  know the radar that I filed that is

  happening internally and that is the

  part that I'm trying to you know it

  provide as much information as I can to

  make you know engineers within Apple's

  case our lives easy because the reality

  is with almost any change that we want

  yes there's like there's gonna probably

  going to be someone at Apple who thinks

  yeah this is a good idea that might be

  other people who think this that's not

  such a great idea and they're gonna be

  having you know it with any engineering

  choice there's usually a you know

  there's benefits and and you know just

  disadvantages and you know they can they

  they may be thinking even in a broader

  sense because

  they have to not just think of your

  specific case but they need to think of

  the worst case of someone else using

  this API but they're having this

  discussion internally and like all I'm

  really trying to do is if there is

  somebody who is going to be advocating

  for you know for the changes that I want

  I want to provide that person with all

  of the you know as men as much as I can

  in terms of you know support and

  evidence to make that change happen and

  so I just write it write as much of

  these as I can and it can feel a little

  bit funny in the sense that you know the

  radar system is all about you know like

  what was the expected result and what

  did happen and like it gets it's

  obviously structured for technical

  reports but I find if I'm plowing it and

  handsome requests like that's what I do

  I mean it's so hard to know how would

  the degree to which like that is

  actually effective but it's just what

  I've over the years what I've sort of

  gotten comfortable with doing and I've

  never heard anything bad about it in

  terms of like I've never had them closed

  it's like irrelevant or poorly or you

  know incomplete or written or some like

  that does like it seems like that it's

  just a a mechanism by which you can have

  private communication with Apple that

  someone inside of engineering will

  actually look at and especially also I

  think in communication like if

  functionally the way you know the

  developer relation the system works is

  you know we can file a radar and then

  there's a collection of evangelists you

  know like all of these essentially the

  developer relations team is there to

  interact with developers personally so

  usually what I will end up doing is I'll

  file a radar you know sort of put that

  out there and then depending on what the

  nature of the situation Han sment

  request is if I know the Evangelist who

  it's you know most closely fit that I'll

  reach out to them and I'll say hey

  here's this thing that I filed you know

  here's the reason why I'm asking it if

  you have any questions or things you

  know please let me know and you know

  sort of like in the same way that you

  may you know it's like you submit your

  resume on the system and then you also

  may follow up with an email to a

  recruiter or something like you know you

  kind of you hit it in both ways just to

  make it that much more likely that

  someone's going to look at it and they

  may disagree with it they may ignore it

  they may not end up being effective but

  at least someone has looked at it in

  they've made an active decision to you

  know to not do it also the the timing of

  when you file bugs or when you go public

  with things matters a lot with Apple

  because you know Apple is a company full

  of human beings and they're on a tight

  schedule and they all have you know more

  things on their plate than they have

  time to do but the good thing is we know

  their schedule their scheduled matches

  the release schedule of their products

  and their operating systems so we know

  the schedule so we can use it to our


  so generally like if you if you file a

  bug or you you know bring up a public

  thing at a time when they're really busy

  doing other stuff it's gonna get lost in

  the shuffle or it's more likely to get

  lost in the shuffle so the best time to

  file bugs is when they are actively

  looking for bugs ravenously and that is

  early betas like if like right after

  WWDC when you get those betas and you're

  trying out the new stuff they are

  looking very closely at bugs people are

  filing so if you want things to happen

  that's the time to do it like it's like

  the code is like open it's like being

  worked on that's the time when they can

  allocate lots of their own time to

  looking at your bugs and considering

  them the worst time to file bugs or to

  to make requests in public is probably

  right before WWDC because then it like

  they are in a massive crunch time every

  year trying to get stuff done for those

  first betas like for those first builds

  and anything you try to have them do

  during the time they don't have to do is

  going to get dropped on the floor

  because they're just they're way too

  busy also similarly when it's right

  before the GM's come out in the fall

  when there's about to be a new hardware

  released they have no time to consider

  your enhancement requests that like the

  OS is basically done at that point like

  that's a terrible time to do it a good

  time to do it also besides the early

  betas is I would say the very beginning

  of the year January through March maybe

  because like usually you're doing like a

  kind of an intermediary release cycles

  like like the 0.2 0.3 zuv the OS is it's

  kind of a quieter time it's a time when

  they might have more time to allocate

  towards improvements rather than just

  you know core features I also want to

  spend a quick moment talking about

  tone and framing when you go public so

  if you're gonna write a blog post or

  you're gonna have you know any kind of

  public you know outing of what Apple is

  is doing or not doing what you wanted to

  do if you're going to become the

  elephant in the room yes yes it helps to

  the way you frame it and this actually

  should also probably apply to the way

  you write bug reports to the framing is

  very important you want to instead of

  just saying like I want this to be fixed

  well that's you know you need to frame

  it as here's why it helps Apple users

  and developers and they care about them

  in that order developers are really last

  in that in that trio like you need to

  tell them why Apple needs to do this and

  why that will benefit apples customers

  or the users of your software like

  that's what you need to tell them and

  what you what you as a developer need is

  really low on the list because if you

  tell them something that will benefit

  Apple your chances are better and the

  tone that you use in the in the wording

  and just everything headlines titles the

  best way to do it you know Apple is

  again this is a company full of people I

  have found that that culturally many of

  the people there are pretty sensitive to

  the tone with which requests and

  especially complaints are made the best

  thing you can do is to basically remain

  factual and state the facts as neutrally

  as you can any requests or or you know

  criticism that you're making of them be

  civil and be constructive as much as

  possible because what you don't want to

  do is you don't want to give them a

  reason to disregard you as just being

  mean or just being a jerk or being

  unreasonable you want to give you want

  you want to say here's the facts here's

  what we need or here's what I need or

  here's what happened

  and you know here's what I think should

  happen and it's also important not to

  they're very sensitive about this not to

  put words in their mouth or not to

  ascribe motivations to Apple you know

  there was a kerfuffle last year with

  with a developer where like he recorded

  the conversation with

  on the phone like without their

  permission like that you know that's

  something you shouldn't they don't do

  that and and don't ascribe motivations

  to Apple like Apple did this because

  they they hate me or or because they're

  being mean or or because they they don't

  want this kind of app but you know it

  like unless they told you that in some

  kind of public way like you know don't

  ascribe motivations or malice to Apple

  just keep it factual keep it neutral and

  and that and I mean obviously this goes

  for a lot of communication in the adult

  world like this is what you should do in

  general but but yeah like if you keep it

  factual neutral and constructive it it

  increases your chances that you can be

  taken seriously and that will improve

  your chances of getting done what you

  actually want to get done yeah I mean

  just in general like that's just good

  advice for life probably but trying to

  it's understanding that I think it's

  easy to think of Apple as a like a

  faceless entity right that it's like

  that doesn't have feelings that doesn't

  have emotions that is just this cold

  this cold machine that you know takes in

  code and how puts money like that but

  that's not the reality like it is you

  are ultimately trying to if you have a

  change that you'd like to affect you are

  trying to convince people to do that and

  the best way to affect people is to you

  know be respectful of them and to be

  presenting your arguments in ways that

  is hopefully going to ultimately make

  them look good that is going to you know

  make their their life better in some way

  and you're gonna have way more Luck's

  with that than just yelling and

  screaming and throwing a fit because

  that's never that's not gonna help

  anything like that doesn't help if

  you're a two-year-old and it's

  definitely not gonna help in trying to

  effect change into a massive you know

  billion dollar company exactly because

  anything anything you are arguing you

  know as you said earlier you are

  providing ammo for an internal

  discussion you want your side of the

  argument to win internally and so if you

  make a really good case people inside

  can use that to win arguments to effect

  change to do what you want so it really

  helps a lot that you make the best case

  possible and that you you know

  use things wisely to even argue about in

  the first place and when you do do it

  right play by their system play by their

  rules and play by general adult civility

  rules and you will you will have much

  better chances of succeeding well that's

  all the time we have for this week

  best of luck with everybody with your

  effecting changes efforts and I'll talk

  to you next week bye