300: The Aftermath - podcast episode cover

300: The Aftermath

Aug 30, 202429 minEp. 300
--:--
--:--
Listen in podcast apps:

Episode description

The podcaster did not provide a description for this episode.

Transcript

Welcome to Under the Radar, a show about independent iOS app development. I'm Mark O'Arment. And I'm David Smith. Under the radar is usually not longer than 30 minutes, so let's get started.

So the sort of summer series that we've been doing here under the radar is has been all around the overcast, redesign the preparation for that, the technical side of that, the sort of in the, we didn't have an episode that was sort of the like getting ready to actually launch it, we didn't have an episode right after we launched it.

And I think it's probably a good point as we wind down the summer, we're starting to get into season where there's going to be new things, you know, get a new app, the first Apple event of the fall has been announced. Things are heading in that direction, but I think it's good to book in this summer with a follow up, you know, we titled the early posts, we had like the storm before the storm, then we had the storm.

And I think now it's kind of probably a good time to have the aftermath after the storm. So this is the kind of checking in on how over the overcast, you know, big redesign launch went and it's, you know, certainly from the outside, it's been an interesting thing to observe because I use overcast every day many times a day.

And I, you know, business on the beta, I've used it and now it's just what overcast is and it's I'm very used to it, I this it works, you know, very well for me and I use it all the time. But you know, from my perspective, it's great. In some ways, I've like moved on to this is just the new normal and everything's great.

But I get the impression from you talking to you and hearing of hearing you talk about overcast and an ATP that the launch has not fully settled to that place for all of your users.

That there are many of people who are still having difficulty adjusting to the new reality of the new redesign some of the changes you do there. And there's definitely been some things that you've had to go back and revisit and change and make use of the thing we've talked about many times where now because it's all in, you know, Swift and Swift and Y, you're able to work and develop them much more quickly.

And unfortunately, you've had to put that to the test right away because there's one of these things that you had to work on as quickly as possible and change. But I think before we get into the technical side, I think just initially is probably good to just start off saying it's like, how are you doing? How are you feeling about the update? How are, you know, how is the last month or so, you know, been treating you?

It has been a roller coaster. It has really, really been a lot of ups and downs. You know, when I when I was early beta testing this rewrite, the feedback I got from my testers, including like, you know, when I did the very early test, that was only like, you know, 30 or 40, like, you know, friends basically. Even that feedback was mixed. I knew right from the start, this is going to be a bit of a bumpy ride. I was changing some things. I had removed some things and I knew like, this is a risk.

And I knew I had to do it for all the reasons I've said before. I knew I had to do this rewrite. You know, it kind of had to happen soon because just more and more time was going by where I just wasn't able to really update my app and serve my customers. And I was getting, you know, emails every single day from people saying, like, this app is so slow.

It's so slow. It's so slow. It keeps locking up on me. I have a large collection. It doesn't work. All this user feedback and negative reviews every single day, you know, citing problems that I had fixed in the rewrite. And so I did feel some, you know, some time pressure to say, you know, I got to get this at this summer. Like, I can't just wait another six months. Like, I have to get it out this summer.

And so I, you know, I cut scope and made it happen and I got it out there. And I knew right from the start, this is going to be controversial in certain ways. The streaming removal, certain design changes. I had no idea what I was in for. This is by far the longest I've gone without a redesign before this.

It had been a few years. And this was the biggest redesign I've ever done in the app. And, you know, the app being 10 years old. And I think that this is the part that I think I underestimated to some degree. It doesn't belong to me anymore. In the sense that like people have been using this app, many of the people who are still using it today have been using it for most or all of those 10 years. So when you have somebody who like they've been using this app like every day for a decade.

It has become such a part of their usage and their life and their routine that in some ways it's kind of felt like George Lucas messing with Star Wars. It kind of felt like, oh, no, like I'm I am messing with something. These people hold, hold dear and use all the time. And they've had it for so long. It has almost become theirs. And like, who am I to mess with that?

And I think I underestimated my responsibility in that area. And I overestimated how opinionated I was going to be able to be with the update. Like if I was making a brand new app from scratch.

I would be able to be a lot more opinionated because people could choose to use it or not. But that's not how App Store updates work. And this wasn't making a new update from scratch. This was updating or new app for this updating existing app that had an existing user base that would be forced to come along with whatever I'm doing. So I was making decisions about the app that I thought were like bold and forward looking and opinionated it like to a good degree.

