Under the Radar

276: Preparing for iOS 17


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 not longer than 30 minutes, so let's get started.

00:00:10   So it's time. The calendar is coming up fast. Because now, Apple has sent out invitations for what is presumed to be the iPhone event, as is typically the case in early September.

00:00:25   And as we know, the iOS of the year release date tends to follow within a few days, maybe up to a week, of the iPhone event.

00:00:35   Which means that all of us developers out there have effectively a pretty well-known deadline now for when iOS 17 will be released and when we can get our apps submitted to the App Store.

00:00:47   Yeah, exactly. And I think it's probably worth just putting that into-- it's a slightly funny thing that everyone expects this to be the iPhone event.

00:00:55   It's the biggest, you know, typically-- it's one of the bigger events on the Apple commercial side of things.

00:01:00   It's like, I'm not particularly interested in which shades of gray my iPhone is going to come in this year.

00:01:05   It's like, what I care about is now we have a date, now I can do some math and try and work out, like, how do I need to back plan?

00:01:11   How can I be ready for when iOS 17 presumably launches after this?

00:01:16   And for a bit of context, it's like, the reason why I pay so much attention to this and think a lot about it is it's been, you know, in my life, it has been very important to be ready to go as soon as, like, as soon as Apple says you can submit your new app, it's important that you're ready to submit.

00:01:33   It's not always-- it's not like massively important in so far as, like, if you aren't, it's like, okay.

00:01:39   But there's an opportunity that exists in being early that doesn't exist otherwise.

00:01:43   And, like, the main time this happened was back when iOS 14 launched with widgets, and, you know, there was an event on Tuesday, September 15th, and iOS 14 launched the next day.

00:01:54   Yes.

00:01:55   Wednesday, September 16th. We had one day's notice.

00:01:57   And so ever since, I am a bit more careful and, like, you know, sort of-- I move things forward compared to when I think the event is in terms of my planning to make sure that I am absolutely ready to go.

00:02:09   I think that was an outlier. I hope that's an outlier.

00:02:12   I mean, goodness, I--

00:02:13   I expect the feedback that Apple got from developers on that seems to have shown them that was a poor idea, and I'm hoping they have-- they-- I mean, they didn't repeat it the next two years, and I'm hoping they will not repeat it again.

00:02:26   Yes. And-- because if we look at history, I think that's absolutely right. It's like, generally, I would say, the most common time in recent history that Apple released iOS after their first fall event is the Monday after it.

00:02:40   So, like, last year, the event was on September 7th, and the following Monday, the 12th, was when iOS 16 launched the year before that.

00:02:49   The event was on the 14th. It-- iOS 15 launched the Monday after that, September 20th.

00:02:54   So if that pattern, you know, continued this year, we would expect Monday, September 18th to be the day that it launched.

00:03:03   I think that is the most likely day, but I'm certainly planning, as, you know, all of my things to be ready to go, all my ducks in a row, et cetera, to be ready to go for September 13th, which would be the, you know, if they did-- if they pull-- actually, yes, it's really the 12th.

00:03:18   If somehow they did one of those, and it's like, "And it's available tomorrow."

00:03:22   If they pulled one of those, I want to be ready to go, but most likely, I'm planning towards September 18th as the most likely day.

00:03:28   Yeah. The earliest I would expect iOS to be released would be the Friday the 15th, so the Friday of the event week.

00:03:34   That has occasionally happened, something like that, but I don't-- that's not-- they're probably going to give us more time than that, but we will see.

00:03:42   I mean, one thing is pretty reasonably assured that we are almost certain to get the Xcode GM release on the 12th, on the iPhone event day.

00:03:52   That almost always happens where it comes out, like, maybe an hour after the event or something like that.

00:03:56   And then that's when we are allowed to submit our apps to the App Store with the final Xcode, because until then, you can only do test flights, and even then, it's kind of spotty.

00:04:04   But until then, when you're using the beta Xcode, you can't submit anything from anything that says Xcode beta.

00:04:10   So on the 12th, after the event, most likely, that's when we will get the final Xcode that will no longer say beta on it, that we can submit these apps to the App Store with.

00:04:19   And so that's going to be-- you know, keep in mind, that's going to be when everyone else is also going to be submitting their apps to the App Store.

