Under the Radar

138: watchOS 5


00:00:00   Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.

00:00:05   And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.

00:00:10   It's Watch Kit week, finally!

00:00:15   What's going on?

00:00:17   It's funny, because for a long time I think I've been, I felt slightly alone in my

00:00:22   affinity for the Apple Watch and developing for WatchOS.

00:00:27   You were.

00:00:30   Yeah. There's a handful of us who do it, but we all know each other. It doesn't seem

00:00:34   like it's that many people. And for a long time, WatchOS seemed to be like all the big

00:00:38   apps that added WatchOS apps or Watch Kit apps back in the early days when it first

00:00:42   came out, have been slowly pulling them off the store, and it's not been great.

00:00:47   I would say this summer we got a pretty substantial turnaround on that. I think that there was

00:00:52   a clear, like my overall theme for like, if I had to give a theme for WatchOS this year,

00:00:57   is that Apple wanted to allow developers to

00:01:02   do all of the functions that the system apps can do.

00:01:07   We can't quite do the same UIs that they can yet, which is just whatever. I won't

00:01:12   look a gift horse in the mouth. And just like, we're also on the functional level, though.

00:01:16   We've got so many more capabilities. We can do all of these different things that we've been clamoring for,

00:01:21   we're going to do weird, crazy hacks to work around for. And just in general, it seemed like

00:01:26   the goal for this year was to raise the bar in terms of capability for the Apple Watch,

00:01:31   which is something that I really appreciate. I think it's something that I've been hoping would happen, and I think is

00:01:36   fun now as someone who's been doing this for a long time, to be able to kind of get rid of,

00:01:41   delete out of my app all of these weird hacks and all this hard work that I had to do initially,

00:01:46   and I can just use system APIs in so many more places now. And it should make the app

00:01:51   so much more stable and capable and performant, which is just like, overall,

00:01:56   I was absolutely thrilled with the announcements we got this year.

00:02:01   Yeah, me too. My thrill is more specific. It's more specific to some of the new APIs they added that

00:02:06   are podcast playback related, which we'll get to in a minute. But even just looking at

00:02:11   General Watch Kit, I mean, I really have had a rocky relationship with the Watch Kit in the past.

00:02:16   You have been a lot more both optimistic and successful with it than I have.

00:02:21   I have tried to make good Watch Kit

00:02:26   experiences since the very first Apple Watch, since day one, and I

00:02:31   have mostly or entirely failed to do that so far.

00:02:36   I am not proud of anything I have shipped on the Apple Watch to date.

00:02:41   And most of that was because of limitations in Watch Kit or in the lower

00:02:46   level APIs on the Watch that basically made it pretty much

00:02:51   impossible for me to deliver a good experience for what my users actually wanted

00:02:56   and needed from their Apple Watches to control overcast or to be a

00:03:01   standalone app. The very first version of Watch Kit, which was running

00:03:06   all the code on the phone and just doing this remote interface thing, was incredibly slow and unreliable

00:03:11   on the Series 0 hardware. The Series 0 Watch in general was just really slow

00:03:16   and really hard to get anything done or working on. The Watch

00:03:21   Kit API itself has been incredibly limited.

00:03:26   You can't do nearly as much as you can with UI Kit.

00:03:31   It's almost shocking how little you can do. If you look at the documentation for things like WK interface

00:03:36   controller, there's like ten methods. There's so little you can actually do

00:03:41   on a lot of this stuff that almost everything you do in Watch OS

00:03:46   is, UI wise, is a tremendous hack. Just to get a UI that looks presentable,

00:03:51   that is usable, that is useful, those are all very hard

00:03:56   to do in Watch Kit. And it's all been complicated by the fact that the

00:04:01   run, debug, build, or whatever that's called, the cycle of running on device or running on

00:04:06   simulator to make some changes, test some stuff, deploy it, see how it runs, see how it works

00:04:11   is so slow and so unreliable, especially in the earlier watches

