Under the Radar

137: iOS 12 and App Review Changes


00:00:00   Welcome to Under the Radar, a show about independent iOS app development.

00:00:03   I'm Marco Arment.

00:00:04   And I'm David Smith.

00:00:06   Under the Radar is never longer than 30 minutes, so let's get started.

00:00:10   So for this week's episode as well as next week's episode, we're going to kind of try

00:00:14   and unpack and kind of work through some of the changes and announcements that came out

00:00:20   of WWDC.

00:00:21   I think we both had sufficient time at this point to kind of digest a lot of what was

00:00:25   going on there, in some cases even to dig into things, to try things out, to watch a

00:00:31   lot more WWDC session videos.

00:00:33   So hopefully we can get a slightly more comprehensive view at this point.

00:00:37   And I think it's also kind of nice, rather than doing this kind of thing in real time,

00:00:41   is that I think we've had the benefit of the collected wisdom of the community as well

00:00:46   to kind of help shepherd this around.

00:00:49   So I think we're kind of, I think we're structured.

00:00:51   We're going to first start off talking about iOS 12, which is kind of a strange thing,

00:00:56   because usually iOS, I would say, is the marquee, the major significant change to operating

00:01:03   system at WWDC.

00:01:04   But this year, that was not really the case.

00:01:08   I mean, there's certainly a lot of changes.

00:01:10   There's certainly a lot of things going on more under the hood.

00:01:13   But in terms of, there have been years where Apple starts off with these, like, we have

00:01:18   seven tentpole features that we're going to bring this year.

00:01:22   And this year, they had maybe one or two of those type of that kind of changes.

00:01:28   And the rest of the changes are fairly low level.

00:01:30   And so at this point, I will recommend a website maintained by Matt Stevens, which includes

00:01:38   the old style SDK diffs.

00:01:42   So back in the day, before Apple changed the new documentation system, which makes looking

00:01:47   for changes completely inscrutable to me, they used to just publish a list of all the

00:01:51   method names that had changed and any things that was added.

00:01:54   And Matt Stevens still publishes one of those.

00:01:57   So just a little plug for that.

00:01:58   Yeah, that's awesome.

00:01:59   That used to be the very first thing I would open up when getting every beta.

00:02:03   At WWDC, it would be sitting in Moscone in the lunch hall.

00:02:08   And the very first thing I would do as soon as the site was up was go look at that API

00:02:11   to see what of the APIs that I use or might use had brought me presents that year.

00:02:18   Yeah, it's amazing.

00:02:20   The new version doesn't really work.

00:02:22   But anyway, I did the same thing.

00:02:24   I always go through that.

00:02:25   And now I really appreciate that someone's kind of worked out how to technically just

00:02:29   continue to generate these.

00:02:31   But looking in there, there's a lot of low level changes and minor changes.

00:02:36   Some of them we'll get to later.

00:02:37   But in general, it seems like there's not a lot of huge sweeping changes or things that

00:02:45   most apps have to do, with the exception of shortcuts, which we'll get to in a minute.

00:02:49   But in general, it's mostly just lots of little tweaks, lots of little improvements.

00:02:52   And in general, Apple had said their big focus this year was performance.

00:02:56   And I think there's even some changes in UIKit to reflect that.

00:02:59   There's a great talk about what's new in Cocoa Touch that talks about a whole variety of

00:03:05   kind of subtle performance and user experience and responsiveness changes that they've been

00:03:11   making in UIKit, some of which we kind of get for free, some of which we have to work

00:03:14   for.

00:03:15   But in general, there's a bunch of just baseline performance.

00:03:19   Things got a little bit better.

00:03:21   But if you do nothing, your app's going to be fine kind of things, which in some ways

00:03:25   is nice.

00:03:26   I like having the opportunity to do that.

00:03:27   But at the same time, it's always a little...

00:03:31   I think we always just want more changes, then it's probably good for us in some ways,

00:03:36   just because it's kind of fun and exciting.

00:03:38   But the main marquee change this year is just not much changed.

00:03:42   Let's all just make our apps collectively a bit better.

00:03:45   Yeah, because every year there could be big flashy new user features, and sometimes there

00:03:51   are.

00:03:52   Usually there are.