00:04:26   Now, you can use this to your advantage or not. So, you know, the 12th is a great day to submit something to the App Store for-- if you want it to be ready on day one for iOS 17.

00:04:36   Maybe the 13th or 14th are less good days, because then you're in the back of what's probably going to be a substantially sized line.

00:04:44   That being said, you can use this kind of to your advantage. Don't tell Apple that I said this.

00:04:50   But if you have something that you think you kind of want to get by App Review, and you're a little nervous about whether you're next to a line or not, maybe, or vagary in the rules, and you're like, "Mmm, I don't know if they're going to give me a hard time about this."

00:05:06   Just theoretically, this might be a very good time to submit that. Because they staff up like crazy, and they do plow through the list pretty effectively during that time.

00:05:17   So it's just worth knowing. But anyway, not that I would ever recommend that you violate a rule, but there's a lot of vagaries around a lot of these that, you know, some of them can make you more nervous than others about whether something will fly or not.

00:05:31   So anyway, this is a very exciting and very nerve-wracking time for us iOS developers, because there's a lot of expectations that our fans have. There's a lot of big press that happens around this time.

00:05:44   Our customers will have certain demands, really, that you adopt certain things in the new OS.

00:05:50   This year in particular, I think the big, major headlining feature, which of course is great for you, Dave, is the interactive widget system. And I think this is the thing, like, you know, I find myself in a weird situation this year that I'm in the middle of a giant rewrite of huge parts of my app.

00:06:09   And that's not ready yet, and that won't be ready for a while. And so I have to, like, the shipping version of my app, I'm basically keeping it in maintenance mode right now. I'm not really adding anything big to it.

00:06:20   I'm trying not to spend much work on it, because most of that work will be wasted. Most of that work I will have to rewrite in the new version with the new architecture and the new language and everything else.

00:06:29   So I'm trying not to do that much on my old version, but this is a good time for me to kind of look around and say, well, if I don't do anything for this fall launch, that's going to look pretty bad for my customers.

00:06:42   And they might think my app is abandoned, and they might start looking around for alternatives. Or they might start leaving me one-star reviews, which will bring down my average, which, you know, that's not good either.

00:06:51   So this year, I've decided, you know, I'm not doing much else in the shipping app for this year, again, because it would just be redundant, wasted effort, as I should be working on getting the rewrite out faster.

00:07:04   But I did remake all of my widgets for iOS 17's new style and for interactivity on a, honestly, on a very basic level.

00:07:14   If you have the beta installed and you look at Apple Podcasts widgets, they're basically like that. I basically made overcast versions of those interactions.

00:07:22   So, you know, simple play button under some of the things that you can play, and then if you tap a thing without hitting the play button, it opens the thing in the app without actually playing it.

00:07:31   Like, that's it. Those are my widgets. They look just like the Apple Podcasts ones, basically, but minor orange instead of purple.

00:07:38   And that's what I'm doing. And I think, you know, if you're kind of behind schedule with your app or you have an app like this that's kind of temporarily or permanently in more of a maintenance mode,

00:07:50   I think if you ship, sometime soon, basic interactive widgets, I think that will satisfy what people expect from an iOS 17 update for your app.

00:08:00   You know, you're not going to win any awards if you do a fairly simple job like what I'm doing. I'm not expecting, not only am I not expecting praise, I'm not expecting any press, you know, for what I'm doing.

00:08:11   Because it's pretty basic. It's not that interesting. And that's kind of what I need right now so I can keep focusing on the rewrite for the most part and get that out sooner.

00:08:20   But, you know, for most apps, I think the minimum customers will expect, if widgets make sense for your app, is interactive widgets.

00:08:29   I certainly hope so. It's like, yeah, I'm on the other side of that. Interactive widgets is all I've been thinking about and doing and dreaming about for the last couple of months.

00:08:41   And so I certainly hope that they're not one of these features that just kind of comes out and doesn't go anywhere.

00:08:46   You know, I wouldn't worry about that too much. I mean, widgets are, I mean, obviously, you know that widgets are popular. But even, like, I can say, even among an app like mine where, like, the purpose of my app is not widgets.

00:09:00   And yet, I have something like, here, I'll look it up, something like 11% of my active users have at least one widget set up on their phone for Overcast.

