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.