00:03:53   But there's also usually stuff under the hood that is something that would not even necessarily

00:03:58   make the keynote and might be mentioned very quickly in the State of the Union.

00:04:03   But things that just make our lives easier.

00:04:05   Things like improvements to UIKit, stuff that most of us use for pretty much any kind of

00:04:10   application or special new ways to do basic things like view controllers.

00:04:17   When things like child view controllers, different transition types, auto layout, when all those

00:04:20   things came out, that was a big deal for everyone.

00:04:23   And as time goes on, as iOS has matured, it's gotten more and more specialized.

00:04:28   And there are fewer of those better for everyone kind of improvements that come up every year.

00:04:34   And over the last couple of years we've had narrower and narrower things like SiriKit

00:04:40   Intents, the first version of it, that could only benefit seven different types of apps,

00:04:44   stuff like that.

00:04:45   And the rate of new things that benefited all of us seems to have definitely gone down.

00:04:50   And this year seems like just a continuation of that.

00:04:54   I'm a little biased because I have a lot to do with this year's changes, although not

00:04:59   even that much on the iOS side, much more on watchOS, which we'll talk about next week.

00:05:02   But on the iOS side, there's things like the Siri shortcuts, which are based on the

00:05:10   Intents API, so I keep getting those confused.

00:05:12   But Siri shortcuts are fairly limited.

00:05:15   I wish they could do more than what they actually can do.

00:05:20   And I hope they are the beginning of a story and not the end of one, because say next year,

00:05:26   if Siri shortcuts could do things like be parameterized the way they already are in

00:05:30   the API, but you just can't call them in a parameterized way.

00:05:34   You can't say like, make a shortcut to play X where the user can specify any value of

00:05:38   X from this dictionary of values.

00:05:41   There's nothing like that.

00:05:42   You know, they're all like kind of one by one, but hopefully that becomes a bigger thing

00:05:47   next year.

00:05:48   But I think at least this year we will have the beginning stuff like that.

00:05:51   But other than that, there's not that much to do with iOS 12 for most app developers

00:05:56   I know, or even for most app developers, period.

00:05:59   But as we mentioned last week, I kind of like that at least once.

00:06:04   I like that every so often because it gives us a chance to have like the eternal springtime

00:06:09   of cleanup, basically, to have like a year where we just make our apps better in ways

00:06:14   that aren't just trying to keep up with Apple's treadmill of new stuff and new releases.

00:06:19   And what's also nice about iOS 12 is it doesn't seem to break much, with the exception of

00:06:23   UI WebView, which is now deprecated, but still works.

00:06:27   You know, you should move off of that.

00:06:28   But like, with the exception of that, there's not that much that you really have to do for

00:06:33   iOS 12.

00:06:34   So it does leave a lot of room for people who don't make Apple Watch podcast apps to

00:06:39   have a whole summer of freedom.

00:06:41   Oh, sure, yeah, because so many of the big changes are increasingly so specialized.

00:06:49   Like the changes for the password system, so that you can now have this common shared

00:06:55   password management approach thing.

00:06:58   That's great if you're one password or one of the other password managers, but if you're

00:07:03   not, there's nothing related to that with you.

00:07:05   Or you can do navigation in CarPlay now.

00:07:08   Well, that's great if you make a navigation player or all the ARKit or core ML changes.

00:07:12   They're like, awesome, really cool technology, but it's so specialized rather than being

00:07:19   a sweeping change that would affect every app.

00:07:21   And so it's like you said, there's so many things that I think both of us are going to

00:07:25   have in some ways.

00:07:26   There's lots of things for us to work on this summer, but they're becoming so much more

00:07:32   isolated and specialized into a particular area, which in many ways, yes, I think is

00:07:36   quite nice.

00:07:37   I think there's some even improvements to the way they worked on some of the things

00:07:41   you can do now in notifications, for example.

00:07:45   So many of those changes are the kind of thing that if you don't adopt on day one, the default

00:07:50   behavior is going to be fine for you, probably, but you have the ability, should you want,

00:07:55   that you can now in notifications, you can have slightly more rich graphics and user

00:07:59   interactivity there.

00:08:00   You can do slightly more advanced and clever things with threading and for how the way

00:08:04   the notifications get grouped, the way the changes work for authorization where you can