00:09:10   That's a significant, like, that's higher than I would have guessed, especially considering my app does not appeal only to people who are looking for widgets.

00:09:18   And it also does not appeal only to, like, superpower users, super nerds. I have a bit broader of an appeal than that.

00:09:23   And so, like, 11% of all installations having widgets configured, that's pretty big. Like, that is bigger than I would expect.

00:09:33   Like, for reference, the Apple Watch is something like a third. You know, so it's like about a third of people have the Apple Watch. About 11% have widgets.

00:09:44   That's a lot of people. So I think widgets have surprisingly high adoption for something that appears on first glance to be more of a power user feature.

00:09:53   It turns out, as you know very well, it turns out there's much wider broad market appeal for widgets in various ways.

00:09:59   So I think that is actually going to be a pretty big thing. And interactive widgets do make them substantially better, I think, in use.

00:10:06   Like, you know, I mean, because it's still beta season and I'm not on too many test flights, I'm only using a couple of interactive widgets.

00:10:12   But it really does improve the experience of using a widget as a user so much that I think people will fairly immediately start to demand it.

00:10:22   And not necessarily in major ways. You know, nobody's expecting you to build an entire Tetris clone in your widget or anything.

00:10:29   But just basic ways. Like, if your widget was doing anything besides displaying information, if there was any kind of dynamic functionality possible or implied in it.

00:10:41   Of course, the examples Apple gave, like to-do lists, sure, right. But if it's doing pretty much anything else, if there's any information that you could make the display better by adding some light interactivity,

00:10:53   or any action the user can take in your app that can be simplified and be taken more quickly by an interactive widget, they're going to expect that pretty much immediately.

00:11:02   The first time people use anyone else's interactive widget, they're going to want yours to be interactive too, because it so dramatically improves the experience of that and so dramatically reduces the friction of it.

00:11:15   So, now the real question is just getting ready for that day, right? Getting ready for September 12th. I think you framed it well in the sense of iOS 17, there's a good chance we'll come out on the 18th, but the 12th is the day that we can target for whatever we have, we need to have it ready by then.

00:11:32   And that is, as we're recording, it's basically 13 days or something like that from now. It's like 12, 13 days. And I think something that I just wanted to mention here is I think a process that I've found super helpful,

00:11:47   I've mentioned it I think before on the show, but it's just a thing that it's a philosophy that I found to really help me, is to, now that we have the date, now that we have the deadline, we need to draw a line sometime before that, and draw a line in the sand and say, "This is my 'No More New Features' day."

00:12:06   For me, that's going to be the end of Friday, so the end of September 1st of this week. I'm going to put up a sign under my monitor that says "No New Features," and from that point on, I'm going to switch from building to fixing, polishing, refining, and in that case, I'm giving myself a little over a week of polish and refinement work.

00:12:27   I think this is a pattern that I found to be super helpful in terms of getting me out of this habit of shipping things that aren't quite polished, aren't quite finished. There would be more bugs than I'd like in the initial version.

00:12:42   Since I switched to this concept of "there's this deadline," and then this period where I don't add new features, I'm just testing constantly, and I'm doing tests from TestFlight builds rather than from Xcode builds, to make sure that in case there's some weird thing, that when you do an archive of the app versus when you do a debugging build of the app, it behaves differently.

00:13:05   I'm downloading the App Store version of my app, setting up a thing due to a bunch of use in the app on a testing phone, then I go to TestFlight and download the new version and test that the migration works, that things aren't broken or weird if you're going from one to the other.

00:13:24   It's just one of these things that if you don't do all the different kinds of testing, make sure that you also are testing different phones, different iOS versions. I've often found myself falling into traps where, for example, Widgetsmith supports iOS 14 and later, which is fine. I've worked through that, it's great.

00:13:44   How many phones are on your desk right now?

00:13:58   I think I have eight or nine.

00:14:16   I have some new feature that I'm adopting in 17, which I need to hide in 14, or I need to adapt differently, but I haven't been noticing it because I've just been running it on 17 all the time. It's less of a problem than it used to be, I would say, back in the old Objective-C days.

00:14:33   I had a lot more issues where you would use some new API on iOS 14 and it would crash your app because it wouldn't be an unknown symbol, essentially. That's less of a problem now with Swift availability checking. That's less of what I'm running into, but it's more like there's a feature that if you open a particular screen on iOS 14, it's just empty because there's an "if available" check and only the iOS 17 version of it actually shows something, so you need to hide it.

