PodSearch

Under the Radar

Under the Radar 99: Effecting Change

 

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:07   minutes so let's get started so today I

00:00:10   wanted to talk about kind of related to

00:00:12   a recent discussion about trying to get

00:00:13   watch podcast playback and and I did a

00:00:17   blog post this week basically saying

00:00:18   like here's what we need to do this and

00:00:21   I kind of want to talk about the process

00:00:23   of trying to effect change with Apple

00:00:27   and their products and their stores and

00:00:28   everything else and this takes a lot of

00:00:30   different forms I think the the first

00:00:33   thing I wanted to talk about is how to

00:00:36   know what you can and can't change if

00:00:39   you are going to try to get something

00:00:42   done at Apple or try to get a bug fix to

00:00:44   try to get a feature done or try to get

00:00:45   something some policy changed it helps

00:00:49   to know the company well enough to know

00:00:51   basically what fights aren't worth

00:00:53   fighting and we know what's not worth

00:00:55   your effort and what is if you want to

00:00:57   like get bugs fixed you know or they get

00:01:00   API changes to to some degree that stuff

00:01:03   is usually possible those those are

00:01:05   fights worth fighting a lot of people

00:01:07   try to get unfair or arguable App Store

00:01:10   rejections overturned I think it is

00:01:14   worth challenging unfair or arguable app

00:01:18   store rejections sometimes unfair to me

00:01:21   means that the rules were not applied

00:01:23   correctly or maybe consistently with

00:01:26   other apps unfair does not mean you

00:01:28   disagree with the rules that's a

00:01:30   different situation so if you've been

00:01:32   rejected for some way that you think is

00:01:34   actually unfair like the rules were not

00:01:36   applied correctly that is usually worth

00:01:38   you know filing the appeal and if that

00:01:40   doesn't work then maybe going public

00:01:42   with it as for arguable App Store

00:01:44   rejections that that's very broad that

00:01:48   could be a lot of things if you keep

00:01:50   hitting rules that are arguable maybe

00:01:53   you should rethink what kind of apps

00:01:55   you're trying to make because generally

00:01:56   I recommend that you don't build a

00:01:59   business or attempt to build a business

00:02:01   on living on the edge of a rule you know

00:02:04   if you stay away from the edges of the

00:02:05   rules or the vagaries or the exact

00:02:08   interpretations of certain rules you're

00:02:10   generally gonna be happier and it's

00:02:11   gonna be easier to do business both

00:02:13   you know immediately and going forward

00:02:14   so those are generally like that the

00:02:17   things that generally you can affect

00:02:19   bugs api's and you know bad App Store

00:02:23   rejections and you know what you can

00:02:26   change and take a number of different

00:02:27   forms you know you can obviously you

00:02:29   know with absolute rejections you can

00:02:30   you can do the private appeal which I

00:02:31   definitely recommend you do first those

00:02:34   appeals often work I've heard a lot of

00:02:38   stories from friends and other

00:02:39   developers who who have appealed things

00:02:42   and they do get overturned what's your

00:02:43   experience with that

00:02:44   I have many experiences with that and in

00:02:47   general I would say that is I've had

00:02:49   usually we can come to some

00:02:51   understanding like often the source or a

00:02:57   I think that Apple appreciates the

00:03:00   working it through with them first in

00:03:02   that sense of I've dealt with all kinds

00:03:05   of variety of rejections for a variety

00:03:07   of reasons and work you know I think the

00:03:09   impression I've gotten is that you get

00:03:12   farther by not running to the press not

00:03:15   in trying to make a big fuss like maybe

00:03:17   that is the the final straw like that

00:03:20   you do down the road but that initially

00:03:22   you work with them and you work with

00:03:24   them patiently and you know with

00:03:26   politeness and respect and you work

00:03:29   through it because typically they're

00:03:31   coming at you know it's like the issue

00:03:32   unless you're just doing something wild

00:03:34   and off the reservation like usually

00:03:37   there is some sticking point that

00:03:38   they're stuck on that you have to work

00:03:41   out a way to work around that's you know

00:03:42   there may be a small change that you can

00:03:44   make to your app that will affect that

00:03:46   change and my do you handle that in a

00:03:49   respectful way that in my experience

00:03:51   that that serve there that the appeal

00:03:53   process and working those channels

00:03:55   directly will often get you somewhere

