Under the Radar

227: Adopting High-Profile iOS Features


00:00:00   Welcome to Under the Radar, a show about independent iOS app development.

00:00:04   I'm Marco Arment.

00:00:05   And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.

00:00:09   So here we are at the, kind of the calming down period of iOS 15 having been launched.

00:00:16   Everyone's installing it, it's spreading. Adoption's actually pretty good for me so far.

00:00:21   I don't know how it's looking for you, Dave, but for me I'm up to like 30% iOS 15 already.

00:00:26   I'm at 12%.

00:00:28   Nice. Oh, actually, to correct you, I'm at almost 40%.

00:00:33   So, it's going great. For those of us with power users, at least. It's going great so far.

00:00:42   Oh wow, I just, hold on, I gave you the number for Pedometer++. The WidgetSmith adoption rate, 50%.

00:00:49   Oh my god. That's really sick. Because WidgetSmith, I mean, that's a way larger sample set.

00:00:56   And it is granted, you know, people who are power users enough to install widgets, but that's still, that's a much larger install base and probably a better cross-section of the population.

00:01:07   I don't know. It's doing well, is the reality.

00:01:09   Yes.

00:01:10   There's a lot of people running iOS 15.

00:01:12   That's fantastic. Man, maybe I can require it sometime soon.

00:01:16   I would love, just as a little sidetrack, I've been starting to do a little bit of redesign work and as I'm doing things like rewriting view controllers in Swift, I'm like, man, I would love to use async/await for things like, I have to load something into the view controller from the network and then pop the result in.

00:01:32   Like, man, wouldn't it be nice? So, hmm, that's interesting. Maybe, you know, like, any redesign I do wouldn't be done until probably at least this coming February, March, April kind of time frame, if I even keep on track and do it this time, which I say every year and I never do.

00:01:49   So maybe by then I think it would be probably pretty easy to require 15 at this pick-up rate.

00:01:56   Maybe. And it didn't drop any devices, so that's great.

00:01:58   Yeah, exactly. Yeah. And they haven't dropped any devices, I believe, since iOS 13, right?

00:02:04   I believe that's right, yeah.

00:02:06   Yeah, so this is great for us. I guess their pain is back for that Series 3.

00:02:10   But anyway, so it'd be fun if this we thought to talk about, you know, kind of looking back on when we adopt new OS features, how does that go for us?

00:02:23   You know, which features have proven to be worth, you know, adapting in our, or adopting in our app?

00:02:29   And which ones maybe haven't, which ones we've avoided, and how we make those kinds of decisions.

00:02:34   So I was wondering, Dave, like, you know, kind of looking back, you know, even as far as iOS 14, iOS 13, like, what were some of the big headlining features of, like, 13 and 14?

00:02:45   Yeah, so like, I think of, like, iOS 13 was a relatively sort of quieter year from what I can remember of it.

00:02:55   It had things like the big features.

00:02:57   We've all blocked out all the bad parts. Because 13 was a buggy mess.

00:03:01   Like, Sign In with Apple came with that, which I think, as a developer feature, I think was certainly something interesting that I personally never had a sort of a need or a use for it.

00:03:14   But it was something that came in.

00:03:17   It also introduced System-wide Dark Mode, which was a meaningful feature that I think is sort of, in some ways, like, the hero for system features that just become part of the, like, the fabric of iOS development.

00:03:33   And are adopted universally and are generally well, you know, it's like, any time or effort you put into Dark Mode with iOS 13, you got your investment back because it certainly went well.

00:03:48   And I think it continues to be that way.

00:03:52   And I think that was the majority of it for iOS 13 in terms of, like, major features that I remember doing was just adopting Dark Mode.

00:04:02   And then I think about iOS 14, and it's like, iOS 14 had a couple of interesting, like, I wish I had a good name for these.

00:04:09   These iOS features that are almost like trying to create a new area of development.

00:04:16   And some, like, they have a very mixed history.

00:04:20   So you think of, in some ways you can think of these as all the different extensions that you have to add to your main app binary.

00:04:28   Any time you have to add one of those, it's usually tying into one of these kind of things.

00:04:32   And so, like, specifically I'm thinking about this time, it's like, App Clips was a thing that was added in iOS 14.

