Under the Radar

91: Removing Features


00:00:00   Welcome to Under the Radar, a show about independent iOS app development. I'm Marc Warment.

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

00:00:08   started.

00:00:09   >> So today we wanted to talk about having to remove features of the apps. And this is,

00:00:16   you know, I've done this a lot over time. So a lot of times it's kind of questionable

00:00:20   whether like you really have to remove something. It's kind of a blurry line of like, are you

00:00:24   removing something because some condition is changing or somebody is forcing you to

00:00:30   remove it or are you removing it because you don't like the feature anymore or it's too

00:00:35   hard to support or something like that. And I've done a lot of both, honestly, more the

00:00:43   latter than the former, honestly. But I think what I'm facing this summer is I'm having

00:00:52   to remove the send to watch feature from Overcast. This is a feature that would use the iPhone

00:00:59   app to transcode the podcast file to a smaller size and then set in bacon smart speed and

00:01:06   then send it over Bluetooth to the watch and then the watch would have its own little copy

00:01:11   of the file and then it could play the file directly from the watch to a pair of Bluetooth

00:01:16   headphones if you were, you know, out running with the watch and didn't have your phone

00:01:21   with you. This is a feature that people had requested for ever since the first watch came

00:01:27   out. It was the number one feature request from watch owners was the ability to have

00:01:33   stand alone playback, you know, playback without your phone. And basically, and this feature

00:01:38   I, it took me a very, very long time to get this working. I worked a lot on it this past

00:01:42   winter. I've probably invested something like three or four months of development time into

00:01:46   just this feature. And the main problem I kept facing was the background audio playback

00:01:56   APIs on watch OS are very, very rudimentary because watch OS has to run on this very,

00:02:01   very low power device. And one thing that basically doesn't exist in watch OS is background

00:02:08   execution of apps. Like a few can do it, mainly like workout processing apps can do it. But

00:02:14   almost nothing else on watch OS is allowed to persistently run in the background the

00:02:19   way audio apps on iOS are. You know, on iOS you have audio playback, VoIP, you have location

00:02:26   tracking like turn by turn directions. All these kinds of apps can stay in the background

00:02:31   indefinitely as long as the user is using them, they can keep staying in the background.

00:02:35   On watch OS, that list is much shorter. It's, and notably does not usually include audio

00:02:40   apps. And so there is, there are a few APIs you can use. The biggest one is the WK Audio

00:02:46   File Player API. But it's very, very rudimentary and honestly I've had a lot of problems and

00:02:53   shortcomings trying to use it, a lot of bugs, a lot of just missing features. Because the

00:02:58   way it works is it actually is out of process. You basically hand it a file URL and it plays

00:03:06   and then your app gets terminated in the background. And then, you know, at various times your

00:03:11   app could be woken back up again to be notified of stuff going on in the audio player. Maybe

00:03:15   if you're lucky or if the user interacts with you, you'll obviously wake up for that. But

00:03:20   otherwise you're kind of just, you're not running. And that makes it very, very hard

00:03:24   to make a good audio playback experience, especially for things like podcasts that have

00:03:28   to be resumable, that have to save your position, stuff like that. And in, so for forever, for

00:03:35   months I was fighting these APIs. I was, I could not get a good experience out of watch

00:03:43   background audio playback. The problem was not sending the files over all of that. That

00:03:46   has its own problems of things like it's very, very slow, there's no way to detect the progress

00:03:51   of a transfer, which is very, very bad for the user experience. But even if you can get

00:03:57   past the transferring of the files or even if you could have the watch download the files

00:04:01   directly over Wi-Fi or over maybe a future cellular connection watch, you still would

00:04:06   have the problem of background audio playback on watchOS. And so what happened was, this

00:04:12   past spring an app called WatchPlayer by Peter Knapp came out and it uncovered for me a new

00:04:18   method of basically if you said you were a workout processing app, you could use AV audio

00:04:26   player and use it directly and your app would stay running all the time without interfering

00:04:32   with other workout processing apps. It would just do the right thing. It would do what

00:04:35   you want. It would stay in the background as audio was playing and allow you to do things

00:04:41   like save your position reliably and not have to deal with all the out of process bugs of

00:04:45   WK Audio File Player and stuff like that. It was, and it didn't have any kind of weird

00:04:51   interaction with remote controls or the now playing screen, which is part of the problems

00:04:55   I have with the WK Audio File Player API. It has a lot of weird interactions there. Anyway,

