321: WWDC 2025 Aftermath - podcast episode cover

321: WWDC 2025 Aftermath

Jun 19, 202529 minEp. 321
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Summary

Marco Arment and David Smith dive into the implications of WWDC 2025, particularly the significant new design language for iOS. They explore the challenges indie developers face in adopting the changes quickly, the potential advantages they hold over larger companies, and the feeling of their current apps instantly looking old. They also discuss strategies for balancing ongoing development with the extensive work required to prepare for the fall OS release and the imperative to adapt to stay relevant on the platform.

Episode description

The podcaster did not provide a description for this episode.

Transcript

Introduction and WWDC Scope

Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment. And I'm David Smith. Under the Radar is usually not longer than 30 minutes, so let's get started. So, WWDC has come and gone. It's a big one. It's a really big one for developers. And I expect... I know, I feel... I'm completely overwhelmed by what to do next, in what order to do the things that I want to do. There's way more that I want to do than I have time to do in a few months. How are you feeling?

Yeah, it's, A, I think it was a really, like, for both of us, I mean, we've been doing this for a very long time. We've been to a great many WBDCs, virtually, in person, all of the above. I feel like I have this general sense of like the years that are like, oh, that was a good one in terms of it was an interesting set of announcements, both in terms of new opportunities, in terms of clearing out like...

Just sort of system-wide tech debt by them dealing with issues that are just sort of long lingering things and just in general like leaving with a sense of like, ooh, there's some really interesting, fun – engaging work that I look forward to this summer. And I would say this year felt that way. It felt very much like Apple was playing to its strengths. It was doing things that make my life easier and better broadly. And overall, like I'm a – excited to get started.

The challenge, as you said, is obviously the nature of this kind of an update is it touches lots of parts of the app in lots of different ways. And so who knows how much we'll actually be able to get done by... Day one. I expect I will have something ready for day one across all my apps, but... It's going to be a tricky one in that way, especially as someone who makes a widget app. The number of places you can put a widget now, just every year...

I continue to be struck by just any surface Apple possibly can, they now will put a widget on. So now you have widgets in CarPlay, and you have different kinds of widgets that you can activate from buttons, and you have controls in watchOS, and they're just like everywhere. is a widget, which is great as someone who makes widgets, but it's also terrible as someone who makes widgets that I now have tremendous surface area.

to have coverage for but you know I'm excited for that and overall I would say like my overall impression of this year was like two thumbs up like it was great I think there's a lot of cool interesting things and I think The year to come, beyond just what we can squeeze into the next couple of months.

It'll just be a good year, I think, of interesting work. And that's really all I want. I want to do the interesting work. I want to tackle interesting problems. It's useful in this case, like with a big redesign, to have the – the opportunity to be kind of forced and pushed to reevaluate my designs, which, you know, I go back.

And immediately I looked at all of my apps and I'm like, oh no, my apps are terrible. Now that I've seen this new design language, I look at everything. I'm like, oh, it's terrible. It's terrible. I don't want to look at it. But it's going to be months probably until it's all done. But that's exciting. That's interesting. And it's fun to have that kind of fresh perspective to sort of appear, you know, in over the course of a week. It's been kind of a roller coaster.

First of all, I would say for all of you developers out there, get this beta on a device and start using it. I don't care what device, but get it on something and start using it because... What Dave just said is very important. As soon as you get used to seeing the new design language across the system, your app will feel old, like very, very old, and it will look old. All of your customers, first of all, some of your customers are doing that already.

because they're on betas because they're nuts like me. Some of your customers, that's going to be throughout the summer. By the fall, This is going to be a very polarizing release. You're going to have some people who hold on to the old version of the OS's forever because they don't like the new design. But it's so radical and it does look pretty cool for a lot of people. And so...

There's going to be, I think, pretty strong adoption in the fall, and you're going to want your app to fit in. And as soon as this lands to the public, your app is going to start looking old, and that clock is ticking. How long will you let your app look old to your customers? You're going to want to have this running on a device, and you're going to want to start working on UI possibilities now, ASAP.

I said back when the redesign for the OS was rumored, I said that if they do a big redesign, that's basically all we're going to be able to do all summer and fall.

Responding to the New Design

I stand by that for the most part. It is going to be a lot of work. I started playing with the UI stuff over the last couple days and... A lot of it still doesn't work right. A lot of it has some weird, tricky little gotchas that you have to figure out or work around. You've got to file a bunch of bugs and hope they fix them soon so you can start actually using the stuff. But your customers don't know any of that. Your customers...