00:04:37   And I've never seen one in real life. I'm sure they potentially exist, but it seems like that feature didn't particularly set the world on fire, become something that was sort of bigger important.

00:04:52   And then, let's see, what else did we have? We had ARKit 4, which is one of those funny things where similarly I feel like there's this area that, like, every year there's these little, it's just sort of pushing out in that direction.

00:05:05   That, I don't know, ARKit feels like, it'll always be next year. Next year is the year of ARKit.

00:05:13   And there's not much to there.

00:05:17   Widgets were added in iOS 14. They were a new extension type. They were a new thing we had to do with our apps.

00:05:24   I can say from experience, quite popular. Something that--

00:05:28   Understood.

00:05:30   Yes, it's like, many people like widgets. I can tell you with some certainty there.

00:05:36   And I think widgets too were interesting now in that they, in the same way I was saying with dark mode when I was 13, I feel like they are just becoming an expectation.

00:05:49   That they are part of iOS in a way that they didn't feel like a fad, they weren't a fad that just appeared and then went away.

00:05:56   Which, I mean, honestly, I had a lot of concerns about when WidgetSmith had its sort of meteoric rise initially, it was, is this going to be one of these things that's cool and people are excited about for a few days, and then it just falls away and the interest wanes and no one cares.

00:06:15   And it seems like widgets weren't that. It seems like that's a system feature that they added that had a meaningful and long-lasting impact.

00:06:23   And I think even, you just added widgets, right? So they're continuing to expand even to, the expansion of them is continuing even to this day.

00:06:33   Yeah, I could not believe, so, because of my leisurely pace of adopting new features and APIs, that's a nice way to put it.

00:06:43   It's a thoughtful approach.

00:06:45   Sure, that's it. Yeah, I'm definitely not just a slacker who got way behind on technical debt for the last few years.

00:06:50   But anyway, because of my slower than ideal pace of adopting new features, I just got around a couple of weeks ago to shipping an update that used a lot of iOS 14 features, among which was a widget.

00:07:04   And I never really used widgets that much myself until fairly recently, but I've been kind of converted recently and now I kind of see, oh, this is what everyone's talking about.

00:07:17   And I was very, very surprised when I shipped mine quite how popular it was and so quickly.

00:07:27   Like, if you've been using Overcast for, you know, the last, since iOS 14 was released, you wouldn't know I had a widget because it wasn't there when iOS 14 was released.

00:07:37   Maybe when you first set up your home screen for iOS 14 last year, maybe you looked around for what was out there, installed some stuff, and then kind of just never changed it after that.

00:07:46   So when I released the widgets, I didn't make a huge fanfare out of it. I posted on the Twitter account of the app and I put it in the release notes, but there was no big press or big fanfare.

00:07:57   There was no in-app notification. Hey, you can now add widgets, like nothing like that.

00:08:01   So unless you were the small percentage of my user base who followed my social accounts, you wouldn't even know, or unless you read the release notes, which no one does.

00:08:10   So for some reason, somehow, yet, less than, I think I'm about two weeks out from release now, and it's already way more, there's over 10,000 people who have it installed, who have a widget configured.

00:08:24   It's a massive number of people, considering there was no fanfare whatsoever, and it's already proven way more popular than things like the website. I mean, I know the website sucks, but that's still pretty good, considering.

00:08:42   So I kind of realized, oh, this feature was worth adopting. And iOS 14, but as you mentioned, it also added app clips. And app clips is a feature that I theoretically want to try to play around with at some point, as if somebody shares an overcast link through iMessage or something, which is the most popular shared destination for me.

00:09:08   If somebody shares a link in iMessage, maybe I could pop up a little player and have it just start playing and possibly do that. But first of all, I don't even know how that works necessarily. I don't know how good that experience can be in practice. I'd have to actually try it and see.

00:09:23   But the demand for that seems to have not really materialized. I actually have seen exactly one app clip in the wild. Is that a restaurant that they had this thing where you could scan a QR code on the check and pay it with your phone without having to give the credit card to anybody and go back and forth and everything.

00:09:43   So that was an option. And what it did was it brought up an app clip. And then for the next week or two, I had this weird dotted icon in my app library. Like, wait, what's that? And then, oh, yeah, that's right. And it's called something generic, like pay the bill or something.