00:15:01   I'm going to start with those kinds of testing. That is just an important time, and for me that will start next Monday, will be the beginning of my testing regime and polishing regime, and then towards the end of that will be the transition into marketing, but that's a whole other activity to begin.

00:15:17   We are brought to you this episode by Indeed. What's a game where no one wins? The waiting game. When it comes to hiring, don't wait for great talent to find you. Find them first with Indeed. When you're hiring, you need Indeed. Indeed is the hiring platform where you can attract, interview, and hire all in one place.

00:15:33   Instead of spending hours on multiple job sites searching for candidates with just the right skills, you can use Indeed's powerful hiring platform to help you do it all. Indeed streamlines hiring with powerful tools that find you matched candidates.

00:15:47   With Instant Match, over 80% of employers get quality candidates whose resumes on Indeed match their job description the moment they sponsor a job. According to Indeed data, US's Indeed hiring platform really is great, because it gets you one step closer to the hire by immediately having a job.

00:16:01   Even better, Indeed is the only job site where you only pay for applications that meet your must-have requirements, making it an unbelievably powerful hiring platform, delivering four times more hires than all other job sites combined, according to Talent Nest 2019.

00:16:22   Join more than 3 million businesses worldwide that use Indeed to hire great talent fast. Start hiring now with a $75 sponsored job credit to upgrade your job post at Indeed.com/undertheradar. Offer good for a limited time. Claim your $75 credit now at Indeed.com/undertheradar.

00:16:43   That's I-N-D-E-E-D dot com slash under the radar to support the show by saying that you heard about it on this podcast. Terms and conditions apply. Need to hire? You need Indeed. Our thanks to Indeed for their support of this show and Relay FM.

00:16:58   So the other thing that I found to be super helpful about putting up my "No More New Features" sign is I inevitably, in the earlier parts of my iOS and Indeed career, I would keep working on the technical side right up until submission.

00:17:14   And all of my actual marketing screenshots, app description, all that stuff would be a complete afterthought that I just never actually devoted the appropriate attention to. That would mean that I would do all this work, do all these cool features, and they would not be nearly as widely adopted because people wouldn't know they exist.

00:17:33   Or I wouldn't get as much benefit from them on the marketing side. And so creating this extra space is also helpful in that regard. And I think when I'm talking about marketing here, we talked about this a bunch in the last episode, but especially coming into a new release,

00:17:49   there's an educational piece of how you need to expose customers to the new stuff, and we need to reach out to Apple editorial as well as to the press to let people know that you're doing something cool.

00:18:04   At the end of WDC, they always conclude with the line, "We can't wait to see what you've done with it." And it's like, "Well, now is the time that people get to see what we've done with it."

00:18:14   And I think I'm doing some interesting things with interactive widgets, but I have no idea if my interesting is going to be the most interesting. Someone else could have been coming up with this whole other thing that's totally revolutionary and amazing.

00:18:27   And it's like, "That's awesome," but they need to find a way to share that. And so I think the other thing that's important for us to do in the next 14 days is to work on that kind of thing.

00:18:38   And I think something that I want to point out specifically this year that I haven't done in a while is I'm also going to be expecting to work on an app preview video for my app, because I think interactive widgets in particular are a feature that is hard to describe and show statically,

00:18:56   but trivial and obvious to show in a video, and something that has some liveliness to it that you can show a user interacting with the widget and the widget responding to it.

00:19:06   And so that's something that I'm expecting to do. It's going to take a bunch of time to some degree. I'm not great with video. I've gotten better at it, but I'm going to work on some new screenshots and I'm going to work on an app preview, because I want to be able to showcase that.

00:19:17   And it's also been something that in my outreach to press, like we're at the point now where I'm starting to send Test Lite builds and things to people of the press, Apple editorial, things like that.

00:19:29   One of the things I've also done is recorded a quick 60-second promo video that just shows all of the interactive widgets in use, because I think it's the same thing.

00:19:40   I can write in a description that you can do this, this, and that with the widget, but in 60 seconds I can much more quickly convey that.

