Under the Radar

114: Platform Wish List for 2018


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

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

00:00:04   I'm Marco Armet.

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:09   - So this week we kind of wanted to do,

00:00:11   since last week was kind of our report card

00:00:14   of how the App Store did and the various improvements

00:00:17   and changes it made in 2017,

00:00:19   kind of wanted to take today to be our wish list for 2018.

00:00:23   These are not predictions,

00:00:24   these are just things we hope to see in 2018,

00:00:28   not from the App Store side of things,

00:00:30   but from the API and platform side of things.

00:00:34   So I wanted to start that off the smallest to largest here.

00:00:38   The easiest one for me to start off with is iOS,

00:00:43   because for me, iOS is so mature at this point,

00:00:47   there's so much in it,

00:00:49   it's really hard for me to come up with specifics of like,

00:00:52   here's one big thing that I'm missing in iOS.

00:00:55   Like it's so complete and so mature,

00:00:57   there's just so much there that I'm pretty good in iOS.

00:01:00   The only thing I really hope to see specifically in iOS 12

00:01:05   is that iOS 10 and 11 have been slowly evolving

00:01:11   fundamentals of their UI design

00:01:15   and design patterns and design styles,

00:01:18   but there's not a single coherent target

00:01:21   that they seem to be going towards.

00:01:23   Like some apps look like Apple Music,

00:01:25   like the new stock UI looks like Apple Music,

00:01:27   some apps look like Apple Maps,

00:01:29   which is a totally different style

00:01:30   than Music and everything else.

00:01:32   A lot of apps have seemingly not been modified at all

00:01:35   or not been reconsidered design-wise since iOS 7.

00:01:38   And iOS 7's pretty old now,

00:01:41   and I think the iOS 7 style looks pretty dated

00:01:44   and is not really appropriate anymore,

00:01:47   which is a big thing I wanna address in Overcast actually,

00:01:50   'cause Overcast still looks very iOS 70 in a lot of ways,

00:01:53   and I'd like to update that in the next major version.

00:01:56   But one of the problems is I don't really know

00:01:58   what to update it to, because it seems like Apple

00:02:01   is designing in different directions in some of these apps,

00:02:05   and I would like, I think it's time for iOS 12,

00:02:09   I think it's time for a single coherent redesign

00:02:13   of the system on the level of iOS 7,

00:02:16   or at least on the level of iOS 6,

00:02:19   and just provide coherent direction of here is the new design.

00:02:24   A lot of this is prompted by the iPhone X,

00:02:27   a lot of the need for this is prompted by the iPhone X,

00:02:30   because you have such a tall, skinny aspect ratio,

00:02:32   it's very hard to reach things at the top of the screen.

00:02:35   You also have an OLED screen now,

00:02:37   so black looks really good,

00:02:39   and people really want a lot more black,

00:02:41   and also there can be a power savings

00:02:43   to having a darker theme compared to a lighter theme.

00:02:47   So there's these changes now that not only

00:02:50   is the iOS 7 style design very dated looking,

00:02:53   just trend-wise, but also it kind of falls down

00:02:56   functionally in a number of areas,

00:02:57   making everything so white,

00:02:59   and keeping so many important controls at the top,

00:03:01   that I think in the new world we're now in,

00:03:04   we need a new design, and we need a coherent,

00:03:06   we need Apple to show us a single coherent design direction

00:03:11   that we should all be going in.

00:03:12   - Yeah, and I think to that end,

00:03:16   I totally agree that it would be lovely to have,

00:03:18   I feel like when iOS 7 was released,

00:03:23   there was a very clear, straight look and feel

00:03:27   that everything, well, other than the Notes app,

00:03:30   everything has sort of moved towards,

00:03:34   and then it seems like now they're kind of

00:03:36   experimenting out again, which is fine,

00:03:38   and it isn't necessarily problematic,

00:03:40   but it is like, I think in general,

00:03:42   we look to the system apps to lead the way

00:03:46   and to be an example, and so it certainly would be nice

00:03:49   to get a sense from that, or even, ideally,

00:03:51   it would be even more over to have a specific

00:03:54   sort of proclamation about what the design,

00:04:00   the standard design should look like,

00:04:02   and if you wanna go different, that's great.