00:09:57   So it just kept offering for me to pay the bill at other times in my life. After that, I was like, well, sure. But yeah, so app clips is a feature that's a non-trivial amount of work to support.

00:10:10   And if it's not going anywhere, which, I mean, honestly, we don't really know for sure. Maybe there are certain areas, certain industries or regions in which it is very popular. But it seems like it's mostly not.

00:10:23   And so it's kind of hard to know, though, before the OS ships and before it's out there, like, what's going to be that kind of feature. I think it's easy to decide to support something like dark mode. You mentioned dark mode in iOS 13. Because dark mode is the kind of thing that the entire system is moving in this direction to make this dark theme and auto switching available.

00:10:47   And even though it's, in many cases, it's a good amount of work to support something like that. Like, anytime the system design or theme changes or the system font or the design language is currently in fashion, that's always a huge amount of work to support that kind of stuff.

00:11:03   But dark mode is the kind of thing that if you don't support it, you're going to instantly look old. It's almost like not supporting a new screen size for a new phone or iPad. Like, if your app is launching every time and it's being letterboxed in by black bars because you don't support the new screen size, your app is going to instantly look old.

00:11:22   And that's, you know, something like dark mode is the kind of thing that can cause that. And so, for that kind of context, I think it's an easy decision for developers to make. No matter how much work it is, you pretty much have to do it.

00:11:33   Whereas, something like, you know, the app clip feature, like that's, or, you know, going back a little bit further, something like Siri Intents, it's a little harder to know, like, well, how much is this going to actually be used?

00:11:48   Widgets, I think, are a really good example of this because widgets are, in theory, you know, this kind of like specialized feature that maybe only power users were going to install.

00:11:59   And so, it was probably hard to predict, you know, is anybody really, you know, quote anybody, you know, beyond nerds, like, is anybody going to really use this feature?

00:12:09   And there have been things in the past that really didn't go very far. Things like, you know, iMessage apps that weren't just sticker packs. Like, they pretty much didn't go anywhere.

00:12:18   And that was a big deal. Apple pushed it very heavily and they had great, you know, lofty goals of how people might use it and they just didn't, you know.

00:12:26   Apple TV apps, same thing, I think, you know. Apple TV apps are great if you're a video streaming service and pretty much nothing for anybody else.

00:12:35   And, you know, we just didn't, you know, we had, there was that one fall where they unveiled the Apple TV and its SDK and they had those little tech talks where they went around and, didn't you come to New York for ours?

00:12:45   I did, yeah. We went to it together.

00:12:47   Yeah, that's right. Didn't you stay in my house? I think you did.

00:12:51   I believe I did.

00:12:52   Yes. But that was a long time ago.

00:12:54   Very long time ago.

00:12:55   Yeah. But, you know, like we were all excited. Oh, great, a new platform. You know, maybe people will use the Apple TV to play games and browse real estate and then it just didn't really happen that way.

00:13:05   And so it's hard to know in advance. But I think widgets were one of those happy surprises where it seemed like it was probably going to be a pretty nerdy, specialized low usage feature.

00:13:16   And it has ended up being a much bigger feature than that.

00:13:19   Well, and I think what's interesting there, and I think the reason I thought this, I think in many ways this is an interesting discussion for us to have, is the sense of, obviously now we're looking forward to iOS 15.

00:13:29   And moreover, thinking of, you know, the future, iOS 16, iOS 15.1, whatever comes down the road, is it sort of looking back to try and learn how to better make choices and decisions into the future.

00:13:39   Because I have spent a tremendous amount of time sort of spinning my wheels on features that didn't go anywhere, were some kind of waste of time.

00:13:47   And I think, in retrospect, the things that I see are that sense of, one, is it a feature that, like, my instinct initially is that that looks cool or interesting, and not just like a tech demo.

00:14:02   Like, is something that would be practical and useful and doesn't just seem like it was, someone had thought it was a cool idea and so they added it to the OS.

00:14:10   Like, they needed five features to put on this year and they just, like, picked that one. And anytime it doesn't sort of have that initial, like, wow factor or something that I think is very cool or interesting and engaging right away,

