00:02:39 ◼ ► In many ways I think it's probably a good thing that you aren't looking at a major update has to have this 20 bullet long checklist of all these crazy features that you're adding and all these modes and things.
00:03:06 ◼ ► One of the advantages of the more modern business model where your goal is to have a large, engaged audience, and you get your revenue from that rather than from an upfront purchase, is you don't have to have this crazy long list of obvious features.
00:03:27 ◼ ► They don't have to pay any extra to get that betterment, and the app just sort of evolves in that way, and it avoids you feeling like, "Oh man, I need to add a ribbon at the top of this, and I need to add these features and do all this stuff."
00:03:58 ◼ ► I think that's the natural sign of mature software, is that as it goes on, the actual new features start to get smaller and smaller and more incremental, and the nature of the change is just refinement.
00:04:23 ◼ ► But the core app experience is the core app experience, and if anything, if you change that, if you change the core app experience dramatically, you're far more likely to alienate people than you are to attract more new customers.
00:04:38 ◼ ► If you think about it, we as developers always fall into the trap of "What can I add to this for the next big version? What else can I add?" It's all about adding, adding, adding when we're planning these things out.
00:04:53 ◼ ► But when you think about what are your actual threats for competition or disruption, usually the threats come from new things that actually do less than what you do, but just do it differently or better.
00:05:07 ◼ ► And so really, if you're trying to think about the future health of your business and remaining relevant and remaining competitive and remaining good in people's minds, I really do think there's a lot more value in just improving the app.
00:05:46 ◼ ► People have asked for that for a while. So there were some new features around that and that's because, it's not because I wanted something big to add for the update, it's that the app was actually worse for a lot of people without this feature.
00:06:00 ◼ ► And it wasn't that much complexity in the interface to add it. So the cost of it was fairly low. I had to make a few backend changes, but for the most part, the cost was fairly low, the downsides were low, and the app was better because of it.
00:06:13 ◼ ► But that's why I added it. It wasn't because I needed some big headlining features for 3.0, because in fact I pretty much have no headlining features for 3.0, except that the UI is nicer, but that's kind of hard to advertise and most people don't care.
00:06:29 ◼ ► So yeah, but I do think again, it's worth thinking about, it is important to keep improving your app, but that doesn't necessarily mean adding to it. In fact, if you look around in my category in podcast apps, there are successful podcast apps that span the spectrum from very few features to total kitchen sink, everything.
00:07:01 ◼ ► And I get requests to go in that direction. I get lots of them. But I also get a lot of people who appreciate it for its simplicity. And so I have to, as the leader of this software project, I have to balance what the users are actually wanting and asking for, and what actually succeeds and fails,
00:07:20 ◼ ► and what I can and can't do, and what I can and can't maintain. And for me, it's kind of keeping the feature set focused and not doing the kitchen sink approach, because not only do I not want to, but I think the resulting app would be less appealing to my customers, and to the type of customers I tend to attract as new customers.
00:07:39 ◼ ► It would be less appealing to them than the kitchen sink approach. So really, Overcast is fairly feature complete at this point. That's not to say I'm never going to add new features. There are lots of things I could still do that I think wouldn't ruin it, and that are the type of thing I should do.
00:07:57 ◼ ► But I think they're all pretty small things. I don't think there's a lot of big things left that would really dramatically be a huge headlining feature of a new release. There's very little of that left, because ultimately, it's a podcast app. People use it to play podcasts and manage what they're listening to.
00:08:17 ◼ ► So yes, there are big things I could do, but you hit diminishing returns pretty quickly, and I've seen great success. I've had a great response. I've had great sales boosts from this release that just makes the core stuff better, rather than adding a bunch of stuff.
00:08:50 ◼ ► The other thing I would say to the team is that Overcast is, in many ways, you. It is built for the way that you think about podcasts. It is built for your preferences. Thankfully, the way that you think about podcasts is the way that other people think about podcasts, too.
00:09:10 ◼ ► There's a nice overlap between those two things, which you have an audience for. But the advantage of that is, if you lose that, if you end up just implementing everything that someone asks for, it loses that sense of personality or of vision or direction.
00:09:30 ◼ ► I struggle with this, too, sometimes. You get feedback, and you get some very earnest people who love the app, but they're like, "Oh, I wish it did this. I wish it went in this other direction. I wish it could do these things."
00:09:46 ◼ ► I look at that, and the engineer in me is like, "Ooh, there's a problem that I could solve." I jump into it like, "Ooh, how would I do that? How would I implement that? How could I make that work?"
00:10:16 ◼ ► Honestly, a question I've started asking myself now when I'm implementing something is, I try and have the thought experiment of, "How would I regret this in the future? What regrets would I have for implementing this?"
00:10:29 ◼ ► If I can try and put myself into the future and say, "What kind of things am I going to regret? Am I going to regret the code? Is it a time sink for me that I have to see? Is there some new bit of busy work that I'm going to have to maintain?
00:10:44 ◼ ► Or I'm just not going to like it? I'm going to think it's ugly?" Whatever that is, if I can try and experience that regret in the present, it's a very good way to reduce my desire to actually go down there.
00:11:44 ◼ ► And honestly, even before that, probably, when I saw some earlier versions of it. But it's an app that I know so well and I have such muscle memory for that it's awkward, potentially, or maybe even just uncomfortable.
00:12:01 ◼ ► When you were making changes that I think, in aggregate, make the app better and make it more accessible and straightforward, but changed some of the paths that I had learned and the things that I had developed with.
00:12:19 ◼ ► And I know we've talked a lot about this, and I think it's an interesting thing to discuss, though. It's a really interesting balance that I think we have to find when we have an app that has this established audience that knows how to do something.
00:12:42 ◼ ► So when you're playing a podcast, that used to be pushed onto the navigation stack. And so I would always dismiss it by just doing the regular edge swipe from the left to the right of the screen.
00:13:22 ◼ ► Like, in an actual way, because it made the app feel slightly broken to me, or that I was slightly broken. Like, why isn't it doing what I'm doing? I've swiped back hundreds of times in the app, and now it's not doing it.
00:13:36 ◼ ► And so I know you ended up adding a little affordance for me in this particular case. But I wonder if you could talk a little bit through your thought process, as you kind of are making these changes to something that people have a level of comfort with,
00:14:18 ◼ ► From customer feedback, and from people using it and everything else. Like, there were lots of parts of the design that people found confusing, or features that they never discovered, because they were hidden in some weird way, or they weren't obvious enough visually.
00:14:30 ◼ ► And there were also just like, the old design had limited room for expansion, for adding things like a cue button everywhere on the episodes, and there were lots of weird little downsides to it.
00:14:54 ◼ ► And now, we had a new world of bigger phones come out since then, and I added things like chapters, and there were all sorts of things that I had to add to the interface over time, that kind of felt bolted onto the old design, in addition to all the built-in design failures it already had.
00:15:14 ◼ ► And so, I wanted to change some of the fundamentals. So things like the Now Playing being a slide-up thing, and probably the most controversial change, which I saw coming, was the Now Two-Stage selection process, when you want to play an episode.
00:15:36 ◼ ► And, you know, very similar to Tweetbot, if you've seen that. And so, I knew that those two big changes would be controversial for people, because you're right, when you change people's muscle memory, it's very similar, but on a much smaller scale, very similar to when Apple changed the lock screen behavior in, was it iOS 10 that did that, or 9?
00:15:58 ◼ ► It was iOS 10, I think. Yeah, so when they changed the lock screen behavior, so now you kind of have to, like, you know, touch ID, unlock, then push, like, you know, they changed it subtly, but in a way that everyone got really mad at for a couple of weeks.
00:16:10 ◼ ► Because they changed the way their phone unlocks, and that's a, you know, like, if you got used to it quickly, then you moved on, it was fine. But, you know, a lot of people don't get used to it quickly, or were very mad for a brief time.
00:16:31 ◼ ► Exactly. So, you know, I knew I would be facing some of that. So, basically what I did was, you know, try to add affordances, like you said, I have the edge swipe gesture still works, even though visually it makes no sense.
00:16:43 ◼ ► And, like, you can still swipe in from the edge, you know, inside in a horizontal motion, as the card dismisses itself vertically down. So, the animation doesn't make sense compared to what you're doing, but the muscle memory does.
00:16:57 ◼ ► And, of course, you can also dismiss it by the way it does make sense, by dragging it down. So that was one thing, because that was relatively easy to add, and didn't really have a lot of downsides.
00:17:06 ◼ ► There's very few cases where that interferes with a legitimate gesture that people are trying to do otherwise. It was a little tricky on the now playing screen, but other things, like other screens that dismiss that way, it's kind of a no brainer.
00:17:43 ◼ ► And, it's kind of like, that would kind of be like designing a whole third interface. I've had a couple people request a preference for that, but that's kind of not my style for requesting a preference to change the entire design back to the old way.
00:18:13 ◼ ► And, I'm going to play with that. I might do that, but I'm not kind of on the fence, because that doesn't seem like it's a great solution. I seem like nobody would ever find that, except accidentally, which would not be good. I don't know. It doesn't sound like a great solution.
00:18:29 ◼ ► But, the reality is, you're not actually solving the problem they're having, really. Because, either way, they have to learn a new gesture. Either way, they're going to have to get used to this new thing. And, I think there's a trap in trying to keep fighting the last war.
00:18:47 ◼ ► If you're not going to go back to it being one tap, then this is the new version. This is how it works. Rather than creating a new affordance on top that's something else they have to learn, if the old version isn't going to work, if that old muscle memory of "I just tap, and it plays" is never going to be there,
00:19:06 ◼ ► then going down too many other roads of splitting this out so that, "Oh, now you can play by tapping and then tapping the play button." Or, you can swipe left across the cell, or you can long press on it, or you can do all these other things.
00:19:28 ◼ ► Exactly. I knew all this was going to happen, but I had to be confident in my own vision here that, even though a few people, relatively speaking, a small percentage of the user base would be mad about these changes forever, because that's true of anything I ever changed,
00:20:31 ◼ ► And that's the worst customer to try and please, is the one who's never going to be satisfied. It's far better to please the customer who will be delighted by the affordance that you gave them, that now makes them feel like they're empowered to use the app in a more capable way.
00:22:01 ◼ ► So the other change that you made that has nothing to do with muscle memory or UI design is that you switched from using external advertising and instead you're kind of going the in-house, I'm sure there's a fancy term, like boutique advertising.
00:23:52 ◼ ► And because they weren't making a lot of money for me before, it actually gives me the freedom to experiment, to say, all right, well, I don't need to replace it with that much money, so let me just do my own thing and see if I can.
00:24:32 ◼ ► As for the analytics, I did indeed remove Fabric, and I put in my own just basic reporting of pretty basic stats back to my server and some basic collections, so things like app version and OS version and stuff like that.
00:24:47 ◼ ► And then a couple of high-level things of where you add podcasts through, so how many podcast descriptions come from search, come from directory categories, come from ads, stuff like that.
00:25:11 ◼ ► And the main reason, you know, I had Fabric doing a lot more than that. I had it collecting things like output, like do you listen through the speaker or do you listen through headphones that are plugged in and stuff like that.
00:25:21 ◼ ► And that was all very nice to know for past feature things, like that's kind of what made me decide to do the custom speaker profile for Voice Boost, because I realized how many people were listening through the speaker.
00:26:08 ◼ ► And so I realized that while that level of collection might be more necessary for bigger companies or for people who aren't me, I found that what I, all I really needed was the very high level stuff that my own analytics could provide with one day of work.
00:26:49 ◼ ► Yeah, and I think that there's definitely, I can definitely see where you're coming from with it. Like, I mean, at this point I'm continuing to use Google ads in my apps, and I think I still have Fabric in most of them as well.
00:27:03 ◼ ► But I see where you're coming from with it, and it's one of those things that I do kind of, I slightly envy the position of your ads weren't doing well, and so you have the flexibility to just decide what makes sense in a way that, so you always had the choice.
00:27:38 ◼ ► The reality is, I have no idea what that code is doing, and I can make guests and be hopeful that they're doing responsible things, but at the same time, I have no way of really auditing that or knowing what they're doing.
00:28:48 ◼ ► - Yeah, 'cause you're also taking on, when you integrate somebody else's library, you're taking on the risk of what if it gets you rejected from App Review, or what if it does something really creepy that Apple is now gonna bid your app in with the rest of apps that do these creepy things 'cause your ad SDK did it.
00:29:12 ◼ ► But your ads do work for you, and so it makes sense to keep it if it works, because no question, my method is going to make less money and is going to be harder to do, and it's gonna take more work, no question.
00:29:24 ◼ ► So I guess we'll see how it goes. Ultimately though, I was just really happy to uncheck that IDFA box on submission. I was really happy to finally say nope, I don't use that anymore, thank you.