00:04:04   If you want your app to have its own unique feel,

00:04:07   that's awesome, but if you're trying to be,

00:04:10   feel more system, feel more built in,

00:04:13   what does that look like?

00:04:14   And I feel in some ways, it reminds me,

00:04:16   I feel like the material design guidelines

00:04:19   that came out for Android is a good example,

00:04:23   I think, of that is a very consistent, cohesive

00:04:26   set of design criteria and examples that can apply

00:04:31   to a lot of situations, and I just don't feel

00:04:33   like we have that, and I think along those lines,

00:04:35   I've also been thinking UIKit is very complete,

00:04:39   but I also think that it's, in a weird way,

00:04:42   it still misses a bunch of little things,

00:04:45   and I would love to see those fully fleshed out.

00:04:48   Like, there are some controls that I feel like

00:04:50   I'm doing many, I create many times.

00:04:54   I mean, something that comes to mind, for example,

00:04:56   is like a login form.

00:04:58   Like, I've written, that's the same code

00:05:00   with the same kind of logic and the same kind of experience

00:05:03   so many times, and it's like, why isn't this

00:05:05   a standard control, that so many apps have a thing

00:05:09   where it's gonna ask you for two fields,

00:05:10   one of them's a password field, the password field

00:05:12   should have, you know, you do the autocorrect differently

00:05:15   in the password field than the other field,

00:05:16   you want the, when you hit next on the first field,

00:05:19   which is username or password, it should go

00:05:20   to the next field, like, this is one of these things

00:05:23   that, while iOS is fairly complete, there's a lot

00:05:26   of these little standard controls, or like a modal blocker

00:05:29   is another one that I think of, that almost every one

00:05:30   of my apps, at some point, if you do any kind

00:05:32   of in-app purchase or something like that,

00:05:34   you have kind of this modal blocking UI.

00:05:36   Why isn't there a standard UI kit version of that?

00:05:39   And you know, while that's, and both in terms of leading

00:05:42   a, towards a consistent design experience,

00:05:45   but also to just kind of round out some of these

00:05:48   rough edges that, you know, every app on iOS

00:05:52   is having to implement their own version of,

00:05:54   at that point, it should eventually be

00:05:55   a system-wide thing, probably.

00:05:57   - Agreed.

00:05:58   You have anything else on the iOS side?

00:06:01   - I think the only other thing that comes to mind

00:06:02   is just, I would love to see some kind of system-wide

00:06:05   dark mode support.

00:06:07   I think increasingly, it seems like dark modes

00:06:09   are a thing that a lot of people want,

00:06:13   especially iPhone X, on the iPhone X.

00:06:16   And so having a consistent system-wide sort of setting

00:06:20   for that, that, you know, the user would open

00:06:22   Control Center, go to dark, hit dark mode,

00:06:24   and then, you know, their phone switches over into that,

00:06:27   and then as an app, I can respond to that setting,

00:06:30   rather than it being something that is, you know,

00:06:32   I'm doing at my app level, which means, you know,

00:06:35   it's inconsistent between applications.

00:06:37   So I just like to see that as a, you know,

00:06:39   as a system-wide switch that they could,

00:06:41   a user could switch.

00:06:43   - Moving on to Mac OS.

00:06:46   I don't have a lot to say,

00:06:47   because I'm barely a Mac developer.

00:06:49   However, just to repeat the rumor that came out

00:06:51   a couple weeks ago that they were working on

00:06:52   some kind of cross iOS and Mac OS UI library or something,

00:06:56   that sounds awesome, and I really hope that's real.

00:06:58   And I would love to see the beginnings

00:07:01   of something like that, you know,

00:07:02   even though it's probably a major project

00:07:04   that is probably gonna take years to actually flesh out,

00:07:07   if it's underway at all, I would love to see part of that.

00:07:11   - Yeah, or at least to indicate that it's coming,

00:07:13   I think would be, like, if it's,

00:07:15   it would be, it's new, even if it isn't,

00:07:18   the first version isn't the full and most complete thing

00:07:20   you could imagine, I would love to just sort of see

00:07:23   clear indications that that is something that

00:07:26   they are putting weight behind and are getting into,

00:07:29   and if we get the first sort of baby steps of that

00:07:32   this year even, that would be great.

