Under the Radar

82: WWDC Wish List


00:00:00   - Welcome to Under the Radar,

00:00:01   a show about independent iOS app development.

00:00:04   I'm Marco Arment.

00:00:05   - And I'm David Smith.

00:00:06   Under the Radar is never longer than 30 minutes,

00:00:08   so let's get started.

00:00:10   - So in a few days is the WWDC 2017 keynote,

00:00:14   followed by a week of sessions,

00:00:16   and we are gonna learn all sorts of new stuff.

00:00:18   It is very likely that we will get announcements

00:00:22   of basically the next major versions of all the Apple OSs.

00:00:26   We're gonna have iOS, macOS, WatchOS,

00:00:29   maybe even tvOS if they remember that that's a product,

00:00:31   and it's probably all gonna dominate our summertime,

00:00:35   and probably for release in the fall,

00:00:37   so that we're all gonna have the typical Apple

00:00:40   summer season as a developer.

00:00:42   And I'm looking forward to this.

00:00:44   From the little bits and pieces of rumors here and there,

00:00:47   it seems like there's a good chance

00:00:48   of this being a pretty big year,

00:00:50   and I think we're gonna spend this episode

00:00:53   talking about kind of, you know,

00:00:55   not necessarily predictions,

00:00:56   but kind of just things that we want out of,

00:01:00   out of these new releases from a developer point of view.

00:01:03   Does that sound good?

00:01:04   - Yeah, 'cause I mean, it is,

00:01:07   I always go into WWDC week with like,

00:01:10   this interesting combination of excitement and terror.

00:01:13   Because on the one hand, it's exciting as a developer to,

00:01:18   this is the time when in general,

00:01:21   all the new stuff comes out,

00:01:22   and it's certainly the time when the most new stuff comes out.

00:01:24   Recently they've gotten into a pattern

00:01:26   where there's some new stuff, maybe,

00:01:29   in like early part of the year, like February or so,

00:01:32   but mostly this is it.

00:01:34   And this in some ways dictates the trajectory

00:01:38   that my apps will go on for the next year at least.

00:01:43   And so it's exciting, but it's also a bit terrifying

00:01:45   'cause who knows what's gonna come out?

00:01:48   Are we gonna have some big,

00:01:51   it's like one of these new features or design overhauls

00:01:54   or something where there's a tremendous amount

00:01:55   of busy work that I need to do this summer

00:01:57   to just update all my apps to do something new

00:02:00   that's now like the new way to do it?

00:02:02   Or is there gonna be some new opportunities, some new,

00:02:05   a lot of my business is built around the fact that

00:02:08   Apple sometimes introduces new APIs

00:02:10   that create opportunities.

00:02:12   And should I be spending my whole summer

00:02:14   diving into getting those done?

00:02:16   So it's like, there's a bit of attention there,

00:02:18   but it's the overall I'm excited.

00:02:20   I'm really looking forward to going to San Jose next week

00:02:23   and to just seeing what Apple has in store.

00:02:27   'Cause it's always a good show at the very least.

00:02:28   Like I always enjoy the actual process of discovering this,

00:02:32   whether or not it ends up making my summer nice

00:02:34   or not so nice.

00:02:36   - So what is, I mean, I guess we could probably do

00:02:40   a little bit unstructured here 'cause who knows

00:02:42   what there's gonna be exactly.

00:02:43   What's like the biggest thing you're expecting

00:02:45   to be different this year or to be announced

00:02:48   for a developer point of view?

00:02:50   - I mean, it seems like the big areas that are being rumored

00:02:55   to be talked about are around the SiriKit stuff

00:02:58   and around, I would say productivity stuff generally,

00:03:03   especially on the iPad.

00:03:05   - Sounds about right.

00:03:06   - Like those things seems to be like, those are gonna be the,

00:03:08   if I had to guess, the broad themes of WWDC

00:03:12   'cause there's often kind of a theme.

00:03:14   And sometimes there's a like a marketing theme,

00:03:17   something that you'll see in the morning.

00:03:19   And sometimes there's a technical theme

00:03:21   that you'll see in the afternoon,

00:03:23   like in the state of the union keynote,

00:03:26   like the thing that they sort of start to move

00:03:28   and focus on.

00:03:28   Like I'm remembering there was the one year