00:19:47   So if you're reaching out to people, I would highly recommend even just recording a quick screen capture of the simulator or however you need to do that to capture it.

00:19:59   But capture it in a video because something like interactivity is too lively to really convey in a static context.

00:20:07   Yeah, that's a really good idea. I'm curious. I've never made a video for my app. I've never done video demos for people. I've certainly never made an app preview.

00:20:17   And that's not because I was explicitly deciding not to. It was more like I just thought that, first of all, I knew I didn't have the skills to make a good one.

00:20:27   And that's probably the biggest reason I haven't. And then second of all, it's been kind of on the back burner, like someday I should do that, and then I just never get to it.

00:20:35   Have you ever actually used an app preview, and do you have any insider data on how much it matters?

00:20:41   When they first came out, I made one. And I'd say at that point it didn't seem like it made much of a difference, but it's the same way.

00:20:49   I feel like I'm sure it helps to some degree that a good app preview is going to increase just the attractiveness of your app store page.

00:20:57   And I'm in fact very curious this year to do one of the app store A/B tests with this, and do a set of screenshots that are static, and then have one that includes an app preview, and see how the performance difference between them.

00:21:12   And my instinct is that it'll be better, but the amount of betterness is going to be kind of the tricky question. Is it just like 1 or 2% better, or is it like 10 or 20% better?

00:21:22   That would make a big difference, but either way I think it's just something that's worth trying and experimenting with.

00:21:29   And like I said, don't get too stuck on the goodness of this. The approach that I'm taking is I'm trying to do something that's fairly straightforward.

00:21:40   It's mostly just going to be quick little interaction videos with plain titles with it, that's just like "feature name" and then a quick "5 seconds of the feature being activated."

00:21:57   It's just something like that, I'm not trying to do some crazy thing with After Effects and motion graphics and all this, I'm just trying to be a fairly straightforward thing to do there. That's the best I can do, and I hope that works.

00:22:11   And then in the same way too, the other thing that I was also thinking of the benefit of this is, with app previews, it's the ability to then potentially also be sharing that in other contexts, that I can put it on YouTube shorts or TikTok or whatever, and it has the same impact.

00:22:25   And hopefully I can reuse some of the video assets that I'm generating from that in other places too, I suppose. But it's like, I am very new to this, it's more just something that I've decided I have to do this year because I think interactivity is so hard to communicate otherwise, and so it's like, I'll do the best I can in the next week or so, and hopefully that's good, and fingers crossed beyond that, I suppose.

00:22:49   Yeah, that's a good way to look at it. The whole area of social media marketing and things like that, I don't do any of that, and so it's good to have more assets you can use there.

00:23:01   I mean, we've talked before about how if I was ever going to hire somebody, I wouldn't hire another programmer, I would hire somebody who's good at all that stuff. So probably, ideally, a combination of a designer and a marketer, if that exists, the problem sure it does, where it's somebody who could do screenshots, the video, social media graphics, app store promos, that kind of stuff, all that stuff that I really am not good at and really could use help on.

00:23:30   And I think that could unlock a lot of value for my app. But anyway, that's not for the week before the time to hire somebody new, even with Indeed is not right this second, right before I have this giant deadline. So maybe I'll look into that afterwards.

00:23:47   Yeah, exactly. Though I will say on that, it's one of those things that I remember last year, I was coming into this this season being like, I almost was like too prepared, where I made a bunch of, every now and then, if you're fortunate for App Store editorial to feature your app, they'll ask for these sort of standard sets of artwork, essentially, that they request, and that's what they use in their template in the App Store.

00:24:11   And I thought, Oh, this year, I'm going to be so clever. I'm going to hire a designer ahead of time, he's going to make promo artwork for all my apps, so that if I, you know, I'm fortunate enough to reach out, and I'll have the artwork ready to go, because it's probably useful to have it ready right away.

00:24:26   I did this guy, I hired the designer got the great artwork, it was ready to go. And I wasn't asked for any of that artwork that year. So

00:24:34   I have found, I've been asked for App Store promo artwork a couple of times. I think I've asked for it three or four times, they only ended up using it one of those times. And I've had different designers do it over the years, different styles, tried out different different concepts.

00:24:48   And I have found, like, because it's because they ask for things relatively unpredictably, and because the things they ask for are actually slightly different every time, like that, because, you know, they're asking for, like, you know, header images that would fit certain App Store templates and things like that.

