cover of episode 306: Overcast "Wrapped"

306: Overcast "Wrapped"

2024/11/20
logo of podcast Under the Radar

Under the Radar

Chapters

The episode discusses the new features in Overcast Premium, including the history and stats features, which allow users to view their top listened podcasts by time and undo actions within the last 48 hours.
  • Overcast Premium introduces history and stats features.
  • Stats feature shows top listened podcasts by time for a month or year.
  • History feature allows undoing actions within the last 48 hours.

Shownotes Transcript

Welcome to under the radar show but independent I O S P development, I mark arment and .

am David smith. Under the radar is usually not longer than thirty minutes, so it's gets started.

So you know how you can tell that this is usually no longer thirty minutes. Well, if you're an overcast listener and you happen to subscribe to overcast premium, then you can look at my new history and stats features. So this is these are some couple of new features launching for premium, probably today or tomorrow currently in beta.

And they let you by very popular demand and I get that in the moment brows back and see like, you know what are my top listened podcasts by time for this month or this year um and and and separately, that's the status feature. And separately, I have a history feature which is based on the same engine, which is basically short term, detailed undoable history. So it's the history feature is only the last forty eight hours and it's like every listening session or kind of user modifying action you've take on on an episode.

So if you listen for a while and you want to undo and revert back to the previous timestamp, you can do that from the history view. If you accidently delete a pod, caster and players, you can do that. You can undo that from the history view.

Or if you mark the wrong thing played you know that kind of stuff these two features I these have both been a long time coming um every and is always november every november or early december I believe the first APP to do these early wrap up summary top charts things I believe I was spotify the first one popularized in with spot five wrapped and this is they say, like, here's the top artists you listen to this year or whatever top five and here is new. You live for this many hours or whatever, maybe eight of just the top list, the design changes every year. But but the idea is that gave you a top list of here that you are wrapping up your year.

And I yes, i'm very aware the year still has like twelve percent of itself left like the idea that you're wrapping up the year in mid november. Um okay uh but but set that aside, the idea is you they gave you this like top chart that you can look at yourself fear and as faction and you can also often times share IT to social media. There is a reason why uh the format of these is usually a sixteen by nine graphic, or rather a nine by sixteen graphic, because that is the shape of a vertical phone social network.

So instagram stories, snape chat, that the whole idea is they want you to go share this in social media to promote their APP. That's the whole thing. So spotify did spotify rap starting figures back, everyone loved that.

Everyone shares IT like crazy. Apple, uh, in recent years started doing IT with apple music. I believe they started last year or maybe the year before apple music.

Now is there a year and wrap up thing again, you like you can look at IT. You can share IT. I believe in the podcast space is not that common. I think pocket casts doing IT now, I think they did IT last year, but i'm not sure. But anyway, what happens is every single time spotify rapped launches, I get a thousand request from people saying one's overcast can add this.

The question is not, would you like to add this? Or should you at this? Or will you at this? It's, when will you like the presumption this is so important that must be added? And to be fair, like it's a cool future.

I get IT alright. So anyway, so I knew this future. You know, this has been highly demanded for for a few years now. And so in late twenty twenty two, I submitted an updates, overcast, uh, that started recording the data needed because before I couldn't even launch like I couldn't launch this feature in a random november because I didn't have the data before yeah.

So in late twenty twenty two, I started clutching the data so that I would have full data for twenty two, twenty three, figuring at the end of twenty twenty three, i'll have had a lunch this feature and it'll be great. Well, that was like the know the middle of the rewrite. And IT just didn't happen like he was not going to have because like you to some of the chAllenges in the future and in a minute, but I just wasn't going to happen.

And then finally, now twenty twenty four comes over. And I like this fall, I have the lunch ous feature I have now I will have two years of data for IT, so i'll have plenty of data to do the twenty twenty three and twenty twenty four graphics. Um if people want for some reason people want twenty twenty three one I have the day. okay. And then i'm my god. Well, every year IT seems like they released gets earlier because that is kind of like a jumping the gun effect, kind of like if you've noticed, i'm sure you have cause you exist if you've noticed black friday sales and somehow have have been going on for about three weeks, they started like in late october a month before less like it's like at the .

end of halloween of this black friday.

Yes, exactly, exactly. Because what happens is there is an incentive for for people who are selling things to, hey, everyone's doing this. Let's jump, jump on IT really everything now because we get all the attention.