00:03:31   there was the technical theme.

00:03:32   It was all about flexible layout and surprise, surprise,

00:03:36   we got different size iPhones that fall.

00:03:39   So often there's this kind of this undercurrent

00:03:41   on the technical side that I was trying to keep an eye on.

00:03:43   But I think the two overarching features

00:03:45   that we're gonna be kind of hit with a lot

00:03:48   are gonna be, you know, Siri kit stuff,

00:03:50   and then iPad stuff and productivity stuff generally,

00:03:54   like trying to kind of hit that stuff.

00:03:56   'Cause it seems like both of those things are the areas

00:03:59   where there's the most overdue opportunities.

00:04:02   Like there's lots of things that Apple could do.

00:04:04   Like there's always these APIs and these things

00:04:06   that I'm sure they could introduce and push forward with.

00:04:09   But I think those are the areas where what they don't have

00:04:12   now feels like a hole,

00:04:16   like something they need to fill back in and to catch up.

00:04:19   And so I would expect that that's where they've been putting

00:04:22   the majority of their efforts for the last year or so.

00:04:25   - Yeah, I would, I mean, just selfishly,

00:04:28   as the developer of Overcast,

00:04:29   I would love for them to add more Siri kit intents,

00:04:34   because chances are one of the ones they would add

00:04:37   would probably be some kind of audio library app

00:04:40   kind of thing so that you could have,

00:04:42   so you could say things like, hey, name of assistant,

00:04:46   play the latest episode of Under the Radar in Overcast,

00:04:50   and have it actually be able to send my app

00:04:52   that command in a structured fashion,

00:04:54   and have my app be able to expose its catalog

00:04:56   in such a way that it can do the recognition for me

00:04:59   and say exactly which show or exactly which episode

00:05:01   should be played.

00:05:03   But that's a lot to build.

00:05:04   And so it makes a lot of sense why that wasn't there

00:05:07   last year in kind of like the 1.0 version

00:05:09   of these features.

00:05:10   But that's something that I really would expect

00:05:13   to be added pretty far up the priority list,

00:05:17   so probably this year,

00:05:18   because it's a very, very demanded thing.

00:05:21   It is possible, as we speculated a little bit last year,

00:05:24   that maybe Apple intentionally didn't wanna do that

00:05:27   because they wanted to protect and boost Apple Music

00:05:30   and give it exclusive Siri access,

00:05:33   but I think that's less likely than the other explanation,

00:05:36   which is they probably just didn't have time to do it yet.

00:05:38   So we'll see what happens this year.

00:05:40   But if that happens, that's a game changer,

00:05:42   because basically, SiriKit is really, really cool

00:05:47   for like seven kinds of apps.

00:05:49   And if your app does not do one of those seven things,

00:05:52   you have nothing that you can do with SiriKit.

00:05:55   So I'm hoping that any broadening of SiriKit

00:05:58   is potentially great for lots of people,

00:06:01   anything that can expand it to more types of apps,

00:06:04   whether it's my app specifically or any others.

00:06:08   I just want to see movement there.

00:06:10   I want it to not just be a thing

00:06:11   that they release once and then never expand again.

00:06:14   I want this to be like every year,

00:06:16   there's some kind of new SiriKit availability

00:06:19   or new intent types that make this thing more useful

00:06:23   for more kinds of apps.

00:06:24   And I think that's very likely to be the case.

00:06:26   - Yeah, and I think, I also am curious to see

00:06:29   if they continue down the path of the way

00:06:33   they structured the intent system in iOS 10,

00:06:38   where it's very rigid and prescribed.

00:06:43   You can do these following things.

00:06:45   And what's awkward with that,

00:06:47   and what I kind of want, I'm curious to see

00:06:49   with how they handle it, is if they expand that massively,

00:06:53   the number of constants that SiriKit is going to have,

00:06:58   do we just kind of seem like it might get out of control?

00:07:00   Like if it's not this just sort of general purpose thing

00:07:06   that you have to specifically, it's like you have

00:07:08   these categories and subcategories,

00:07:11   and it gets very structured.

00:07:12   I mean, they can do that.

00:07:13   I mean, it reminds me in some ways of HealthKit,

00:07:15   where they have just hundreds of different sample types

00:07:19   and details that you can set on everything,