00:05:01   so this was finally a way to fairly reliably play audio in the background on watchOS. So

00:05:07   I switched over to this method and I released this feature. And it turns out that this was

00:05:13   not intended to work this way by Apple. And so this feature no longer works this way in

00:05:21   watchOS 4. WatchOS 4, you can only, if you want background audio playback, you can only

00:05:26   use WK Audio File Player. All the, the method of saying you're a workout app to really play

00:05:31   audio, that no longer works on watchOS 4. So now I'm faced with this massive dilemma

00:05:38   of well, I can go back and rewrite the whole thing again for WK Audio File Player, the

00:05:44   out of process API. But that had a lot of problems and a lot of bugs and a lot of shortcomings.

00:05:51   And just weird behavior, like for instance it tries to hook into the remote control button

00:05:58   so if you were to hit skip forward or seek forward on a Bluetooth headphone or if you

00:06:05   were to go to the now playing screen and hit the fast forward button. What that does for

00:06:10   WK Audio File Player is what you'd expect from music. It goes to the next track. Podcast

00:06:15   apps all interpret this as seek forward by 30 seconds or whatever you've set it to. So

00:06:21   for podcast what you want is very, very different than that. And when you are controlling the

00:06:25   audio player and you have a proper remote control API like you do on iOS, you can interpret

00:06:30   that as whatever you want and you can do that. On watchOS, because this is all happening

00:06:36   out of process, out of your control with WK Audio File Player, watchOS tries to do the

00:06:42   right thing. So it just invalidates that file and seeks to the next one. If you are a podcast

00:06:49   app, you don't have a next one or you might have used WK Audio Q File Player or Audio

00:06:54   File Q Player, whatever it's called. But you have no way to interpret that click as something

00:07:00   else or that fast forward command as something else. So it just ends the track you're listening

00:07:05   to and goes to maybe the next podcast or whatever else. And I tried so many crazy hacks with

00:07:10   this. So for instance, splitting up podcasts into like 10 second chunks and just giving

00:07:15   it a queue of like 400 files for a show.

00:07:18   Perfect. What could go wrong?

00:07:20   Yeah. Unsurprisingly, watchOS did not appreciate that approach for various resource limitations

00:07:27   I think. It probably didn't expect me to have a playlist with 400 entries of 10 second files.

00:07:32   So yeah, that wasn't great. And so again, I tried all these hacks to try to get this

00:07:38   WK Audio File Player to give an experience good enough for podcast listening. And basically

00:07:44   it just didn't happen. It didn't happen for the four months I was working on it last winter.

00:07:50   And I've tried over the last few weeks to do it again with watchOS 4 and it's not any

00:07:55   better than watchOS 4. It still has all of the same shortcomings and all these same bugs.

00:08:00   And yes, I have filed many radars and I have forwarded them to evangelists and things like

00:08:06   that. But the fact is, background audio playback I don't think is a very high priority on Apple

00:08:12   Watch compared to everything else they have to do. Apple's very busy this time of year

00:08:17   with things like iOS and getting the new phones out and all the new stuff for iPad and everything.

00:08:22   So while I have filed bugs and contented the appropriate people, I don't think these bugs

00:08:28   are going anywhere basically. The beta season is almost over and they haven't gone anywhere

00:08:32   so I wouldn't expect them to. So I'm faced with this decision of like, do I move to this

00:08:38   new API which is much worse for my purposes in every possible way and way buggier and

00:08:45   introduces all sorts of new problems and requires all sorts of crazy hacks like using a timer

00:08:51   and polling things that are supposed to be KVO compliant but aren't, stuff like that.

00:08:56   A lot of bugs and a lot of weird workarounds that you have to do, polling things to see

00:09:00   if they're playing or if they're stalled because sometimes the is playing attribute is wrong.

00:09:05   Like there's all sorts of problems that I can't even overstate how many problems there

00:09:11   are with this API. And so I can switch to that but it's going to be way, way worse than

00:09:17   it is now. And right now the feature is barely shippable as it is, like with the watchOS

00:09:22   3 version that was barely shippable and I probably shouldn't have shipped it but I did.

00:09:27   Or I can remove this feature now and just say sorry everyone, it didn't work out. And

00:09:34   this is complicated, like some people have said like well I can, I'll just leave my watch

00:09:38   on watchOS 3. Well that's not very, that's not going to work because first of all if

00:09:43   I leave this feature in for everyone else, when they upgrade to watchOS 4 it stops working