come September are going to see the system looks radically different and your app looks old. So you've got to get on that ASAP. And what's interesting, the way I feel kind of generally about what they delivered this year... A lot of people who I think are not developers or maybe who are skeptical of AI think they didn't really give us that much this year.

And I can tell you for sure that's not the case. We'll get to that in a minute. But I think one of the challenges that I'm facing is that I do see that, oh, yeah, I have to do a redesign badly now.

But also, there's all these cool new APIs that I also want to play with. So there is some... some balance to find there that and of course I never find those balances but there's some balance to find there with like how do I spend my time and it's it's kind of this big crunch period too because you have only a very short time when

You have to consume a whole bunch of developer sessions, figure out what to do with your app, and start using these new APIs so that you can ask the right questions during the labs if you're there that week. and or you can start filing bugs that actually have any chance of getting fixed before this thing is released. So there's so much going on right now. I feel like I'm being pulled in a thousand different directions, all of which are super urgent and have to be done yesterday.

Sure. Though I will say it is good to also realize that there is an initial sprint and then I feel like things settle down in the way that we most likely have until... mid to late September to be, until we have to be ready, which is about three months, is it? June to July, July to August, August to September, three months. So we do have a bit of time once that initial sprint settles down. Absolutely, I'm the same as you. I've watched so many session videos in the last...

week and a half that they all start to run together. And like, I just, I vaguely remember things. And that's, that's my point in what I'm doing right now is I'm watching as many as I can.

but not paying deep attention to them as I'm going. I'm trying to be exposed to lots of ideas and frameworks and things such that over the course of the next few weeks, when I really dig into things, I'll be like, oh yeah, I remember this being somewhere. And then you can go into the different... developer app and they have searchable transcripts which is super helpful and so if you want to find something that you referenced earlier but it is definitely

a bit overwhelming. And I think the thing that's been interesting and slightly reassuring to me, so the new design, which probably, I mean, I imagine if you're listening to this, you probably know what we're talking about, but like Apple is this liquid glass. is the high-level feature of the design, but it's more than just this new visual texture with the liquid glass thing. It's a slightly more, I might say, stripped down or cleaned up.

hierarchy and visual sort of language that they're going for, which in some ways I found very helpful where a lot of my initial work – So far, a lot of what I'm doing is just taking a screen and then just playing with it in Xcode to sort of see how... Quickly, I could get a basic sort of liquid glassified version of it. And thankfully, for this kind of update, the majority of the change is about removing old customizations and old things that I was...

doing that were how you would add distinctiveness previously. In a weird way, like the... Design language itself has so much inherent distinctiveness and newness that even just a completely vanilla out of the box, like you're just using Swift UI with all the basic. like default settings, is going to look wildly interesting and different to your users. So we don't need to radically push it out beyond that. And so the interesting thing, which at least is reassuring at this point,

Because most of what I'm doing is just sitting there and like, delete my custom this, delete my custom that, switch from using my custom segmented control to a standard system control. Like, all of these places where I was doing things differently before because... The iOS 18 versions of these things were...

like plane in a way that was not interesting. And now I think plane takes on an interest in this update. And inevitably what's going to happen is people will get used to this plane and then we will want our own custom.

adjust things further over the years to come and you know the sign language will evolve and all those things but at least i find some comfort in that that most of the summer i think is going to be stripping down the existing things and a little bit of re-architecture, a little bit of adjustment, but a lot of it is going to kind of naturally come out of a simplifying process rather than... Yeah, I think.

I'm hoping that proves to be correct. So far in my very early experimentation, it does appear that way, that you can rely a lot on the defaults. And in fact, in many cases, you should. strip away customization and rely on the defaults. In fact, Apple has told us that much over and over again in the design sessions for WBC. So...

Adopting the New Design

I think one thing that helps a lot, you said the stock controls in iOS 18 and before were kind of bland and boring. The new system design is more opinionated than we've had. Since iOS 5 and 6. You know, even 6 started tripping some of it up. It's the most opinionated visual design since early versions of iOS. Over time, it's been a long time since we've had that. The design language of iPhone apps has basically become just flat shades of color.

text, and just what iOS 7 started. iPhone apps look not that different from web apps and Electron apps. That kind of all works together in a cycle. Well, now there's a huge bomb that Apple dropped, and all of a sudden they're going to look very different. Now, not every company is going to take advantage. In fact, I would say most big companies are not going to adopt the new design language very well, if at all.