00:08:12   send quiet notifications now without the user having to authorize them.

00:08:17   There's a variety of changes there that are kind of interesting and kind of cool in notifications,

00:08:22   but it's a kind of change that you don't have to do anything to start with.

00:08:27   It's not one of these things that if you don't update on day one, if you're not ready for

00:08:31   iOS 12, whatever it is, usually the third Wednesday in September is usually around when

00:08:37   it launches.

00:08:40   If you're not ready, it'll be fine.

00:08:42   And honestly, in some ways, even with the Siri shortcut stuff, which we can get into

00:08:47   a bit more detail, but what I love there is the first simple version of that is just piggybacked

00:08:53   right on top of the user activity API, which you may be already using right now if you

00:09:00   have a support handoff or any of the other kind of activity-based mechanisms.

00:09:05   It's all basically built around the same technology, so you almost kind of get it for free if you've

00:09:14   been doing that kind of work anyway.

00:09:16   So there's a lot of these things that are just like, "Okay, this is nice.

00:09:19   We can make the apps better."

00:09:21   And then we have some opportunities in terms of things like Siri shortcuts where if you

00:09:25   want to go full into that and you have an application where that makes sense, I think

00:09:30   there's a lot of apps where the Siri shortcut stuff really doesn't make much sense beyond

00:09:37   using it as kind of a sophisticated launcher, where maybe you want to launch an app into

00:09:42   a particular mode or a particular screen, but there may not necessarily be a lot of

00:09:48   deep integration for that where it would make sense, but nevertheless, it's a new little

00:09:52   sort of interface to plug into.

00:09:56   I'm a little skeptical, if I'm honest, though, about Siri shortcuts.

00:09:59   I find that I think they'll be useful for a small percentage of the population.

00:10:06   They'll be very useful and very well used, but for a large group of my user base, I don't

00:10:12   expect them to ever know that they're there or even would find a use for them, even if

00:10:18   they did know that they were there.

00:10:19   Yeah, I honestly probably won't be using them myself.

00:10:23   I see them more as a continuation of workflow and related apps.

00:10:29   So apps like Drafts or Editorial and Workflow, these are all iOS power user apps, basically,

00:10:37   that allow people to get a lot of work done on iOS or to automate things in various cool

00:10:42   ways, save some time.

00:10:44   And those are a community worth serving, but not all apps are going to be able to justify

00:10:49   having a whole bunch of effort put into that community because it might not be very big

00:10:52   for your app.

00:10:54   And so to me, supporting Siri shortcuts, I'm treating it-- when I'm trying to think of

00:10:59   my time budget for how much time I'm willing to spend on these kinds of features, I treat

00:11:04   Siri shortcuts, I think, the same way I would treat things like URL scheme support, but

00:11:08   a little bit more than that because it's more visible, or things like continuity support,

00:11:13   as you mentioned.

00:11:15   That kind of-- or handoff, rather, that kind of thing is worth a little bit of effort.

00:11:20   But it's not worth tons of effort because not a lot of people who use most apps are

00:11:24   going to actually use those features.

00:11:26   The good thing is it seems like-- I haven't actually implemented this API yet.

00:11:30   It's next on my to-do list.

00:11:31   But it seems like it doesn't actually take that much effort to implement Siri shortcuts.

00:11:37   So from that point of view, it should be like a URL scheme where it should be fairly easy

00:11:42   to implement.

00:11:43   I suppose the only thing that differentiates it and adds to the cost of implementing it

00:11:48   is that it needs UI of sorts, right?

00:11:51   Or if you want it to be good, it needs a button somewhere on various parts of your interface

00:11:55   that says add to Siri, right?

00:11:58   There's two types of shortcuts that you can add to your app.

00:12:01   So the simple one is just the NSUserActivity-based shortcuts, which are functionally just like

00:12:08   what you're doing now.

00:12:09   You just need to set a flag to true that says this can be a part of this mechanism.

00:12:13   And those are just launching your app with a continue activity into your AppDelegate

00:12:19   call.

00:12:20   So there's nothing really that you would have to do there.

00:12:23   It's only if you want to add the intent-based, more dynamic one that you would need to add

00:12:29   the other additional logic to your app.

00:12:32   You add an extension handler.