00:07:35   I also wanted to have a brief section here on Swift.

00:07:38   Even though I barely use it so far,

00:07:41   I would like to see just basically maturing of the language

00:07:44   so that maybe I could use more of it.

00:07:46   For me, one of the big things there is I wanna see,

00:07:49   you know, broadening of Swift on the server side.

00:07:51   I definitely have more uses for that,

00:07:53   for it there that I would love to use,

00:07:54   but it's still pretty young for that,

00:07:56   and there's still not a lot of great,

00:07:58   like, supporting libraries for that.

00:08:00   Also, just maturing language-wise,

00:08:03   I know some people are waiting on ABI stability,

00:08:05   that that brings a number of other benefits,

00:08:06   that would be nice from practical standpoints,

00:08:08   but also I wanna see the concurrency story

00:08:12   really start to play out there.

00:08:13   Like, what does that look like, especially, you know,

00:08:16   in places where it's kind of badly needed,

00:08:17   like the server side where you don't have

00:08:19   Grand Central Dispatch waiting for you, you know.

00:08:21   I wanna know more about that, I wanna see Swift kind of,

00:08:25   you know, just mature and stabilize to enable people

00:08:28   to use it more and more ways and more places.

00:08:31   - Yeah, I mean, and I use, so I do actually use Swift

00:08:35   in Workhouse++ exclusively,

00:08:37   and I agree with all of those things.

00:08:39   Like, I think the thing that I wish I could see more

00:08:42   in Swift is just this overall vague,

00:08:44   this overall general sense that it's stable and mature,

00:08:49   that the thing that is most frustrating to me with Swift

00:08:53   is where, like, there's this, it feels like

00:08:55   this never-ending stream of like,

00:08:57   hey, here's this other cool thing

00:08:58   that we thought we could do.

00:09:00   Hey, what about this cool thing?

00:09:01   Hey, what about this cool thing?

00:09:03   And sometimes that's fine, but a lot of,

00:09:06   like every time there's a new major Swift version,

00:09:08   it's like, the number of, you know,

00:09:10   they're very rarely source compatible

00:09:12   and backwards compatible, and while I think initially

00:09:16   it was reasonable and wise to not care

00:09:20   about source compatibility, like from Swift version one

00:09:23   to Swift version two, they, you know, just say like,

00:09:26   hey, this is not gonna be source compatible.

00:09:28   We're going to, you know, as we make this language

00:09:33   the language that we want it to be,

00:09:34   we're going to, you know, allow ourselves

00:09:37   the freedom to make changes,

00:09:38   and I think that has worked very well.

00:09:40   Like, yeah, the language has improved dramatically

00:09:43   as a result, but I will say it's a point where it's like,

00:09:47   can this just be, like, can this just be done yet?

00:09:50   Like, can we just move on and say like,

00:09:53   okay, this is what we're gonna do

00:09:54   with the understanding that it may not be perfect,

00:09:56   that the language will never be perfect,

00:09:59   but it's kind of frustrating to have this feeling

00:10:02   that if any time there's a new version of Swift,

00:10:04   if I recompile my app, then suddenly

00:10:06   half of the things are broken,

00:10:07   and sometimes there's migration tools

00:10:11   that are helpful for that, but it feels like

00:10:13   such a dangerous thing to have to go

00:10:17   and make wide reaching changes

00:10:19   throughout my entire application

00:10:21   because of a language update.

00:10:25   Like, it's not something that makes me feel great,

00:10:28   so I just wish that he'd get to that point,

00:10:30   have it feel stable, and for Swift to kind of be boring,

00:10:33   you know, like every year, it's sort of like

00:10:35   with Objective-C where it's like every year

00:10:37   we get a little something, like,

00:10:39   hey, now we're gonna do the ability to, you know,

00:10:43   do wrapping around integer literals, for example.

00:10:46   Like, that was like a feature they added to Objective-C

00:10:48   that we could do at parentheses around a number,

00:10:52   and then it becomes an NSNumber.

00:10:53   Like, that's a great little bonus.

00:10:55   It doesn't break your old version that was doing,

00:10:58   you know, creating the NSNumber directly,

00:10:59   but it's a nice little bonus,

00:11:00   and I'd love to get to that place with Swift