They're going to want their own branding. They're going to want their own look that they say is consistent across all their platforms. So apps from big companies are not going to look native anymore. They're going to look old, and they're going to look custom. in a bad way or a bland way. This, I think, gives opportunities for us to take advantage of. For indies, we can make our apps look on the iPhone like whatever we want.

We don't have to worry about like, well, is it going to fit in with our overall brand across all of our properties and platforms? Nope, we don't care. We can just make a great iPhone app or Apple platform app, depending on your platform. I think this is an opportunity for indies in particular that we have an advantage here. We can work faster than the big companies at adopting the new language, and we can adopt it where many of them won't adopt it at all.

That, I think, will give our apps a bit of an edge on the platform. Not for everybody. Most users out there don't care, which is why all these boring big company apps are designed the way they are, because most people don't care. But the core group of like... Apple enthusiasts and iPhone enthusiasts who really love the platform and things being native and integrated, that's our people. And they do care. And we can make apps that appeal to them.

Better than the big companies will be willing or able to do for a while. So we have a window of opportunity here that we should take advantage of. That if we adopt everything aggressively and early, we have an edge.

And that's what I'm planning on doing for Overcast, to be honest. I don't think I'm spoiling any surprises here to say that I'm going to redesign the app to fit in with the new design language, of course. And by the way, I am so glad at this moment that I did the rewrite and that it's... done effectively now. Because to have laid the groundwork for all modernized code, all Swift UI, all Swift, and then all Swift UI, that makes all of this so much.

easier if i hadn't done the rewrite over the past few years this might kill overcast like this summer like having to do this this might be enough i might i might have thrown in the towel and said i can't keep up So I am so glad I did that when I did. So anyway, yeah, redesign coming because I think any app that takes itself...

Any app that takes pride in how it integrates and fits in and looks well and is native on the iPhone has to do a redesign or at least heavily consider some major design tweaks. Yeah. And I think the nice thing about that, that I'm personally very excited about on the design side, is I like the design, which makes it easier this summer when I stare down that work to look at it. I have it on a testing phone at this point.

I haven't gone down on my main phone yet, which at this point I think I'm glad of. At the time, I didn't want to do it because I was traveling, and now I'm home, and I'm like, maybe I'll give this a couple weeks and a couple of betas before I go there. But I'm using it regularly on my testing. device and doing things on my testing device that sort of increase my compatibility with it. And the more I use it, the more I like it. I think the initial like my first hour with it.

Indie Advantage in Redesign

My reactions were much more mixed because it is so opinionated, but the more I've used it, the more I really like it. And I think that is very helpful with something like this, where I'm looking at it and I... The more I play with it, the more I enjoy it. And I'm feeling good about that. Like, ooh, this is fun. And the reason when I look at my old app and I don't like it anymore is because I've seen something that is better.

couple hour version of just rebuilding with the new SDK and making a few minor changes to adopt the new layout, I think looks better. I think it looks different. And better is always these things is a bit squishy because part of what makes it better is that it's new. And so it's hard to differentiate between the newness and the intrinsic goodness of it.

But in some ways, that is like an inherent thing of design, that part of what will make it interesting and compelling for our customers is that it is new and it is novel and sometimes new and novel. is just as powerful as other aspects. And I'm saying that I don't think it's, I think it is well designed and I think it is thoughtful. And I think it's easy to have the kind of hot take version of like, oh, the contrast isn't good here or the way they do this isn't great.

But I think those things, A, either be just – many of those things are related to it being an early beta, that there are glitches and there are artifacts in the way that it works, which are – make it less compelling than it will likely end up being. And the other thing is just the more I've read and listened to all the design talks and read the documentation and things, it is clear that many, you know, this has been...

thoughtfully thought through. I don't think this is Apple responding in a half-completed way. to wanting to do a redesign. I think they've thought it through into lots of different places, and there are places that I disagree with the direction they went, but overall I can see that it was made with a sort of intention behind it, and that I think will help it.

to stand up over time and sort of as we get – as it evolves and develops both this summer and this end of the coming years, I think it's starting with a good foundation to grow from. Yeah, and I think too like – Whether or not you agree with all the choices Apple made, I don't agree with all the choices they made. There's a lot of stuff that I think will be revised and toned down in future releases.

Hopefully some of it will be toned down before the ships, but I'm honestly not holding my breath on that. But, you know, hopefully in future releases, some of this will be tamed a little bit. But no matter what you think of this design... It doesn't really matter if you're a developer because this is what they're doing. And this is what all the customers are getting.