00:12:34   You can add a button into your app to add the command phrase to it, but you don't have

00:12:41   to do any of those types of things unless you have a kind of -- those typically only

00:12:45   make sense in a situation where there's a background handler for the user action that

00:12:52   would make sense.

00:12:53   So if you're -- in the example they always like to give of ordering a coffee or something

00:12:57   like that where you don't have to launch the app in order to do that, that's when I think

00:13:02   those other more robust things come into play.

00:13:04   But I could imagine, for example, in Overcast that, say, every time I hit play in the app,

00:13:11   it had a user activity object that said like -- that indicated that I had just started

00:13:17   listening to a podcast.

00:13:19   In theory, if I listen to podcasts on a regular basis or in a particular place or whatever,

00:13:25   in theory the relevance API or engine that they're using should detect that and say,

00:13:30   "Oh, wow, it seems like every morning at 7 o'clock you open your phone and go to Overcast

00:13:38   and hit play."

00:13:40   And in theory, it should be able to surface that to the user at that point and say, "On

00:13:44   my lock screen," or if I pull down into the spotlight area on my phone, that I could have

00:13:52   a button that just says "Continue playback," basically, even involving Siri and the voice

00:13:59   control part of that, just the Siri as the smart assistant part, which it gets so confusing

00:14:06   that they smush everything together and call it Siri, even though I think most people think

00:14:11   of Siri as the voice command persona inside of the phone.

00:14:17   So that's the side of things that I think for a lot of apps, if that relevance engine

00:14:20   is actually really good, and of course people have to have predictable behavior, then those

00:14:26   kind of basic, it's just a super advanced launcher, is potentially just a nice little

00:14:31   acceleration for people.

00:14:33   But the more sophisticated stuff I think is going to be much more isolated in terms of

00:14:38   real utility, because I could sort of see the thought, even though you're an example

00:14:43   of "You can order a coffee," but really?

00:14:45   Is that how someone's going to order a coffee?

00:14:48   How many people's order is going to be exactly the same at the same time, and are they going

00:14:53   to feel comfortable with doing it that way?

00:14:55   I don't know.

00:14:56   I'm skeptical, but maybe I'm just skeptical because it's not a thing that's for me.

00:15:05   And all features certainly don't need to be for me.

00:15:07   So I support them even if I don't think I would use them myself.

00:15:10   We are brought to you this week by NS Screencast.

00:15:13   NS Screencast features quality video screencasts on Swift, iOS, and Mac development.

00:15:18   They cover a wide range of topics from beginner to advanced skill levels.

00:15:22   There are currently over 340 episodes and more being added all the time.

00:15:27   Every week with NS Screencast you will find a new fantastically produced episode that

00:15:32   will help you build and enhance your development skills.

00:15:34   On the short videos you can learn a lot over time without a huge time commitment.

00:15:38   You'll be able to learn new things even if you've been doing this for a while like us,

00:15:42   like in the latest series where you'll be learning about testing iOS applications, which

00:15:46   is something that a lot of my friends tell me I need to do.

00:15:50   So as well as watching NS Screencast videos on the web, they also have apps for iPhone,

00:15:54   iPad, and even Apple TV.

00:15:56   So you can watch them whenever and wherever you have time.

00:15:59   NS Screencast costs just $18 per month or $168 for the year and it's great for your

00:16:04   team too.

00:16:05   So take advantage of their team pricing if you can.

00:16:08   As listeners of this show, you can get 30% off your first month by signing up at NSScreencast.com/Radar18.

00:16:16   And that works whether you opt for the monthly or the annual plan.

00:16:19   So invest in yourself or your team.

00:16:22   Head to NSScreencast.com/Radar18 now.

00:16:26   Thank you so much to NS Screencast for their support of this show.

00:16:30   So since iOS 12 is in some ways kind of thin, honestly that's probably about all there

00:16:35   is to say about it.

00:16:36   We'll have a summer of doing performance tweaks, maybe making some serious shortcuts,

00:16:41   maybe enhancing our notifications.

00:16:43   But for most people, that will kind of be it.

00:16:46   The other thing that I think we should probably talk about is they dropped a mountain of iOS

00:16:52   app review guideline changes along with W3C this year.