00:03:57   you know sometimes it may not be exactly

00:03:59   where you would like to be you know

00:04:01   sometimes you'll end up having to make

00:04:02   changes to your app that may you know

00:04:05   limit its functionality or make you feel

00:04:07   like you've lost a competitive edge or

00:04:09   something but by and large like that

00:04:12   that process does work and while it can

00:04:15   be you know frustrating in the moment

00:04:17   and you know I've certainly been very

00:04:19   emotional in the moment you know when

00:04:22   you when I work on something for you

00:04:24   know four months and you

00:04:25   submit it and then you know it gets

00:04:27   rejected for a reason that you don't

00:04:28   agree with like that's a very emotional

00:04:30   thing but it does ultimately you know

00:04:32   work through and just being respectful

00:04:35   making sure you're understanding the

00:04:38   subtext around what they're saying I

00:04:40   think is something that I've found to

00:04:41   also be helpful that often like they're

00:04:43   saying they're saying one thing and

00:04:45   which is correct but it's because of

00:04:47   something else like there's another

00:04:49   there's an underlying reason that you're

00:04:50   trying to find and if you end the better

00:04:52   you can try to understand that or you

00:04:54   know ask probing questions around that

00:04:56   the better you're able to make the make

00:04:58   a change cuz usually what I've ended up

00:04:59   happening is it's the it's unlikely that

00:05:02   they'll just they'll be like oh actually

00:05:04   yet we hope we made a mistake you're

00:05:05   fine now maybe they will maybe they

00:05:07   won't in my experience usually it's a

00:05:08   more likely scenario is you know here is

00:05:12   this small change that I can say like if

00:05:15   I did this would it be okay then and

00:05:17   they often says well we can't pre

00:05:19   approve it but that's you know heading

00:05:21   in the right direction and then I make

00:05:22   it and make a change every submit and

00:05:23   then everything's fine but it does work

00:05:26   like I've gone through that process

00:05:27   enough times and you know gotten apps

00:05:30   that were rejected you know ultimately

00:05:31   approved often with you know relatively

00:05:34   minor changes so it does work and it's

00:05:36   something that I would encourage you to

00:05:37   do and it's definitely the place to

00:05:38   start that you know thankfully I'm very

00:05:41   rarely if ever had to sort of make a

00:05:43   bait try to make a big fuss to get

00:05:45   something happened because it's sort of

00:05:47   you're you're going all in at that point

00:05:49   like it's either gonna work or it is it

00:05:50   or it doesn't and even if it does work

00:05:53   you're putting your app in kind of an

00:05:55   awkward situation for its future going

00:05:57   forward it's like it was you know if it

00:05:59   was old ultimately accepted but not

00:06:01   under the best circumstances like what

00:06:03   does that mean in six months when you

00:06:05   submit an a big update and you're kind

00:06:07   of doubling down on the features that

00:06:08   were questionable to start with so

00:06:10   that's certainly my experience and you

00:06:12   know it's it's it works and it's it's an

00:06:14   encouraging process that's gotten a lot

00:06:16   better because they wanted you know back

00:06:18   you know whatever eight years ago when

00:06:21   things were a much more like I don't

00:06:24   think on Apple side they had quite

00:06:26   dialed in their process there to the

00:06:28   degree they have now and saying yeah

00:06:30   that's a generous yeah it works better

00:06:32   now yeah it's way better now all right

00:06:35   so those are kind of the the things that

00:06:37   you can

00:06:38   effect change with there's also a lot of

00:06:40   things that you can't really affect

00:06:42   change and that your effort is probably

00:06:44   wasted and it might even annoy Apple if

00:06:46   you do it and this includes things like

00:06:49   trying to get major App Store policies

00:06:52   or business rules changed or get

00:06:55   exceptions for yourself this is things

00:06:56   like getting around the 30 percent cut

00:06:58   for in-app purchases or subscriptions or

00:07:01   things like that this also includes like

00:07:03   campaigning for major technical changes

00:07:06   they're very unlikely to do so things

00:07:07   like allowing all iOS apps to run in the

00:07:10   background indefinitely you know like if

00:07:12   you just want to have like a persistent

00:07:13   daemon running and iOS like that's never

00:07:14   gonna happen they're never gonna allow

00:07:16   that also you know things that combine

00:07:17   both of these like both app store policy

00:07:20   and major technical things like allowing