And so we're, this is happening to us, whether we like it or not. And you can either like stay on board the iOS train, which has always been made of quicksand. I know this is a lot of mixed metaphors. Like you can either like go where they're going.

Or have your app fade out of relevance and your users start to hate it over time and it'll seem abandoned. Like, that's it. Those are our choices. And so I have chosen, even though I don't love every single choice they've made, I've chosen, like, look, I'm an iOS developer. I'm staying on this train. And so I'm adopting this design aggressively.

Because that's what my customers will expect. I mean, look, I already have like 2% of my user base using developer beta one. So that shows you like I have a nerdy audience. And so they're going to expect this to work and to fit in on. day one. So that's what you got to do if you're in this game.

We are brought to you this episode by Sentry. All right, founders, time to be honest. How much time is your team wasting on debugging? If you're like most startups, it's way too much. Your team should be focused on shipping features, not chasing down bugs. That's where Sentry comes in.

error monitoring and tracing platform so you know exactly when something breaks where it happened and why no more 1am slack threads or digging through endless logs to try to figure it out now here's the game changer seer

Sentry's new AI debugging agent. It's like hiring an engineer who already knows your entire code base. Seer finds the true root cause 94% of the time. And it can even generate merge-ready pull requests. Plus, So the bottom line is you ship faster, your team isn't drowning in bug alerts, and instead of grinding through logs, your developers are back to building the product.

We build. So this is a great platform to check out. The good news is new users of Century get three months free of the team plan, which covers 150,000 errors. Hopefully you don't have that many, but hey, we've all been there. Click the link in.

the show notes or go to sentry.io and use the code radar that's sentry s-e-n-t-r-y dot i-o and use the code radar or just click the link in our show notes our thanks to sentry for their support of this show and relay So as much as we're excited about the redesign and thinking about that, I think probably a place that might be worth just touching on before we wrap this up is to also talk about the reality of while...

We're focused on updates that are going to come out in September, most likely. Historically, it'll be sort of the third-ish week of September. Between now and then, I expect to also have to ship regular updates to my app. that I think having an entire quarter of the year where there's no activity doesn't reflect well on the app. And I think for my personal planning and the things that I'm hoping to do just doesn't make sense. And so it's been a really...

Interesting week, as I've shifted my mindset, like last week, I was just, you know, on all these test prototype builds, and I was just like, completely destroying my app, you know, in a separate branch that didn't really matter. change the deployment target to iOS 26 so that I can just ignore all the weird warnings and just go for it. Right. Like that was last week. And then this week I'm back in the actual production, stable things, shipping features and doing work.

which is weird in some ways, like it is fascinating as a sort of thought exercise because I'm building features, knowing what, what the next version of iOS is going to be. So it's like I know the future but I'm like working in the past which is strange. But it's also just the reality of where I am which has been interesting because I'm – as I'm building these – I'm building a –

a visual feature right now. It's like all of my controls and layout and things are very much like, huh, how can I build this for iOS 18 in such a way that it will be compatible with liquid glass and the new design language and kind of start pre.

Experiencing the Beta Design

making my life easier later in the summer when I actually have to adapt this new feature to that. And I think it's one of those complicated things. I've had some summers where I just don't do anything and don't ship anything all summer. I just don't love the way that feels.

Right now, it's like I want to get to the new stuff and I don't have a ton of time to be doing this. So I am tremendously motivated. I will say the last couple of days of work, I've actually been some of the most productive I've been.

you know, in the last few months, because I have in the back of my mind this like, oh, you know, I need to do these things because I think it's a useful thing, you know, for the roadmap of the app and to have some features and to have a little bit of inertia going on to it rather than hitting the sun. But I also have this delightful motivation that as soon as I...

sooner I can get this work done, the sooner I can transition back to working on iOS 26 and the new shiny features. And so that's been interesting and it's been a nice motivation to do that. But yeah, that's the approach that I'm taking. And I think I'm just...

sort of going through it carefully in that regard of I'm trying to not create problems for me on either one side and not trying to end up with these, this massive, you know, giant Git conflict that I'm going to have to resolve later, like try and just be very clean about the way that I do it.

Hopefully that's going to work out, but it's definitely a weird thing. And I wasn't sure how you're approaching that this summer. Like, are you expecting there to be meaningful overcast updates between now and September, or is it just going to be a big update in, you know, come the fall? So one thing I have yet to judge is how much can I actually work on the new code base?