00:16:57   Some of them are just sort of clarifications.

00:16:59   Some of them are a bit more specific.

00:17:01   But overall, it's certainly something that I think is worth mentioning.

00:17:05   I'll have a link in the show notes to a great YouTube resource, which is the App Store

00:17:10   Review Guidelines History.com, which is just a website that someone kind of curates the

00:17:14   changes and runs nice, pretty diffs of the changes rather than just like a textual diff

00:17:19   that try and actually interpret what's changing and highlight some of the important things.

00:17:24   So the first place to start I think is there's made a couple of changes to kind of metadata

00:17:28   stuff.

00:17:29   This is related to what is now App Store Connect, which is going to take me forever to actually

00:17:32   switch over from iTunes Connect.

00:17:35   Everything is now App Store Connect, which, great, that makes a lot more sense.

00:17:39   But anyway, that's the change.

00:17:41   But the two metadata changes that I saw in there is that every app must include a privacy

00:17:45   policy now.

00:17:47   And it must also be available within, linked to from inside of the app.

00:17:53   So this is across the board.

00:17:54   Previously, I believe this only applied to health and fit health related apps were required

00:17:58   to have a privacy policy.

00:18:00   Also anything with auto renewing subscriptions.

00:18:01   Oh, sure.

00:18:02   Okay.

00:18:03   So there were two categories now.

00:18:04   And I believe now the changes, everybody's got to have one.

00:18:07   And this doesn't necessarily come as a surprise with all the GDPR changes and privacy as general

00:18:12   as a big theme for Apple.

00:18:14   But it's certainly something that I'm sure we're going to see a lot of rejections for

00:18:18   this summer as people don't notice that, submit their app, get rejected back from Apple saying

00:18:24   that you need a privacy policy.

00:18:25   So if you don't have one, you're going to need to write one.

00:18:28   And if you do, you just need to make sure that you have a link to it in the app as well

00:18:32   as in the metadata field in App Store Connect as well.

00:18:35   Yeah.

00:18:36   I mean, in this day and age, especially with GDPR, I think at this point, you should all

00:18:40   have privacy policies for all the apps and services that you have.

00:18:45   If you've never done one before, it sounds intimidating or it sounds like something that

00:18:49   only companies can or should do.

00:18:52   But not only is the latter point no longer true if it ever was, but you shouldn't look

00:18:58   at it as this impossible thing that you have to have a team of lawyers write for you and

00:19:03   cost a fortune and everything else.

00:19:05   You should consider having a lawyer look at it, but you can write it yourself if you look

00:19:11   at other privacy policies, look up the requirements, the current legal requirements and various

00:19:17   jurisdictions for what privacy policies have to or should include, and just kind of use

00:19:21   other ones as a guide and then look at your app.

00:19:24   If you are an indie, you probably know what it does and what it doesn't collect and actually

00:19:31   codify.

00:19:32   Your privacy policy has to be correct.

00:19:33   It is a legally binding document of sorts.

00:19:38   You can't lie in it, so you have to tell everything you do.

00:19:41   This might give you a reason, if you haven't already audited your stuff for GDPR compliance,

00:19:46   this could give you a reason to really look through and figure out, "Is there any information

00:19:50   I'm collecting that I don't need or that I can get away without?"

00:19:53   Things like that.

00:19:55   Just write it as clearly and concisely as you can while hitting all the requirements.

00:20:00   A, your users will thank you, and B, it isn't as hard as it sounds.

00:20:07   I think it's a good thing in general.

00:20:10   I would recommend that developers write it themselves.

00:20:13   I think that is better in a lot of ways because it enforces you to understand what it is that

00:20:21   you're publicly saying that you're doing.

00:20:24   I personally appreciate, as a user, a privacy policy that is clearly written by a person

00:20:31   rather than a lawyer because there's a certain degree to which it's that much easier to

00:20:36   understand.

00:20:37   In many ways, the point of a privacy policy is just to communicate with your user what

00:20:41   data you collect and how that data is used.

00:20:45   The clearer that communication can be is certainly the better.

00:20:50   It doesn't hurt either to look at what other people have in theirs because there might

00:20:53   be information that you're inadvertently collecting that you didn't even think about,

00:20:57   really.

00:20:58   Things like what your web server logs store.