00:11:02   where it's like every year it gets a little bit better,

00:11:04   but not in ways that compel you to take advantage of them

00:11:08   because if you, you know, you have to switch your code around

00:11:11   or just, you know, these little quality of life changes.

00:11:14   That would just make me feel better about using it

00:11:17   'cause at this point, I use it because I feel like

00:11:19   it's good for me to, you know, understand Swift,

00:11:22   to use it in a big app, and to future-proof myself

00:11:26   as a result, but I don't, you know,

00:11:30   I still have some of these hang-ups around it

00:11:32   that just aren't great.

00:11:34   - Yeah, it seems like the perfect is very much

00:11:36   being the enemy of the good with Swift now,

00:11:39   and they, you know, they need to settle it down,

00:11:42   and they have, like, they've made great progress

00:11:44   towards that, but it still is a moving target,

00:11:48   and, you know, a lot of people want their programming

00:11:51   language to be a source of excitement.

00:11:53   I really don't.

00:11:54   I want my programming language to be boring, as you said,

00:11:56   like, because I don't wanna have to worry about it

00:11:59   changing every year, like, I want to just, you know,

00:12:01   be working at a higher level than that

00:12:03   with where I get my excitement.

00:12:06   Anyway, before we jump into the big one,

00:12:08   which I'll give you a hint is not tvOS,

00:12:11   we are brought to you this week by Squarespace.

00:12:13   Enter offer code radar at checkout

00:12:15   to get 10% off your first purchase.

00:12:17   Make your next move with Squarespace.

00:12:20   Squarespace lets you easily create a website

00:12:22   for your next idea with a unique domain,

00:12:24   award-winning templates, and much more.

00:12:27   Whether you wanna create an online store,

00:12:29   or a portfolio, or a blog, or so many other kinds of website,

00:12:33   you can even make podcasts there.

00:12:34   Squarespace is an all-in-one platform

00:12:36   that lets you do exactly that.

00:12:38   There's nothing to install, no patches to worry about,

00:12:41   no upgrades needed, you don't have to worry

00:12:42   about any of that stuff, Squarespace has it covered.

00:12:45   And if you need any help, they have award-winning

00:12:47   24/7 customer support.

00:12:49   And it's so easy with Squarespace to do everything

00:12:51   you need to make a website, from easily grabbing

00:12:53   a unique domain name, and building amazing templates,

00:12:57   these are award-winning, beautiful design templates

00:12:59   for you to show off your great ideas.

00:13:01   I use Squarespace for a couple of sites,

00:13:03   and it is just so incredibly easy.

00:13:05   I think a lot of listeners to this show

00:13:07   probably are likely to have the skill set

00:13:08   where you could make your own CMS,

00:13:10   or you can run a server and host CMS there.

00:13:14   But that's usually not a very good use of your time.

00:13:16   You really shouldn't be doing that,

00:13:17   you should be doing bigger, better things

00:13:19   than running your own CMS in your server.

00:13:21   And that's what Squarespace lets you do,

00:13:22   it lets you take that time back,

00:13:25   and let them take care of the boring website hosting,

00:13:27   and you can do better things.

00:13:29   So, go to squarespace.com, Squarespace plans start

00:13:32   at just $12 a month, and you can start a trial

00:13:35   with no credit card required.

00:13:38   When you decide to sign up for Squarespace,

00:13:40   make sure you use offer code RADAR to get 10%

00:13:43   off your first purchase, and to show your support

00:13:45   for this show, we thank Squarespace for their support.

00:13:47   Squarespace, make your next move, make your next website.

00:13:50   So, here comes the big one, I think both of us

00:13:54   have a lot to say for the platform that I think

00:13:58   gives us the most wish list items, WatchOS.

00:14:02   To me, what it comes down to with WatchOS,

00:14:06   the big thing, I have a lot of small complaints

00:14:08   about WatchOS as a developer, but the big complaint for me,

00:14:14   Steve Jobs, during the very first iPhone keynote

00:14:17   in Macworld 2007, there was a section debuting

00:14:22   the Safari web browser on the iPhone,

00:14:24   and this was a revelation, and Steve famously said

00:14:27   that all the other phones at the time only had, quote,

00:14:30   baby web browsers, you only seeing the baby internet,