00:04:16   and earlier versions of the SDK. So now I feel like

00:04:21   it has finally gotten to the point where deploying and building

00:04:26   on the hardware, on the actual watch, even with the Series 3 is still

00:04:31   pretty cumbersome. It's still not fast, it's still not fun. But the simulator

00:04:36   has finally gotten fast enough almost. It's almost fast enough, like when you

00:04:41   change something and hit build and run, it's almost fast enough to see it on there. It's almost reliable

00:04:46   enough and overall Watch Kit is,

00:04:51   with the help of a few small new

00:04:56   methods here and there or new properties here and there on some Watch Kit widgets and

00:05:01   objects and stuff, between Watch OS 4 and 5,

00:05:06   it's finally to the point where you can just barely make a decent

00:05:11   watch app. And that sounds like, you know, damning with faint praise, that sounds like

00:05:16   I'm really insulting this, and to some degree I am because Watch OS and Watch Kit still are nowhere near where they need to be,

00:05:21   but I give them a pass for a while because it was an early platform, it was very constrained hardware, etc.

00:05:26   But I'm actually, despite all these caveats and

00:05:31   insults, I'm actually right now very happy with what

00:05:36   has happened with this beta series with Watch Kit because

00:05:41   finally I can do what people actually have wanted me to do all

00:05:46   this time. And that to me comes down to two changes,

00:05:51   background audio that works and a volume widget.

00:05:56   It's those two things, there's a bunch of other stuff too, the MPNowPlayingInfoCenter, MPRemoteCommandCenter,

00:06:01   those things are great and help a lot, but the two things that were either making

00:06:06   people not use my app at all or making them actually delete my app so the NowPlayingWidget would show more often,

00:06:11   were the lack of a volume control and the lack of stand-alone playback. So I now have those

00:06:16   two things and it's going to take me a large part of this summer

00:06:21   to actually make those into a great app, but I'm doing it now

00:06:26   and I'm ridiculously happy to actually be finally doing this. And I know

00:06:31   based on just test walks I've taken and test UIs I've made,

00:06:36   I know this is going to be great when it's done.

00:06:41   Yeah, I think that's so much of it. It's just like these things are now, it's still, it's probably fair to say,

00:06:46   still, watchOS is still a hard platform to develop for.

00:06:51   Which in some ways I like, there's a part of me that enjoys that, that it's a difficult challenge,

00:06:56   I think it is helpful in terms of it's much less competitive as a result,

00:07:01   because you really have to want to make it work in order for it to be something

00:07:06   that is worth doing, but ultimately I'm encouraged by these changes and I

00:07:11   love to see, honestly, that Apple is clearly very committed to the platform,

00:07:16   as a developer platform. I think if we'd gone a year without

00:07:21   much of these kind of changes, it would have read to me more of, kind of like

00:07:26   tvOS, where they started it off as apps or the future of TV,

00:07:31   and then it turned out that that wasn't true and their actions since have

00:07:36   kind of demonstrated that in a lot of ways, that they're not doing clearly, they're not

00:07:41   making huge investments, it doesn't seem, in trying to make tvOS a major app

00:07:46   platform, but they are continuing to put the effort and resources in

00:07:51   to trying to make watchOS a big app platform. And so I think

00:07:56   that commitment is encouraging, that if you're going to go through how difficult and how challenging watchOS

00:08:01   development can be, both at the technical level as well as just the experiential level,

00:08:06   then it makes me encouraged as a developer on that platform.

00:08:11   And they gave me my big wish. So if you remember one of the earlier episodes this year,

00:08:16   one of my big wishes for this 30 years at WWDC was that they were going to drop support for the first generation

00:08:21   Apple Watch, and that's exactly what they did. So watchOS 5

00:08:26   dropped support for that first generation Apple Watch, which I think will make so many things

00:08:31   so much better, and the reality is, so looking at my data, my analytics for

00:08:36   watch type, it seems like a no-brainer that they made this choice. So that first generation watch