00:21:00   Things like user agents or IP addresses.

00:21:03   Things like storing cookies in people's computers for logins.

00:21:08   When they email you for support, you store that email.

00:21:11   Therefore, you have their email address and you can use it to do things like reply to

00:21:16   their support email.

00:21:18   Stuff that you might not think about.

00:21:19   Check out other privacy policies.

00:21:21   I give you full permission to copy whatever you want out of mine under the condition that

00:21:25   if a lawyer tells you some part of it is horrible or wrong or missing, let me know.

00:21:28   That seems like pretty good advice.

00:21:30   I think I've certainly learned a few things from your privacy policy.

00:21:32   I've always thought it was very well written.

00:21:36   Another change related to metadata that is kind of interesting is they've changed the

00:21:40   wording around the change log part of our app.

00:21:44   Another quote from section 2.3.12 that apps must clearly describe new features and product

00:21:50   changes in their what's new text.

00:21:52   Simple bug fixes, security updates, and performance improvements may rely on a generic description,

00:21:57   but more significant changes must be listed in the notes.

00:21:59   Which I think is kind of an interesting change, both in terms of it is encouraging you to

00:22:06   be specific to your user.

00:22:07   And then also in the back of my mind, I read that as almost like they're trying to curtail

00:22:12   A/B testing related types of things.

00:22:16   It sounds in some ways as though what they're talking about, they're saying that any significant

00:22:20   change must be listed in the what's new as a tool for them to avoid the thing where an

00:22:26   app that is, say you're the Twitter app, which as best I understand, does a lot of this,

00:22:31   where they roll out different features and different modes and the app is wildly dynamic

00:22:38   depending on which all their A/B testing system says the app should behave.

00:22:44   I don't know if that's what they're going after this, but either way, I think we've talked

00:22:49   many times on this show about your change notes are a rare opportunity for you to communicate

00:22:55   with your user, so take advantage of that and write something useful and interesting

00:22:59   there.

00:23:00   But I think it's interesting to see that Apple is calling that out specifically now as something

00:23:04   that they want you to be specific in.

00:23:06   Yeah, I mean it's easy to look at this and say like, "Yeah, this is probably aimed at

00:23:11   the Twitters and the Facebooks and the Instagrams of the world," but ultimately are they going

00:23:15   to really follow this?

00:23:16   I doubt it.

00:23:17   Are you really going to see a guideline?

00:23:20   And obviously the reason for this is Apple wants them to be more accountable and they

00:23:23   want a record.

00:23:25   Part of Apple clamping down on this kind of stuff is probably Apple recognizing its own

00:23:29   GDPR liability and recognizing that their platform enables a bunch of other third-party

00:23:34   apps that they don't have control over, and that might become a problem for them down

00:23:38   the road if these other apps are shown to be violating people's privacy or anything.

00:23:46   Some of the fallout from that could hit Apple on the way.

00:23:49   So Apple needs to do things like make sure that they have rules against third-party data

00:23:55   giving, stuff like that, but also they want to know that they have a record of what you've

00:23:59   changed in your app.

00:24:00   And you can't edit the change log fields after the app has been approved.

00:24:05   So what this is basically asking for people to do is to give Apple a real record of things

00:24:10   that have changed in your app.

00:24:12   Not just to say, "But we're always improving our app.

00:24:15   Check back every two weeks."

00:24:16   Not just to say, "Go to this external URL that we host on our site that Apple doesn't

00:24:20   control and we'll tell you what we changed," which no one does.

00:24:25   Apple wants a record of that, but again, I see this as being probably largely unenforced

00:24:31   against the apps and companies that are the biggest offenders.

00:24:34   I can't see how they're going to possibly enforce this.

00:24:36   Sure.

00:24:37   I mean, I think in general it's probably good to say with these kind of discussions on App

00:24:40   Review Guidelines is I think there's a strange tension around enforcement and these kind

00:24:46   of rules where I think Apple's intention might certainly be to overall to affect change,

00:24:53   maybe not necessarily at a 100% level, that I think enforcement absolutely across every

00:25:00   application is probably impossible for both practical, logistical, and then political

00:25:06   reasons in terms of the relationship they have with larger apps or those types of situations.