Everyone's looking for IT right now. And when you do that, you maybe you boost a number somewhere. And so the incentive then in the future is cake. Can we boost that number a little bit earlier, get that boost e even sooner?

Why do we make the whole year black for so anyway, so similar to that, once you see one of these graphics from one of these services on social media, then everyone bothers everyone else who makes the other apps and service, hey, where is mine? Where is I want mine? So there is an incentive to, like, jump the gun and like, be ready whenever everyone else does that, you got to be ready.

So I knew that like I basically had to had this future ready by november first because I knew like this, like who knows when spotify is is going to stay, there is not the one that really is like the big dog that really triggers like the whole wave of them um and so sure enough, I don't think spotify is launched there is yet apple launched theirs for apple podcast, which I think is new yesterday. Um and so i've had this feature ready to go about to release IT. I've been making tweet here and they are really up until yesterday like making little small tweak to like the layout of the graphic and everything.

But for the most part it's it's been inside it's been ready. Um and so I submitted dly yesterday. I should be in the APP store today, tomorrow. And so this year for the first time, i'm finally getting this this top chart, your top podcast, the year wrapped up your year in my november, finally doing that. But the way i've done IT also is this is just a feature you can call up at any time and show the graphic and your stats for any time, energy, day, week, month, year or actually not week, day, month and year. Um you you can up at any time.

So if you want to jump the gun and and ride the wave at everyone else with their spotify and apple pie, test things, and if you want to post your thing now, even though the year still has some timeless that you can lose a more podcast, go for IT or at some later date in the year or even next year, you can go and generate your twenty twenty four and whenever you want, with updated. So like that way, whatever he listened to in late november and all of december isn't just disappeared into the either anyway. So this feature is getting out there now, and it's been a long time coming by and my very properly demand. So i'm very happy to finally get IT out there.

I think features like this are really interesting in a couple of ways. I think the first one is the most obvious of IT is chAllenging to build a feature that requires you to have made a choice a year ago.

IT is definitely it's like sometimes it's great, like the nature of being small egal developers like a lot of in these are is know you see something that is really cool or typical or interesting and you can just jump on IT and do IT right away. great. That doesn't work for in a situation like this where you must have been collecting the data over a long period.

And so just one of those you just have to so is sort of accept that, that you couldn't have done IT last year, but hopefully, if you decided to do if you put in the inflections to do IT now. But I think perhaps most importantly, but I think about the features like this is they're like this perfect combination of like the win win from a users perspective and from the developers perspective, where like word of mouth advertising is so vital, I think the long term viability of most products because if you only exist on paid marketing, you're kind of chasing your tail. You're indefinitely in that in that scenario.

And IT can work and IT can be viable, but it's just difficult. And if you need sort of this idea, you'll have this baseline award of mouth advertising where people are using your product on a regular basis and then telling other people about IT because the'd like IT so much. And so in this case, like these kinds of features and any kind of sharing generally that you create a scenario, you're doing some activity inside of your APP that the user may want to share with someone else.

You i'll give them the infrastructure to do that in a atheling, nice, clear way. They're getting the benefit of being able to share this cool thing that they are clear excited about, like this is unique to them in a way that is even more compelling than I think of like overcast. You can share a you an episode of a podcast, E A clip, things like that.

And that's sort of interesting, but it's also not unique to you. Anyone can share that thing where as these stats are truly the unique to you. And so there's a certain more even more compelling this to them.

But then on the plus side, in addition to a user being happy because they just got this ability to share something that's unique to them, you get the benefit of being able to put your some kind of branding or intricate some way for IT to reflect back on to you and get know your name of your application out there in the world. And this is lovely kind of win, win in that regard. That is a feature that benefits the user, but also has this knocked on marketing effect, and I think particularly is interesting. and. This makes me think so in Philomena pass plus I just died a very similar thing um where I added sharing cards for daily steps and workouts and am working on doing sort of over broader trends.

So know you're in review months and review those kinds of things for similar reasons where it's it's useful as a feature to kind of be able to in addition to just doing this, spotify rapped version, which we're having a one big hit of this where like in midday, november begin of december, you can have give people an opportunity to share if you instead build IT as something that has perennial value that is potentially regularly interesting, you potentially expand the surface area when someone might look at this information, share this information and those kinds of things. And so they compelling the way that you built IT um of IT isn't a screen. They'll only pop up one midden november and they never show up again.