But I think I overplayed that angle and I think I went a little too opinionated a little bit too bold. I was making decisions more like it was a brand new app, not an update to an existing app that was a decade old and had a bunch of users already who, you know, we're using it every day.

So I think I overplayed that. I think I overreached with my changes. And so much of the summer has been, you know, some bug fixes here and there, of course, because, you know, anytime you ship a giant rewrite, you're going to have bug fixes that you got to do. And I still have some of those I'm still working on. But a lot of the changes have been basically walking back some of my opinion nation.

Whatever that word would be walking, walking some of that back to say, like, look, I thought I could get away with removing streaming turns out I can't. That was a big one. That was a very big one. I can't get away with that. I thought I could get away with certain minor option or behavioral removals like one tap play with this mode I've had since the beginning of time.

I thought I could get away with that. I figured how many people possibly use that turns out a lot. The thing is with the app store like the the star rating system matters a lot. In the sense that not every in fact, I would say almost no one seems to actually read written reviews. And the way the app store displays written reviews.

Where it basically has like one or two big blocks that show like the top one or two reviews. And then the rest are basically buried. I think written reviews are not very useful to most people on either side. But star ratings are star ratings are displayed everywhere. The app is displayed everywhere like in the app store and in every location next to it is a star rating average account. And so for that number to go meaningfully down will really hurt your business. It matters a lot.

So I'm very sensitive to that and I've been watching this this graph on app figures of the average of new ratings. That has been humbling to say the least that I was able to see like all right before the rewrite my average of new ratings was like in in the high four 4.5 4.4 4.4 4.6. And then after the rewrite it was down to like 2.5 3 like you know it was substantially down.

And I'm fortunate that I've never actually reset my ratings in app store connect like you know the other option when you upload that you can you can have the new version start fresh with no ratings. The world's scariest check box. Yeah the reset summary rating feature. I've never used that so I have 10 years worth of ratings built up and so I was lucky that like.

Mathematically speaking the average was still very high because I had 10 years of high ratings even though I had you know two months of pretty bad ratings. Yeah so the math was still working out but that was a clear sign to me I have to do something like that's what like I you know I gave the metaphor many times of like this is like it's like a building on fire. It's a very small fire on a very big building but I need to put it out like that's going to be a problem if I don't.

So I really have been kind of lost for a lot of the summer trying to figure out like what do I do to please people so re adding streaming what like you know that was a big one that was probably the biggest thing that I've done that turned that around a little bit.

You know a couple other minor things here and there and what I'm working on now which should be out soon is another swipeable UI for the now playing screen to toggle between the main controls and the info similar way had before with the cards but better with using the whole screen. That should be out soon I suspect that will also kind of win a lot of ratings back from from the depths of two's and three is or ones.

So that will help a lot to and but I think like overall I have actually felt pretty bad about this for much of the summer it has been a pretty substantial stress point for me. I have often felt negatively I often felt like you know screw these people you know which is not a productive way to think and it's just you know you got to you know feel that tell yourself that and then move on whatever way you can because that leads nowhere good.

But you know then you got it you know you got to get your head back in the game and just fix the problem and so that's that's what I've been trying to do you know I could tell that like the rewrite was a very bumpy launch. There's I've learned about like there's a whole reddit about people who like really hate me which I didn't even know was there until a couple of weeks ago and I found it and took a look I'm like whoa.

Tip for indie developers don't go to red. If someone makes a reddit about your app don't ever look at it. It's not good for any of your mental health. What I've been trying to do is try to look at feedback channels that are that are not full of personal attacks on me as a person.

And so that would be you know not looking at reddit but looking at things like my rating average you know when you look at metrics like look at engagement look at things like how many sales you getting how what's your revenue what you're you know if you have an internet purchase like how are those rates looking for the handful of places that are full of people you know writing things about me you're written after reviews you know places on the internet.

The message there is substantially more negative than what your metrics will typically show and thank God that is true for this too because if that was if all of my input was as bad as some of those human written ones I would quit the business like it's awful like when when you're getting feedback about your apps like yeah look at look at the ones that are more objective and more data driven so our people using the app has you has you just gone down has you know have

purchased a gone down and fortunately in my case all of those other metrics are are either level or increasing so every other metric I have to say like is my app healthy did this

well are people still using it are people mad are people on fire am I terrible is if my app terrible every other metrics says no and thank God for that because again I would have a hard time continuing if that wasn't the case but every other metric is positive so you just have to look at like you know how do you manage these these inputs how do you manage these feedback channels and obviously some of them people are making good points some of them people complaining about real bugs or real shortcomings and so you take that as input you know we're going to be able to do that.