00:08:41   right now is right around 20% of watches, and

00:08:46   falling dramatically and significantly. It wouldn't surprise me that if this fall

00:08:51   after a new watch is announced and people buy it,

00:08:56   obviously there's the added variable now of their old watches are being made obsolete, but

00:09:01   nevertheless, I think the active user base of that first generation watch

00:09:06   is going to be fairly low. And honestly, even more importantly to me,

00:09:11   is seeing how quickly people have been adopting the Series 3 watch

00:09:16   is super encouraging in terms of, I think right now it is about 40%

00:09:21   of my user base is using a Series 3 watch, which is slightly

00:09:26   more than the Series 1 and 2 combined. So it is, like the Series 3

00:09:31   is the, if there's the S1 chip, the S2 chip, and the S3 chip,

00:09:36   which are the three generations of processor, the Series 3 chip is now the most popular processor,

00:09:41   which is huge. That it is so much more capable, has such better battery life, has

00:09:46   so many of these benefits and improvements to it, that it makes it so encouraging

00:09:51   as a developer to not feel like we're tied to the past, that we can

00:09:56   really embrace the future and be a bit more aggressive, because performance-wise, the watches are just

00:10:01   that much more capable. And that I think also has allowed Apple to do things with the OS, to give

00:10:06   us things like background audio. I don't think it's a coincidence that they dropped

00:10:11   support for the earliest, most rudimentary version of the hardware at the same time they

00:10:16   made watchOS more capable. I mean, part of that is, they just had one more year to make

00:10:21   the software do things that weren't as high of a priority in versions 1 through 4,

00:10:26   because it was a new platform. So part of that is software maturity. But also part of that is like, that

00:10:31   Series 1 watch had significant constraints on the hardware. I mean, they all still do, but that one

00:10:36   was like excessive constraints on the hardware. It was very, very slow. It had very little memory.

00:10:41   It had very little battery to keep the processor at a high power state for

00:10:46   very long, or to keep the display on for very long, or to keep apps open for very long. So like, it

00:10:51   was incredibly limited hardware with incredibly conservative software.

00:10:56   And now, the market of technology has made these awesome new watches that are still very

00:11:01   limited compared to like a phone, but let us do like a slightly

00:11:06   more like humane things with a watch kit.

00:11:11   And that's, I have a feeling in large part to do with their ability to finally drop that

00:11:16   first generation hardware from support.

00:11:18   Yeah, and so it's great. So I mean, we should probably dive into some of the changes that we can do now. And I guess the big

00:11:23   one for you, and honestly also for me, is the addition of background audio.

00:11:28   And we can do this now in its actual background audio, like

00:11:33   real background audio. It wasn't this weird thing where like I could do background audio in Workouts++ because

00:11:38   I was a workout app, which did make me laugh.

00:11:43   The way that I was using it was specifically called out in What's New in WatchOS.

00:11:48   This year at W2C, it's like, this was sort of this like slightly slightly like, uh-uh, bad

00:11:53   news, like shaky finger, like don't do that. You don't need to be a workout app in order to do audio now.

00:11:58   So yeah, it was basically like now if you want to play audio, you can just be an audio app and not have to

00:12:03   make yourself a workout app. So hopefully, I didn't

00:12:08   anger somebody at Apple by adding Podcast Workouts++, but nevertheless.

00:12:13   No, if anything, I think you gave us this because like you having that in the

00:12:18   workout app probably like prioritized some, you know, campaign that was going on

00:12:23   internally for people who would be like, look, this is dumb. Why do we allow this for workout apps,

00:12:28   but not for audio apps? And the whole reason it worked is because, you know,

00:12:33   workout apps are allowed to actually stay running in the background continuously. Their process stays

00:12:38   active so that they can keep running instructions. The way audio has been done on iOS has always been that way too.

00:12:43   As soon as background audio was introduced, and I think it was iOS 3, whenever that was, 3 or 4.

00:12:48   4. 4 or 5? Gosh, it was a long time ago. Yeah, well, whenever it was, like,