00:07:22   and it kind of works there.

00:07:24   But with SiriKit, I wonder if that's where they would go,

00:07:27   'cause it seems slightly unwieldy and kind of limiting.

00:07:30   But I also, on the flip side, I also think of things like,

00:07:33   for example, if they will head down the road

00:07:36   of doing things in a slightly more OS-driven approach,

00:07:41   I could also see.

00:07:44   Like, for example, Overcast integrates currently

00:07:47   with CarPlay, which means that it exposes its catalog

00:07:52   in a machine-readable format to the phone,

00:07:57   and CarPlay gives you commands in and out

00:08:00   in order to control it.

00:08:02   And I start to wonder if they'll have,

00:08:04   that's a slightly different approach to taking that thing.

00:08:06   And if you implement CarPlay, you could integrate

00:08:10   with SiriKit, because theoretically,

00:08:12   that information is available to it.

00:08:14   And so I wonder if they'll,

00:08:15   it takes this slightly different approach

00:08:17   rather than pushing all of those details of like,

00:08:20   what can Overcast do?

00:08:21   It's like, well, it has an intent for playing.

00:08:23   Does it need to have a separate intent for pausing,

00:08:26   for next, for adjusting speeds?

00:08:30   How detailed are they going to go into that?

00:08:33   Just in the SiriKit side versus, you know,

00:08:35   plugging in other places.

00:08:37   And, you know, I don't know.

00:08:39   I've played around a little bit with SiriKit.

00:08:42   I have an integration in Panometer++

00:08:44   where you can use it to start a walking workout

00:08:48   on an Apple Watch, which was one of the few intents that,

00:08:52   like, of all the intents that were possible,

00:08:53   that was one of the main ones that I could do.

00:08:57   I don't know if that's used very much.

00:08:59   I think the biggest struggle I have with Siri in general

00:09:02   and with SiriKit is Siri itself needs to be such a,

00:09:07   would need, at least for my own use,

00:09:10   you would need to be a more fundamental part

00:09:13   of how I interact with my iOS devices

00:09:15   or my Apple ecosystem generally for it to make sense.

00:09:19   'Cause right now it's much easier for me

00:09:22   to just raise my wrist, tap the complication,

00:09:24   and then tap start walk.

00:09:26   Like, that's much more straightforward

00:09:28   and is going to work every time.

00:09:30   So my hope is that if they're going to go down the road

00:09:33   of expanding SiriKit, that they are,

00:09:35   you know, it has to, I think, be, you know,

00:09:38   come along with much broader improvements to Siri in general

00:09:43   to make it a place that we're hanging out

00:09:45   so that interacting with apps in there makes sense as well.

00:09:48   Or if it doesn't, we'll just sort of end up

00:09:50   with the iMessage app situation where it's like,

00:09:53   there's this thing and it's theoretically very powerful,

00:09:56   but in practical use, it's not very widely used.

00:10:01   And so, you know, as a developer,

00:10:03   putting much time and effort into it,

00:10:05   like I made a couple iMessage apps when it first launched,

00:10:08   I don't think I'm going to be probably putting

00:10:11   a lot more work into there.

00:10:11   'Cause I don't hear from a lot of customers

00:10:13   that they like use it or have feature requests or issues.

00:10:17   And even in my analytics, like they're not used too much.

00:10:19   And so if Siri ended up going down that same road,

00:10:22   like that would be kind of disappointing

00:10:23   and a little like frustrating to have this new capability,

00:10:27   but it's in this place that no one goes

00:10:30   because it's awkward or they don't know how to do it

00:10:33   or it doesn't work often enough to be reliable.

00:10:37   - Because that's always the big unknown

00:10:39   whenever Apple releases some kind of brand new territory

00:10:43   or brand new type of thing you can do,

00:10:44   or brand new app store.

00:10:46   You never really know, and they don't even really know,

00:10:48   like is this gonna be a thing or not?

00:10:51   You know, I think early on there was an assumption

00:10:53   that a brand new app store would always be a thing

00:10:55   because the early ones were pretty big

00:10:57   'cause there was all this pent up demand

00:10:58   and a lot of low hanging fruit.

00:11:00   And then over time as they've broadened

00:11:02   and they've made a lot more specialized capabilities

00:11:06   and specialized app stores and more specialized platforms

