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