00:07:22   side loading of iOS apps that's probably

00:07:26   never gonna happen either like I respect

00:07:29   people who try to make that case to

00:07:30   Apple but I think it's futile I don't

00:07:32   think that's ever going to happen and

00:07:34   also kind of obvious things like

00:07:36   anything that could be potentially

00:07:38   abused like even if you have good

00:07:40   intentions on something you want to be

00:07:42   able to do you have to think about what

00:07:44   what could a bad actor do with that same

00:07:47   ability

00:07:47   so anything that could be abused for

00:07:49   privacy violations is a big one so

00:07:51   things like access to restricted

00:07:53   Hardware things like you know face ID

00:07:55   touch ID you know secure Enclave stuff

00:07:58   access to like the the restricted

00:08:01   privacy sensitive API is like location

00:08:03   or microphone without prompting the user

00:08:05   stuff like that like if you need those

00:08:08   things you're gonna have a hard time and

00:08:09   that's that's probably not a great way

00:08:12   to spend any any amount of effort trying

00:08:15   to affect change at Apple and also that

00:08:17   there's a big one that that's kind of

00:08:18   sad but but it's reality and that's if

00:08:21   you're trying to get bug fixes or API

00:08:25   changes for either very old or very low

00:08:29   priority api's or platforms and so you

00:08:33   know this would include you know low

00:08:34   priority platforms in general you know

00:08:36   that would I would say things like TV OS

00:08:37   is pretty low priority I would say

00:08:39   unfortunately most of mac OS is pretty

00:08:41   low priority so you know if you if you

00:08:43   want some you know API enhanced on a low

00:08:46   priority platform you're gonna have a

00:08:48   hard time doing it even if even a bug

00:08:50   fix you know if it's not a really

00:08:52   cool bug you're in you might have a hard

00:08:54   time even getting anybody to care about

00:08:55   that or to have time to work on it

00:08:56   because you know even if you make a

00:08:58   great case for any for some kind of

00:09:01   change like this if nobody's working on

00:09:03   that thing you know there's no one to

00:09:06   fix it it's not gonna happen you know a

00:09:08   lot of Apple projects will go either

00:09:11   completely unstaffed or staffed by like

00:09:14   one person who also worked on 17 other

00:09:17   things for years like like you know it's

00:09:20   like who maintains like address book you

00:09:22   know it's it's probably like one person

00:09:23   who also maintains six other frameworks

00:09:25   and even when you have a like a small

00:09:28   staff on a project they might not have

00:09:30   time to do your bug or your enhancement

00:09:33   because every year when Apple does like

00:09:36   you know big new headlining features

00:09:39   that they market to customers or they

00:09:41   have new hardware that think you need to

00:09:42   take advantage over B be adopted for

00:09:44   that before all those like one person or

00:09:47   small teams that are working on like you

00:09:51   know old apps or kind of you know less

00:09:53   high priority things they have to adopt

00:09:56   those marketing features first those

00:09:58   that will always take priority over like

00:10:00   you know old enhancements or bug fixes

00:10:02   they also want to do so for a lot of

00:10:04   projects at Apple there's literally not

00:10:07   time for much of anything else like so

00:10:10   if you file some bug with like you know

00:10:12   I work like I work as a great example

00:10:14   because it has a staff I work is staffed

00:10:17   but I work is involved in so many

00:10:21   marketing features every year that like

00:10:23   that it has to adopt or that it has to

00:10:25   make sure it works with so any change

00:10:27   changes to iOS changes to like the

00:10:29   multitasking the file picking document

00:10:30   handling changes to iCloud collaboration

00:10:33   sharing like they're like I work is

00:10:35   involved in all sorts of crazy stuff and

00:10:37   so if you have a like a feature request

00:10:41   or some kind of minor bug and I work

00:10:43   that's gonna take way lower priority

00:10:46   than all the crazy marketing stuff they

00:10:48   have to do every year just to keep up

00:10:50   with Apple's own stuff so there's a lot

00:10:52   of project at Apple for which like you

00:10:54   can file bugs or you can you know write

00:10:57   a nice blog post saying that that you

00:10:58   you wish this this you know obscure bug

00:11:01   would be fixed or that you wish this API

00:11:02   was different but if it's a low priority

00:11:04   or old ap

00:11:06   or project or if it's just or if it's

00:11:07   staff is way too busy doing other stuff