00:11:10   like the TV and the watch.

00:11:11   And then the last year they added the iMessage app store.

00:11:15   And I think what we've seen from a lot of these

00:11:17   is like yeah, well you know, when it launches

00:11:20   it's a big unknown, and then afterwards a lot of them

00:11:23   just kinda don't go very far.

00:11:25   Or they go far but only for very narrow app types.

00:11:29   Like on the TV you have video apps,

00:11:31   like video playback apps and you have basically

00:11:34   a handful of games that are decent on it.

00:11:36   But not much else.

00:11:37   Like when they demo these things they show

00:11:39   like oh here's a real estate app and a shopping app

00:11:42   and all these different things that you can do on your TV.

00:11:44   But then most people don't actually do those things.

00:11:46   Same thing with messages where like

00:11:48   you can make a really complex advanced app for iMessage

00:11:53   but most people aren't doing that,

00:11:55   most people aren't using those,

00:11:57   and most people aren't finding those or looking for those.

00:12:00   Most people are just using the built in stuff

00:12:02   and maybe some stickers.

00:12:04   And so it's, but you don't know that when they launch it.

00:12:08   You kinda have to take a risk with some of these

00:12:09   new categories because as we talked about before

00:12:12   there is potential upside if you bet on the right horse

00:12:16   and like if they open up something new

00:12:19   that ends up being awesome and really taking off.

00:12:21   And if you're there early you have a huge advantage.

00:12:24   And so to kinda move this on a little bit

00:12:25   one thing that I'm a little bit excited about tentatively

00:12:29   is that over the last couple of releases they've added,

00:12:34   in each OS they've added like extremely specialized

00:12:39   extension types that basically make sense for like one app

00:12:42   or one kind of app and nothing else.

00:12:44   So this would be things like the Safari content blocker

00:12:47   extension or what they introduced last year,

00:12:50   phone call blocking extensions.

00:12:52   And what this enables is basically like,

00:12:54   it's like these high-special settings,

00:12:56   they enable like one kind of app

00:12:58   but those one kinds of apps are usually like game changers

00:13:02   for certain people who need that.

00:13:03   Like I was having a huge robocall spam problem

00:13:07   like phone call spam, it's getting out of control

00:13:10   in recent years for a lot of people

00:13:11   and it was hitting me hard.

00:13:13   And ever since call blocking extensions came out last year

00:13:16   I've had a massive weapon against this.

00:13:18   Similarly like the content blockers before that,

00:13:20   like before Safari content blockers,

00:13:23   you know my whole peace drama aside,

00:13:25   before content blockers there was no good way

00:13:28   to control ads or privacy or data usage in mobile Safari.

00:13:33   And with one extension point that they made

00:13:36   that then became possible and actually fairly easy to do.

00:13:39   So kind of unspecifically what I'm looking forward

00:13:43   to this year is to just see like what other kinds

00:13:45   of weird little extensions are they going

00:13:46   to add to the system.

00:13:48   Because those always enable new kinds of apps

00:13:51   or brand new types of features and apps

00:13:53   that you could never do before

00:13:54   and that's always exciting to me.

00:13:55   - Yeah, I mean I always love playing the game

00:13:59   of trying to guess what those things are.

00:14:01   And I think one thing that I was thinking about recently

00:14:03   is it seemed kind of odd that Apple is never into,

00:14:07   I mean it's not odd but it's no worthy

00:14:10   that Apple has never done any integrations

00:14:12   with the mail app on the iPhone.

00:14:16   - It doesn't even use the share sheet yet.

00:14:18   - Yeah, it's very locked in.

00:14:19   And like understandably in a lot of ways

00:14:21   that like letting a third party app have access

00:14:24   to your email is a complicated thing.

00:14:27   I mean obviously at the same time it's like people,

00:14:29   you give your third party apps access to all of your photos

00:14:34   which are in some ways just as personal.

00:14:37   - Or all of your phone calls or all

00:14:39   of your web browsing activity.

00:14:41   And the way Apple, Apple designs these extension points

00:14:44   to protect people's privacy.

00:14:46   Like a call blocking extension is not notified

00:14:48   on every call it receives.

00:14:50   All it does is provide Apple a block list

00:14:53   when it's asked to and then Apple actually enforces it.