00:14:26   probably a good indication that it's not something that is going to be that exciting to work on.

00:14:32   And I think sort of the slight counter to that is the sense of, what was interesting with widgets is I feel like the way they were pitched initially and the way they were actually, what got them sort of broad adoption and utility were, I think, were different things.

00:14:50   That what made people, like, the way that they were described at WWDC and I think the way that most developers, as far as I was aware, were talking about them and thinking about them is almost thinking about them like they're sort of complications on watchOS.

00:15:07   That they're these sort of ways of showing little bits of status information or utility inside, you know, sort of pushing it slightly outside of your application and sort of showing that on the home screen itself.

00:15:23   It's almost like we were thinking of them as they were better icons for our applications. And it turned out, when people, I mean, and obviously not all of the usefulness of widgets was Widgetsmith, but I think the thing that actually was exciting for people was giving people control over their home screen and the way it looked and what they could put there.

00:15:45   And that's where the real, like, that was the catalyzing feature. And I don't think anyone, me included, the person who wrote the app that ended up kind of expanding that out into the public at large.

00:15:58   Like, I had no idea that that's what, you know, people were going to be excited about. That that's what people would be interested in.

00:16:05   That it turns out, like adding specific photos to your home screen is like the killer feature for iOS 14 widgets. That is what the vast majority of widgets that have been added in Widgetsmith are.

00:16:17   It is continues and continues to be the most popular thing. The initial sort of like aesthetic sort of wave of interest.

00:16:26   I think some of that exists, but it turns out, what actually people really actually love is just probably, you know, putting pictures of things that they care about or love on their home screen.

00:16:35   And like, that's the exciting and interesting part. None of us could have predicted that. And so on the one hand, I think of, in retrospect, looking at these features that Apple announces, I think they think are cool.

00:16:46   I look at it and if I'm a bit circumspect, like I don't see me using that very much, maybe I shouldn't do it. But it's like, there's the risk, I suppose, of that of potentially missing out on, you're not the, you know, it's like you're not the primary audience for this feature anyway.

00:17:01   Potentially. And that, you know, and potentially missing out. But also, at the same time, like if you're building a feature that you don't, you're not excited about, that you don't care about, that you're not going to use yourself, then you're also probably setting yourself up for trouble as well.

00:17:14   We are sponsored this episode by the Best in Class iOS App Book series. The Best in Class iOS App Book series is here to help you take your apps from good to great.

00:17:26   Written by indie developer Jordan Morgan, he's covering all he knows about what he believes are the four most critical topics to develop quality software on iOS.

00:17:34   Accessibility, learn how to make sure your apps are designed for everyone, master the basics, and then deep dive into APIs like the Roto Control or how to best support Voiceover.

00:17:42   Design, every successful app eventually wins with design, but it looks different for each one. Here you'll figure out how to find your apps voice and then use that to make it look and feel right at home in the iOS platform.

00:17:52   And user experience, if an app is pretty to look at but unusable, it'll get deleted. That section is all about how to make that not happen.

00:18:00   And finally, APIs. The last section in the series is an exhaustive look at all the major iOS frameworks and APIs. Learn about things like WidgetKit, or how to leverage Siri APIs.

00:18:12   I swear this is not a coincidence. How to leverage Siri APIs to make sure your app is tightly integrated across the system.

00:18:18   I've personally looked at this book series. I've gotten through most of the accessibility sections so far. And it's really well done.

00:18:25   It's comprehensive, but it's also approachable. You don't want something to just be a reference manual or to be like too in the weeds technically.

00:18:33   But it's really, really great. It has a really great balance of detail versus brevity and stuff like that. I strongly recommend checking this out.

00:18:42   So right now the book series is in early access. New content updates come out every two weeks.

00:18:47   The accessibility book is up first. It already has over 100 pages of content and over 30 code samples in both UIKit and SwiftUI.

00:18:55   The book series will be $160 when it's out of early access. But our listeners can enjoy a 50% early access discount.

00:19:02   This will get you all the books in the series as they come out. A comprehensive Xcode project with all the code samples.

00:19:08   Access to a private Discord server to chat with the author and other developers. A bonus section just for early access buyers and free updates for all the books as they come out.