00:11:09   you're gonna have really hard time with

00:11:11   that and into that end I think also it's

00:11:15   hard for us to have a sense of what the

00:11:18   future is going to hold and because we

00:11:21   don't like the we're at a disadvantage

00:11:22   to for computers to Apple in that we're

00:11:25   in the regard that they know what next

00:11:27   year's release is going to look like and

00:11:29   have a good idea probably of what the

00:11:31   next release after that is going to look

00:11:32   like and so if you're filing bugs

00:11:34   against frameworks or things that Apple

00:11:37   knows they have different plans for in

00:11:39   the future

00:11:40   then it's going to become even harder

00:11:42   likely for your your bug or your issue

00:11:45   to be addressed and maybe you know you

00:11:47   would in the best case it'll be like

00:11:48   rolled into the changes they're making

00:11:50   or if they're replacing the framework

00:11:51   with something better or you know those

00:11:54   types of things may come into play but

00:11:55   it's the awkward thing to if it's easy

00:11:58   like all we see is the end results and

00:12:01   we can't know what's you know what's

00:12:02   coming in nine months whereas Apple does

00:12:04   and so it's entirely possible that a bug

00:12:06   comes in for a framework and they're

00:12:08   like yeah we're not we're not gonna fix

00:12:09   that because you know in ten months that

00:12:12   frameworks going away or it's gonna be

00:12:14   replaced with something better they're

00:12:16   rather gonna put their engineering

00:12:17   effort into that and so that can often

00:12:19   you know it's a we we don't we file a

00:12:21   bug you know can do all the right things

00:12:23   an example project you know show how to

00:12:25   reproduce it it may never get fixed and

00:12:28   the reason why it may never get fixed

00:12:29   could be any of the things you were just

00:12:31   talking about in terms of staffing it

00:12:33   could just be a question of priorities

00:12:34   or the future you know it's impossible

00:12:37   to know exactly why it happened and that

00:12:39   consitency frustrating but that's just

00:12:40   the reality i think we were sponsored

00:12:43   this week by blue apron the number one

00:12:45   recipe delivery service with the

00:12:46   freshest ingredients blue aprons mission

00:12:49   is to make incredible home cooking

00:12:50   accessible to everyone and support a

00:12:52   more sustainable food system they set

00:12:54   the highest standards for ingredients

00:12:55   and they're building a community of home

00:12:57   chefs for less than $10 per meal blue

00:13:00   apron delivers seasonal recipes along

00:13:02   with fresh high-quality ingredients to

00:13:04   make delicious home-cooked meals in 40

00:13:06   minutes or less see our shows a little

00:13:08   bit shorter than that is pretty good

00:13:09   each meal comes with a step-by-step easy

00:13:11   to follow a recipe card and

00:13:12   pre-portioned ingredients and they ship

00:13:15   the exact amount of each ingredient that

00:13:17   the recipe requires so they are reducing

00:13:19   food waste in the process and blue

00:13:21   aprons freshness guarantee promises that

00:13:24   every ingredient arrives ready to cook

00:13:25   or they will make it right I personally

00:13:28   have been a blue apron customer with our

00:13:30   family for she's I don't know maybe two

00:13:32   years now it's been a while now even

00:13:34   before they were sponsoring any of our

00:13:35   shows and we just loved blue apron their

00:13:39   recipes are fantastic they we are we

00:13:42   have really become better chefs as a

00:13:44   result of having blue apron it is

00:13:46   awesome we've tried so many new foods

00:13:48   new cuisines that like things we would

00:13:50   ever even ordered in a restaurant that

00:13:51   all of a sudden we're cooking and then

00:13:53   they're delicious and now we can happen

00:13:55   we order those things in restaurants

00:13:56   like it expand your horizons both for

00:13:59   food and also it really does make you a

00:14:01   better cook by just having so much more

00:14:03   experience and on nights that we don't

00:14:05   have blue apron we make better things

00:14:07   now so you can choose from a variety of

00:14:09   new recipes each week or you can just

00:14:11   let their team choose for you and

00:14:12   surprise you

00:14:13   you can cook meals like suey glazed pork

00:14:16   and rice cake with bok choy a marinated

00:14:17   green beans skillet vegetable chili with

00:14:19   cornmeal and cheddar drop biscuits or

00:14:21   garlic butter shrimp and corn with green