and the old code base at the same time. Obviously, we have branching and stuff, but how much am I going to be pressured technically or practically to require?

close to day one for future overcast updates? Will I be able to maintain both? Most of what I want to work on, and we haven't even had time to talk about the... lm and intelligence based features yet but that's substantial so there's you know between like what i want to work on this summer it's like a whole bunch of new new design work and a whole bunch of work with the new apis

And that doesn't leave that much room for me to release anything useful to my customers in the meantime. The thing is, Overcast is already in a pretty good state. And also, summer is a low period for podcasts anyway. I think it's totally fine for me to basically issue a couple of bug fix releases here or there. Like I have one right now in beta testing that fixes a couple of bugs from the big watch rewrite, and that's probably going to be out in a week or so, maybe less.

And I don't think I need to do that much else with Overcast this summer for bridging the gap unless some big bug comes up. I think my time is better spent trying to make the best release in the fall that I can. And ideally, it's not just a redesign. Ideally, I can also have some of the new API niceties in place by then as well, because the redesign I expect people will love or hate because it's going to match the system and the system people love and hate.

And it's different. So any difference I make, people will love or hate. I feel like usually if I'm going to go through a redesign, it helps to kind of smooth that over with the customer base if you're also bringing some nice new features to it as well at the same time. So I'd like to have time to do both.

And that just doesn't leave that much bandwidth for incremental stuff over the summer. I don't even necessarily know what it would be. So whereas I have a very clear view of what I want to be able to ship this fall.

pretty aggressive i think i'll be able to get maybe half of it done but i do have i do have goals there so i'm just focused on that yeah and i think that's perfectly reasonable and i think there's this complicated tension that's why i wanted to bring it up because it's just It's an eye.

I don't think I'm going to – I think I will try very quickly, hopefully in the next few weeks, ship these last sort of couple of updates that I'm hoping to do this summer and then transition meaningfully on to the new stuff. And I think – I will be working on the new stuff. History has shown me that I think – I don't expect I'll be able to –

require iOS 26 anytime soon. I expect I'm going into this with the expectation that I will need to be supporting at least probably the last two versions of iOS. in addition to iOS 26. That tends to be what kind of works well and is reasonable with my, you know, sort of usage and analytics. And so I'm just going to have to build it with that in mind, which in some ways makes it easier because...

I like you use your philosophy is slightly different. Like I am doing less wholesale change or I often will, you know, I, there's the complicated thing with, especially in Swift UI of. dealing with that where very often what I've done in the past, especially on watchOS, but it's, you know, can apply in lots of places is I'll end up with like two different.

like high level view trees in the app that I like create a new fork. That's the, if you're running iOS 26, you get this new sort of root controller.

root view and if you're running the old versions you get the old one and that often makes it easier for me to kind of have work that is going back and forth rather than sort of having breaking changes that can go that make it very difficult or if you do one change here then it also effects here um and so sort of keeping things separate can be often very helpful but yeah it's going to be interesting and it's a challenging one um to think about backwards compatibility with because it is such a

There's some amount of fundamental change that is happening to our apps and fundamentally little tweaks and layout changes and things. that will make it difficult. But I mean, we've gone through this before. I think it is not an insurmountable problem, but it will definitely be a challenging thing to support older versions and to navigate doing that in a way that doesn't...

Adapting Is Essential

sort of drive us crazy with dealing with the compatibility issues because, you know, especially with a lot of the things being innate, like that's good and bad, that if you have the same control in SwiftUI and you run it on iOS 26, it could... behave or look or have different metrics to if that same thing is running on i was 17 or 18 and so that can cause all kinds of weird you know sort of emergent behaviors which are challenging to track down yeah and and

I think a lot of it depends on like, you know, is your app kind of in growth mode or are you mostly like serving your existing customers? Like I'm deciding that I'm going to require 28, 26 pretty aggressively. Like pretty close to day one, just because Overcast is mostly serving existing customers now. Like I'm not getting tons of new users per day. I'm not like hockey stick growth anymore.

My goal is serve my existing customers as best as I possibly can and try to slowly gain more over time. So I think an aggressive release schedule for that makes a lot of sense. But that depends on your app.

All right. Well, thank you so much, everybody, for listening. We have so much to do. We're going to keep covering this throughout the summer. Good luck with all of your apps out there and all of your session watching and all of your API testing and all of your bug filing and everything else we're all trying to do right now. And we'll talk to you. in two weeks bye

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast