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 usually longer than 30 minutes, so let's get started.
00:00:20 ◼ ► I think every profession, every hobby, every career has its own lingo. Why not add holidays to it?
00:00:25 ◼ ► So here we are between the iOS 18 release candidate tooling releases and the actual release of iOS 18.
00:00:34 ◼ ► This is, of course, the week that we are all submitting all of our iOS 18 updates to the App Store.
00:00:39 ◼ ► And I kind of wanted to go over how, you know, what we decided to do, how we feel about it,
00:00:44 ◼ ► what kind of summer it was, and what kind of fall we expect it to be as a result of all this.
00:00:49 ◼ ► And I guess I'll start out by kind of celebrating that I submitted my stuff to the App Store earlier this morning,
00:00:58 ◼ ► and it's the first time in a long time that I think I'm going to be kind of on time to an OS update.
00:01:14 ◼ ► But I didn't even do everything I could have done because, honestly, I didn't have time for all of it.
00:01:34 ◼ ► I think that because whenever iOS updates in a way that, like, it radically changes the look and feel of something,
00:01:42 ◼ ► if your app doesn't update to support that, so whether it's things like the iOS 7 theme, dark mode,
00:02:08 ◼ ► This is not a big milestone, but these will be the first Overcast icons that I made myself.
00:02:14 ◼ ► So, because, and granted, it's still using, like, the vectors of the Overcast logo that I didn't make,
00:02:23 ◼ ► But this is the first time that I took on an icon design task myself for the outside icon of the app.
00:02:48 ◼ ► And so they just were lower down on the priority list than certain other fires I had to be putting out over the last few weeks.
00:02:58 ◼ ► But for the most part, my iOS 18 release is limited to icons, which I think is actually the most important thing.
00:03:04 ◼ ► And I think is going to be what so many people's iOS 18 update, like, changelog looks like.
00:03:15 ◼ ► The funny thing, I didn't even put it in my changelog, because I was afraid, like, okay, this year, what does Apple want us to do with, like,
00:03:24 ◼ ► Or, like, you know, there's always a rejection risk for mentioning the new OS, and some years they're sensitive about it, and some years they're not.
00:03:31 ◼ ► And some reviewers are sensitive about it, and some reviewers are not, so you never know what you're going to get.
00:03:42 ◼ ► And I've heard, as every year, it is, I mean, this is like a public service announcement,
00:03:46 ◼ ► do not specifically mention an unreleased version of any Apple technology or device before it is actually released in your changelogs.
00:03:55 ◼ ► And so in this case, it meant you could say things like, and this is what I had in mind, it's like, you know, support for tinted icons.
00:04:02 ◼ ► It's like, you can describe what the feature does, but if you said, support for tinted icons coming in iOS 18, then you would likely get rejected.
00:04:09 ◼ ► I mean, usually it's a metadata rejection, they ask you to change your thing, and it's fine, but mostly the issue is you get kicked back to the back of the camera.
00:04:15 ◼ ► You get kicked back to the back of the queue, and this year, thankfully, oh my goodness, I was so, so glad when they gave us a week between submissions and release.
00:04:25 ◼ ► It's like, that is very welcome. If anyone at Apple listening to this, thank you very much.
00:04:30 ◼ ► It is much nicer than the like 24-hour notice window we've had in some years, and that is very unpleasant.
00:04:36 ◼ ► One week is great. It's a little weird in terms of I don't know what to do with myself this week, but I will take that problem versus the other problem.
00:04:43 ◼ ► But I'm glad that, you know, I didn't mention iOS 18, and so my submissions were able to go through successfully without any rejections, for that reason anyway.
00:04:58 ◼ ► I was a little nervous because the iPhone event went by without them mentioning a release date, and so we had to do a little bit of digging afterwards to find out, like, oh, how bad is it going to be? But no, it's fine.
00:05:08 ◼ ► No, no, no, it's great. I think in a lot of ways it speaks to, I think this year, I mean, it's nice too that all, it doesn't affect me too much, but all of the platforms are being released on the same day, which is also very appreciative in some ways.
00:05:21 ◼ ► Like, you don't have this weird situation where Mac OS is coming out two weeks later than this, or iPad OS is coming at a different time, and like, everything's all synced up, which is very much appreciated as well.
00:05:31 ◼ ► Like, it's, in that sense, this rollout has, this fall, the way it's all planned out, has been very reasonable and humane to us in that regard.
00:05:40 ◼ ► There's not this weird thing, like next Monday will be very hectic, but next Monday is going to be when everything happens, and so we can move forward from that in a very directive, straightforward way, which is great.
00:05:51 ◼ ► And I know on the plus side, I say, like, I submitted all my updates, you know, as soon as I possibly could. It was a very, I mean, that night is always a very strange night.
00:06:01 ◼ ► Maybe this is interesting behind the scenes, but it's this very strange, like, I'm trying, Apple doesn't specifically say when the new toolset will be released, and they don't say when App Store Connect will support it, or when Xcode Cloud, if you use that, will get the new builds to be able to do things.
00:06:20 ◼ ► And so it's this really strange process of refreshing the developer portal until the new version of Xcode comes out.
00:06:27 ◼ ► And then typically what I do is I will, I use Xcode Cloud for all of my regular, like, rolling builds, but for these particular, only this particular build, I do a manual build and submit an archive, because typically App Store Connect supports the new version of the, of Xcode, like the final gold master version of it, before Xcode Cloud does.
00:06:49 ◼ ► And it's not that it particularly matters, and like I said, in this case we had a week, but at the same time I would rather know if I'm going to be rejected sooner rather than later.
00:07:02 ◼ ► And so I'm just, you know, sort of sitting there in Xcode once all my builds are up and validated, and I've done my sort of smoke test to make sure that, you know, I can build and run it on the simulator, on the new devices, you know, so in this case on the new sixth, you know, especially because we had new screen sizes, you know, pixel-wise.
00:07:17 ◼ ► I mean, my layouts aren't very pixel precise anymore, so it's less of an issue than it may have been years gone by.
00:07:24 ◼ ► We do a quick test, make sure everything seems to work reasonably, run it on a testing phone, make sure nothing completely breaks, and with the obviously, in the back of my mind, if all week I do testing, that's essentially what I've been doing ever since, if I find something I can always, you know, pull the submission and resubmit it.
00:07:41 ◼ ► But then I'm just sitting there trying to get it in the queue, and this year, you know, I got the, I was in there, you know, it seemed like based on when, how soon after I heard reports that Xcode was, you know, that submissions were being accepted, I was in the first 10, 15 minutes probably with all my submissions, and, you know, they all went through and got approved within about 24 hours, which was very welcome.
00:08:05 ◼ ► And especially this year, there were a couple of things, in Widgetsmith in particular, where, not that it was, you know, I guess maybe I was being ambitious with some of the features, and I'll probably talk about them in the next episode.
00:08:16 ◼ ► We're not, I don't want to get into exactly what the ambition was at this point yet, but there were some features of what I was doing that I felt were, you know, pushing boundaries in good ways, that I'm being ambitious and tackling interesting problems and creating some really cool opportunities for my users, and those are the kinds of things that you just never know.
00:08:32 ◼ ► Like, it could go super awesome, and, you know, Apple is excited about it, or they could be the opposite of excited about it, and then, you know, discovering that is always a difficult thing, but in this case, they seemed perfectly happy with it.
00:08:44 ◼ ► Who knows if they're excited yet, but certainly the app review team didn't have any problems with what I was doing, which was a welcome thing to know 24 hours after, and I'm not in the sand, you know, scrambling this week, working on how to get it released.
00:08:57 ◼ ► I will say something that I did notice is, I think there's some ambiguity about, that people get a bit confused about, with what, you know, if they're in this situation, will your update actually go out to the app store, or will it wait until iOS 18?
00:09:12 ◼ ► And essentially, my understanding of the way that this works, just sort of mentioning it in case anyone's confused, is if your minimum deployment target is the new OS, so in this case, if your minimum deployment target was iOS 18,
00:09:25 ◼ ► so you're building an app that takes advantage of an iOS 18 only feature, for example, if that's the case, regardless of whether you say release to the app store or not, you know, hold for release, you'll go into a status called waiting for Apple release,
00:09:42 ◼ ► and so it will stay there until Apple has pushed out, in this case, iOS 18. However, if you have a lower deployment target, so say use of, you know, like, WidgetSmith supports iOS 14 and above still,
00:09:56 ◼ ► even though I built this with the release candidate, you know, the final version of Xcode 16, if I wanted to, I could push that build out right now, and if you don't have the hold for developer release, it would have just gone out automatically to the whole app store right away.
00:10:13 ◼ ► And whether or not you would do that, I think depends a lot on what the content of your feature is, you know, like for me, all of the features here are primarily are focused on iOS 18, I want to do marketing around iOS 18, I don't want to create the confusion of showing features in my like what's new area that users couldn't get with that, you know, that a typical user isn't going to go and install the public beta of iOS 18, even though it's the final version of the public beta, just to get a feature like it's asking for trouble.
00:10:42 ◼ ► And so instead, I tend to hold it manually, and then push that out, you know, in this case, next Monday morning, I will manually release it out to the App Store once iOS 18 is released, or thereabouts, I may do it slightly on the early side, just to avoid CDN issues.
00:10:59 ◼ ► And usually, I think Apple tends to push these things out early Pacific time, it seems to be or, you know, sort of early in the day on Monday is when I expect it to go out. And so I may push it at that point. But anyway, I just wanted to mention that as a ambiguity that can sometimes I saw a lot of people being confused or had a few people who had their iOS 18 release go out to the world, you know, yesterday, which is not what they intended.
00:11:24 ◼ ► So there's something to be careful of and aware of that if you don't hold for release, unless your minimum deployment target is the new OS, then it'll just go out.
00:11:33 ◼ ► But yeah, otherwise, it's been a, the summer went reasonably well. Like there were definitely a few things that threw me for a loop that were a bit of a surprise. I think, weirdly, every year, it doesn't particularly matter, ultimately, in the long term.
00:11:47 ◼ ► But every year, there's a different sort of rhythm I find to the betas, and how things changes. And you know, what's you can kind of vaguely get a sense within Apple of maybe internally, they had different branches or different loops, like there's different things going on there.
00:12:01 ◼ ► And it's like this year, I think it was beta six, developer beta six was like, everything got turned upside down. This was the release was like this weird thing where the first couple months of the summer things were one way and then in beta six, there are a bunch of things changed and rushings, you know, my case, it was particularly weird.
00:12:16 ◼ ► In my case, it was particularly relevant for the way that control center widgets worked. And, you know, beta six, suddenly, all they all got sort of changed fundamentally, and had to sort of scramble a bit to rebuild things and a bunch of things just sort of broke in beta six and then subsequently got fixed.
00:12:30 ◼ ► And it was one of those weird ones where it's like, huh, like, is this is that the magic point where they've been all these branches that have been, you know, finally merged in and they were dealing with the conflicts and then suddenly, it's like, there's this one sort of discontinuity where things got really weird.
00:12:44 ◼ ► Other than that, it's been, you know, been fairly well. And it's, we've said it many times, it's a very light year for most developers. I mean, I was busy in terms of I've been especially someone who makes widgets, there's a new widget type. So I've been busy. There's some stylistic changes to iOS that meant that some other new aesthetic options were possible. So I've been supporting those. But the funge is like fundamentally, there isn't this massive new thing. And you know, it's like even watching the Apple event on Monday, the big thing that Apple was very focused on was Apple intelligence.
00:13:13 ◼ ► And at that point, this isn't shipping and the developer focused features of that aren't yet shipping. If you happen to have one of the Apple intelligence domains that none of my apps particularly aligned to, but if I even if I had one of those, there wouldn't be anything for me to ship at this point. So it's like, it's a quiet thing in that regard. And it's just quiet in general, which is not unwelcome, but it's definitely strange and kind of coming into it.
00:13:41 ◼ ► I think, you know, it's gonna be exciting in some ways. I think there are some cool things and I always say, Teen, you know, is very focused on home screen customization. So I'm very happy about that. But there's no deep technical thing that I need to do or new massive new API that I have to adopt. And certainly because I don't have to make a camera app, I don't have the situation where now you'd have to be if I made a camera app of sort of scrambling to support the camera control in the new phones without, you know, having physical access to one or you know, that's camera camera features, you can't tell me what's happening.
00:14:10 ◼ ► Camera features you can't test in the simulator. And so that's would be a bit awkward. I feel a bit frantic, but thankfully, that's not my situation.
00:14:16 ◼ ► And honestly, on that point, I am a little disappointed, I think, that the API for camera control is only available when you have a camera capture session running. So therefore, most apps can't use it. I was thinking at first, like, oh, maybe it'd be interesting to have like, you know, an overcast speed control in there or something, you know, just thought like maybe I could put some controls in there, you know, for non-camera apps. But I think the answer so far is you can't do that, technically speaking.
00:14:44 ◼ ► Not to mention, you know, App Review might not let you even if you could. But it seems like what their goal for the camera control is really just this is only for camera type apps. This is not a general purpose input like the, you know, digital crown or something like it's not.
00:15:00 ◼ ► It isn't a scroll wheel. It isn't an extra button for your apps to use. It is just for camera controls in camera apps. There's or third party. And, you know, good on them for actually having an API on day one for third party camera apps. That is noteworthy, especially one that's so full featured as this one.
00:15:16 ◼ ► So that's pretty cool. But, yeah, for the rest of us, it's not going to be a thing our apps can use. And that's kind of the theme of the iOS 18 release in general is like there's a few things that are really cool that either all apps can't use or most apps can't use.
00:15:34 ◼ ► So, you know, the most apps thing is the camera control, I think. And then the all apps thing is Apple Intelligence. Like so far, not only can apps not do the Apple Intelligence features yet or really, as far as I can tell, I don't think we have any new capabilities that are based on Apple's new foundation models.
00:15:55 ◼ ► I don't think any of those are exposed to the APIs yet. And so not only do we have no way to use it, but they haven't really even told us what the API will be in the future. Like it isn't like there's a pre-release API.
00:16:07 ◼ ► All we know is generally speaking, it'll be based on app intents. If we make app intents, that Apple Intelligence and Siri will be able to hook into them by reading them and doing something. But we don't really know, I mean we barely even know, I don't even know if that's official.
00:16:25 ◼ ► We've heard various people say that here and there. And we have no documentation on that. We have no timeline on that. All we know is like later. That's not even shipping in early iOS 18.1 or 18.2 probably. That's probably going to be like a spring or later thing.
00:16:42 ◼ ► So we really have nothing that we can do with Apple Intelligence. And I think that's going to put us in a bit of an awkward position with customer expectations. Because Apple is pushing this like crazy.
00:16:55 ◼ ► And of course they're going to continue pushing Apple Intelligence as much as they possibly can. And Apple's own apps are going to have a lot of fun integrations and AI-based features that third-party apps will not be able to hook into.
00:17:12 ◼ ► The only way for third-party apps to do any kind of AI-based feature so far is to bundle in our own models, which is obviously a very heavy, inefficient method of doing things. And it doesn't have any of the advantages of Apple Intelligence.
00:17:28 ◼ ► Like the optimized for the device kind of nature of it. The cloud potential for running things in the private cloud. There's all sorts of things that Apple Intelligence will be able to do that developers just have no access to. And this is somewhat unusual.
00:17:43 ◼ ► So usually when Apple adds massive new platform technical features, usually there's APIs for them. And developers can use those APIs and we can make our apps as good as Apple's. Or they can work the same way as Apple's.
00:17:58 ◼ ► And in this case, so far the entire category of features called Apple Intelligence, we just have nothing we can do with that yet. And I do worry that our customers will see all of Apple's stuff and say, "Hey, why can't you support this? Is that going to cause negative customer impressions of our apps? Or is it going to give us negative reviews?
00:18:19 ◼ ► One star, this app has not supported Apple Intelligence yet." I really kind of worry about that. About customer perceptions and expectations around that.
00:18:29 ◼ ► Not to mention the fact that I do, it would be concerning to me if Apple released a giant new technology that ran almost entirely on device and didn't give developers any access to it.
00:18:42 ◼ ► Because that's very much unlike them. Again, usually their API story is very strong. They're usually very good at giving us great APIs to do things in our apps to make our apps really great.
00:18:52 ◼ ► So I hope that the reason why we literally can't do anything with Apple Intelligence yet, I hope it's just because it's so early.
00:18:59 ◼ ► It seems pretty clear that Apple is just barely getting this out on time. They're really coming down to the wire here. The new iPhones are going to ship without Apple Intelligence.
00:19:12 ◼ ► I think if there was any way for them to hit the iPhone release date as a deadline, they would have, because that's a big deal.
00:19:19 ◼ ► So obviously, it's really going to be coming in hot. And I think the Apple Intelligence features are going to take the entire year to even roll out to what they should in WVDC, let alone anything in the future.
00:19:35 ◼ ► So this is really going to be kind of a year of Apple Intelligence beta and promises and a little bit of functionality.
00:19:42 ◼ ► But ultimately, I won't expect to see most of that functionality probably until next year. But if our users keep expecting our apps to be as good as Apple's apps in these areas, they won't be.
00:19:54 ◼ ► And I think that's going to hurt us. But again, hopefully that's a temporary thing. And maybe by next summer, maybe iOS 19 will have a full-blown API for us to do more with this stuff. I really hope it will.
00:20:06 ◼ ► So in lieu of a sponsor this episode, we're going to talk about Childhood Cancer Awareness Month.
00:20:12 ◼ ► The Relay community is coming together once again to support the life-saving work of St. Jude Children's Research Hospital.
00:20:24 ◼ ► And thanks to the incredible generosity of the Relay community, Relay will now be recognized on the wall inside the hospital that highlights corporations and organizations with exceptional fundraising efforts for St. Jude.
00:20:35 ◼ ► And with your continued support, we hope to see the Relay name in the halls of St. Jude for years to come.
00:20:41 ◼ ► Now, St. Jude is headquartered in Memphis, Tennessee, but its work has a global impact. They've treated children from all 50 states and around the world.
00:20:48 ◼ ► About 90% of children at risk for developing cancer live in low- and middle-income countries, and that's unacceptable to St. Jude.
00:20:55 ◼ ► So they launched St. Jude Global to ensure that every child with cancer and other catastrophic diseases has access to quality care and treatment no matter where they live.
00:21:04 ◼ ► St. Jude Global shares knowledge, technology, and expertise with healthcare institutions, researchers, and fundraisers across the entire world to improve survival rates in their home countries.
00:21:14 ◼ ► So they train the doctors and researchers of tomorrow, they host conferences, they share skills, and they help nonprofits raise awareness and build sustainable sources of revenue to support children in their countries with cancer and other blood disorders.
00:21:26 ◼ ► They provide 14 different programs for global healthcare staff on everything from ICU care and infection prevention to metrics tracking and lab medicine.
00:21:34 ◼ ► So there's so much more that St. Jude does. They collaborate with more than 400 partners in St. Jude Global, representing more than 80 countries and growing.
00:21:48 ◼ ► It is an amazing community that we have here, and the Relay community has really adopted this as its own. It's so easy for you to get involved.
00:21:56 ◼ ► So you can actually go to stjude.org/relay. You can register to create your own fundraiser to join us in raising money for St. Jude.
00:22:03 ◼ ► And of course, you can donate money directly as well. So you can start your own group, you can share your fundraiser with your friends and family to spread the word about this amazing mission, and of course we would love your direct donations instead or as well if you'd like.
00:22:16 ◼ ► So when we rally for a common cause, we believe more than a community. We become beacons of hope for all.
00:22:22 ◼ ► So we are asking all of you to join Relay and St. Jude this September for Childhood Cancer Awareness Month.
00:22:27 ◼ ► Together, we can help cure childhood cancer. Go to stjude.org/relay to donate or create your own campaign today. Thank you so much.
00:22:35 ◼ ► Yeah, and so I guess, yeah, I think as I think about Apple Intelligence and where it's going, because it is interesting, because I think what you're saying is true, but is also slightly, there's, they have said, you know, there were sessions at WBC where they talked about what's, you know, how we're going to integrate with Apple Intelligence to start with, that there's this app intent system with domains, that if you have, you know, essentially to create the semi structured way that we could interact and initially, like the reason most of us say, like, there's nothing to do.
00:23:04 ◼ ► Is the initial domain set is very low, that if you happen to have, I think, like one of the things that there's a, if you're a journaling app, there's a way that you can tie into Apple Intelligence, and there's a few others.
00:23:15 ◼ ► And I expect and hope that over time that will expand. But I think it is very strange. And I think more fundamentally, the thing that I struggle with, but that is the, I think is going to create a lot of just fundamental confusion with customers.
00:23:28 ◼ ► I'm just gonna, I'm confused as someone who this is my bread and butter. This is what you know, what I live and breathe and understand and read, read all the news and everything like what's coming out when what does it actually mean?
00:23:38 ◼ ► It doesn't have this clear answer. And so that is just going to be confusing, probably for the next several years of like, what is Apple Intelligence? What does it mean? Who gets it? What phones have it?
00:23:49 ◼ ► If you have this, but not that, like, it's going to be a create this really awkward time. And in some way, and it's just, it's tricky, because Apple is putting it so front and center, that, you know, that the knock on effect of them creating ambiguity and confusion for their customers is inevitably that it's going to be something that's going to manifest with us and our customers and asking, you know, why can't I ask Siri to do something?
00:24:12 ◼ ► You know, I want I want Siri to, you know, to create widgets for me. It's like, okay, well, I can't really do that. Certainly not in the way that you're expecting right now. It's not that you could just be like, I want to I'm thinking of a widget, I want it to have, you know, maybe a pastel green background, and I want to have this text and I want it to look like this, like, that is conceptually something that maybe someday you'll be able to do with some kind of a very advanced voice command system there.
00:24:39 ◼ ► But that is very far off, if at all on the horizon. And so I think there's going to be a lot of confusion. And as soon as you create some amount of power in the system, you also create, you know, an equivalent amount of expectation. And so I think it's going to be awkward, to say the least going forward.
00:24:55 ◼ ► Yeah. And again, this is it's just it's going to be in so much flux for a while, that I think this is going to be some it's going to be like a source of friction that we're going to have to fight through. Certainly, I think that the best ways to be prepared for this are to take advantage, like start writing app intent, start structuring your app to work with those.
00:25:18 ◼ ► It does seem like it also involves spotlight. So start, you know, start using maybe spotlight indexing features, you know, start submitting stuff that way, you know, maybe donate more intents to the system and the intents API, you know, ways like that, like, if there's been these, you know, new API's over the years that have done something that you're not quite sure your app really benefits from, but it had it had some kind of structured data to the OS about how to use your app and what to do with it.
00:25:44 ◼ ► I think that all of those things will probably be likely to help here. So get your app prepared for all of that by adopting all those technologies, and you'll probably be in a pretty good spot.
00:25:54 ◼ ► Yeah. And but in the meantime, I guess we can focus on, you know, it's like iOS 18 is coming in in a few days as we're recording and I guess best of all, you know, it's like everything goes well for all of our listeners if you have an iOS update coming out. I mean, this is an exciting time. You know, some of my most impactful of like, really all of my very, very impactful launches have tended to coincide with iOS releases.
00:26:18 ◼ ► And so, you know, you never know, like, I think the the uncertainty, but it's sort of expectation of that can be really exciting. And I think, you know, it's, it's, I think it's a very fun time to be an app developer, is you're putting these things out. It's this weird situation where I feel like most of us are working somewhat in secret over the summer.
00:26:36 ◼ ► And so it's this like we're playing, we're playing this game of poker where we're keeping our cards, you know, close to our best. And then, you know, next Monday, we'll suddenly all reveal what we've been working on, you get to discover like, have you been going in a totally different direction to everyone else, which could be good or bad, depending on which, you know, how the market plays out, but it's certainly exciting, nevertheless, to have and honestly, I do kind of look forward to just being out of that phase of where secrecy is a bit more, you know, a part of it and be able to just talk about, you know, what what I'm working on with
00:27:05 ◼ ► what's exciting and just see what customers think, because I think that is really exciting to see, you know, is that are the things that I've been building actually going to resonate? Are people even at most basic sense, like, are people going to use tinted home screens or not? Like, is that going to be super popular? Or is it going to go nowhere, and no one's really going to do it? Like at this point, it's hard to say, I think it's, you know, it could go either way. And I think I have long since learned that trying to predict user behavior, especially from an aesthetic perspective, which is
00:27:35 ◼ ► something that I've spent a lot of time trying to do, is incredibly difficult, that it's hard, you know, it's very subjective. It's very individual to people. And so it's very hard to predict. And that's exciting. And that's fun. And, you know, hope everyone's launches go well next week.