00:14:23   bean salad and roasted purple tomatoes

00:14:25   there is no weekly commitment so you

00:14:27   only get deliveries when you want them

00:14:29   you can cancel them at any time you can

00:14:30   skip some if you're gonna be out of town

00:14:32   or whatever it doesn't matter so check

00:14:34   out this week's menu and get three free

00:14:36   meals with your first purchase including

00:14:38   free shipping by going to blue apron

00:14:41   comm slash radar you will love how great

00:14:44   it feels and tastes to create incredible

00:14:46   home-cooked meals blue apron

00:14:48   so get started today by going to blue

00:14:49   apron comm slash radar thank you to blue

00:14:52   apron for supporting this show blue

00:14:53   apron a better way to cook after all the

00:14:57   discussion before of what you can change

00:14:59   and what you can't change at Apple now

00:15:02   let's talk about how you actually do

00:15:03   that the best ways to affect change at

00:15:05   Apple you know if you're gonna be doing

00:15:07   something that's actually changeable how

00:15:09   do you do it so first as we talked about

00:15:11   a little bit earlier you should start

00:15:15   with private methods first so very first

00:15:19   thing with any bug or enhancement is

00:15:21   file a radar and I and this is this is a

00:15:23   hard thing to do because the radar

00:15:25   system is it's almost punitive like it

00:15:28   really is is almost abusive like in how

00:15:31   much effort they want you to

00:15:34   invest into filing bug reports even down

00:15:37   to things like making sample projects

00:15:38   with a which they were almost always

00:15:39   requests for almost anything even if it

00:15:41   doesn't seem to need it to the point

00:15:42   where I almost think it's a delay tactic

00:15:43   so they can just close more bugs and

00:15:44   people don't do it but actually I don't

00:15:48   almost think that I do think that but

00:15:49   anyway so file a radar first and and the

00:15:53   reason why is because radar is it's

00:15:57   apples bug reporting system and radar is

00:15:59   how Apple passes things around and

00:16:02   prioritizes things internally so if you

00:16:05   later want to write a blog post or email

00:16:08   somebody in the company or bother

00:16:10   somebody on Twitter who works there or

00:16:12   something if you want to like escalate

00:16:14   things further it really helps to have a

00:16:17   radar number or series of numbers to

00:16:19   point them to to say look this is what

00:16:21   I'm talking about because then if they

00:16:24   actually take up your case and if they

00:16:27   want to prioritize something in the

00:16:28   company or forward to somebody else or

00:16:30   get to the right department or try to

00:16:32   convince somebody that that they should

00:16:34   be prioritised they are going to do that

00:16:36   by passing around radar numbers to

00:16:38   people and so it really helps a lot if

00:16:41   you have a radar filed I'm not always

00:16:43   the best at this and usually when they

00:16:45   ask for a simple project I just get mad

00:16:46   and just abandon it because I'm like I'm

00:16:47   not gonna waste my time doing this you

00:16:49   know you should fix this bug but that is

00:16:51   the most effective way to do it and that

00:16:53   you know and so generally radar first

00:16:56   and then keep things private first if

00:17:00   you can so obviously with App Store

00:17:01   appeals you know do the private appeal

00:17:03   first before you go public because most

00:17:06   of the time you won't need to go public

00:17:07   and that'll be nice when you have when

00:17:09   you do need to go public

00:17:10   it makes your case a little more

00:17:12   defensible to them internally if you can

00:17:15   save like if you basically tried to try

00:17:17   to do it privately first you know

00:17:19   similar thing with like when you're

00:17:20   reporting security vulnerabilities I

00:17:21   feel like I mean I don't know much about

00:17:23   that community but I think it works in a

00:17:25   similar way where it's like you try the

00:17:27   private method first and then if it

00:17:28   doesn't work then you consider going

00:17:30   public

00:17:31   do you file radars and stuff and for all

00:17:34   your stuff or do you just work it out

00:17:36   yourself how do you do that

00:17:37   so I have a lot of I've found a great

00:17:40   many radars over the years and they I

00:17:42   think radars tend to take different

00:17:45   forms like some of my radars

00:17:48   are just straight-up bug reports like

00:17:50   I'm just saying I use this API in a way

00:17:53   that it is documented that it should

00:17:54   work and it doesn't and like those ones

00:17:56   are relatively straightforward and you