00:09:46   even if I don't recompile the app for watchOS 4. And then second of all if I update my app

00:09:51   to iOS 11 and watchOS 4 then if their watch is still on 3 it'll just be deleted from

00:09:57   the wrap when they update the phone app. So they would have to also not update to iOS

00:10:02   11 and that's unlikely, you know, so anyway. I'm basically stuck and I have to remove

00:10:07   this feature. And this is really a tricky decision because the good thing is not a lot

00:10:15   of people use this feature. It's used by something like 0.1% according to my analytics

00:10:19   of active users so it's a very, very low number. But that 0.1% is going to be really

00:10:28   mad. And I've tried to warn them on Twitter ahead of time and say you know, hey just so

00:10:32   you know I've been working on this, not going well but I've decided it's really

00:10:36   out now and I'm not going, I'm going to remove this feature. Like the decision is

00:10:40   made and I'm also going to remove it like now rather than in a month and a half or whatever,

00:10:47   you know, whenever iOS 11 ships and watchOS 4. Because I don't want my entire iOS 11

00:10:54   updates story to be a removal of a major feature. And I don't want all the one star ratings

00:11:00   that I'm definitely going to get by removing this feature to apply to my big iOS 11 update.

00:11:04   You know, I want to get this out of the way now and I want to kind of stop the influx

00:11:10   of new customers finding this feature and getting accustomed to it only to have it be

00:11:15   ripped away from them in a month and a half or whatever. So I'm going to remove this

00:11:19   feature now. And it's always a very tricky balance because again, it's like you have

00:11:24   to think about all these things. You have to consider like you're definitely going

00:11:28   to make a lot of people angry. You're definitely going to get a lot of one star reviews. It's

00:11:33   going to hurt the app for a while. But the feature wasn't very good to begin with and

00:11:39   I've been getting one star reviews over the current feature as it is today. Even from

00:11:44   people who love the rest of the app but they want this feature to work better so they say

00:11:49   one star for the whole app because they're mad at this feature. So like, it's, what

00:11:55   should I do? Does this sound reasonable?

00:11:57   I think it does. Because I think the reality in a situation like this is that like the

00:12:04   biggest things that come to mind is at a certain point there's like the sunk cost fallacy

00:12:08   that you have to deal with of the feeling of like because you've put so much into

00:12:13   something that you should put more into it to save that effort that you put into it before.

00:12:20   So like in this case, the thing that I'd always have in the back of my mind is this

00:12:23   like am I continuing to work on this feature because I've spent months working on this

00:12:28   feature? Or does this feature still make sense in and of itself? Like if I was coming at

00:12:32   it fresh? So you have to have that in the back of your mind. And then two, it's like

00:12:37   is what is this feature getting in the way of being made? Because you know, it's like,

00:12:46   especially as a one person developer, or even a small team, like you're the one thing that

00:12:52   you can't get more of is time and attention to work on your app and to make the part of

00:12:59   the app that 99.9% of your other users interact with better. And so the biggest things I'm

00:13:07   like, it is so hard to say, to just like accept the fact that this is going to be unfortunate

00:13:14   that this is not going to be pleasant for who knows how long for, you know, I mean,

00:13:19   it could be indefinitely problematic for that very small group of people. But hopefully,

00:13:23   it's you know, for a month or something or for a couple of weeks when the you know, the

00:13:27   update comes out where this gets gets pulled. But the reality is trying to please that small

00:13:33   group of people indefinitely trying to sort of pile hacks on top of hacks of this crazy

00:13:39   feature is just never going to it's never going to win. And so you kind of have to at

00:13:44   some point just say, you know, we tried it, it didn't work. I'm very sorry, and move on

00:13:50   because otherwise, you're just the app is just going to get stuck. And I mean, it's

00:13:54   in a weird way, it's like the the reverse of the sunk cost fallacy is you start to think

00:13:58   in terms of like, should I have pulled this project earlier? Should I, you know, would

00:14:03   it in what could I have done in the meantime, and you know, it's not that you want to just,

00:14:09   you know, only slightly try experimental interesting features. And if at the first sign of trouble

00:14:13   back out, because you know, a lot of the cool and interesting things that differentiate

00:14:19   apps and make them useful and interesting, are these kind of more experimental, like

00:14:23   going down these crazy routes and seeing if it can work and coming up with interesting

00:14:27   workarounds and, you know, crazy hacks, like, I love that part of things. But I think at

00:14:31   a certain point, you have to decide, you know, is this does this continue to be worthwhile?

00:14:35   And it sounds like in your in your case, like, I absolutely agree that it's time for it

00:14:39   to go. And it's just going to be one of those things where they will, you can work on the

00:14:44   messaging around that you can try your best to kind of message that and maybe you'll end

00:14:48   up putting message maybe having messaging in the app to try and communicate that because

00:14:54   the majority of your users almost certainly aren't, you know, following overcast FM on

00:14:58   Twitter or whatever or reading your blog, like messaging that as best you can to try

00:15:03   and make sure that, you know, people are at least have some understanding about what's

00:15:07   going on. But ultimately, it's like the being held hostage by a vocal minority is just going

00:15:14   to stall everything else out. And the you know, if anything, the best thing is to do

00:15:17   is to just call it quits. I like that you're just you decided to do it early and the cycle

00:15:22   just get it done. And just put that to the side so you can focus on your next big updates

00:15:27   for iOS 11. Because, you know, once you've done it, the nice thing in many ways, at least,

00:15:33   it's a funny thing to say, but one of the things I like about the App Store is that

00:15:35   like, I don't it's not like I work in a physical retail store, or something like that, where

00:15:41   if I do something that my customers don't like, they reach out to like, to me specifically,

00:15:46   in a like a physical way that I can't avoid. Like, if you make some make do something that

00:15:51   upsets some people, you can in some ways, isolate yourself from that and just move on,

00:15:56   at least for a period of time, let it die down and focus on the things that are going

00:16:00   to make your app better for everyone else. Because almost certainly, like that is better

00:16:04   for the future of the app than trying to hold hold on to a feature. And like, in this case,

00:16:09   you're kind of your hand is kind of forced. But I mean, there's even situations where

00:16:13   you have to make any change in an app is going to have this exact same experience. I think

00:16:19   like, if you change the font, or you change the color, or you change the layout, people

00:16:24   will be upset. Like there's just that is the that is the inevitable reality of any change.

00:16:29   But if that change is making the app better, then it's kind of essential to just develop

00:16:34   a bit of a, you know, it's like I struggled with this a lot early in the early days of

00:16:37   my indie career, with this feeling very personal about it. But at a certain point, I've had

00:16:42   to just develop a thick and thick enough skin to say, whatever, this is the I'm trying to

00:16:47   make the app as the best app that I can make it. And just go with that and hope and hope

00:16:52   that people accept that, you know, like, the majority, it's making it better for more people

00:16:57   is always almost certainly better than leaving it as it was for a small group of people.

00:17:04   This has been a lot of my rationale for for choosing to remove this feature now because

00:17:08   like I have, you know, like the sunk cost fallacy is definitely at play here. And but

00:17:12   but I think what you what you just described and what I will now I guess coin the the the

00:17:18   lost opportunity cost tragedy. Like, I like I could have done so much more for the main

00:17:25   app in the time I've spent on this feature. And and if I would have known this feature

00:17:30   would have cost so much time, I probably wouldn't have started tackling it in the first place.

00:17:35   But you know that that's all gone now. Now you have to focus on well, what do I have

00:17:39   now? And the fact is I'm already like more than halfway through the summer. And I have

00:17:46   done relatively little to adapt the main app for iOS 11 because I keep getting stuck in

00:17:51   watch problems and developing for the watch in general. As you know, it's better than

00:17:57   probably anybody. It's complicated and it's slow going. You know, like it's it's a very,

00:18:03   you know, because it is first of all this like kind of sister device to the phone. So

00:18:08   it has like you have to do a lot of things through the phone first and then over the

00:18:11   Bluetooth or Wi-Fi to the watch. And it also is very, you know, rudimentary performance

00:18:16   hardware because it has to fit in the watch like it has to have the power envelope to

00:18:21   fit in the watch and everything else. Like it's very low powered hardware. The OS is

00:18:24   fairly young. The API's are fairly young and very limited. So it's it's just very slow

00:18:32   going development wise. Everything you do to develop for the watch is more difficult

00:18:37   and more cumbersome. The cycles of developing and testing and debugging are all longer just

00:18:43   because it's this low power thing that's complex and tied to your phone. So watch development

00:18:50   for me has just been a massive time sink. And a lot of a lot of my users do use the

00:18:58   watch app. But, you know, way more people use the watch app than whoever used the send

00:19:03   to watch offline playback. And part of that, you know, the feature could be better. I'm

00:19:08   not saying it was perfect before, but, you know, it could be way better actually. But

00:19:12   the fact is like it is not worth investing as much time as I've been investing in the

00:19:18   watch app for the amount of users it gets. You know, still by far like I have something

00:19:22   like 15% of my users who have the watch app installed, but only about 1% of the daily

00:19:28   actives actually interact with it. Like they have it running in case they need it. Very

00:19:33   few people actually use it or interact with it more than just looking at it or glancing

00:19:38   at it or even just having it installed and never launching it. So I need to now adjust

00:19:44   my time allocation for the reality of the usage of the watch app and how expensive time

00:19:53   wise it is for me to invest time into it. You know, like it's just so slow going to

00:20:01   make real progress on the watch. It's difficult and it's expensive. So what I need to do now

00:20:07   is focus on the main app, the main UI, the main interactions people actually do with

00:20:14   it. Because that's what I'm focusing on for iOS 11. This is no secret. As we discussed,

00:20:19   I'm adopting the new drag and drop APIs. I'm updating some of the UI here and there

00:20:24   for various little behavioral tweaks that people have wanted and stuff like that. So

00:20:28   I have a good amount of work still to do. All my table views in iOS 11 have weird animation

00:20:35   bugs and are broken because of the way that it changes table view sizing and everything.

00:20:38   I still haven't started dealing with that yet because I haven't had time. I keep losing

00:20:43   time to massive tar pits of watch development. So I just need to end the watch development

00:20:52   now. And it's okay. I'm going to maintain the app and update the app over time but it

00:20:59   has to be a small scope. It has to be like this watch app will continue to work and I'm

00:21:06   going to make it as fast as I possibly can and even faster to interact with which by

00:21:09   the way is actually better without the offline feature because then I have back to a one

00:21:13   page interface and I don't have to link all these extra frameworks and everything so it

00:21:16   actually is way faster without the offline playback and it's easier to touch it without

00:21:23   your touch being interpreted as swipes. So that's nice. Anyway, the watch app is way

00:21:29   better without this feature and it's more in line with the amount of time it has earned

00:21:35   from my development time for the usage it actually gets. For those 1% of people who

00:21:41   are interacting with it every day, I want to make it really fast because 1% is not great

00:21:45   but it isn't like if I leave it without the offline playback, it isn't that big of a time

00:21:49   suck but that does not make it worth investing half of my development year into it when the

00:21:57   rest of the app needs attention to. Anyway, we are sponsored this week by Indeed Prime.

00:22:02   Indeed Prime helps tech talent such as yourself and other software developers and data scientists

00:22:07   simplify their job search and land their dream job. Indeed Prime candidates get immediate

00:22:13   exposure to the best tech companies with just one simple application to Indeed Prime. Companies

00:22:18   on Indeed Prime's exclusive platform message the candidates with salary information right

00:22:23   up front and the average software developer gets five employer contacts and an average

00:22:27   salary offer of $125,000 a year. Indeed Prime is 100% free for candidates, no strings attached,

00:22:34   100% free for you. Sign up now at Indeed.com/Prime. Once again, Indeed.com/Prime. Thank you very

00:22:43   much to Indeed Prime for sponsoring our show.

00:22:46   So the thing that you're, as you're saying that, that also comes to mind I think just

00:22:50   in general is the being aware of the trap of how we allocate our time as we work on

00:23:01   our apps because this is something that I've actually been struggling with a lot recently

00:23:04   and I have like the double fold problem of where do I allocate my time within an app

00:23:10   and then where do I allocate my time within a variety of apps that I have.

00:23:15   Oh, of course.

00:23:17   And I think this loops back into this sort of this topic around removing features because

00:23:24   it is so easy to get stuck in these rabbit holes I find where you kind of you're working

00:23:29   on something that isn't actually giving you a lot of return and I think it is so like

00:23:36   the things that the traps that I am so easily fallen into are ones where you get like the

00:23:42   feedback we get from our customers whether that be an email or online you know in in

00:23:46   the app in the App Store wherever it comes comes from we get this feedback and it's so

00:23:51   easy to misconstrue the representativeness of that feedback and I think like in this

00:23:58   case it's like if you you know you got the you had a lot of you had this feeling that

00:24:03   you had a lot of people requesting offline watch playback like from there you know this

00:24:08   was a highly requested feature since the watch came out great turns out point one percent

00:24:15   of people actually used it in practice right like and I think that is something that is

00:24:21   it's like the best way to remove a feature probably is to never had it in the first place

