00:00:00 ◼ ► Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.
00:00:04 ◼ ► And I'm David Smith. Under the Radar is usually not longer than 30 minutes, so let's get started.
00:00:08 ◼ ► So where we left our heroes last, in the last episode of Under the Radar, they were in a mixed place.
00:00:20 ◼ ► And it's interesting now, recording a couple weeks later, to revisit where our heroes are, and I think we find ourselves in a better place.
00:00:29 ◼ ► And I think discussing how we got into that better place is helpful, and just generally, you know, an interesting way to kind of wind down this arc that we've been on for the last few months, because it's been an interesting summer.
00:00:41 ◼ ► I think, you know, we knew going in, I think, with a big redesign, that it was going to be an interesting summer, that there was going to be lots of work to do, that there was going to be, hopefully, interesting work to do.
00:00:53 ◼ ► The interest has kind of gone up and down a bit, but the, you know, it's been a very full summer.
00:01:01 ◼ ► I think we're probably a couple weeks away from when we get the Gold Master and, you know, a release date for iOS 26.
00:01:16 ◼ ► But I think the bigger story is that it sounds, you know, from some other conversations we've had, that you're in a better place.
00:01:32 ◼ ► And I think one of the biggest things that has helped me is how little time I had this summer to actually do, like, a full redesign.
00:01:44 ◼ ► And how many problems the system components have had, like, just, you know, bugs, limitations, lots of animation bugs, which has forced me to scale back what I wanted to do.
00:01:57 ◼ ► You know, I mentioned on this show, you know, a month or two ago, I mentioned that I was going to adopt a tab bar designed for Overcast because it seemed like that was where 26 was pushing us.
00:02:09 ◼ ► And it was better for, like, the searchable stuff at the bottom and, you know, better for a whole bunch of things.
00:02:25 ◼ ► I was going to do a pretty sweeping redesign because the system has a pretty sweeping redesign.
00:02:30 ◼ ► And I thought, you know, your app's going to look old if you don't do all these things.
00:02:54 ◼ ► That, like, okay, well, I can only do basically a refresh of the existing design, not really a full-blown redesign.
00:03:03 ◼ ► And then it also helped that in the intervening time, I've actually made some progress that I've liked.
00:03:28 ◼ ► I still am not 100% there with everything that has changed in iOS 26 and I don't think I ever will be.
00:03:58 ◼ ► It is like when you move out of an apartment and the landlord has to paint it for the next person.
00:04:21 ◼ ► And that – in the meantime, I have been doing a lot of groundwork laying for future features.
00:04:32 ◼ ► Things like, oh, I need to update the database on the server to have a couple more columns and an API to read and write them and stuff like that.
00:04:51 ◼ ► And that has actually motivated me way more than the design has because the design – like updating your app to a new system design is a ton of work.
00:05:05 ◼ ► Nobody will care except, you know, that very first week people will be like, ooh, the app was updated to the new design.
00:05:19 ◼ ► So it's almost like a – you know, it's like a forced, you know, kind of – there's a lot of worse terms for this.
00:05:26 ◼ ► But it's like you're kind of forced to adopt the redesign without much upside when you do but a ton of downside if you don't.
00:05:43 ◼ ► Feature work is like, oh, I can't wait to deliver this to my users because I think I'm making a better app here.
00:05:54 ◼ ► So laying groundwork for features as I, you know, get this design refresh out the door is actually very motivating.
00:06:04 ◼ ► And I'm kind of spending the motivation I get from doing the feature groundwork to fuel my way through the design refresh, you know, drudgery.
00:06:41 ◼ ► Yeah, no, I mean, that's great to hear and for you to have gotten to that place, right?
00:06:47 ◼ ► And I think it's interesting and I think a useful thing to emphasize that the part of the way you got there was just by sort of scoping and changing your expectations.
00:06:58 ◼ ► That it was, you know, that the part of the challenge you were feeling was that you'd like you had in your mind this big, substantial redesign.
00:07:09 ◼ ► This massive, sort of big effort and that you ultimately didn't like, you know, the outcome of that and the process of getting there.
00:07:17 ◼ ► And I think scoping it down to something that will feel at home on 26 but not necessarily be like the, you know, hero image catalog version of iOS 26 is great, is wonderful.
00:07:37 ◼ ► And I think most importantly, it got you over that barrier of feeling stuck where you couldn't get on to the things that were actually exciting, that were actually interesting, that were actually going to make the app better and move it forward.
00:07:54 ◼ ► Because I think that feeling is one that I've had many times where you have this like, oh, you just kind of feel stuck.
00:07:59 ◼ ► And I think it's really tough as independent developers to feel that feeling because you don't have a lot of external pressures to necessarily get unstuck.
00:08:10 ◼ ► It's one of the sort of the blessings and the curses of being independent is that sometimes you're just you're stuck in a problem.
00:08:25 ◼ ► And I think finding a way out by changing the scope, by rethinking of the problem differently, by just taking some time and doing something else, talking to someone else about the problem where often, you know, you're stuck looking at it from one perspective.
00:08:39 ◼ ► And if someone can look at the problem from a different perspective, that can be really helpful.
00:08:45 ◼ ► And it's just, you know, it's wonderful to sort of in a couple of weeks for you to now be in a different place and to not feel, you know, quite so sort of stuck in, you know, in a place that you weren't happy with.
00:08:57 ◼ ► Because ultimately, in order for Overcast to get better, it needs you to be excited about it.
00:09:03 ◼ ► That is just, you know, I think a lot of what I was talking about with you last episode was about that feeling.
00:09:08 ◼ ► And like my biggest concern is that you would burn out your, like your actual excitement about the product and about making it better.
00:09:24 ◼ ► It's like, oh, this is existentially problematic if you feel like you don't want to make the app better because there's this big barrier between you, where you are now and where you are then.
00:09:37 ◼ ► And I think it's interesting, like so many apps in iOS 26 are going to have had this journey because it's like, even for me, I have one, like Widgetsmith very much is getting the treatment similar to what you're describing, where it's more of a refresh, more of a adopting some new stuff.
00:09:53 ◼ ► And it will feel different to users, but it is not really the full like iOS 26 app, whereas like Pedometer++ is the opposite.
00:10:01 ◼ ► Like it is a very redesigned, like not like throwing, like moving everything, like I'm moving walls in your apartment analogy insofar as it will structurally feel different.
00:10:12 ◼ ► And a lot of visual things are sort of the hierarchy has changed a little bit, but I'm trying to keep the rooms.
00:10:17 ◼ ► The room layout is hopefully the same so users don't get confused, but it feels very different.
00:10:21 ◼ ► Like when I go back and use iOS 18 version of Pedometer++, it's like, what is this app?
00:10:31 ◼ ► But, you know, somewhere on that spectrum between those two things lies the, you know, sort of the sweet spot for every app probably.
00:10:38 ◼ ► And so I think for all of us, it's been, you know, it's like find where we are on that because whether we like it or not, you know, iOS 26 is coming.
00:10:46 ◼ ► And that's one of those weird realities of kind of just feeling like, you know, very often we're just, we're along for the ride and it's coming.
00:11:01 ◼ ► I think where you are now with the light touch update, you know, while I think last episode I was talking to you about maybe you can just wait until October and see, see what happens.
00:11:11 ◼ ► Like this feels, which is the one that's the most extreme version of sort of not, you know, the lightest adoption you could possibly do.
00:11:18 ◼ ► But I think a light touch adoption, but being there early, I think will ultimately be what I would recommend for most apps.
00:11:24 ◼ ► Having something is better than waiting if you can at all possibly just do that light touch version.
00:11:42 ◼ ► Also a sweeping structural redesign of an app as complicated as Widgetsmith or Overcast to do that well takes more than three months.
00:11:52 ◼ ► Even if you knew exactly what you wanted to do, you know, on, on June 5th or whatever, and you started immediately and all the system components worked and there weren't all these bugs.
00:12:07 ◼ ► And that's even that, like, you know, I've found that there's a couple of 26 behaviors that still have like pretty deal-breaking animation bugs for me.
00:12:21 ◼ ► Like when I, when you present a sheet from a glass toolbar and you can use the, the net, the navigation source stuff to like animate it in and out of that blob.
00:12:34 ◼ ► So I just commented out those lines that set the source and destination on it and it's fine.
00:12:42 ◼ ► Like there's a lot of that going on in my thinking right now of like, okay, well, if I can't do this part, I'll just skip it.
00:12:56 ◼ ► It has been frustrating for me all summer seeing all these bugs and stuff, especially seeing them still not being fixed this late, but I've decided to just reframe that as like, well, now I have less work to do because I obviously can't ship that.
00:13:13 ◼ ► And whenever Apple fixes their bugs, I will re-enable those flags and whatever else and it's fine.
00:13:21 ◼ ► Like it can be easy to, to start with that kind of thinking and say, well, this is too buggy.
00:13:27 ◼ ► And to apply that to all of the liquid glass stuff or to the entire, I'm just not going to ship anything in this design.
00:13:33 ◼ ► Like that's not a good idea, you know, but find, like find something you can refresh in your apps and get it done because again, people will expect it and you will, you will start losing people.
00:13:46 ◼ ► If you, you know, just kind of dig your feet in the sand and say, I'm, I'm just not going to do any of this stuff because it's not good.
00:13:58 ◼ ► I mean, I think I've taken very much the approach this, this cycle of like just absolute pragmatism in all of my adoption of these new features.
00:14:07 ◼ ► That if whatever I expectation I have for myself and how something I feel like should work for whatever, like should is, I don't really, you know, which is a very subjective, very complicated thing.
00:14:19 ◼ ► But if I find myself working against the grain that the system wants you to do, or if something just doesn't quite work, I'm just doing the straightforward implementation, the basic version of something and moving on for now.
00:14:37 ◼ ► And like, I have a bunch of, you know, sort of like the pound warning markers in my code that's like, you know, come back and check this in the gold master, essentially, like come back and check this, try this out, see if, see if this works.
00:14:51 ◼ ► And I just, it's much been much more productive rather than sort of just keep bashing into a wall.
00:14:57 ◼ ► If something feels like it's just, isn't working right, it's been much more productive to just be like, okay, that's, that's the way it's going to be.
00:15:05 ◼ ► I was just, you know, I was doing some work with custom segmented controls, trying to do some stuff, you know, things that were a bit liquid glassy.
00:15:14 ◼ ► I'm just going to go switch over to the system component and it works much better and maybe some downtime down the road, I will revisit those controls.
00:15:23 ◼ ► Because I think visually they could be a bit more at home in the broader design, but, you know, and for right now, that's fine.
00:15:30 ◼ ► And I think that's served me well in terms of keeping me slightly sane in this process, because there were definitely some times where like, I felt myself losing, you know, sort of, you hit a problem.
00:15:42 ◼ ► And then there's the working on it for, you know, maybe an hour, two hours, and you find it's like turning into a half a day.
00:15:52 ◼ ► But this summer, it was like, no, you hit you, if you hit that point, it's like immediately like pull the ripcord, do whatever is the most pragmatic, straightforward thing you possibly can, and move on.
00:16:04 ◼ ► And that has allowed me to get to, I think, the place where, you know, both my apps, I think will be ready in the couple of weeks when, you know, the GM ship.
00:16:17 ◼ ► And I don't think I would have gotten there without being just incredibly pragmatic and not trying to, you know, do a lot of this work to work around a constantly moving target inside the, you know, the SDK.
00:16:28 ◼ ► Or if there are weird issues or bugs, like just, you know, sometimes I'll just, just like, just file my feedback and move on and have a workaround.
00:16:37 ◼ ► And whether that's, you know, changing the way you design a feature, the way it works, or making it simpler.
00:16:46 ◼ ► And if you're stubbornly stuck to some preconceived notion about what it's going to be, like, you're just going to end up being stuck.
00:16:53 ◼ ► You know, and I think that it is kind of helpful in some way to look at the time crunch and the, you know, kind of instability and betaness of this all.
00:17:04 ◼ ► As, you know, trying to find a silver lining, like you mentioned a minute ago, you know, just kind of bailing out of a custom control and just going right back to the system control.
00:17:12 ◼ ► I faced a similar issue, you know, Overcast's playback speed control, since Overcast 1.0 has been a slider.
00:17:21 ◼ ► And it's been a custom slider the whole time, you know, where it's like, I'm still using, you know, UI slider slash, you know, Swift UI slider.
00:17:36 ◼ ► Well, the Liquid Glass native slider has the, you know, a lot of kind of weird oddities to it.
00:18:13 ◼ ► One of the reasons that it, that I couldn't, like, add a bunch of speeds is that they wouldn't fit.
00:18:23 ◼ ► So, you know, in the next version of Overcast that uses the stepper, it has a 0.5 speed.
00:18:37 ◼ ► Having to bail out of my custom control for practical reasons now has enabled me to add some features people like.
00:19:02 ◼ ► They reach out to data brokers on your behalf, request that your personal data be removed,
00:19:06 ◼ ► and then they deal with any objections from the data broker side to keep that process going.
00:19:18 ◼ ► And with the family and friends plan, you can add up to four loved ones to your annual subscription
00:19:30 ◼ ► All you do, you create the account, you grant them the right to contact data brokers on your behalf,
00:20:01 ◼ ► Protect your privacy with Incogni, and experience peace of mind knowing your personal information is safe.
00:20:09 ◼ ► Use code RADAR via the link in our show notes and get a 60% off discount off your annual plan.
00:20:24 ◼ ► So something that I just wanted to touch on briefly towards the end of this episode is I had the delightful opportunity to go to one of the workshops that Apple was offering about iOS 26 and liquid glass.
00:20:37 ◼ ► And this is a new thing, as far as I know, that they – I don't remember this kind of format being something that I've seen before.
00:20:47 ◼ ► It's at this point I think all of the workshops that they were doing over the summer have essentially happened.
00:20:51 ◼ ► I think as you're – as we're recording, there's maybe one more next week in Cupertino, which I have no idea if you could be able to sign up for, get selected for at this point,
00:21:00 ◼ ► But I wanted to mention it just insofar as if this is something that Apple offers in the future, that's just sort of my experience there.
00:21:10 ◼ ► And yeah, overall, it was exactly – I remember for years, I feel like at the end of every WBDC, so many of us will have sort of a comment along the lines of the labs are super helpful,
00:21:21 ◼ ► but I wish they happened later in the summer because then I would have all my actual questions, all my real like draft designs and my implementations of things.
00:21:36 ◼ ► And so I would have a much better – all the APIs would be available and it would be so much more helpful.
00:21:52 ◼ ► It was essentially a couple of days with Apple engineers, Apple designers who were there to help me answer my questions
00:22:03 ◼ ► If I ran into things, I could ask – so there's a lot of sort of like, is this intended behavior?
00:22:14 ◼ ► And so if Apple offers these again, I would strongly encourage anyone who is able to and has sort of the means to get to whatever one of these there is to give it a try, to apply to it.
00:22:24 ◼ ► I mean I don't know how – it's complicated from a – I don't know how selective it is or how complicated it was to get.
00:22:33 ◼ ► But it was super helpful and I really hope Apple continues to do this and like whatever we get next summer, if in the August following, there's a workshop to help us improve our designs and to react to that, like I will absolutely be looking to go to it.
00:22:50 ◼ ► Because it was just a super productive way to take the work that I had done in June and July, validate it, refine it, know where the issues are coming into the last couple of weeks of the summer to feel in a good place.
00:23:04 ◼ ► And the people who were there were incredibly helpful, who were incredibly knowledgeable.
00:23:08 ◼ ► And I feel like it just short-circuited a lot of these open loops that I had at the end where I've been saying I've been brutally very pragmatic and like pushing off some issues and doing these things.
00:23:16 ◼ ► And it was very helpful to be able to more definitively say like, yep, this is a problem or no, it's not going to be a problem or, ooh, you're thinking about this wrong.
00:23:24 ◼ ► Like there were a couple of times when I would have a conversation with one of the people who was there and they're like, yeah, I see why you thought that.
00:23:36 ◼ ► And so that was just super helpful and I just wanted to mention that here that, you know, like I said, it's probably not helpful for this time.
00:23:41 ◼ ► But A, it was, you know, the people who were there were amazing and if you have an opportunity to do one of these workshops in the future, I highly recommend it because it really felt like this thing that we've been asking for for years to finally happen.
00:23:55 ◼ ► Occasionally Apple's developer relations team will do some kind of experimental thing like this.
00:24:01 ◼ ► Like, you know, like the tech talks back in the day, which still occasionally happened.
00:24:05 ◼ ► That kind of started as one of these kind of, you know, developer relations experiments when you're kind of having like a mini WVDC sometime outside of the summer, you know, somewhat the part of the year.
00:24:17 ◼ ► And they're almost always like if you had the opportunity to go to one of these things, they're almost always worth going to like it like definitely try if you if you can benefit from it and if you can go.
00:24:27 ◼ ► And I think this this shows, you know, you mentioned earlier about like the problem of labs being, you know, days after you've gotten everything for the first time, you don't really have all your questions yet.
00:24:36 ◼ ► Now that WVDC is pretty much entirely virtual, you know, with a little asterisk on it, but pretty much entirely virtual.
00:24:43 ◼ ► Maybe it would be good for the developer relations team to set up some kind of basically labs for a few days, also in July and August.
00:24:55 ◼ ► Because that gives you time to be working with the stuff over the, you know, over June and, you know, so still keep the lab format, you know, with like the chat labs and stuff like that.
00:25:04 ◼ ► Still keep that for the couple days that we have the betas, you know, at first in June.
00:25:09 ◼ ► But have like a like a lab revisit something where after working with it for a month or two, you can still have questions answered because things change over the summer.
00:25:18 ◼ ► And it is very difficult as a developer to come up with good questions in those first couple of days that you, you know, that you're in a big rush trying to, you know, trying to just ingest everything and try it and download it and build your stuff and see and fix like the, you know, the big fires that come out first before you even get to the smaller ones.
00:25:35 ◼ ► So maybe that would be worth considering, like, you know, now that we don't have this forced in-person constraint for that one week, why does it have to only be that week?
00:25:45 ◼ ► And I think these, the success, I hope, of these design sessions they were having, I hope that might show them and maybe be able to, you know, convince whatever higher ups need to be convinced that this has a lot of value to also have something later in the summer.
00:26:05 ◼ ► I can just say from experience, I think it is also just, it's, it was nice to feel the, I don't know what I say it, it's like the care and the, you have to get Apple's attention.
00:26:18 ◼ ► Like, I mean, it's just maybe the straightforward to say it, like, it was nice to have that attention.
00:26:23 ◼ ► I think developer relations is a very complicated thing, I'm sure, where like there are, where they, you know, they have these things where there's like a million developers and all these things.
00:26:31 ◼ ► So it's hard to scale some of these experiences that they don't necessarily go wide in that way.
00:26:35 ◼ ► But it's just great to see that I like, you know, I was just very glad to see that they're experimenting and they're trying new things and they're doing things to make it better to be an Apple developer.
00:26:46 ◼ ► You know, to see that it's almost a weird way, it's like, you know, they're trying to make our life easier.
00:26:51 ◼ ► Like anyone who's within the Apple developer relations organization, like that's their goal.
00:27:02 ◼ ► And I think online labs, I think improvements to the forums, like you can imagine so many different things.
00:27:07 ◼ ► And I think it's easy sometimes to get stuck on all the things that there are many frustrations of being an Apple developer still.
00:27:14 ◼ ► But whenever there is an opportunity to, you know, to see movement forward in a practical way, like, it's great.
00:27:31 ◼ ► But I'm just, I'm happy to see them, you know, doing these experiments that, that, you know, Apple doesn't think that their developer relations problem is just 100% solved forever.
00:27:44 ◼ ► You know, the developer relations team is, is small, as you mentioned, you know, like the scale is a problem.
00:27:49 ◼ ► And that's why, and, you know, also like travel is difficult for people and impractical and expensive too.
00:27:54 ◼ ► And so that, like, that's why, like, I'm hoping to, by all means, do, do events like this.
00:27:58 ◼ ► But the more that they can replicate the all online format for everyone during WVAC week, the more they can replicate that throughout the rest of the year, the better.
00:28:07 ◼ ► So if they can have, like, those, you know, like, like what I'm saying earlier about the labs, I'm talking about virtual stuff.
00:28:28 ◼ ► And, you know, devoting some of those resources to maybe making things more public would also help in terms of, like, the result of, you know, any kind of, like, public labs.
00:28:43 ◼ ► You know, as long as it's not confidential one-on-one stuff, there's a lot of value to be had there.
00:28:53 ◼ ► Now, I'm just thinking of the contrast between our last episode and this one, where it's, like, last time we ended in despair.