00:12:53   you know, your app just stays running in the background. You know, your process stays awake. You can keep executing

00:12:58   whatever code you want. The way WatchOS did it before this was

00:13:03   either you could be a workout app and use the AV Foundation stuff, which is what you did, or

00:13:08   you can use this awful WK audio file player or audio cue player API

00:13:13   that I have ranted about many times because not only was it incredibly

00:13:18   obtuse and limited and seemed to be designed by somebody who never actually tried to do anything

00:13:23   with it, but it was also just incredibly buggy. Embarrassingly buggy to the point

00:13:28   where you basically couldn't ship something with that. Like, it was almost unshippable for

00:13:33   almost any kind of use. So, I'm so incredibly happy that the

00:13:38   way they gave this to us was not trying to make WK audio file player better, because

00:13:43   honestly, that was clearly not possible for them to do because they would have done it by now.

00:13:48   But instead, they gave us the real AV audio player, the real AV Foundation

00:13:53   stuff, AV audio session, things like that. And not only did they give us

00:13:58   the ability for our app to keep running in the background and execute code while audio is playing, which allows

00:14:03   lots of critical and helpful functionality, for something like a podcast player where you want to do things like

00:14:08   track your progress through an episode, but also they fixed a lot of rough edges.

00:14:13   Like, had they tried to build, say, a podcast app

00:14:18   as a demo of the old API, they would have run into the same seven or eight

00:14:23   massive shortcomings and bugs that I ran into when I tried it and made that big blog post.

00:14:28   Things like, they required there to be a Bluetooth audio device,

00:14:33   but there would be no indication to the user if there wasn't one. Your playback

00:14:38   would just fail, but it wouldn't tell the app or the user

00:14:43   even that it had failed, let alone why it had failed.

00:14:48   According to the app, it was playing. It just wouldn't play.

00:14:53   It was a mess. And there was stuff like that. There was things like, there was no volume control for things

00:14:58   that were connected to the watch. So, like, your AirPods connected to your watch have a volume,

00:15:03   they have a concept of volume, but the app had no control over that and no way to embed a volume widget.

00:15:08   Like the crown one in the now playing view, there was no way to do that in a third party app.

00:15:13   And so, that's kind of a critical functionality bit that you had to

00:15:18   leave the app or try to use Siri on your AirPods to adjust your volume. That's horrible.

00:15:23   There's also things like, there was no integration with any kind of remote command

00:15:28   for play/pause or seek back or seek forward. So if your headphones have

00:15:33   buttons or if you're using the AirPods you can do the double tap thing or you can do the Siri commands.

00:15:38   There was no way for a third party watch app to get those, to respond to those

00:15:43   and to play or pause the content or to skip forward or to skip back or anything like that. There was just no capability for that at all.

00:15:48   They have now added that as well. They've added this wonderful overlay when you start

00:15:53   an AV audio session to prompt the user which audio route they want to send it to, which Bluetooth

00:15:58   headphones if they don't have any it will tell them that and it will actually tell you the app, it will tell you that as well.

00:16:03   So you can like, you know, not update the UI to be in a playing state if it can't actually play.

00:16:08   It's just, they finally actually gave us what we

00:16:13   need to make a good podcast app on watchOS and

00:16:18   I imagine that the number of apps that will be using these APIs is not that big.

00:16:23   So I'm really pleasantly surprised that they felt it justified to spend the time on this

00:16:28   because this literally turns watch podcasts from something

00:16:33   that first nobody and now I guess only Apple could have done

00:16:38   to something that everybody can do and that's fantastic. I could not

00:16:43   be happier and the happiness of that and how well this stuff seems to work

00:16:48   so far in my early testing pushes me through to motivate me

00:16:53   to actually sit through those long build and run times and those times

00:16:58   where the simulator just decides, you know what, I'm not connected anymore to the phone or the times when the watch

00:17:03   decides, you know what, I'm no longer a run target in Xcode, just I'm not paired anymore.