If anyone is curious about what theyve been listening to in the last month, they can go and look at that. And maybe that's less compelling. Is a sharing card just because it's not as topical, but it's certainly still interesting.

And you never know like this is the kind of thing that it's not these kind of sharing events are not going to be massive in terms of the draw that they pull to you, most likely. But I think they're the kind of thing that snowball ls over time and you only really benefit from. There is a nice thing for people to want to talk about your product, and giving them any reason to do that is a useful thing. Know in this case like what what have you have been listening to in a number six plus cases, like what if if you know how they've been walking, what kind of work out that that y've been doing those kinds of things. And I think it's IT feels, you know, it's like feels that void where otherwise i'm always struck by the how much of modern life is sort of mediated by people just taking screen shots of things and ending IT on and is like if you can make a cleaner, nicer, pretty your version of that um you're saving the users some some trouble in making the rapper look Better as a result is like additionally a wonderful benefit.

Yeah exactly. And and know that part of the reason people people were asking for this because they they like the ability to show their friends and family whatever hey, look, here's here's the stuff I like. Isn't that cool? And it's just interesting to see like it's interest to see your own metric even if you don't want to share them at all.

It's good to see like, oh, that you if you would have asked me what are my top listening podcast, I might have had a different answer then, what the actual data shows, how I actually spend my time listening, and all sorts of ways to build useful features. On top of this I ve been playing. I've been extremely for years with like auto prioritization options for playlists.

And this is one thing I could base that on like you know A A big chAllenge of do this kind of future, as you mentioned, is like you have to have the data and you you have to be close IT. IT was easy for spotify to have that data because spotify pays royalties for the music they play based on how much people play them. So they have to they like spotify was already having to track that data for listening time for the for the basics of of their business model, a podcast.

APP isn't need to have that data like I don't need to track how when you listen to how often you listen, like how much time you spent listening. I don't need that information for all the reasons. So IT IT was difficult for me at first to even just convince myself to store anything like that and the way I ended up storing IT you privacy concerns were certainly foremost in my mind.

You might think it's just a podcast who cares um but suppose you're going through something in your family and you're listings to podcasts about like divorce or you like something something sensitive. Or suppose maybe you you losing a podcast that have like a political topics that might be sensitive in your community or or your household um or you know your queer and you sing to something in your family didn't know you're queer and like that. Like there's all sorts of reasons why listening to like the pocket you listen to could actually be sensitive personal data that you don't want to be shared or to be visible.

So when buildings future, I had to really make sure like that there's ways to delete these records. So if you see in your status list, but there is something that like you would rather not be there, you can just delete IT and that that is gone. And also even just like like the way I built the history and the stats together um the history with the detailed overview that is just forty eight hour retention.

And then at the end of that forty eight hours, things are roll off the end into an archive table that just lists like user ID pocket ID total time listened. So it's not episode specific. It's more cumulative.

It's a very little data per day. And again, that's all very easily delete able from the U I, if you want to. Um so there were lots of like a privacy concerns.

And just like let me let me store IT reasonably as little as I can to achieve this very highly demanded future, let me only store like total times you pass the forty error window in the stuff like that. And and I think I I hope i've achieved a good baLance here with that. And I guess, you know your feedback will tell and then getting to the data too, like trying to decide what data to store to build a future like this.

Like again, you have to you have to decide that a year advance. That's why I went only with like the total total time. And I am measuring two times walk clock time.

Like how much actual walk clock time has passed playing this pocket. So if you play one hour podcast at two x, that will be thirty minutes thirty minutes of all time. Um then there's also media time, which I call episode length. So that's like if you play on our podcast at two x, you'll get one hour of epsom time in your so and you can switch from those two stats.

I'm mainly doing listening time by default work is that's kind of the more precise, easily defined one because media time has problems like, well, if you skip forward thirty seconds, I actually count that because like you listen to the episode code. But like, but if you skip forward ten minutes, I don't count that. Like there's and there's all where to these wear little gotch's.

Like this was a surprisingly difficult feature to develop. You would think it'll be really easy, and it's really not because you're dealing with you. How do you define time? Listen to all those chAllenges of all those little decisions.

Like how do you does this count? Does this count? Do you what happens if you place in? Because back a few seconds, do you get a few extra seconds of duration?

Like there there's so many. Do you count what is paused? What if it's paused for a brief time? Like there are so many little implementation questions.

