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:09 ◼ ► So we are kind of in like the coming down period now from the very, very busy last week of the iPhone event,
00:00:18 ◼ ► the launch of iOS 16 and watchOS 9, and the launches of our app updates that use those features.
00:00:36 ◼ ► There's a lot that has been going on, and it's like mostly almost all good things, and it's fun and it's exciting.
00:00:42 ◼ ► And I was talking to my daughter about this. It's sort of like, you know, there's two big days in my work life.
00:01:00 ◼ ► It's like those two days are just full on and a bit intense, and it's like I'm still sort of recovering from that
00:01:29 ◼ ► Most people are going to get them starting from tomorrow, and then we'll see from there.
00:01:49 ◼ ► if it makes sense for your app to support that in some way, and if you're able to support that in some way,
00:02:01 ◼ ► and the funny thing is, you can't be really until the 16.1 update is out sometime later this fall.
00:02:15 ◼ ► There's going to be a second wave coming in a few weeks when the 14 Pro is going to be super popular
00:02:23 ◼ ► over the next few weeks. And then as soon as apps are able to use the Dynamic Island when 16.1 comes out,
00:02:30 ◼ ► whenever that is, and I don't think we have a date, but I assume it's probably going to be maybe a month at most,
00:02:40 ◼ ► "You better have your apps ready to use the island on that day, because everyone will expect it to be there."
00:02:47 ◼ ► And actually, on some level, I feel very stressed about that, in part because I don't really know yet
00:03:02 ◼ ► and it looks like we can't replace the now playing, I guess, activity that's on the lock screen.
00:03:11 ◼ ► But maybe we can add to it, and should we have our own secondary activity that floats as a little blob above the now playing one?
00:03:21 ◼ ► And then how does that work with the Dynamic Island? Do we start another one? Does it replace that one?
00:03:26 ◼ ► So there's a bunch of questions that I think we'll have to answer over the coming weeks,
00:03:43 ◼ ► and different family events, and different school needs and stuff, so it's just a very, very busy time.
00:03:49 ◼ ► But I think it's mostly busy in good ways. I'm curious, how did everything go for you last week?
00:03:57 ◼ ► Because obviously, in addition to just being an app developer who has a bunch of stuff to update every time iOS updates,
00:04:04 ◼ ► you also are, in particular, a widget app developer, and this year we added to iOS new places to put widgets,
00:04:15 ◼ ► Yeah, so last week was a wild ride for me, and I use the word "ride" very specifically.
00:04:23 ◼ ► So last week, I had a previously planned family trip to Disney World, which was lovely,
00:04:30 ◼ ► and we're celebrating my dad's 75th birthday. He's almost certainly going to listen to this, so happy birthday, Dad.
00:04:45 ◼ ► in terms of rather than being the earliest it could be, it would have been the typical window.
00:04:49 ◼ ► It was not. It was in the earliest window. And so that made last week very interesting.
00:04:55 ◼ ► And probably just as a meta point, it was one of those things where I had to decide that while it's important to do and be engaged in my work,
00:05:05 ◼ ► and it's a very important day for developers, I tried very hard to make sure that it didn't overwhelm or overcome the special time with my family,
00:05:14 ◼ ► and the things that I could do there. And so other than directly after the Apple event on Wednesday,
00:05:25 ◼ ► And I think that was just one of those things that it's just the benefit and the curse of being an independent is,
00:05:30 ◼ ► if I had worked for a bigger company, there would have just been a team, and it would have just been on holiday, and it would have been fine.
00:05:36 ◼ ► But on the Monday that iOS 16 came out, I was launching the apps in the Kinect app on my phone while in line to go and ride a ride,
00:05:46 ◼ ► because it was the appropriate time to do it. And that was the way it lined up, and I tried not to get too engaged in that.
00:05:54 ◼ ► But yes, that was definitely a bit unusual and a bit of not something I would recommend.
00:05:59 ◼ ► But the reality is you don't always get to choose the timings of things, and you just kind of have to roll with it
00:06:09 ◼ ► It's like, "I work to be able to go on trips." There's a nice synergy there, but that made last week in particular a bit complicated.
00:06:25 ◼ ► I was very nervous about the hotel Wi-Fi, because no matter what, I needed to download the GM SDK of Xcode,
00:06:37 ◼ ► It turned out this year there weren't any new features in the GM that I needed to adapt for or do anything with.
00:06:43 ◼ ► It was really just install, do a quick smoke check, make sure everything worked like it did in the previous beta, and do that.
00:06:57 ◼ ► I actually set up a virtual Mac in Mac Stadium that I had set up with all of my development environments, all the things there,
00:07:05 ◼ ► so that if I needed to, at the very least, I could VNC into that machine and remotely do my builds and submissions and do all that.
00:07:15 ◼ ► This is the level of preparation that I was going to, because I really didn't want to be stuck there trying to download Xcode.
00:07:27 ◼ ► It's happened a couple of times at WEDC, and that's why they had the download area where you'd have to go and download,
00:07:32 ◼ ► because if you tried to download Xcode at the Parc 55 Wi-Fi, it would just never finish.
00:07:41 ◼ ► I downloaded Xcode in about 20 minutes, and I much preferred to do it locally than up in the cloud.
00:07:49 ◼ ► I just wanted to mention that so often in our circumstances, there are things that are out of our control,
00:08:04 ◼ ► that I could eliminate the potential stress of not being able to resubmit my app updates by spending half a day the week before,
00:08:16 ◼ ► I submitted some test flight builds from there to make sure that all the signing was in place.
00:08:21 ◼ ► There's a lot of things you can do to be prepared and be thoughtful about what you're doing.
00:08:50 ◼ ► That Monday it was released, but obviously only the super keen and early adopter folks were going to have it then.
00:09:00 ◼ ► WidgetSmith seems pretty popular as a result of this update, which is lovely, and I'm super enjoying.
00:09:06 ◼ ► Actually, so is Pedometer++, which makes sense that people like watching their steps on their lock screen.
00:09:12 ◼ ► And it was cool to see, I think, both Overcast and Pedometer++ were featured by Apple this week as apps that are--
00:09:27 ◼ ► Well, if you open the App Store and go to apps we love that use lock screen widgets, you will see Overcast there.
00:09:41 ◼ ► that I thought was going to be very minor, and it turned out it was causing crashing on watchOS 8.
00:09:46 ◼ ► And this was a few days before watchOS 9 was released, so almost everyone still was running watchOS 8.
00:09:52 ◼ ► So I actually had to shove through two builds during this time between the GM release--well, the RC release, excuse me--
00:10:04 ◼ ► I didn't actually file an extra added review request for the second one because things were going through so quickly.
00:10:18 ◼ ► But overall, the only little snag that I think I've hit is something that we're all hitting.
00:10:25 ◼ ► It seems like there might be a bug in iOS where it's not showing all the apps that offer lock screen widgets sometimes.
00:10:34 ◼ ► There's some kind of cache it needs to rebuild or a list it needs to rebuild that it isn't doing that reliably.
00:10:40 ◼ ► And sometimes people report that they have to change the language their phone is in and then change it back
00:10:49 ◼ ► And so I assume that's just a minor OS update bug, and whenever 16.0.1 comes in, I'm sure they'll fix that.
00:10:55 ◼ ► Well, as someone who has a lot of people who try to install lock screen widgets, I can absolutely confirm that that is definitely an issue that many people have reported to me.
00:11:08 ◼ ► The best workarounds I've found thus far are to reboot the phone, changing the calendar in the language and region session seems to very often force it to rebuild,
00:11:19 ◼ ► which I think is easier than changing the language, just in terms of it means that the phone is still in a language that you can understand.
00:11:25 ◼ ► So I've been having customers change the calendar from the Gregorian calendar to the Buddhist calendar, then back to Gregorian,
00:11:32 ◼ ► or if you were in the Buddhist, change it from whatever your normal one is to another one and then back.
00:11:38 ◼ ► And that seems to, yeah, it's like prompts iOS to go and rebuild a bunch of caches or things.
00:11:43 ◼ ► And then the other thing that I did is I did a very minor bug fix update to Widgetsmith.
00:11:53 ◼ ► But it seems like after you have iOS 16 installed, if you then get an app update, it will see the widgets more reliably.
00:12:03 ◼ ► I think the scenario that's happening is if people got your iOS 16 update and installed it when they were running iOS 15, then they installed iOS 16.
00:12:14 ◼ ► But after it does a new install, I'll probably do a series of .0, with version 4.01, I'll probably do 4.02 today,
00:12:44 ◼ ► And for the majority of people, if you try those workarounds, reboot, change your calendar, or install an app update, it does seem to work eventually.
00:12:52 ◼ ► So it's not the kind of bug that's going to be with us forever, and it's terrible in that way.
00:13:14 ◼ ► Because it seems to me there are a lot of steps involved in adding a widget to your lock screen,
00:13:21 ◼ ► especially if you do the customization intent part of it, where you can, in edit mode, tap the widget to set the options for the widget.
00:13:30 ◼ ► That, to me, the whole process seems pretty confusing. Are you finding, are users figuring this out without much support or need for help?
00:13:41 ◼ ► So I think it is definitely confusing, and I'm definitely working through some customer support around that.
00:13:48 ◼ ► And I think the one thing that's going in its favor is it is similar to how you do it for home screen widgets,
00:13:56 ◼ ► which there is a much wider user expectation there, that more people have done that that way.
00:14:04 ◼ ► And I think the other thing that's beneficial is many people, in order to know that it exists,
00:14:19 ◼ ► People are seeing people's configure and setup lock screen widgets and then are imitating that,
00:14:29 ◼ ► And I definitely took the approach this year of, I've made a bunch of tutorial videos and put them in the app,
00:14:40 ◼ ► like remotely, if things become confusing or problematic for people, if there's a particular issue or hiccup.
00:14:56 ◼ ► I can show you how to configure and install a lock screen widget, but trying to describe it in words is almost impossible.
00:15:04 ◼ ► You swipe down to bring up your lock screen, and then you long press on some empty space,
00:15:10 ◼ ► and then you hit "Customize," and then at the top there's a space that says "Add Widgets,"
00:15:15 ◼ ► and you're going to tap there, and at the bottom you're going to scroll up to find the app that you want,
00:15:19 ◼ ► and then you're going to tap on it. And then you're going to go up to the top again and tap on the thing that you just--
00:15:36 ◼ ► and it seems generally, as far as I can tell, people are kind of getting the hang of it.
00:15:41 ◼ ► And it benefits a lot from the word-of-mouth effect, where I'm getting the impression that a lot of folks are seeing someone else
00:15:54 ◼ ► so there's a little bit of community education, I guess you could say, happening there.
00:16:02 ◼ ► Or if there was just-- there are some steps there that could-- especially for the text one.
00:16:22 ◼ ► Yeah, I would love it if Apple would-- and maybe there's some kind of security reasons why they don't want to do this,
00:16:27 ◼ ► but I would love it if they would offer apps the ability to prompt the user to install a lock screen from a button in the app.
00:16:38 ◼ ► Allow us to offer a button that says, "Create a widget with this configuration, and prompt the user to put it on this screen."
00:16:47 ◼ ► And then have an API call for that, and the user can tap that, and it would show system UI saying,
00:16:55 ◼ ► That would be so much easier, because so many people won't even know this is a thing they can do.
00:17:08 ◼ ► and I think that would probably help people discover those more than they naturally would have,
00:17:11 ◼ ► I would love a similar kind of API for "Add widget," or whatever new kind of stuff that comes along like this
00:17:31 ◼ ► is you have a button that you can hit that is a standard system thing that just adds it and configures it in the Shortcuts app,
00:17:42 ◼ ► And you just, like you said, you just say, "Add widget," and you provide the configuration intent
00:18:17 ◼ ► than configuring something in this hidden modal menu that you have to know is there in the first place.
00:18:27 ◼ ► So the one that you just added, tap it after you have it, but don't tap the one in the little gallery.
00:18:47 ◼ ► Indeed is the hiring platform where you can attract, interview, and hire all in one place.
00:18:58 ◼ ► Find top talent fast with Indeed's suite of powerful hiring tools like Indeed Instant Match,
00:19:05 ◼ ► And if you hate waiting, Indeed's US data shows over 80% of Indeed employers find quality candidates
00:20:08 ◼ ► So one thing else that I thought was interesting to touch on that I think is worth talking about with launch dates is
00:20:15 ◼ ► understanding that I'm trying to do this year that is different than the last couple of years is I'm trying to my best to
00:20:23 ◼ ► be where my customers are, even if that is not a place that I am naturally or feel comfortable being.
00:20:30 ◼ ► And so like I've created like I created a TikTok account for WidgetSmith and I am posting videos to it
00:20:37 ◼ ► and trying my best to be there in a way that doesn't necessarily feel comfortable isn't something that I'm used to
00:20:44 ◼ ► or have a lot of experience with but it is clearly a tool that would benefit my app and so is something that I'm trying my best to engage in.
00:21:00 ◼ ► Like I posted, like I said, I just made some tutorial videos for inside the app about how to configure a home screen widget,
00:21:11 ◼ ► And there's the one in the app which is actually hosted on YouTube. It's just like a YouTube short that I put there
00:21:18 ◼ ► And the version of that that I posted to TikTok has like 10 times the views of the one that is inside of the app
00:21:26 ◼ ► that if you are curious and you go to the help tab and tap on it, people will see and view.
00:21:32 ◼ ► And so clearly there is a market for that. There is a lot of people who are interested or engaged or encouraged by that.
00:21:43 ◼ ► Like I'm back home, I'm doing work, I've sort of put out the few little minor bugs and things that I needed to initially.
00:21:51 ◼ ► And my usual instinct at this point would be to dive back into Xcode, build some more features, round out things,
00:21:58 ◼ ► like get back in there, see, we're at the point now where it's like now that things are out, I'm starting to see where the holes are,
00:22:06 ◼ ► But it's like, nope, this morning I made another TikTok and posted it and we'll see what happens.
00:22:16 ◼ ► because I think the reality is after the initial work is done, after your app is in a place where it is stable and good,
00:22:25 ◼ ► it is probably more important to have a period focusing on marketing than on adding a feature.
00:22:32 ◼ ► It is unlikely that adding one more feature to the thing that you spent all summer working on is going to really change things dramatically.
00:22:42 ◼ ► But spending some time trying to do some marketing, trying to think of interesting and creative ways to get your app in front of people
00:22:50 ◼ ► and to showcase the work that you've been doing since June, I think is actually probably a valuable thing.
00:22:55 ◼ ► And it's early days, I'm only just starting this myself, so I can't say for sure that absolutely this was the right thing to do.
00:23:01 ◼ ► But it is something that I'm trying this year that I think I haven't done as much in the past,
00:23:12 ◼ ► Or it's like something happened and it's almost like these things are happening to me rather than putting in the work and the effort.
00:23:18 ◼ ► Even if I feel like I'm fumbling around and I don't know what I'm doing and I'm not an expert,
00:23:23 ◼ ► it's like, "Put me in Xcode and I'm a happy bear." I love that. I'm an expert in Xcode.
00:23:44 ◼ ► because I think it could make a difference. And if it doesn't, that's fine. I've learned a new skill and I can move on.
00:24:06 ◼ ► where the year just started/ended and now we have to look forward to, "What's the rest of the developer year look like?"
00:24:13 ◼ ► And I think one thing I really want to focus on this year is finding more ways for the app to market itself
00:24:21 ◼ ► through things like I want to make an app clip for a player interface for shared links.
00:24:26 ◼ ► I want to have that sharing promotion be more improved and doing more things like what you're saying,
00:24:39 ◼ ► Because I keep trying various forms of paid marketing, whether it's search ads in the App Store
00:24:51 ◼ ► And it's a very, very expensive way to acquire customers, and that's going to always be very limited,
00:24:59 ◼ ► unless you're able and willing to spend millions of dollars acquiring customers, which I am not.
00:25:09 ◼ ► And I think if you can find ways to organically market, it's both not only is it cheaper,
00:25:15 ◼ ► but it's also usually more effective in both absolute terms of how many people you get,
00:25:20 ◼ ► and in terms of the quality of the people that you get and how interested or how engaged they are,
00:25:33 ◼ ► I do think I want to join you in that because as usual, you are the voice of reason and pragmatism
00:25:38 ◼ ► in the developer community. And usually you're like, "Yeah, this thing I just decided to do."
00:25:52 ◼ ► You're going to start the series of videos where it has you on the left reacting to someone else's widget set up on the right.
00:26:00 ◼ ► And you're like, "Oh, I wouldn't do that. Oh, no, what are you doing? Don't put that widget there.
00:26:06 ◼ ► That's not going to work. That's going to be ugly. What are you doing? You're missing the point."
00:26:17 ◼ ► Sure. I will say, actually, along those lines, in all seriousness, something that I did find was absolutely fascinating
00:26:48 ◼ ► It was just really cool. There were a couple of hiccups or confusions or things that don't work well
00:26:54 ◼ ► that I was like, "Oh, yeah, I can fix that. That's something that I can do and make the app better."
00:27:01 ◼ ► But it's really hard to get that completely unvarnished feedback because if I show my app to someone
00:27:09 ◼ ► and I'm in the room with them, it's easy for me to be like, "Oh, just do this," or to tell them how to do it,
00:27:22 ◼ ► I'd encourage everyone to just take a look, like go to YouTube, go to TikTok, search for your app name,
00:27:27 ◼ ► and see if there's anybody out there who's using it in practice and just see how they're using it.
00:27:32 ◼ ► See if that's different. See if there are bugs or confusions or hiccups that you wouldn't notice otherwise.
00:27:38 ◼ ► And that was really valuable beyond even just the marketing side to see how people use it.
00:27:50 ◼ ► hand your app to someone who hasn't seen it before, and then walk away and just ask them to use it
00:27:55 ◼ ► and play with it and see what happens. But it definitely was illuminating, to say the least.
00:28:00 ◼ ► And I was encouraged that there are a few fixes I did in this latest version 4 where I rebuilt my editor
00:28:11 ◼ ► And I found people using version 3 of the app and encountering the bug or the confusion
00:28:16 ◼ ► or the user experience issue that I thought they might be. And I was like, "Ah, I fixed that."
00:28:26 ◼ ► Yeah, I always appreciate, whenever I hear other people talking about Overcast on a podcast,
00:28:31 ◼ ► or I see people mentioning it on Twitter, people assume that you as a developer will never see this
00:28:36 ◼ ► or never hear it. Just yesterday I listened to an episode of a podcast called "Mosen at Large"
00:28:41 ◼ ► where a blind user was rating different podcast apps' usability and features from a voiceover perspective.
00:28:47 ◼ ► And he pointed out tons of problems in Overcast. And I'm like, "Man, I'm walking my dog, listening to this,
00:28:56 ◼ ► Like, "Huge list of features and changes." And he found an unlabeled button, I'm so embarrassed.
00:29:01 ◼ ► So I'm like, "Oh man, all these features." And it's very good feedback when you hear other people
00:29:08 ◼ ► in the wild talking about or using your app, assuming you'll never see it, and then you see it.