00:19:17   So visit BestinClassiOSApp.com/Radar to get started today.

00:19:23   Whether you're an experienced developer who wants a reference guide for the platform or you need to brush up on design.

00:19:28   Or if you're just new to the world of iOS, this book series has you covered.

00:19:32   It's like Apple's Human Interface guidelines combined with in-depth documentation and code samples.

00:19:37   So once again, that's BestinClassiOSApp.com/Radar to get the series for 50% off.

00:19:45   Our thanks to BestinClassiOSApp for their support of this show and Relay FM.

00:19:50   So now that iOS 15 is out and apparently getting adopted fairly quickly, which is great.

00:19:56   Looking at some of the things that iOS 15 has added.

00:20:00   Obviously on the technical side, whether you can adopt stuff like async/await depends on when you can require iOS 15.

00:20:07   But on the user-facing feature side, I feel like we kind of got a break this year in that there really aren't many user-facing features.

00:20:15   The most obvious features that you might have to adopt in some way in your app are the notification classes.

00:20:24   Where you can say whether your notification is time sensitive or not. But that's a fairly small thing.

00:20:29   The biggest user-facing real feature that they marketed very heavily is probably SharePlay.

00:20:39   And this was an interesting dilemma for me, whether I wanted to support SharePlay or not early on.

00:20:44   And now we have the benefit of knowing that it actually isn't out yet.

00:20:48   And it got delayed. Maybe it will come out in 15.1, maybe it will be 15.2, who knows.

00:20:53   But it's been somewhat delayed. But with SharePlay, the idea is you can, as a media app, which I have, you can create a shared media experience.

00:21:05   So you could basically make a podcast listening party that would happen over FaceTime or in some other way.

00:21:13   Where it's coordinated between multiple people who all listen at the same time and can communicate with each other and talk during that or annotate it somehow.

00:21:22   And so Apple was pushing this pretty heavily. I think in part because it's a fairly cool feature in certain contexts.

00:21:29   But also in part because it was basically their only user-facing feature for iOS 15 that developers would have any real chance of adopting and having it have some kind of third-party app story.

00:21:39   And so I made the decision early on to not jump into it yet. And to take a wait and see approach.

00:21:48   Basically, let me see what other people do with SharePlay first. And if it really takes off and if my users demand it and if other podcast apps do it, then maybe I'll do it.

00:21:58   But the reason I didn't jump in immediately is because it would be a fairly significant technical challenge for me because of the way podcasts are served with dynamic ad insertion.

00:22:09   I would basically have to have one person play the podcast for everyone else or send everyone else the same copy from one person or something like that.

00:22:18   And so it would be more complicated. And I wouldn't be able to have my audio engine work in this context because it would have to be this kind of like multi-point coordinated thing.

00:22:27   So you couldn't have different people playing at different speeds and stuff like that. You couldn't do smart speeds.

00:22:31   It would be kind of a weird fit for my app and for what my customers expect. So I decided not to support SharePlay yet and to just wait and see if anybody really demands that.

00:22:43   And honestly, it hasn't happened yet and I don't think it will. But that's a hard call to make in advance, as we've been saying. Sometimes things seem like they're going to be big hits and they're not. Or vice versa.

00:22:55   Yeah, and I think SharePlay is this great example of a kind of, there are some features that I feel like target particular use cases and become very specific.

00:23:10   And there are features that become, or are the opposite and just are broad and apply universally. And I think what increasingly I have a sense of is that the more broad a feature will have impact on the user and their experience on their iPhone, the more likely it is to be something that is going to take off, be useful, be worth our time.

00:23:33   Because when I think about SharePlay, it's sort of, even watching the original introduction to W2DC, it has the sense of like, I don't really want to be always on a FaceTime call when I want to have this type of real-time collaboration.

00:23:56   The fact that it was tied to FaceTime specifically rather than if Apple had provided a sort of a real-time, like, which is always weird that they did it this way where I sometimes I think that the group activities API that is like the baseline of SharePlay feels like should be its own standalone thing and is potentially interesting and compelling as a service there.

00:24:22   Apple essentially providing a way to do real-time collaboration at a system level in a really low friction way. Like the group activities API looks amazing. Like I watched all the W2DC videos, thought it was really cool.