00:14:34   and the iPhone was the breakthrough that would bring

00:14:36   the real internet, real full web capability to phones.

00:14:41   WatchKit is only letting us build baby apps.

00:14:45   And Apple does not use WatchKit themselves,

00:14:49   and it really, really shows.

00:14:51   Considering the iPhone 1 nostalgia here,

00:14:54   it's kinda like when iPhone OS 1.0,

00:14:57   there was no native app API for developers,

00:15:00   and they gave us the sweet solution of these inferior,

00:15:04   limited web apps, and Apple's own apps were all native,

00:15:08   and they didn't, you know, Apple's apps were way better

00:15:10   than what people could do with web apps in 2007.

00:15:13   Apple needs to either port all of their watch apps

00:15:19   to WatchKit, which would require them to expand

00:15:22   and improve it quite a bit to accommodate

00:15:24   all the things they do in their apps,

00:15:26   or they need to let developers finally write watch apps

00:15:29   with the same UI framework and the same APIs

00:15:32   that Apple uses for its watch apps,

00:15:34   because until that happens, we will only ever be able

00:15:38   to make baby apps for the watch.

00:15:40   And it's not reaching its full potential.

00:15:43   It's not even close to reaching its full potential.

00:15:45   Ultimately, I have a lot of specifics about watchOS,

00:15:49   but the big general thing is we can only write baby apps

00:15:53   with WatchKit, and Apple doesn't use it, and it shows.

00:15:57   - Yeah, I mean, and I will say, like,

00:15:59   while I have a very long list of like,

00:16:01   kinda wishlist items for watchOS,

00:16:03   I think the reason why I have such a long list

00:16:06   is because I feel like the platform has so much promise.

00:16:08   It has such a, there's so many possibilities

00:16:11   that are untapped there in a way that the iPhone and iOS

00:16:15   or some of the other platforms like the Mac

00:16:16   feel very mature, very stable, very kind of done,

00:16:21   whereas I still feel like I've spent a tremendous amount

00:16:24   of time making apps for the watch,

00:16:25   and I feel like there is still a lot of potential there.

00:16:27   There's a lot of things that I wish I was able to do,

00:16:30   but I feel like I'm sort of being held back.

00:16:33   And I mean, so much of this feels like

00:16:35   it's this weird hangover from, you know,

00:16:38   WatchKit 1 apps, where it was this weird, like,

00:16:41   clever but very weird situation where, you know,

00:16:43   the UI ran on the watch, but the logic ran on the phone.

00:16:47   And so, you know, currently you have, you know,

00:16:49   all of your UI still goes into one giant storyboard,

00:16:52   and you can write, you know, send data to UI controls,

00:16:57   but you can't read it back,

00:16:58   and you can't dynamically change it.

00:17:01   You have to, you know, you either have to have

00:17:05   lots of different, you know, interfaces

00:17:07   for different layouts, or have layouts that are very,

00:17:11   you know, it's like have lots of hidden controls

00:17:14   and things like that, or you end up doing crazy stuff

00:17:17   like I do in Workouts++.

00:17:19   Like, I wanted to have a totally customized

00:17:22   workout display, and so I render that as an image

00:17:27   and send it to the screen once a second,

00:17:30   which is terrible, but it works well enough.

00:17:33   But it's like, there's all these situations like that

00:17:35   that mean that I'm not able to do things

00:17:37   that I would love to do.

00:17:38   Like, I would love to be able to have more animation

00:17:41   and, you know, the similar types of experiences

00:17:44   in my applications, but it's really hard to do

00:17:47   animation right now in WatchOS, but clearly it's possible.

00:17:50   Just look at the first-party apps.

00:17:52   Like, they are doing a lot of things there

00:17:54   that are clearly possible, and as best I understand,

00:17:57   from a technical perspective, largely they're just

00:18:00   running UI kit applications with a slightly different,

00:18:04   you know, a few different controls, but they have

00:18:07   the ability for us to do that, and it's really strange,

00:18:11   I've thought, on the UI side of things, that they keep,

00:18:14   they've added SpriteKit and SceneKit to it,

00:18:18   which I've tried a little bit, but it's like,

00:18:21   they're way overblown for what most applications

00:18:24   are trying to do, but yet they still haven't given us