So I think that as input you know what as as you can but certainly there's there's a balance to be struck and I've had a lot of troubles wrecking that balance all summer but I think I'm I'm coming out of it now in a better place both psychologically and with the app in a better place and I'm not out of the woods yet by any means like I still have some bugs to fix that are pretty important that are affecting a lot of people I still have you know the interface changes that people are asking for you know that enough that I think I'm not going to be able to do that.

So there's a lot that I still have to do but it's it's getting a lot better now than it was say a few weeks ago. Sure and I think I mean these are really the trend there I mean the most important trend is how you're feeling about about the happen out those things you know in terms of ultimately for many of it's certainly from my perspective as your friend like that's the thing and it's it's hard to hear how rough the last you know I'm a bit of a

lot of years you know months or so since since it launched it been in that way because that's it's I mean I know that I see that because I know very specifically the way that I can feel that I think one of the wonderful joys of being an indie developer is feeling a deep sense of ownership of the work that you do and there is less of a gap between the work and you because you're putting yourself into your work. And all of the success is yours and all of the failure is yours.

It's just the reality that it's really cool that you can feel that you built this thing from a file new project years ago, a decade ago, to what it is now, is the result of your efforts in your labor. It wasn't a situation where you were working. If you were worked at a larger company that had 20 developers and you spent your summer working on the audio engine, and it's nice when someone says the audio engine is good, and it's nice when things go well in your department.

But overall, if the app is doing well or not, it's this kind of diffuse thing. Whereas for you, if I imagine this is the feeling I often have and I sort of had to navigate is, I feel tremendously connected to the work because the work was created almost exclusively by me. And so it's really hard when people say unkind things about you or about your work, it feels it's very difficult not to take it personally. Oh, yeah.

And so it's not something that you can easily just like turn on and off in that way or once you see it to just ignore it or forget it because you're so connected to it. And so I'm glad that it sounds that the as much as that trough in the middle is awful that perhaps we can be looking forward to be climbing out the other side at this point to that we can sort of move forward with the fun parts of this and the exciting parts of this.

And it's hopefully, maybe you've lost some customers over the over the, you know, over this process, but I think there is something that is it is I find somewhat reassuring when I look at the app now is the app itself is, I think, objectively better than it was before the update. And the reality of that in terms of it is faster is more responsive. It behaves in ways that the modern apps do is being updated much more frequently. There's all these things that make it better.

And those are the things that will benefit every time you get a new customer. And as much as it's useful and wonderful to have an established user base in some ways, you know, the success and the long term viability of our apps is very connected to the sort of the newest user that we have that if we get a new user, do they stick around? Do they hang, you know, are they there in a way that is going to, you know, make use of the app and be retained?

Because if they aren't, then the app is just sort of on this inevitable slow decline that won't go anywhere. And I think what's great about this is you're now in a place that the, you know, the marginal new user every time that they download the app is, you know, should be in a much better place. The app is better, it's fast, it's choppy, and they have no baggage around the things that have, you know, been lost or changed coming from the old version.

And so in some ways, in that sense, it's great. But the process of getting there is just is rough and it's complicated. And there's no easy answer to with so many of these things. Because I mean, something that I always struggle with and I think I've seen bits of pieces of this in this update is it's so easy to be like, well, why didn't you just, right? Like that's that. And then it's like, well, why did you get rid of streaming?

Why didn't you just make it so that it, you know, does sort of where you ended up now? You don't have true streaming, but you just don't, you download, when a file is, we hit play before it's downloaded, it starts downloading it and then starts playing it with whatever it has while it has it kind of a thing. And it's like, well, it's not that you, you got rid of that for no reason. There are other reasons and tradeoffs.

And in all of these, you know, one of the fundamental realities of development is you have to decide if you're going to do this or that. You're very, very, you know, it's a bad path to only say yes to everything that you're just like, well, I'll do both. I'll have this and this and this and this and this and this. And then you end up in a place that the app is no personality. It has no, you know, it has no opinion in it.

And I think so in this case, like streaming, the way you ended up, I think works really well. I think it checks the box enough that if, you know, you're solving the actual problem that people were having, which is usually, oh, wow, there's this new episode of a show that I wanted to listen to. Oh, I'm excited. Let me hit it. And it starts to play.

Like, you're the thing that was probably, at least if my guess is, and this is from my own experience, the thing that was really the frustration people were having is they were excited and then they were disappointed. And like, that distance is the thing that you needed to address, not the ability to arbitrarily zoom back and forth between things in ways, like, the broad version of what streaming would mean. But, you know, it's like, you got rid of it for a good reason.