00:25:05   Well, they redesign the App Store every few years, so the specs for those templates change over time. And the types of templates they're asking for, and maybe the guides of like where certain elements should go, those change over time.

00:25:16   So I found it is not worth making anything ahead of time, just wait to get the request and have somebody you can go to to say, Oh, I got a request. And like, if you ask around, like designers who work around the iOS field, they are very familiar with these requests, and they're able to turn them around quickly, because everyone does this.

00:25:32   Everyone's like, Oh, crap, I got a request. I need something, you know, by three days from now. Can you do it? And so, you know, that's, that's kind of, you know, don't don't prepare ahead of time for that. Just just roll with the punches as they come. If you're lucky enough to get one of those requests, just, you know, go out to designer real fast or do it yourself. Hope they pick you. And if they don't end up using it, like, you know, keep in mind that they might not use it. So maybe don't like dump your life savings into the creation of it.

00:25:56   Yeah, so so what's your what's your final prep work here for for the next few next week, I guess?

00:26:02   Yeah, I mean, I think so. Like, my goal is to be ready. My goal is to like, you know, be able to showcase what it is I've been working on for all this time. So you have the code ready, which I think I'm feeling vaguely reasonable about, you know, have, you know, put together some of the promotional artwork and reach out, you know, do those kinds of things.

00:26:20   I definitely had to push a few features off this year that I was hoping to have done by now I just didn't and you know, but focused on other things. But I will say it's just something that will probably worth saying at this point is there are likely some other developers out there who probably also have this feeling like I do where I look at what I've done for this summer.

00:26:36   And I say every now and then I have catch myself with the like, Oh, man, this is this is terrible. This is awful. Like no one's going to care like this. What have I been doing? You know, I've been toiling away for months and months on these features, no one's going to care about them. I see all the issues and the problems and I kind of have that negativity that I find myself like very is very common at this stage in the development process.

00:26:56   And because this is my, you know, whatever my 15th iOS release, I know exactly what that feeling is. And I've experienced it and can understand it better to that it is a, like, just a natural part of the process of I've been looking at this for so long.

00:27:13   I've been exploring it, I know where all the problems are, where the issues are, what are the things that I wanted to do that I couldn't do. I'm aware of all of that. And there's no novelty anymore for these features for me, like they have completely lost any joy or novelty at this point, because this has been my life for several months.

00:27:30   And so because of that, I don't have that sort of that that joy and that richness that hopefully my customers will have, and that inevitably, I likely will have once I you know, in 14 days when iOS 17 potentially gets released, it'll be much more exciting.

00:27:46   And so I just wanted to mention that now that if you're having that feeling that like, Oh, man, what have I been doing? No one's going to care. This is isn't going anywhere. You know, I wasted my summer, like understand that almost certainly that is not the case. And almost certainly it is coming from this place of the cycle of you have you're excited at the beginning things are, you know, you come out of WDC and all these cool ideas and you work on things.

00:28:08   And then you know, when you make some progress that can be super exciting and awesome. But inevitably, that novelty is going to wear off and you're just in the drudgery. And you've been staring at the same features and bugs and you take them for granted because you've been using them for months and months and you've kind of as easy to forget that for your customers, it's going to be brand new.

00:28:24   They've never seen this, they think that they're going to think it's cool and new and original because it will be cool and new and original. It's just not. That's the way that you feel right now.

00:28:33   Yeah, that's a great way to look at it. I couldn't say better myself because it is, you know, iOS 17 is pretty fun in a few ways. It's not like this massive flashy upgrade like some OS versions occasionally are. It's more of a collection of subtle changes.

00:28:50   And it's fun. And again, like, you know, we've been running the betas for months now. To us, it's almost old hat. But yeah, it's going to be brand new to almost everyone else out there. So kind of, you know, enjoy the ride and have faith in the novelty of the things you've done and people will enjoy them.

00:29:08   Yeah, exactly.

00:29:09   Thank you for listening, everybody. And good luck with the next two weeks because next time we talk to you, we'll be right after the event. And so we're all going to be very busy and we'll know what the new phones are and everything and it should be pretty exciting. So anyway, we will talk to you in two weeks. Bye.

00:29:24   [ Silence ]