00:17:59   know that's I've that that's sort of one

00:18:02   side and the other side of the radars

00:18:03   that I file tend to be and I write them

00:18:07   this way actually now I write they're

00:18:09   almost just letters like they're like

00:18:11   like open letters to Apple say or like

00:18:13   guys closed letters to Apple saying I

00:18:15   believe it's called letters yeah it's

00:18:17   like here's this thing that you know

00:18:20   like hi I'm I make these apps these and

00:18:23   you know this is something that I'd like

00:18:25   to be able to do with them at a current

00:18:26   API I can't do and I try and give as

00:18:28   much context and just sort of I try to

00:18:32   flesh out the not just like what I want

00:18:35   like not just the like the technical

00:18:36   like I wish this API would do XYZ but I

00:18:40   try and provide like real-world

00:18:42   situations and examples as to why you

00:18:45   know sometimes it's like Andy you know

00:18:47   he even like here's a link to my app

00:18:48   like here you can go see where this wood

00:18:51   will fit in like to try and build a case

00:18:53   because as best I can understand this

00:18:56   you have I've several friends who work

00:18:58   at Apple like I know a lot of people

00:18:59   that the impression I get is that like

00:19:01   radar is this funny thing because we see

00:19:04   this very kind of sort of terse opaque

00:19:08   thing on the outside where we put things

00:19:10   in and then we'll either get you know

00:19:12   it's like just duplicate or nothing will

00:19:13   happen at all for a long period of time

00:19:16   but internally with Apple you know they

00:19:19   have a sort of discussions and threads

00:19:24   and things that are going on around you

00:19:27   know the radar that I filed that is

00:19:28   happening internally and that is the

00:19:31   part that I'm trying to you know it

00:19:33   provide as much information as I can to

00:19:35   make you know engineers within Apple's

00:19:37   case our lives easy because the reality

00:19:40   is with almost any change that we want

00:19:42   yes there's like there's gonna probably

00:19:44   going to be someone at Apple who thinks

00:19:45   yeah this is a good idea that might be

00:19:47   other people who think this that's not

00:19:49   such a great idea and they're gonna be

00:19:51   having you know it with any engineering

00:19:52   choice there's usually a you know

00:19:54   there's benefits and and you know just

00:19:56   disadvantages and you know they can they

00:20:00   they may be thinking even in a broader

00:20:01   sense because

00:20:02   they have to not just think of your

00:20:03   specific case but they need to think of

00:20:05   the worst case of someone else using

00:20:06   this API but they're having this

00:20:09   discussion internally and like all I'm

00:20:11   really trying to do is if there is

00:20:13   somebody who is going to be advocating

00:20:15   for you know for the changes that I want

00:20:17   I want to provide that person with all

00:20:20   of the you know as men as much as I can

00:20:22   in terms of you know support and

00:20:24   evidence to make that change happen and

00:20:27   so I just write it write as much of

00:20:28   these as I can and it can feel a little

00:20:30   bit funny in the sense that you know the

00:20:32   radar system is all about you know like

00:20:34   what was the expected result and what

00:20:37   did happen and like it gets it's

00:20:38   obviously structured for technical

00:20:40   reports but I find if I'm plowing it and

00:20:43   handsome requests like that's what I do

00:20:45   I mean it's so hard to know how would

00:20:48   the degree to which like that is

00:20:49   actually effective but it's just what

00:20:51   I've over the years what I've sort of

00:20:53   gotten comfortable with doing and I've

00:20:55   never heard anything bad about it in

00:20:58   terms of like I've never had them closed

00:20:59   it's like irrelevant or poorly or you

00:21:02   know incomplete or written or some like

00:21:04   that does like it seems like that it's

00:21:05   just a a mechanism by which you can have

00:21:07   private communication with Apple that

00:21:11   someone inside of engineering will

00:21:13   actually look at and especially also I

00:21:17   think in communication like if

00:21:19   functionally the way you know the

00:21:21   developer relation the system works is

00:21:23   you know we can file a radar and then

00:21:25   there's a collection of evangelists you

00:21:27   know like all of these essentially the

00:21:28   developer relations team is there to

00:21:30   interact with developers personally so

00:21:34   usually what I will end up doing is I'll

00:21:35   file a radar you know sort of put that

00:21:38   out there and then depending on what the

00:21:41   nature of the situation Han sment

00:21:43   request is if I know the Evangelist who