And I think, as a user, I'm glad it's back because there are situations where it's, I very much appreciate being able to start listening to something right away. But it's tough because you took it all away for a reason and from, in some ways, for reasons that are outside of your control, that the dynamic ad insertion and all these other things that are complicated in making a podcast player mean that you sort of had to do this in order to keep other features going. And so it's tough.

And so you ultimately just had to make the decision. And in this case, unfortunately, you had to sort of live with the difficulty that that then created in people's lives or the frustration and they took it out on you. And it's, I wish people were not as person, you know, sort of, sort of as unkind and thoughtless as they can often be. But unfortunately, that's the world we live in. Well, I think I like, and I kind of get why people act that way because they feel powerless.

Because here is, here's, you know, me this faraway developer, they don't, a lot of them don't even, well, you know, the ones on Reddit, I guess, know me, but the ones in written reviews often don't know who, you know, that this is just one person or whatever. They feel powerless. They feel like this app that I've been using has all of a sudden changed. I had no say in the matter and it's worse for me in way xyz. And so of course, they're going to, you know, respond strongly.

Like I totally get why that happens and it's kind of unavoidable to some degree. But with the, you know, with streaming in particular, that was obviously a big one. And like the reasons I want to get rid of it, I just now, it's very technically expensive to support streaming. I don't mean computational power wise or money wise. I mean complexity wise. And like what APIs I have to use, what APIs I can't use because I have to support streaming.

Like there's a lot of complexity there on the lower level as well. That's why I was thinking like, well, DAI makes it kind of break in these different ways. And it's super difficult to support technically. And it's, it restricts what kind of APIs that I can use in the audio engine as a result. Wouldn't it be great if I could get rid of it? So like, you know, there was a lot of thought that went into that. But again, you know, I made the wrong call.

Like yes, it is very expensive to, to, to support streaming. But it turns out it was more expensive not to. And so that's the process I had to go through, you know? And I think I like, I understand like, you know, I don't blame individuals for, you know, saying mean stuff or anything. Because again, like I understand where people are coming from. I understand why they're mad. Like, you know, when, when we criticize Apple for something, like I, that's not obviously an individual.

But like we criticize Apple oftentimes not because we hate them, but because we like them and we like their products and we want to keep using their products or their products serve our needs the best overall. But there's some flaw XYZ that is making it hard for us or that we know they could do better on and like why are they, you know, doing badly on this one detail? Like, so we complain about it in public.

And you know, sometimes we say unkind things because we're frustrated because these are things that we like and use and depend on and they change in negative ways. So I totally get that dynamic. And so as a developer, you kind of, you can't really fight that dynamic. It's a good problem to have.

Like, you know, if I, you know, one of the general categories of shortcomings I've had with this update is like, there will be some little behavioral detail in the old app that is exposed in a use case that I never do or that none of my testers did in my beta test group. But that some percentage of my user base does that. And that little detail is now different or missing or broken on the rewrite. And it ruins their, their workflow in some way.

And you have an app for 10 years, especially I mean, podcast apps are, you know, really deceptively complicated. Like the amount of like little workflow details and, you know, small implementation details that can be different between two podcasts, the apps is just massive.

And so even though if this is like a minor thing that I didn't even know about or didn't think mattered, if you know, some menu item somewhere gets moved or changed or deleted, suppose that that really angers or really breaks the app for like some tiny percentage of my app user base. Well, that tiny percentage of the user base could be a thousand people. And if many of those thousand people go leave one star reviews, that makes a dent, that makes a big dent.

So even though it's only a small percentage of the user base, if you anger them enough, they can cause big problems for you. And again, this is one of those things that like I underestimated the impact of this because I was still thinking of this as, you know, last time I was making major opinion decisions about this app, it had way fewer users and it was a long time ago. So I really underestimated that.

And so that's again, leading into all of this is like things I, things I did not fully appreciate going into it, but I think I'm in a better place now. We are brought to you this episode by Century. Century are the folks who help you avoid your mobile app being the one that gets deleted next, boy, this hits home. We're getting deep context into crashes to see full insights on performance issues. Century is here to make sure your code doesn't suck.

Fix what's broken faster and keep your app running smooth with application monitoring built for mobile developers. This is so important as we've been discussing for this whole episode for both your apps and you know, and you see in other people's apps too, you need to know things like, you know, is your app breaking, is scrolling, stalling? Do you have weird latency? Are people, you know, rage clicking in your app? Like it's super important.