00:18:29   UI kit, which is the one that would actually be useful,

00:18:32   and maybe it's not full UI kit, like I don't need

00:18:34   UI table views on my watch, but having the ability

00:18:39   to override drawRect on a view and put things into it,

00:18:45   or I'm able to dynamically add and remove subviews,

00:18:48   like some of these really basic operations, I think,

00:18:51   would dramatically increase the capability

00:18:55   of our applications, and it's like, clearly it's possible,

00:18:58   so that gives me some encouragement that it's not like

00:19:01   we're asking for the moon, that it's just, you know,

00:19:03   that it's technically impossible to do these things,

00:19:06   because their apps are currently doing it,

00:19:08   and I just hope that eventually we get to the point

00:19:10   that they say, you know, we're gonna drop this paradigm

00:19:13   that was necessary for watch kit one, and we're gonna

00:19:17   replace it with something new, with something better,

00:19:19   and kind of run in a different direction that will allow us

00:19:23   to do so much more, because I feel like the types

00:19:26   of applications and how compelling those applications can be

00:19:29   would just dramatically increase when they finally

00:19:32   do that, hopefully.

00:19:33   - Yeah, because watch kit, it was designed back

00:19:36   for the watch one when the apps were running on the phone,

00:19:39   and it was just sending the, basically transmitting

00:19:42   basic UI commands to the watch UI, and having it kind of

00:19:46   run remotely, and so it's a very simplistic UI framework

00:19:51   that's very, very limited in all these ways, you know,

00:19:53   and it seemed like that was just the temporary solution,

00:19:58   that maybe it was rushed together, you know, at a late time

00:20:01   in the project, when they decided, oh, we do need

00:20:02   third party apps from day one, or something like that,

00:20:04   you know, we've heard mixed things here and there,

00:20:05   it doesn't matter, but it seems like that was like

00:20:09   kind of a temporary rush job, to get the minimum

00:20:11   functionality for apps to work on the watch,

00:20:14   and then rather than throwing it away when they had

00:20:16   more time and moved native execution to the watch,

00:20:20   they just kept it, and now we're running this, like,

00:20:23   limited, this very limited UI framework as our only way

00:20:28   to make watch UIs, that's not sustainable long term,

00:20:33   and you can tell, if it was so good, why doesn't Apple

00:20:36   use it, you know, and the answer is, because it's not so

00:20:39   good, it's very limited, and as, you know, for all these

00:20:42   reasons you just said, there are so many ways to make

00:20:44   better and nicer watch apps if we had direct access

00:20:49   to the version of UI kit that they run, but we don't,

00:20:53   and it's kind of, on so many levels it's frustrating

00:20:57   that, you know, it really does feel very similar to

00:21:00   the iPhone 1 with us having to make web apps and Apple

00:21:03   doing all the cool native stuff, and there, you know,

00:21:05   I can get into some specifics for what specifically

00:21:08   bothers me about my watch app capability beyond just

00:21:11   the UI stuff that you mentioned, which, by the way,

00:21:14   so much of what makes watch apps limited and in many ways

00:21:18   mediocre is those UI limitations, like so many things

00:21:21   about, oh well, you can't have this kind of title show

00:21:23   here without rendering the whole screen manually,

00:21:25   or you can't have this kind of screen that presents

00:21:28   from this kind of screen, or like, just weird limitations,

00:21:31   or like, gesture recognizer priority, like I can't do

00:21:34   certain types of designs because it makes the taps

00:21:37   not recognize properly because I can't have control

00:21:39   over the gesture recognizers, like, there's so many

00:21:41   little things, little and big things, because watch OS,

00:21:46   or watch kit, is not UI kit, it does not expose what

00:21:49   UI kit exposes, and we could make such better apps

00:21:53   if we had what we have on iOS, and it doesn't,

00:21:55   and you're right, it doesn't seem like there's any kind

00:21:57   of major technical reason why we can't, because those APIs

00:22:01   are all there, just they're private on the watch,

00:22:03   and we can't use them, and only Apple can use them.

00:22:05   You know, I'm not asking for a lot of, like, you know,

00:22:07   heavy processing things or trying to keep the screen

00:22:10   on all the time or anything like that, like,

00:22:13   we're asking for, like, better button libraries