00:14:56   Same thing with Safari content blockers

00:14:58   where the content blocker is not itself getting a feed

00:15:02   of all the URLs you're visiting

00:15:04   and returning yes or no on all of them.

00:15:06   It is again simply supplying like block patterns

00:15:08   and a block list and the system

00:15:10   is doing the enforcement for it.

00:15:11   So it has no insight into your activity.

00:15:13   So if they wanted to do something with mail extensions,

00:15:15   which I love that idea, they could do things more like that

00:15:19   where what you can do as the extension provider

00:15:23   is limited in a way that protects user privacy very well.

00:15:28   - Yeah, 'cause I doubt we would end up with something

00:15:30   that's like the mail kit that's the equivalent

00:15:33   of like PhotoKit or something where you can completely,

00:15:38   you can read all of someone's email,

00:15:40   you can send emails on their behalf.

00:15:42   Like they've created APIs for that for other content types,

00:15:45   but like email seems a little much.

00:15:49   And of course, as a result,

00:15:50   all of the third-party email apps on iPhones,

00:15:52   you know, they all need all your credentials

00:15:54   and information and like there's a whole other issue there

00:15:58   potentially, but it's an area certainly

00:16:00   that I think that I could see them going into.

00:16:03   And in some ways it speaks to the maturity of the platform

00:16:06   that there aren't that many other areas

00:16:08   that I can think of that are sort of the like

00:16:11   obvious new extension points.

00:16:13   Like they've done a really, I mean, it's kind of crazy

00:16:16   if you just for fun go into Xcode

00:16:18   and open like the ad extension panel in Xcode.

00:16:22   - It's so long now.

00:16:23   - It's so big, like there is so much stuff

00:16:26   that you can do in there.

00:16:27   - And there's stuff that like that you forget

00:16:28   that you can even do, like there's stuff

00:16:30   that they mentioned once in a keynote two years ago

00:16:33   and you forgot about it an hour later

00:16:35   and you get there like, oh wow, that's right,

00:16:36   I can build this thing, that's crazy.

00:16:39   - Oh sure, I mean it's crazy now even just like

00:16:41   when I build some of my apps, like the number of targets

00:16:44   that are included and you have to, I mean,

00:16:47   it's gotten a lot better but I've been dealing

00:16:49   with like code signing and things with these things

00:16:52   where now you have like six or seven different target things

00:16:56   that you need to deal with and manage and I mean,

00:16:58   in some ways you always hope that like maybe they'll do

00:17:01   something on the tooling side to improve that,

00:17:03   but overall I'd say this extension approach

00:17:07   that they've taken since whenever that, iOS 8 maybe,

00:17:12   whenever this came, like it seems like it's been a big win

00:17:16   in terms of they've created this mechanism

00:17:19   by which you can create logic and have it tie

00:17:23   into different parts of the OS in a way

00:17:26   that is fairly reliable, is fairly isolating

00:17:29   and doesn't require like your main app for example

00:17:33   to be running all the time in the background,

00:17:35   which I would expect would have battery life concerns.

00:17:40   You know, like you can add a widget to your app

00:17:43   that just sits there and it's only active

00:17:46   whenever the widgets are shown, but it doesn't necessarily,

00:17:50   you know, and it doesn't fire up your main process

00:17:52   and do all that kind of stuff.

00:17:53   Like you can build these really focused, detailed things

00:17:57   and yeah, so I mean I would expect and hope we would kind of

00:18:00   add a few more extension points, but it is funny to think

00:18:05   at what point like did they run out of those?

00:18:08   Do they run out of like the obvious

00:18:10   and impactful extension points?

00:18:13   And I mean I don't think we're there yet certainly,

00:18:16   but it is certainly something that, you know,

00:18:17   like iOS is turning 11 or whatever it is,

00:18:20   like it's getting old, it's, you know,

00:18:23   it's heading off to high school now.

00:18:24   It's well in its way to adolescence, so I mean,

00:18:28   maybe we'll have some awkward puberty kind of like

00:18:30   growing pains kind of situations, but--

00:18:32   - I think that was iOS 7.

00:18:33   - That was iOS 7 was its--

00:18:35   - It started early, but that was definitely

00:18:39   its awkward phase. - Yeah.

00:18:41   But it does feel like it's more mature.