00:25:12   But I think their goal, my guess is, there's quite a lot of changes that happened this

00:25:16   year and I think my guess is they're trying to course correct the App Store slightly and

00:25:22   push it in a slightly different direction, and they don't have to enforce these rules

00:25:26   completely or absolutely to affect that correction, that they can make a change that sort of steered

00:25:33   the App Store in a slightly different direction just by the way they're both writing it in

00:25:37   here, by doing enforcement, especially against egregious cases, and those types of things

00:25:43   will start to move the App Store in a slightly different direction.

00:25:47   I think that's something that is always just good to keep in mind. The Review Guidelines

00:25:52   are always just guidelines, they're not like this very specific black and white text, and

00:25:58   usually because there's an element of discretion involved that what I think is a simple bug

00:26:06   fix you might think of as a significant change, and that could be just an area of honest agreement,

00:26:13   of disagreement, so who knows?

00:26:16   Another change that I think is interesting is for advertising-based applications, there's

00:26:20   now a requirement that users must be able to see all information that is being used

00:26:26   to target the ad that they are being shown, and they need to be able to view that information

00:26:31   without leaving the app.

00:26:33   That's a big thing.

00:26:34   Yeah, it's a pretty big thing, and honestly I'm quite curious to see how this actually

00:26:38   rolls out, because as far as I know, none of the major advertising platforms include

00:26:43   the ability to do this now, so most people who rely, including myself, I use Google's

00:26:48   AdMob platform for my advertising, until they add this to their SDK, then I can't really

00:26:54   support it, so I'm not entirely sure if this is going to be something where this requirement

00:26:59   isn't enforced right away, or is gradually enforced, or you get a warning, or exactly

00:27:05   how this will play out, because it would be quite a catastrophic change if it's starting

00:27:13   tomorrow, Apple said, every app that was advertising must do this, because all of the ad-supported

00:27:20   apps in the store are reliant on the SDKs that they include in their apps, so until

00:27:24   those all get updated, they can't really go there, but nevertheless, I think it is certainly

00:27:28   an admirable goal for Apple to try and surface this information to their customers, and I

00:27:35   think broadly that seems like a theme, that they're trying to surface privacy and permission-based

00:27:40   stuff more specifically and explicitly to customers, so that they're able to make more

00:27:46   informed decisions and choices, as well as to hopefully also dissuade people from being

00:27:52   too creepy or doing stuff that the users may not like, because it's different if you're

00:28:00   able to do it in a more quiet, hidden way than if you're specifically required to show

00:28:06   that information to your user.

00:28:09   All right, closing out the iOS and general section for the summer, what do you think

00:28:14   is the very first thing that you are going to do for iOS this summer?

00:28:20   I think the biggest thing for iOS for me is just going to be doing a basic pass of the

00:28:24   simple Siri shortcuts stuff.

00:28:26   I think that is the default thing that everybody should do this summer, is just go through

00:28:31   if there's going to be a few key moments in your application that would make sense to

00:28:36   plug into the Siri shortcuts thing.

00:28:39   Go ahead and do that.

00:28:40   And then I think it's wise probably to see how the fall shakes out before you necessarily

00:28:45   go whole hog into the rest of the shortcut stuff.

00:28:48   But at the very least, do that.

00:28:49   It should take you like half a day to do probably for most people, and then you can just kind

00:28:53   of have it in the app, it be available, and if people start loving it, then you can enhance

00:28:58   that.

00:28:59   And if they don't, you can kind of move on.

00:29:00   What about you?

00:29:01   Pretty much the same thing.

00:29:03   I'm buried in WatchKit right now, which is what we're going to talk about next week,

00:29:06   but as soon as I'm done with that, which might be a while, I intend to tackle Siri shortcuts

00:29:12   and then start doing things like AirPlay 2 and maybe a visual refresh of some sorts.

00:29:16   But we'll see.

00:29:17   Those are both large undertakings that are not a high priority right now.

00:29:22   So most likely we'll finish WatchKit for a long time.

00:29:26   So we'll talk about that next week.

00:29:29   And I guess that's it for this week.

00:29:30   So tune in next week for our wonderful WatchKit discussion, and we'll talk to you then.

00:29:35   Bye.

00:29:35   [BLANK_AUDIO]