00:22:16   and better view libraries and stuff.

00:22:19   Specifically, you know, I also have problems with

00:22:22   the media capabilities, I think it's pretty clear that

00:22:25   a very major use case for the watch, especially as it

00:22:28   becomes more independent from the phone, is audio playback,

00:22:31   and Apple really does not make that good, and I've

00:22:34   documented this in so many ways in the past, so I'm not

00:22:37   gonna go deep on it now, I would say specifically I would

00:22:41   like to have background audio for any app, not just

00:22:44   workout apps, that's the big one, let the app continue

00:22:47   to work in the background, just like it does on iOS,

00:22:50   and just like it does on the watch, if it happens to be

00:22:51   a workout app that's running a workout, so we know

00:22:53   it's possible, but you know, let any app play background

00:22:57   audio on the watch, the same way it works on the phone,

00:22:59   only one of them can be playing it at once, that's fine,

00:23:01   that way you keep memory in check and everything,

00:23:03   let the app run in the background while playing audio,

00:23:06   and drop WK audio file player and that entire awful system.

00:23:10   I would also like to see the MP now playing info center,

00:23:15   or an equivalent, to let us control what shows on the now

00:23:17   playing screen, and also MP remote command center,

00:23:22   or its equivalent, which lets us interpret the skip back,

00:23:27   skip forward, play pause buttons, or commands from AirPods

00:23:30   and other Bluetooth headphones, lets us interpret those

00:23:32   in our app in custom ways, these are both things that

00:23:35   have been listed on the iPhone for about a decade,

00:23:38   and they're great, and so we need that, or we need some

00:23:43   equivalent of those things on watchOS.

00:23:45   - Yeah, and I think I'd add to that, in the same vein,

00:23:47   I would love to be able to have some kind, like the now

00:23:52   playing app, I would love to see something the equivalent

00:23:57   of a now playing interface controller that could be

00:23:59   inserted into other apps, so for me, for example,

00:24:02   I'd love to be able to, if you're listening to music

00:24:06   from your iPhone, or from the music app on the watch,

00:24:12   to be able to control that within the app, that you don't

00:24:14   have to leave and come back, or at the very least,

00:24:16   to be able to control the volume.

00:24:18   - Yes, volume's a big one.

00:24:19   - It is incredibly frustrating that, especially because

00:24:23   AirPods are Apple's, their solution for it is a Bluetooth

00:24:28   headset that has no way to control the volume,

00:24:30   it would be awesome if they allowed applications to,

00:24:35   either, I could understand, maybe they don't want you

00:24:37   to be programmatically able to set the volume,

00:24:39   but then at least give me a control, like give me some

00:24:41   UI element that I can add to my application that does

00:24:44   allow you to control the volume, I would love to see that,

00:24:47   and I think it has, it allows for just a broadening

00:24:50   of what's possible, you know, with audio on the watch,

00:24:54   beyond even, you know, like being able to play audio

00:24:56   is really important, but I think even at the very least,

00:24:59   being able to control the audio that is playing from

00:25:00   another source would be a massive step forward.

00:25:03   - Yeah, exactly, and I would also wish for better and

00:25:08   more informative phone to watch file transfers,

00:25:11   the file transfer API is very, very limited,

00:25:15   specifically, it does not allow you to create a good

00:25:17   user experience because, A, it's super slow,

00:25:20   even if WiFi is available, even if it's on its charger,

00:25:23   it will not use WiFi, if it can use Bluetooth instead,

00:25:27   and Bluetooth is way slower, so you basically have

00:25:30   a pretty bad situation where like, you can't force

00:25:34   the transfer to use the fast WiFi, even, you know,

00:25:37   no matter what the power state is.

00:25:38   Also, there's no progress reporting, which is a huge problem,

00:25:43   so basically, you can't create a good user experience

00:25:47   because the user has this long-running, you know,

00:25:51   horribly slow Bluetooth file transfer that they're

00:25:54   waiting on, and all you can say is,

00:25:57   I think it's transferring, or it's done, that's it,

00:26:00   those are the only two states you can tell is,

00:26:02   I think it's going and it's done, you know,

00:26:05   what we're asking for here is not the world, you know,

00:26:09   what we're asking for here is ways to let us make apps

00:26:14   that give people good functionality