00:18:44   I mean in some ways it reminds me of the Mac, right?

00:18:46   Like at what point does iOS have that kind of stability

00:18:50   in capability that, you know, the Mac has right now?

00:18:55   And, you know, I don't know if we're quite there yet,

00:18:58   but I think we're certainly getting closer to there.

00:19:00   - Yeah, we're certainly like closer to that

00:19:01   than to the beginning, you know?

00:19:03   But if they actually do the semi-rumored things

00:19:07   about, you know, promoting the use of files

00:19:10   and inter-app communication and data sharing,

00:19:12   kind of rethinking some of that file

00:19:13   and document model in iOS, that also could enable

00:19:17   all sorts of new types of apps and all sorts of advances

00:19:20   to existing apps, like that could be a huge change

00:19:22   to the OS, and especially from the user point of view,

00:19:26   and, you know, just even if we could do a certain thing

00:19:29   before, if it's now like way easier for people to do,

00:19:33   that alone can change markets and can change

00:19:36   what kind of apps people can practically make and sell

00:19:38   and survive from, so that is all very promising,

00:19:41   like if any of that stuff happens, but we'll see.

00:19:44   Anyway, we were sponsored this week by Dice.

00:19:46   Dice has been helping tech professionals

00:19:47   advance their careers for more than 20 years

00:19:50   with the tools and insights needed to give you an edge

00:19:53   when you're looking for a new job and managing your career.

00:19:55   The Dice Careers mobile app is the premier tool

00:19:58   to manage your tech career from anywhere.

00:20:01   With thousands of positions from top companies,

00:20:03   you will find exactly what you're looking for

00:20:05   with the Dice Careers mobile app,

00:20:06   and if you're wondering what's next in your career,

00:20:08   Dice's new career pathing tool can help you learn

00:20:11   about new roles based on your job title and skills,

00:20:14   and they can even show you which skills you will need

00:20:17   to make the next move, and the Dice Careers

00:20:19   market value calculator allows you to understand

00:20:21   what your skills are worth.

00:20:23   You can discover your market value

00:20:25   based not only on your job title and location,

00:20:27   but also your specific skillset.

00:20:30   So don't just look for a job,

00:20:31   manage your tech career with Dice.

00:20:34   Download the Dice mobile app and learn more

00:20:36   at dice.com/undertheradar.

00:20:39   Our thanks to Dice for sponsoring this show

00:20:42   and all of Relay FM.

00:20:43   So there's also, in addition to big things in iOS,

00:20:49   I'm also just kinda looking forward to the SDK changes.

00:20:53   Every year there's some kind of new SDK, new API,

00:20:57   new UI kit widgets and stuff that make things better

00:21:00   or easier or enable new uses,

00:21:02   and I'm always looking forward to this,

00:21:04   especially 'cause this year there is these rumblings

00:21:06   of a mid-level redesign happening system-wide,

00:21:10   and that usually comes with some cool new widgets

00:21:12   and stock controllers and things like that as well.

00:21:15   And the design trend that's in right now involves things,

00:21:20   and this is kinda what I tried to do with Overcast,

00:21:22   but involves things that kinda look like Apple Maps right now

00:21:24   where you have these sliding sheets

00:21:26   and everything's kinda curvy and everything's kinda like,

00:21:29   it slides up with depth but not translucency,

00:21:32   and it's kinda like moving around these swiping cards.

00:21:36   And doing this with stock UI kit now is a lot of manual work.

00:21:40   It's a lot of custom work.

00:21:41   And so if they are redesigning the OS to be more like that,

00:21:45   I would love to see SDK to basically make that stuff easy

00:21:50   and standard, to have like, this is now your UI card

00:21:54   controller or whatever they would call it,

00:21:56   and have stuff like that happen.

00:21:57   Because if you're designing an app today

00:22:00   that you want to feel new and modern,

00:22:02   that's the kind of stuff you have to do,

00:22:05   and if they build it in, it becomes way easier,

00:22:08   and it standardizes the implementation

00:22:10   so they all feel the same and they all work the same,

00:22:13   which is better for everybody.

00:22:14   So I'm very much looking forward to the potential of that.

00:22:18   - Yeah, and I think too, I always am hopeful for them

00:22:22   to find the areas that are these little pain points,

00:22:27   that these aren't things that would even,