00:21:45   it's you know most closely fit that I'll

00:21:48   reach out to them and I'll say hey

00:21:49   here's this thing that I filed you know

00:21:52   here's the reason why I'm asking it if

00:21:53   you have any questions or things you

00:21:55   know please let me know and you know

00:21:56   sort of like in the same way that you

00:21:58   may you know it's like you submit your

00:21:59   resume on the system and then you also

00:22:01   may follow up with an email to a

00:22:03   recruiter or something like you know you

00:22:05   kind of you hit it in both ways just to

00:22:07   make it that much more likely that

00:22:08   someone's going to look at it and they

00:22:10   may disagree with it they may ignore it

00:22:11   they may not end up being effective but

00:22:13   at least someone has looked at it in

00:22:15   they've made an active decision to you

00:22:17   know to not do it also the the timing of

00:22:21   when you file bugs or when you go public

00:22:24   with things matters a lot with Apple

00:22:26   because you know Apple is a company full

00:22:28   of human beings and they're on a tight

00:22:30   schedule and they all have you know more

00:22:33   things on their plate than they have

00:22:34   time to do but the good thing is we know

00:22:36   their schedule their scheduled matches

00:22:38   the release schedule of their products

00:22:39   and their operating systems so we know

00:22:41   the schedule so we can use it to our

00:22:42   advantage

00:22:43   so generally like if you if you file a

00:22:46   bug or you you know bring up a public

00:22:48   thing at a time when they're really busy

00:22:51   doing other stuff it's gonna get lost in

00:22:53   the shuffle or it's more likely to get

00:22:54   lost in the shuffle so the best time to

00:22:56   file bugs is when they are actively

00:22:59   looking for bugs ravenously and that is

00:23:01   early betas like if like right after

00:23:04   WWDC when you get those betas and you're

00:23:08   trying out the new stuff they are

00:23:09   looking very closely at bugs people are

00:23:11   filing so if you want things to happen

00:23:13   that's the time to do it like it's like

00:23:16   the code is like open it's like being

00:23:18   worked on that's the time when they can

00:23:20   allocate lots of their own time to

00:23:22   looking at your bugs and considering

00:23:23   them the worst time to file bugs or to

00:23:27   to make requests in public is probably

00:23:31   right before WWDC because then it like

00:23:35   they are in a massive crunch time every

00:23:37   year trying to get stuff done for those

00:23:39   first betas like for those first builds

00:23:41   and anything you try to have them do

00:23:44   during the time they don't have to do is

00:23:45   going to get dropped on the floor

00:23:46   because they're just they're way too

00:23:48   busy also similarly when it's right

00:23:51   before the GM's come out in the fall

00:23:53   when there's about to be a new hardware

00:23:55   released they have no time to consider

00:23:57   your enhancement requests that like the

00:23:58   OS is basically done at that point like

00:24:00   that's a terrible time to do it a good

00:24:02   time to do it also besides the early

00:24:04   betas is I would say the very beginning

00:24:07   of the year January through March maybe

00:24:09   because like usually you're doing like a

00:24:11   kind of an intermediary release cycles

00:24:12   like like the 0.2 0.3 zuv the OS is it's

00:24:16   kind of a quieter time it's a time when

00:24:17   they might have more time to allocate

00:24:19   towards improvements rather than just

00:24:21   you know core features I also want to

00:24:24   spend a quick moment talking about

00:24:27   tone and framing when you go public so

00:24:30   if you're gonna write a blog post or

00:24:32   you're gonna have you know any kind of

00:24:33   public you know outing of what Apple is

00:24:36   is doing or not doing what you wanted to

00:24:38   do if you're going to become the

00:24:39   elephant in the room yes yes it helps to

00:24:44   the way you frame it and this actually

00:24:46   should also probably apply to the way

00:24:48   you write bug reports to the framing is

00:24:49   very important you want to instead of

00:24:52   just saying like I want this to be fixed

00:24:54   well that's you know you need to frame

00:24:57   it as here's why it helps Apple users

00:25:01   and developers and they care about them

00:25:04   in that order developers are really last

00:25:06   in that in that trio like you need to

00:25:08   tell them why Apple needs to do this and

00:25:10   why that will benefit apples customers

00:25:13   or the users of your software like

00:25:15   that's what you need to tell them and

00:25:16   what you what you as a developer need is