So you got to keep your mobile users happy otherwise they will go ruin your star ratings. So the great news is Century is totally free to use. So there's no reason not to check it out. Go check it out. It's really impressive. You got to see Century. So even better, as a listener of our show, you can get six months of the team plan for free.

Click the link in the show notes and use the code radar that will get you six months of the team plan completely free at century.io slash four slash mobile or click the link in our show notes, then use the code radar. So then you came from our show. Our thanks to Century for their support of this show and relay. So something you said there that I think is really helpful to sort of wrap up why this summary is so difficult.

I think is you were saying some of the things you could only learn after the fact, right? You learn the value of these features to users when you take away the feature from them. And I think it is very difficult to understand those, you know, sort of those, those effects of a change because you, when you're making it, you know, making the decision on the first side, you have all of the reasons to make the change and you're very aware of them.

And you see them and you can quantify them and, you know, actually rep your, your head around them. But there's all this information in this, in sort of this equation that is just completely impossible to understand until you really get it out there to the broad audience that, you know, oh, you could have a beta group. It's like, sure, but is that beta group representative? No, spoiler. No, it's not. No. Do most of them even install it?

No. And even if you, even if you had a representative group, it's like, well, okay, well, now you have two problems. Like now you have thousands of people with different things and it just gets like the reality of the any situation is that there are some things that you can only learn by actually doing it.

And you can try and guess and I guess the experience that you and I have have more than a decade of being developers is hopefully our intuition is good for what kind of things are, you know, generally going to go down well and which ones aren't.

But the reality is, you know, even with more than a decade of experience and the, you know, benefit of, you know, showing the app to other people who have, you know, even more experience, there are things you will only learn once you have it out in the world. And as a result, you can't make a fully informed decision. And so there's always going to be situations like this.

And in some ways, it's like, I find some comfort in that in my situations where I've run into this in so far as it isn't that I made the wrong choice in so far as, you know, I was, I had all of the information and I sat there and I thought through it, you know, in the way that many decisions in life we tried to do. Instead it was much more of a situation of we made a guess as to what the implication would be. I guess it was wrong because we didn't have all the information.

And so now we can hopefully adjust, change and improve going forward. But it's easy, it makes it slightly more palatable to me in so far as it isn't, it's a mistake in so far as the impact was larger than we wanted it to be. But it isn't in the sense of, you know, we were being foolish by doing this because I think many of the choices that you have made here were very wise and great and I've made the app better.

And you know, in that sense, I don't know if that gives you any comfort, but it certainly gives me comfort when I think through these because it's just, that's the reality that this information only exists once you hit release in App Store Connect. And until then, it is all speculation. Totally. I've seen a lot of the frustration from people has said things like, why didn't I do a bigger beta test or why didn't I release it later?

And the answer really is that neither of those would have changed anything. Like beta testing is useful up to a point. It's almost like when you're like taking polls at people, you get most of the gist of the results with a surprisingly small data set or as far as a small sample set rather. And then after, like then you just keep adding more people to it and the percentages don't really shift that much. When you're beta testing, you get a lot of good feedback from a fairly small group.

The more people you add, you don't really uncover that many more issues because again, like the beta response rate is not great. Like you can, you can have a beta test. Like I have a beta test officially in my test flight group. I think I have 5,000 people in it. But the average install rate is, I think maybe like 100 people who actually installed it. Like people just click the links. When the test flights they bail out, like it's not a reliable process beyond a certain size.

You have like your core audience, your core testers who will reliably test things. It's a pretty small number generally. And then everyone else is kind of just not doing anything. So you're right. You just got to get stuff out there and just try it and be able to make changes. And that's why like, as you mentioned earlier, this has been massively beneficial for me to have the new code base, to have this. It's much more nimble. I can be much more dynamic with it.

You're going to see when I do the swiping update, like that's a major change that I was able to do in like two weeks, because it's all better code, better foundation, easier to manage, easier to maintain. So it's been a very bumpy ride, but I'm coming out the other side now. And it's finally, I'm finally hitting my stride. And for all of you out there who I've inconvenienced during the summer, I'm sorry. Thank you for your patience and it's getting better. So thanks.

And it's the great thing, you're not out of the woods, but you can see the light between the trees. And I think that is a great place to be and hopefully going into the fall. That's, you know, just gets better and better and the light gets brighter and brighter. Thank you. Yeah, I'm glad to be there finally. So thanks everybody for listening and we'll talk to you in two weeks. Bye.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.