00:22:29   that they're not gonna show up on the keynote,

00:22:31   they're not gonna show up even at the State of the Union.

00:22:33   Like these are just these little pain points

00:22:35   that they can alleviate.

00:22:38   In some ways it makes me think of,

00:22:40   some of my favorite changes are ones where I can remove

00:22:43   a third-party library or dependency from my app.

00:22:47   - Love that.

00:22:47   - And instead switch over to using theirs.

00:22:50   I think of things like a blocking progress HUD,

00:22:55   which is something that most apps at some point

00:22:58   need to integrate because you have some part of your app

00:23:01   where you need to say, you need to block the user

00:23:04   from doing things while you do some operation

00:23:06   that takes a little bit of time.

00:23:08   There is no built-in UI way to do that,

00:23:13   and so you end up with hundreds of different

00:23:15   third-party versions of that,

00:23:17   or you can build your own and add a hundred and first.

00:23:20   Or I think of things like all the wrappers that exist

00:23:25   around keychain access, and it makes me think like,

00:23:28   when are we gonna get just a nice clean interface

00:23:33   that's not based on all the old low-level C stuff

00:23:37   that we end up, 'cause ultimately,

00:23:39   I always just, the first one of my first includes is,

00:23:42   I include a wrapper for keychain because I'm gonna need

00:23:44   to store credentials and sensitive data somewhere,

00:23:49   and doing it the other way, it isn't so much that I can't,

00:23:52   it's that I worry about doing it wrong.

00:23:54   The whole point is that this is sensitive data

00:23:58   and I wanna do it properly, and so I end up using a wrapper.

00:24:01   It's like, I'd love to see little things like that,

00:24:03   these little bits of API that just make things better.

00:24:07   And then I think like you're saying,

00:24:09   if they have a direction they would like developers to head

00:24:14   from a UI perspective, making it so that,

00:24:16   in the same way that you have to build it yourself,

00:24:20   it's much better if it's built in, because that is,

00:24:23   especially I would say, they've gotten a lot better too,

00:24:26   of when they do introduce new stuff like that,

00:24:28   they make it extensible to a degree that you can still

00:24:32   kind of make it your own and tweak it and customize it

00:24:35   and hack around it less in a way that like,

00:24:38   collection views, for example, are way more extensible,

00:24:41   like sometimes in ways that make them hard to understand,

00:24:43   but they're way more extensible than a UITable view was,

00:24:46   and I think that's a lesson that they seem to be learning

00:24:48   around making, when they add a new bit of UI like that,

00:24:52   they make it really extensible so that everybody can use it

00:24:56   and then everybody can benefit from it.

00:24:58   And I think more importantly, so then customers and users

00:25:01   of iPhones have a much more consistent experience that,

00:25:04   you don't have these weird edge cases of like,

00:25:08   well, in this one I do this, and it just feels different,

00:25:11   or even just like the physics of it,

00:25:12   like the way it slides up and down is different,

00:25:15   and anytime you have those differences,

00:25:16   like that's not as good as if every app kind of

00:25:19   gets the same thing, and then every app can benefit from it

00:25:22   as it improves over time.

00:25:24   - I actually did have on my list here,

00:25:26   will this be the year that they finally resolve

00:25:28   the table view slash collection view discrepancy in some way?

00:25:32   Probably by either making table view

00:25:35   like a special collection view subclass,

00:25:37   or just by deprecating table view and making it,

00:25:39   and just kind of adding things to collection view layouts

00:25:42   that can make that easy to do,

00:25:43   but I would love to see some motion there.

00:25:46   I would also, on the rest of my hit list here,

00:25:48   it's pretty quick, I would love to see

00:25:50   the system-wide dark mode that's been rumored forever.

00:25:53   That could be nice to have,

00:25:54   and to have like kind of a system toggle,

00:25:56   kind of like the dynamic text toggle

00:25:58   where you can just make your app respond to that,

00:26:00   and you don't have to build UI for that.

00:26:02   And then my stretch goal here is it has seemed like

00:26:06   in the last year or two, like fairly recently,

00:26:09   Apple has kind of revitalized the Mac in some way,

00:26:13   and sort of putting a lot of big effort

00:26:16   behind the Mac again.

00:26:17   I would love to see, and I'm not asking