00:25:19   really low on the list because if you

00:25:21   tell them something that will benefit

00:25:22   Apple your chances are better and the

00:25:25   tone that you use in the in the wording

00:25:27   and just everything headlines titles the

00:25:31   best way to do it you know Apple is

00:25:33   again this is a company full of people I

00:25:36   have found that that culturally many of

00:25:39   the people there are pretty sensitive to

00:25:41   the tone with which requests and

00:25:43   especially complaints are made the best

00:25:46   thing you can do is to basically remain

00:25:49   factual and state the facts as neutrally

00:25:54   as you can any requests or or you know

00:25:58   criticism that you're making of them be

00:26:00   civil and be constructive as much as

00:26:03   possible because what you don't want to

00:26:06   do is you don't want to give them a

00:26:08   reason to disregard you as just being

00:26:11   mean or just being a jerk or being

00:26:13   unreasonable you want to give you want

00:26:15   you want to say here's the facts here's

00:26:17   what we need or here's what I need or

00:26:19   here's what happened

00:26:20   and you know here's what I think should

00:26:22   happen and it's also important not to

00:26:26   they're very sensitive about this not to

00:26:29   put words in their mouth or not to

00:26:30   ascribe motivations to Apple you know

00:26:34   there was a kerfuffle last year with

00:26:36   with a developer where like he recorded

00:26:39   the conversation with

00:26:41   on the phone like without their

00:26:42   permission like that you know that's

00:26:43   something you shouldn't they don't do

00:26:45   that and and don't ascribe motivations

00:26:48   to Apple like Apple did this because

00:26:49   they they hate me or or because they're

00:26:52   being mean or or because they they don't

00:26:54   want this kind of app but you know it

00:26:55   like unless they told you that in some

00:26:57   kind of public way like you know don't

00:26:59   ascribe motivations or malice to Apple

00:27:03   just keep it factual keep it neutral and

00:27:06   and that and I mean obviously this goes

00:27:08   for a lot of communication in the adult

00:27:10   world like this is what you should do in

00:27:12   general but but yeah like if you keep it

00:27:15   factual neutral and constructive it it

00:27:20   increases your chances that you can be

00:27:22   taken seriously and that will improve

00:27:24   your chances of getting done what you

00:27:26   actually want to get done yeah I mean

00:27:28   just in general like that's just good

00:27:29   advice for life probably but trying to

00:27:32   it's understanding that I think it's

00:27:35   easy to think of Apple as a like a

00:27:38   faceless entity right that it's like

00:27:41   that doesn't have feelings that doesn't

00:27:43   have emotions that is just this cold

00:27:46   this cold machine that you know takes in

00:27:49   code and how puts money like that but

00:27:52   that's not the reality like it is you

00:27:54   are ultimately trying to if you have a

00:27:57   change that you'd like to affect you are

00:27:59   trying to convince people to do that and

00:28:02   the best way to affect people is to you

00:28:05   know be respectful of them and to be

00:28:07   presenting your arguments in ways that

00:28:10   is hopefully going to ultimately make

00:28:11   them look good that is going to you know

00:28:13   make their their life better in some way

00:28:16   and you're gonna have way more Luck's

00:28:18   with that than just yelling and

00:28:19   screaming and throwing a fit because

00:28:21   that's never that's not gonna help

00:28:23   anything like that doesn't help if

00:28:24   you're a two-year-old and it's

00:28:25   definitely not gonna help in trying to

00:28:27   effect change into a massive you know

00:28:29   billion dollar company exactly because

00:28:31   anything anything you are arguing you

00:28:34   know as you said earlier you are

00:28:35   providing ammo for an internal

00:28:37   discussion you want your side of the

00:28:39   argument to win internally and so if you

00:28:42   make a really good case people inside

00:28:45   can use that to win arguments to effect

00:28:48   change to do what you want so it really

00:28:50   helps a lot that you make the best case

00:28:52   possible and that you you know

00:28:54   use things wisely to even argue about in

00:28:56   the first place and when you do do it

00:28:58   right play by their system play by their

00:29:00   rules and play by general adult civility

00:29:02   rules and you will you will have much

00:29:04   better chances of succeeding well that's

00:29:07   all the time we have for this week

00:29:08   best of luck with everybody with your

00:29:09   effecting changes efforts and I'll talk

00:29:11   to you next week bye