00:24:33   But the fact that the use case for this gets so specific that you need to be on a FaceTime call. So you need to, you know, it's like have a video stream running while you're doing whatever the real-time collaborative activity is, gets very narrow.

00:24:50   Like the main use case that I feel like keeps being come up comes up is this sort of shared media experience and like a shared media experience over FaceTime.

00:24:59   Like it becomes so specific and so like, like you do mean just practically speaking that it's the kind of thing where you're having to like make an appointment with someone else at a particular time to do a particular thing.

00:25:12   And then it sort of can come into its own and potentially be useful. Like it just becomes so narrow that it seems it's much more unlikely that it's actually going to go anywhere and that it's actually going to be this big sort of impacting event that you might imagine.

00:25:30   And so I think your approach of being wait and see makes a lot of sense that it might make sense for a large media company to pursue this. In many ways they sort of have that I think like Disney Plus and Netflix have like the group watch functionality built into their apps where you can have synchronized sort of playback of something.

00:25:52   Which you know made sense in some ways because that's a very specific use case and a very large audience. But for most of us I think it didn't like it.

00:26:03   When I thought about this feature I couldn't come up with a use case for it that I thought was particularly interesting especially in the context that it has to be tied to FaceTime.

00:26:14   So just wait and see and it turned out obviously in this case waiting and seeing for SharePlay made a lot of sense because even Apple seems to be having trouble with getting it implemented and getting it working in the first place.

00:26:27   Because it's hard. It's a hard problem to solve. I think ultimately one of the factors that comes into play here with trying to figure out whether to adopt something like this is to know your app and to know your users. In my case I knew that my users would adopt dark mode instantly.

00:26:44   So I knew when iOS 13 came out, oh yeah I better support that on day one. I also know that my users are skewed towards power users. So stuff like widgets, even though I didn't adopt them immediately, I knew I should have.

00:27:01   It took me a long time but I knew I should have adopted them. And stuff like Siri Intents. Even though I knew that was not going to be a large number of people, I knew that I would start hearing from people about that instantly on day one.

00:27:15   And I did. And so I've always adopted them even when they were a huge pain in the butt to adopt in the past. It got a lot better when I was 14. But anyway, and part of this is knowing my audience and thinking okay well SharePlay is a feature.

00:27:30   Fine. How would people actually use that with listening to podcasts? Well, I guess the idea is to be on a FaceTime call together with somebody who you're listening to a podcast with together. Most common case of that is probably your partner.

00:27:46   If you and your partner, often times people will save certain podcasts to listen to with their partners. But you also usually live with your partner unless you're traveling or something. So that cuts it down to okay well this is already going to be a subset of a subset of a subset of the time because it's only going to really be when you're away, from home.

00:28:02   And that's, first of all, not a lot of that happening these days. But even when it is, that's only a subset of certain times. And it's like actually, podcast listening, from what I've learned running a podcast app for seven years, whatever it's been, but what I've learned is that it's mostly a solitary activity.

00:28:20   Like it's mostly something that you do in headphones or through your phone speaker, like as you're like walking around or doing errands or doing housework or commuting. Like that's mostly where people listen to podcasts. It's usually not a group activity.

00:28:34   I've had social features in the past and they've gone almost nowhere really because it's not even that social of a thing. You don't usually listen to the same things as your friends. So I decided like knowing my app and thinking about how it would actually be used, I think it's not going to be a thing that my users demand and so I decided not to do it.

00:28:52   And I think the last thing you said there is the most important thing. It's like knowing your app and knowing your users and not trying to make a feature happen and chase being like in the list in the app store of like new apps for iOS 15 and being in that list that lasts a couple weeks.

00:29:11   And like in theory it is really cool to be in there and I'm not saying it's not, but it can often feel like you're chasing Apple's adoration rather than the adoration of your users. And that's like that's interesting and nice, but probably not a long lived sort of path to success.

00:29:29   Yeah, and if it isn't something that's going to really strongly resonate with your users, that trade off is probably not worth it.

00:29:34   Yeah.

00:29:35   Thanks for listening everybody and we'll talk to you in two weeks.

00:29:38   Bye.

00:29:39   Bye.

00:29:39   [BLANK_AUDIO]