00:26:19   for UIKit on the Mac, that's a big stretch.

00:26:21   I know there's lots of reasons

00:26:23   why that will probably never happen,

00:26:25   and some of them are even good reasons.

00:26:27   But I would like to see the needless distance

00:26:30   between AppKit and UIKit reduced.

00:26:33   - Sure. - 'Cause there's so many

00:26:35   classes that are similar,

00:26:38   but just different for minor or legacy reasons,

00:26:41   like NS color versus UI color, NS image versus UI image,

00:26:45   things like that that are just kind of like

00:26:47   needlessly different.

00:26:49   I would love to see just,

00:26:50   let's reduce some of those differences.

00:26:52   Let's get some kind of indication here

00:26:55   of making, of uniting these two platforms on some level

00:27:00   just to make it a little bit less painful

00:27:02   to work between them, and to kind of then

00:27:04   encourage more Mac development.

00:27:06   I would love to see that.

00:27:07   That's kind of a stretch goal of mine,

00:27:08   but I'm not sure how realistic that is.

00:27:10   - Yeah, and I mean, I would say it's one of these things

00:27:13   that seems to be a slow march towards that,

00:27:16   where most APIs now, that all of the new stuff,

00:27:20   if it's on both platforms, it tends to be fairly consistent

00:27:26   across both platforms.

00:27:27   And it's like the, whether they will go through the work

00:27:31   of slowly kind of undoing some of the older stuff

00:27:35   to make it more consistent,

00:27:37   and exactly how they do that, who knows?

00:27:39   But it is definitely something that it feels like

00:27:43   this kind of awkward thing that all of the modern,

00:27:46   or I don't know, modern is probably the wrong word.

00:27:48   All of their new platforms are UI kit based,

00:27:51   in terms of the watch, the iPhone, and tvOS.

00:27:56   They're not, it's not that they're like,

00:27:59   they don't use UI kit necessarily,

00:28:00   but they all seem to live in that family,

00:28:03   and will use UI colors.

00:28:04   And none of it's based on the Mac stuff.

00:28:07   And it feels like then the Mac becomes the odd man out,

00:28:10   that you can have a library now that you could use

00:28:13   across all of their platforms, except the Mac.

00:28:16   And that odd man outness is definitely something

00:28:19   that I think would be great for them to resolve.

00:28:22   - Yeah, and it's hard, because a part of the reasons

00:28:24   why the Mac has different stuff is because,

00:28:27   in many cases, it can do a lot more.

00:28:28   It has to accommodate more use cases,

00:28:30   or more configuration options, or things like that.

00:28:33   But I think that there are ways to resolve this,

00:28:35   and I think it would be really nice for the entire ecosystem,

00:28:38   including Apple's internal development,

00:28:40   if this was resolved.

00:28:41   All right, any closing thoughts?

00:28:42   I'm looking forward to next week.

00:28:44   We are gonna be doing a live show at Cocoa Conf next door.

00:28:47   We're happy to see anybody next week.

00:28:49   We really look forward to, if you see us,

00:28:51   and you wanna come up and say hi, please do.

00:28:53   We love that.

00:28:54   Don't feel bad, or guilty, or awkward.

00:28:56   Please just come up and say hi.

00:28:57   And yeah, any closing thoughts?

00:28:59   - Yeah, no, I mean, I think that is, I would say,

00:29:01   I'm looking forward to next week.

00:29:02   I hope to, I always enjoy, it is a rare thing to,

00:29:07   I love meeting listeners.

00:29:10   I love running into people who have listened to the show,

00:29:13   or know what I do.

00:29:15   And WWBC Week is always, it's a special week,

00:29:18   because it's the one week where the people around me

00:29:20   actually know that, actually care about what I care about.

00:29:24   And if anything, it's gonna be kind of interesting,

00:29:26   because I get the impression that we're going to

00:29:29   take over downtown San Jose.

00:29:32   And it'll just be developers as far as the eye can see,

00:29:34   which is kind of exciting in some ways,

00:29:36   that we'll just kind of, everyone around me

00:29:38   will be interested in the same stuff.

00:29:41   - Well, we're out of time, so thank you

00:29:42   for listening, everybody, and we will see you,

00:29:44   maybe literally some of you, next week.

00:29:47   - Bye.

00:29:47   [