00:24:27   which is pretty like like preemptive removal which didn't like doesn't doesn't dig you

00:24:34   out of a city the situation you find yourself in now and I mean the reality is you're just

00:24:38   gonna have to sound you know it's like you just have to navigate it as best you can it's

00:24:41   out in the world but I think to wrap this up at the thing that comes to mind for me

00:24:45   is it's I do I'm increasingly trying to be very analytical about where I'm spending my

00:24:52   effort to try and maximize the output from that because it is otherwise I end up spending

00:24:58   time on these apps around these features that you know I get the impression are well are

00:25:03   very desired but the reality is they're not in the common case they're these sort of these

00:25:08   edge case users or uses of the app or honestly even more problematic are the ones where they

00:25:15   change the core functionality to be slightly worse a custom or a special use case slightly

00:25:24   better like those are the situations where it's I think it's very important to when we're

00:25:30   going into these kinds of things it's like to take that step back and say like how many

00:25:34   people realistically are going to probably use this and do I have any measures in my

00:25:38   app that I can use to identify that like you know even just at the basic level of like

00:25:44   what percentage of my apps of users in this case like have an Apple watch and like knowing

00:25:49   that number ahead of time you know like that is the absolute if every single person used

00:25:53   it well that would be this many people and like you can go down that road of being very

00:25:58   thoughtful about it ahead of time because otherwise you end up in you know in this situation

00:26:02   I've gotten myself in there many times myself where it's it's so easy to get sucked down

00:26:08   these these things that can become these like the like you think you said tar pits like that's

00:26:12   what it feels like sometimes very and almost certainly we're at our best when we're able

00:26:18   to move quickly when we're able to focus on features that will you know if we can make

00:26:22   that core experience better and better and better and it's like the refining having the

00:26:28   it having the attention and the patience to refine the core experience over and over and

00:26:32   being okay with letting other opportunities go fall to the side because I think I don't

00:26:38   know if you ran into this but when I often run into with these kind of these side features

00:26:42   is I have this this fear I guess it's like the fear of missing out like I don't want

00:26:47   to be it's like I know this opportunity exists like there's here's this functionality here's

00:26:52   this thing that I could build you know in this case building offline watch play black

00:26:56   like it's a known thing it isn't this crazy novel invention that you've come up with it's

00:27:01   like it's a pretty obvious next step being it's like is it getting over the fear that

00:27:08   someone else is going to do it someone else is going to do it better and as a result like

00:27:14   they're going to have this runaway success that crushes you in your business like that's

00:27:20   a constant fear of mine but the reality is that is almost certainly not the case like

00:27:25   it's possible like in the same way that it's possible to like win the lottery and in some

00:27:30   ways the odds are probably more similar it's like it's the there's a point oh one percent

00:27:35   chance of this that that that situation happening but the reality is the vast far more likely

00:27:41   thing is that your app will would lose out and fall to and fall away because the core

00:27:47   experience got worse over time rather than that it didn't have some one little feature

00:27:54   and like that's really hard like I've having to say no to something that I know that I

00:27:58   can do but just would end up being this massive time suck is really hard but it's probably

00:28:05   an essential thing for us to do because otherwise we're just gonna you know like I don't know

00:28:09   what the next feature that you or I will are going to add to our apps that we're ultimately

00:28:13   going to kind of regret and maybe have to walk back from and have to navigate and take

00:28:16   our lumps when we remove it but almost certainly there's opportunities are going to keep presenting

00:28:22   themselves and we just have to try and focus on the right things is this all your like

00:28:29   subtle long way of saying that you want me to bring back one touch playback no no no

00:28:35   that's fine I'm okay with the two touch what about the play button on the right side is

00:28:39   that is that good enough play button on the right side is perfect okay but it is an example

00:28:45   of like it's you that it's that core experience of you know of overcast like the optimizing

00:28:51   those are those then you know the behavior of playing a podcast is like a core experience

00:28:57   that should be perfect yeah and that's where you should be spending your time rather than

00:29:01   worrying about the side features that a few people use a few people love like there may

00:29:07   be super passionate and then like that's awesome but that's not most your users and that's

00:29:12   get going down that road too far it's just going to end up you know missing it's like

00:29:15   missing out on way bigger opportunities than missing out on this small small opportunity

00:29:20   over here not to mention I gotta fix all my broken table views still that too thanks for

00:29:25   listening everybody and we'll talk to you next week bye

00:29:28   [BLANK_AUDIO]