PodSearch

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 ◼   ► [