00:17:08   It pushes me through all those little annoying times and delays and, you know, tooling

00:17:13   bugs because finally I can build, for the most part, the

00:17:18   experience I want. There's stuff that I would like to do differently with, like if I actually had UI kit

00:17:23   but, you know, for the most part I can build the experience and functionality I want and that makes

00:17:28   me very, very happy. Yeah, and I think too what I really am encouraged by is that

00:17:33   I like that they are just using the same underpinnings that

00:17:38   we have on iOS, because functionally, I mean, it's always such a funny thing that

00:17:43   as best I understand, watchOS is basically just iOS, it was just a stripped down version of it

00:17:48   that runs in a different kind of, with some different rules around it, but like the basic

00:17:53   underpinnings are the same, it isn't like this wildly new operating system

00:17:58   and so, they are able, you know, they just, we get AV Foundation and we get all of

00:18:03   the same basic, you know, frameworks and things that we can share between both iOS

00:18:08   and the watch, which makes so many things better as well as also just, it

00:18:13   gives me much more hope that they'll be reliable, that, you know, AV Audio Player

00:18:18   has been around since like iPhone OS 2? iPhone OS

00:18:23   2 or 3? Like it has been around for a very long time. It is very reliable, like most

00:18:28   of the bugs and weird issues and strange edge cases have I'm sure been worked out with that, versus

00:18:33   you know, if it was a, rather than, you know, maybe if they got rid of WK

00:18:38   Audio Player, which was really strange and had some of the most comedic bugs I've ever dealt with

00:18:43   I'm glad you were able to laugh at them. I wanted to throw my

00:18:48   computer out the window every time I write a tool. Well, I think my favorite bug with WK Audio File Player was

00:18:53   there was one where if you somehow lost, if you lost connection

00:18:58   to the player, so if the app was killed, say, because

00:19:03   it played in its own process, that was the whole thing, like you gave it like a local

00:19:08   resource to play and then your app could be terminated and it would keep playing, so your app was never

00:19:13   actually running in the background, it was just being killed, and then when you'd wake up you could like try to find

00:19:18   that session and it worked sometimes. Yes, but most of the time you couldn't reconnect to it, so if you

00:19:23   started playing again, you would get duplicate playback, and then if you did it

00:19:28   again you got triple playback, or quadruple playback, and they would all start and stop

00:19:33   every time you hit play/pause in the Now Playing app, and the only way as far as I could tell to get rid of that was

00:19:38   to restart your watch. So, that one was, I thought

00:19:43   it was just comedic. And this was not in a beta, this was the shipping versions of

00:19:48   Watch and Voice, this is how bad it, man, I'm going to be so, I'm going to like celebrate the

00:19:53   day that WK Audio File Player gets deprecated. I will consider that my own personal

00:19:58   victory, like, rest in peace. I don't know why anyone would use it now, but. No, I mean

00:20:03   to be fair, you couldn't use it before because it was so bucky and horrible, but you know, it's

00:20:08   anybody who somehow managed to use it, I imagine they're going to be looking at losing that

00:20:13   shortly. Yeah, no, but the fact that the Apple is instead using, it's just saying old and battle tested

00:20:18   and tried and true, and like, I can use the same code that I use in iOS, like, it's just going to make that

00:20:23   so much better, and I love, it's just, it seems thoughtfully put together, it seems

00:20:28   sort of, it seems like it's clearly an emphasis, like even from a marketing perspective, you know, Apple

00:20:33   is on the, I always think it's interesting to compare the apple.com versus

00:20:38   the developer.apple.com descriptions of iOS or watchOS, and this year

00:20:43   one of the big customer facing features is audio on the watch, that they are talking about it to

00:20:48   customers, they have their own podcast player that they've added now, and I think

00:20:53   in general they are going to be emphasizing that as a use case for the watch, and so

00:20:58   all of that together makes me think that, you know, this is good now and should be getting better and better.