00:26:16   and good user experiences.

00:26:18   That's what we want from watchOS, and I just,

00:26:21   I don't wanna be making a baby app anymore,

00:26:23   I wanna be making real watchOS apps so that I can

00:26:26   actually make good watchOS apps.

00:26:29   - Yeah, and to that end, what I love about some of these

00:26:31   things that we're asking for, like, I would love, you know,

00:26:33   to have faster transfers between the phone and the watch,

00:26:36   or just for the watch in general to be faster downloading,

00:26:38   like, even if it's downloading from the internet.

00:26:41   But I love, what's frustrating and encouraging to me

00:26:44   is that I know this is technically possible,

00:26:47   because if I take a Series 3 Apple Watch,

00:26:49   and I put my phone in airplane mode,

00:26:52   and I'm not on any wifi, like I go walk out into a field

00:26:54   that has good LTE reception, I can download, you know,

00:26:58   I can download podcasts from remote servers

00:27:01   at tremendous speeds.

00:27:03   Like, I can download an entire podcast in 10 seconds.

00:27:06   So, tech, clearly, the hardware and the frameworks

00:27:09   are there for us to allow this.

00:27:11   It's just a question of opening it up.

00:27:13   And so I would hope that at a certain point,

00:27:15   they just allow it.

00:27:16   And they say, if they take a hit on battery life,

00:27:18   but it means that, like, I would far prefer

00:27:21   for my watch to be incredibly compelling and useful,

00:27:25   and have a more difficulty on battery life,

00:27:29   because honestly, battery life has gotten so good

00:27:32   that I imagine they have the headroom to do this anyway.

00:27:34   But I would love to, yeah, just get rid of Bluetooth

00:27:37   unless you absolutely have to,

00:27:38   or at least give us the ability to say,

00:27:41   this is a high priority or user interactive task.

00:27:44   And so, like, for a user interactive task,

00:27:48   even if there's some app review that I have to compel,

00:27:52   I have to say why I'm user interactive,

00:27:53   why I need the permission to skip Bluetooth

00:27:56   and go straight to wifi, I don't care.

00:27:59   But I would love to have the ability to do that.

00:28:01   I think it would make the app so much more compelling

00:28:03   and just open up so many more things.

00:28:05   - I would also like to see, I think it's time

00:28:08   for developers to be able to make custom watch faces.

00:28:11   That that should be an app type that we can offer,

00:28:13   or an extension type that we can offer.

00:28:15   Because the Apple Watch has so much potential

00:28:18   for smarts and for intelligence,

00:28:21   and for just cool design choices in the watch faces.

00:28:24   It's hard to do in a way that's power efficient

00:28:28   to offer developers this ability.

00:28:30   I know it's hard, but there's a lot of smart people

00:28:32   working at Apple, and the watch is now, what,

00:28:34   three years old?

00:28:35   So, I think they can make it happen if they want to.

00:28:37   And it's also pretty clear that Apple is not gonna supply

00:28:40   a lot of custom watch faces themselves.

00:28:42   They added them very slowly, very, very slowly.

00:28:45   I'd like to be able to do that.

00:28:46   And so, that's one more little kind of stretch goal

00:28:49   wish list item, besides drop all of watch kit.

00:28:52   (laughs)

00:28:54   Minor thing here, also let us make custom watch faces.

00:28:56   - Yeah, and I think, or at the very least,

00:28:58   I would love to see a better mechanism for complications.

00:29:01   That I feel like the current complication system

00:29:04   is built around the concept of time travel.

00:29:06   - Right, which is flop, I think.

00:29:08   - A feature that was there in the first early versions

00:29:11   of watchOS, and now I think is off by default.

00:29:13   Like, no one likes it, but the basic sort of

00:29:16   complication system is still built around this concept

00:29:19   of having to provide data for the future and the past.

00:29:22   And like, I would love to see that kind of overwritten

00:29:24   and be made more straightforward and more telling

00:29:28   to the current situation.

00:29:29   - Yeah.

00:29:30   All right, well, here's hoping you get some of our wishes,

00:29:32   and here's hoping for a good 2018.

00:29:34   Thanks for listening, everybody,

00:29:35   and we'll talk to you next week.

00:29:37   - Bye.

00:29:37   [