And that's why like this is more intended to be like a high level over viewed, not like extremely to the second accuracy, because IT is very difficult to define what that means. So I made a couple of decisions here, there that kind of smooth over some bumps of I got. Well, if you if IT goes back one second, you know you can count that an episode time, but you don't count the house. There's all sorts of little tricks like that.

And then once you have the times, well, then you you then now you're dealing with the counter dates, all right? So you have to figure out, well, I can just say when the server thought this was, I had to know when the user like the user calendar that i'm defining for the date of, like did you listen on this day or yesterday? Well, that's to that depend on on your local content or not my servers in a data that are in texas, like so there's all those decisions to to define.

Then when you presenting IT, like you have to look at the users counter, look at date boundaries. So like, okay, well, when in this in this users local time, what timestamp is the beginning and end of the day? Unfortunately, the calendar API in in frame in foundation is very, very good.

They give you all sorts of calender based API to do things like, given this date, what was the start of the day? Like what was midnight this day? You can do that.

You can say, what's the next instance of a wednesday. You can do all that with with the counter and component. Pps, they are very, very good anyway. So at to do all that for the U.

I even just like defining what counts as a new session for the history of view, or like if you play a podcast for a little bit and then you pause IT and you go make a sandwich, you come back ten minutes later and you had play again, is that a new session? And the whole idea like defining what makes a new session that's a whole, can work like this. And what know what if the APP is force quit by the swipe up thing, and then you bring a back.

Should that continue. The session you were in should, by the way, make sure you save if the session when you were forced quit. By the way, if you don't know if when the user force quit your APP, you actually can do some work before your APP is terminated. You you will get an application, will terminate notification um and you can you can't asking anything, you can't dispatch anything. But whatever you can do synchronous ly you can do in that block.

So if you want to like quickly serialized something to a file or to user default as long as you call synergies, um you can do all that when the user swipes up, you have a brief window of time and one run through the run loop to do what everyone need to do to like save whatever your status. So anyway, little thing about there anyway. So all all of the work the winner is all the session deciding time measurement date considerations, calendar considerations like IT was and then all the privacy considerations and then the U.

I design of the whole thing oh my god, IT was this was a massive feature um but IT was I think it's worth that because not only will this as you mentioned, this will pay off for years to come and I won't have to do with that much every year. Maybe I update the design of of the sharing images every year just to first them up a little bit. But otherwise like this features is basically going to be done.

For the foreseeable future. Um so that's great. And I was able to build the history undo feature, which i've been wanting to do that forever for years.

I wants to do a history with undo. And this finally gave me the the the kind of underpinnings and motivation to do that. And so i'm very, very happy with that. Even like the history thing, one of the things I added just last week that I think is incredibly useful and ever wanted this forever is you can undo delicious of not only episodes, but of playlists or entire podcast descriptions.

So if you you accidentally swipe the wrong thing and delete the players, that you put a lot of time to make that playlist and all the settings are really customer now, you can undo that. That's an incredible game, I think, for your ability and for protection. And i've been one to the forever, and I looked just like, I serizy the model and stuff into the undo and IT stays for in the forty hour table.

And like that again, like all the all the back and forth with the rewrite and the work, and put in learning swift other stuff and switching everything, a blackboard, like all of all of these new things, were made either possible or much faster to do a much easier, more reliable buy. All the rewrite changes. So this is the right, right paying off.

Like not only do you have know the apps way faster before, but like finally, i'm seeing benefits of haven't done the massive right and that makes me very, very happy. So overall, i'm very, very happy with these two features. They seem minor, but IT took a lot of work to get here, and I think they will have pretty high utility over time.

So something that you just said, though, that i'm curious about is the degree which you the thought process you went through to make these part of overcast premium. I think they're both strike me as like compelling features, which is awesome for something that's in premium, right?

Do you want to make you're premium offering something that people are going to want so you want to to be compelling? Um but it's imagine especially on the like know overcast wrapped um side of things, there is attention between and being super compelling. So you want to make some other people want and then also something that will increase the share ability of what you're making.

And so if he seems in some ways like those two things are intention was so like I can see the desire to be like, well, this is a reason to get over cast premium. This is a reason to do this and you're doing this extra work that yeah so it's good to get paid for her and compensated um for accordingly. And you'd imagine in some ways, by doing this way, you'll get more sign ups now towards the end of the year of people who see the other someone else sharing IT, they want to do with themselves and they want to do IT. But at the other side, you have the count, the other force of, well, if everyone has IT that you have that many more people sharing images talking about how much they they like overcast um and so I seems like that attention is a really imagine something that you had to really wrestle with for a kind of like where to put the the the the line between free and paid in this case.