00:21:05   We are brought to you this week by Instabug. More than 20,000 mobile apps including Lyft,

00:21:10   eBay, and T-Mobile are using Instabug to enhance the quality of their apps. Instabug

00:21:15   is a lightweight SDK that provides mobile apps with comprehensive bug and crash reporting.

00:21:20   With just one line of code to integrate, Instabug helps you receive detailed bug reports with minimal

00:21:25   effort. So here's a pretty cool feature, for instance, users can submit feedback by simply shaking their phones if you don't use a shake gesture for anything else.

00:21:31   So each bug report from Instabug has a screenshot that can be drawn on and annotated.

00:21:36   Users can even attach a voice note or a screen recording too, and this is all done right from your app

00:21:41   with zero interruption to their experience. The Instabug dashboard will then show you a comprehensive

00:21:46   report that includes all their device details, reproduction steps, network logs, and all the

00:21:51   other logs you need to help you debug faster. And it's all automatic. You can also

00:21:56   reply to your users from your Instabug dashboard so you can let them know that their issue has been fixed or maybe ask for more feedback if you need it.

00:22:02   And Instabug can also now forward reports to Jira, Slack, Trello, GitHub, Zendesk, or whatever else you might use.

00:22:09   So check it out today, the Instabug SDK takes just one minute to integrate into your app. Visit Instabug.com/Radar

00:22:16   to create your free account now with no credit card required. If you're a developer, you can sign up for a free forever plan,

00:22:22   and everyone else can use promo code RADAR2018 to get 20% off all plans for three months.

00:22:29   That's Instabug.com/Radar and offer code RADAR2018.

00:22:34   Our thanks to Instabug for their support of this show.

00:22:37   So it isn't just audio people who are happy though. Workout people like myself are also super happy with WatchOS 5

00:22:43   because Apple is now exposing, I'm not entirely sure if they are exposing what they've been using previously

00:22:50   or if they have now added a new API that they are also using, but the workout system of recording workouts and running workouts on the watch

00:22:58   is completely overhauled from top to bottom and is exactly the same API that is used by the system workout app now.

00:23:06   Anytime I hear from Apple that the first-party app is using under the hood the same APIs that I'm using,

00:23:15   it makes me way more confident about them, both in terms of their maintenance, their in-general...

00:23:23   No, that is usually a good thing.

00:23:26   I'm not going to complain about what we don't have. I'm going to just accept what we do have and delight in it.

00:23:31   The workout stuff should be so much more reliable now, so much more performant.

00:23:36   Before there was just probably a couple thousand lines of code without exaggeration of Workouts++ that I can just throw away now.

00:23:46   All of the stuff that I used to have to do around...

00:23:50   It was this crazy game you were playing where you have this huge fire hose of data coming in from HealthKit.

00:23:57   You're taking all these sample data, you have to process it, manage it, and then you just turn around and hand it back to HealthKit

00:24:05   so you have a double fire hose situation. It was a nightmare to work with.

00:24:10   Now HealthKit just does it all for you in a reasonable way.

00:24:14   You just say, "Hey, I'm starting a workout," and it manages the data types for you.

00:24:18   It keeps track of how far have I gone in this workout, things that you would normally want to know.

00:24:23   It should make so much of that much more reliable.

00:24:27   And then, two, it does stuff that I just couldn't do previously.

00:24:31   They have the concept of workout recovery now, which is huge for some workouts.

00:24:36   People take very seriously, and I take very seriously, the fact that you don't want to lose data when you're doing a workout.

00:24:43   So now, you start a workout session, and for some reason your app is killed.

00:24:49   Apple would always talk about, "Oh, if your app crashes."

00:24:53   In my experience, my app is killed by the system for reasons unrelated to my application more often than anything else.

00:25:01   You shut down your app because of a problem.

00:25:04   That's not exactly it. I love when I get the system report that's a crash log, and it says,

00:25:09   "Your app was killed because the CPU was overused for longer than seven seconds," or whatever it was.