Oh yeah, definitely IT. IT was a tough call. And I mean, who knows if I made the right call may be I tweak IT over time, but i'm also at the same time finally raising my Price on premium IT has been ten dollars a year us for its entire life.

So it's eight years so far, overcast premium existing um so for eight years has been ten bux. I'm falling away behind both inflation and the market. Um and so I am raising IT to fifteen with this update h fifteen dollars a year. And that's mainly because with the apple store, you can raise a substitution Price by five dollars per year or equivalent once a year and everybody will still be opted in by default.

I'll be notified they will get those emails that you get from who constantly and disney lots only the other services that was there is their Prices will be email by apple in advance of the renewal, saying, hey, the Price has gone up if you want to cancel, here's a link to but if they take no action, they'll be opted in to the new Price. And five dollars the most you can raise IT by and have that be opted in, otherwise will be opted out by default. You really don't want that.

So i'm going to fifteen dollars. And because my whole idea here is, first of all, that let me catch into the market little bit and recover some inflation losses, but also, I want to make overcast premium more compelling. It's hard to define where to draw out line that will do whole separate epsom on that.

And we have and we will again. But these features seemed like this is really stuff that like average users who are just kind of casually listening to the pocket on my hap won't really care. These are power user features.

These are like enthusiasts features. And so this was kind of an Opera, and people been telling me for years, they they want me to add more to premium. I'm only look at what my competitors to do, like I am giving away a lot more than than most of them, my thing.

And so I do want to developed more, you know, power user enthusiasts features and put them behind premium. I think that's the right call to make because the absence of them wouldn't impact people at all. So right now, um I have the state are collected, whether your premium or not.

But if you want to see them and make the pretty graphics, you have to pay premium. Um and then the the forty eight hour undo in history thing that is there, but free users only get one hour of IT and can't undo. So IT shows people like here's what you can get with premium and here is some of the utility of IT.

But if you want the full utility, it's almost like a trial feature. Like the one hour history thing, it's almost a trial feature, but that does provide some utility. So it's there to show people here's an offering.

Here's a basic version. If you want to lift this gate, here's how to do IT. Um and and i'm basically going to see how that works out with overcast premium.

I have incredible retention over time of subscribers, but I don't get a lot of new subscribers. Uh, so as a as a business, IT is fine, although i've never raised the Price eight years. So no, that's sure i'm going.

We'll see how that goes um, but it's hard to get new people in the door. So i'm trying to pushing that recovery today as the ad market has cooled over the last few years, trying to get more people in the door for premium. And I think this is a good way to do IT.

I have other ideas to like this is not going to be the only things I add to premium. Um you i'm i'm i'm going to be working on more things over the coming months as well. Um but here, I think this is a pretty strong start.

Yeah and I think I think that strikes me too about overcasting. It's very difficult to bv, like I don't know, like they have the highest number of users in an insert like the podcast listening ecosystem when you have apple podcast and spotify that exists on the free side that yeah in some ways IT is more likely that what you are going to end up with our sort of people who are more likely to be to go premium, they are looking for something and more advanced or more specific or more more something because there there's plenty of good free alternatives that may be directly integrated into, like in the case of spotify, but maybe where they listen to all their music.

And so it's like adding a podcast to that makes perfect sense to them. And so the compelling this of IT in that way, I think, works, works in your favor for making these kind of features that could benefit everyone, making them premium in the sense of hoping that you ultimately end up with a much higher proportion of you user base that are premium and that that's a much ultimately a much more sustainable place for you to be then having a in some ways, IT isn't great or is probably unlikely for overcast to ever be the this APP t that has massive free user ship and then a very narrow paid user ship just because that just doesn't line up with its to serve the demographics of that user. So I think he makes perfectly, but it's just somehow I was curious about because it's tRicky when you have this kind of a local feature that usually you want to I want everyone to get the social feature.

But in this case, that they get makes them somewhat sense. It's like it's another reason to go ahead and get get the update because it's a cool feature. It's fun.

Like as soon as I saw that in the beta as like this is exciting, immediately go look at IT being to play with the data. It's fun and interesting. And I think game time, you can have a feature that create that kind of Spark and that little bit of like wu like feeling know you're onto a winner. So it's it's so super fun to see that goes well.

Thank you very much. thanks. Listening everybody talking in two weeks by.