00:25:15   And it includes my app's usage. It's like, "Here, your app used 4% of the CPU during this period."

00:25:20   I don't think it was me. I don't think I was the problem here.

00:25:24   I think something else went wrong.

00:25:27   But nevertheless, if your app crashes or is killed, it will relaunch it and give you the opportunity to reconnect to the workout session.

00:25:35   And the user should probably never even know that something happened.

00:25:38   Because unless they're actively looking at the watch for that brief moment when the app is killed and then relaunched,

00:25:45   it'll just always be there when they raise their wrist, and without losing any state.

00:25:49   All the data from between when you crash and when you reconnect is still being collected.

00:25:54   And if your app can't be relaunched for some reason, or it relaunches and crashes again,

00:25:59   they just save the workout up until that point.

00:26:02   And it happens all transparently in the background.

00:26:04   One of these things is, yes, this is clearly now an API that is designed to give people reliable, quality third-party workout experiences

00:26:13   that before we could do our best to approximate it.

00:26:17   But if I'm honest, there were even situations where if I was doing a workout that I for some reason really wanted to make sure was captured,

00:26:23   I would go back and use the Apple's one, even as someone who makes a first-party app.

00:26:27   Even as the amount of work I put into making my app reliable, I couldn't guarantee that it was reliable,

00:26:34   because there's so many things outside of my control.

00:26:36   And it's fantastic that now that goes away, and I can be just as reliable as the first-party app,

00:26:42   and avoid weird situations that just previously were impossible to deal with.

00:26:48   Well, between workout restoration and background audio, I believe we can really truly say, "Finally."

00:26:56   Finally. All right, so I think that wraps up our talk about watchOS, and in general, what our summer plans are.

00:27:05   And I think it's also the opportune time for us to discuss something briefly, that we are going to be going on a break for the show.

00:27:12   So Under the Radar is not going to be putting out episodes.

00:27:15   We don't expect to do anything in July and August of this year.

00:27:18   We're both for a variety of reasons, in terms of travel and vacation and personal.

00:27:24   Just in general, I think it's a good time for us to take a break.

00:27:26   We're going to take a break from the app.

00:27:28   I think at this point, we expect to come back in September.

00:27:30   We expect to continue at that point, but we're going to take a break.

00:27:33   And in general, beyond even just the logistical and the practical reasons for that,

00:27:38   it is something that I also wanted to mention, that I have found in general that inertia is a dangerous thing,

00:27:44   and can be something that is hard to start something, and then sometimes it's easy to just keep going.

00:27:52   And at a certain point, you may not be being thoughtful about what it is that you're doing.

00:27:56   I'm sure at this point, I probably put less thought into each episode of Under the Radar now than I did at the beginning.

00:28:03   In some ways, just because of inertia.

00:28:05   And I think I would like to change that.

00:28:07   And I think taking a break is a tremendous tool in general, like applying to work or any kind of project or creative thing that you're working on,

00:28:15   to take a break, take a step back.

00:28:17   And I think when you come back to something after a time away, you have a better perspective about what makes it good,

00:28:23   what are changes you could make, and what are things that you can do to make it better.

00:28:27   And so I think those all go together to mean, I think it's a good idea for us,

00:28:31   and so that is what our current plan is for the summer.

00:28:35   So we will look forward to seeing you after that break, but in the meantime, you're going to have to find something else to fill 30 minutes with a week.

00:28:43   Yeah, and we still like each other, the show's still fine.

00:28:47   Yes.

00:28:48   But a combination of a lot of traveling and it being a pretty slow summer for iOS news in all likelihood,

00:28:55   it seemed like an opportune time to do this.

00:28:58   So anyway, we appreciate you so far, and thanks for listening all this time.

00:29:04   And enjoy your summer break, and we'll talk to you in two months.

00:29:08   Yep, sounds good. Have a good summer.

00:29:10   Bye.

00:29:11   Bye.

00:29:12   [ Silence ]