PodSearch

Under the Radar

Under the Radar 5: Managing Feedback

 

00:00:00 ◼   ► welcome to under the radar show about

00:00:01 ◼   ► independent iOS development I'm Marco

00:00:04 ◼   ► Arment and I'm David Smith under the

00:00:06 ◼   ► radar is never longer than thirty

00:00:07 ◼   ► minutes so let's get started so today

00:00:10 ◼   ► what we wanted to talk about is the way

00:00:14 ◼   ► in which we manage and deal with getting

00:00:17 ◼   ► feedback on our products on our apps

00:00:19 ◼   ► both in terms of from customers but I

00:00:22 ◼   ► think one of the things that I really

00:00:23 ◼   ► wanted to unpack a little bit is the way

00:00:25 ◼   ► that we do we handle feedback when

00:00:28 ◼   ► products are in the earlier stages so

00:00:30 ◼   ► things like beta testing or early

00:00:32 ◼   ► interactions with customers because some

00:00:35 ◼   ► of the things that I found really

00:00:37 ◼   ► complicated when I'm developing an app

00:00:39 ◼   ► or developing a major update is I will

00:00:41 ◼   ► have in my mind a vision for what I want

00:00:44 ◼   ► that update to do what though what I

00:00:47 ◼   ► want the app to do and I kind of am

00:00:49 ◼   ► working towards that I'm working towards

00:00:51 ◼   ► that but at in this early sort of like

00:00:53 ◼   ► embryonic state it's only in my head and

00:00:56 ◼   ► in the little prototypes and the little

00:00:58 ◼   ► bits of code that I'm building and

00:01:00 ◼   ► something significant though happens the

00:01:03 ◼   ► first time you ever show it to someone

00:01:04 ◼   ► else even beyond just telling someone

00:01:07 ◼   ► the idea but when you actually show them

00:01:08 ◼   ► something and you give them something to

00:01:10 ◼   ► react to react to the way that you think

00:01:13 ◼   ► about your the app seems to change for

00:01:15 ◼   ► myself because suddenly it has their

00:01:17 ◼   ► feedback their suggestions their ideas

00:01:19 ◼   ► start to be kind of mixed in and muddled

00:01:22 ◼   ► along with mine and so something that

00:01:24 ◼   ► I've learned is that I have to be really

00:01:26 ◼   ► really careful about how I get that

00:01:30 ◼   ► feedback at what point I get that

00:01:31 ◼   ► feedback and the way in which I sort of

00:01:34 ◼   ► manage it because what I don't want to

00:01:36 ◼   ► do is take too much feedback too quickly

00:01:38 ◼   ► and kind of lose that vision for what I

00:01:41 ◼   ► want to do where I want the app to be or

00:01:44 ◼   ► what I want the update to be and so it's

00:01:47 ◼   ► something that I it's a weird discipline

00:01:48 ◼   ► that I think you kind of have to learn

00:01:49 ◼   ► and I was curious though if you've had a

00:01:51 ◼   ► similar set of experiences how do you go

00:01:53 ◼   ► about kind of pulling in that feedback

00:01:55 ◼   ► during early development I will usually

00:01:57 ◼   ► you know ask close friends for input on

00:02:00 ◼   ► certain basic decisions about it basic

00:02:03 ◼   ► feature decisions how things might be

00:02:04 ◼   ► structured what features might need to

00:02:06 ◼   ► be necessary or unnecessary and then I

00:02:08 ◼   ► I've recently in recent years gotten

00:02:10 ◼   ► really a big fan

00:02:12 ◼   ► of medium-sized private betas for me

00:02:16 ◼   ► that the private beta is extremely

00:02:17 ◼   ► useful and I've done a number of sizes

00:02:20 ◼   ► of betas I first you know in the early

00:02:22 ◼   ► days of overcast I was doing a beta of

00:02:25 ◼   ► like I think like 20 people

00:02:26 ◼   ► I've also since then done betas with 800

00:02:30 ◼   ► people because test flight allowed you

00:02:31 ◼   ► to do 1,000 now it's actually 2,000 but

00:02:33 ◼   ► so that I did like 800 people on a beta

00:02:36 ◼   ► that was like I basically had a public

00:02:37 ◼   ► signup form and just without that almost

00:02:39 ◼   ► anybody in more recently I've done much

00:02:41 ◼   ► smaller babies going back to that

00:02:43 ◼   ► original size so if like 20 to 40 people

00:02:45 ◼   ► again and what I found is that the the

00:02:48 ◼   ► quality of the feedback doesn't actually

00:02:49 ◼   ► seem to change significantly with the

00:02:53 ◼   ► size of the beta and which is

00:02:56 ◼   ► counterintuitive but it seems like you

00:02:59 ◼   ► can show the app to a relatively small

00:03:01 ◼   ► number of people and you'll pretty much

00:03:04 ◼   ► get all the feedback you need from a

00:03:06 ◼   ► small group and and you know maybe it

00:03:09 ◼   ► maybe not a small group of like two but

00:03:11 ◼   ► 10 or 20 people if they're actually

00:03:14 ◼   ► gonna use it and give you feedback which

00:03:15 ◼   ► is a separate point but if they're

00:03:17 ◼   ► actually gonna use and give you feedback

00:03:18 ◼   ► you don't need that many people involved

00:03:20 ◼   ► in the group now the feedback you get it

00:03:23 ◼   ► tends to be really focused or really

00:03:25 ◼   ► heavily weighted towards upfront

00:03:27 ◼   ► feedback right the very first time

00:03:29 ◼   ► somebody uses a beta because and I don't

00:03:32 ◼   ► know if other people do this but I do

00:03:34 ◼   ► this where if somebody gives me a beta I

00:03:36 ◼   ► will usually take a lot of time going

00:03:38 ◼   ► through the app that very first time and

00:03:40 ◼   ► giving pretty detailed feedback to them

00:03:42 ◼   ► but after that first time as more

00:03:45 ◼   ► updates come in I very rarely ever take

00:03:47 ◼   ► that amount of time again unless I have

00:03:49 ◼   ► you know spot an obvious but then I can

00:03:50 ◼   ► you know screenshot a tenant's them

00:03:51 ◼   ► whatever but general feedback about

00:03:54 ◼   ► about a beta or about an app I usually

00:03:56 ◼   ► it's usually front loaded and I found

00:03:57 ◼   ► that to be the case with most of my

00:03:59 ◼   ► testers as well so what I will usually

00:04:01 ◼   ► do is if I can I will have a few new

00:04:05 ◼   ► testers in every group and test flight

00:04:08 ◼   ► allows you to see who among the group

00:04:11 ◼   ► didn't install the latest few version

00:04:13 ◼   ► like it'll tell you the last version

00:04:15 ◼   ► each person installed so if I see some

00:04:17 ◼   ► of my testers losing interest you know

00:04:19 ◼   ► like if they if they just don't install

00:04:21 ◼   ► the updates or if the last IP they

00:04:23 ◼   ► installed was like five builds ago I'll

00:04:25 ◼   ► just quietly remove them from the

00:04:27 ◼   ► list because and it's no hard feelings

00:04:28 ◼   ► you know his I do that office I always

00:04:29 ◼   ► thought about this all the time because

00:04:31 ◼   ► I lose interest or I don't have time in

00:04:33 ◼   ► that in that month or whatever so I

00:04:35 ◼   ► usually will cut people who who kind of

00:04:37 ◼   ► aren't using it and you know no hard

00:04:39 ◼   ► feelings lots a lot of times are my

00:04:40 ◼   ► friends I don't I don't even you know

00:04:42 ◼   ► doesn't doesn't matter no hard feelings

00:04:43 ◼   ► and then I will add a few new people

00:04:46 ◼   ► every time because it allows me to get

00:04:49 ◼   ► that that initial impression like

00:04:50 ◼   ► somebody's first impression of this app

00:04:52 ◼   ► it allows me to have that ongoing

00:04:54 ◼   ► throughout the process rather than

00:04:56 ◼   ► showing it all to the same people right

00:04:58 ◼   ► up front and never bring any new people

00:05:00 ◼   ► in along the way so I've only recently

00:05:03 ◼   ► started doing beta testing properly at

00:05:06 ◼   ► all I would say like the most recent

00:05:08 ◼   ► update I did for pedometer plus plus was

00:05:10 ◼   ► the first time I'd ever done a big

00:05:13 ◼   ► update our big beta test before I

00:05:16 ◼   ► launched something big and you know it's

00:05:17 ◼   ► the before that it had only really been

00:05:19 ◼   ► I would Institute - I would have it

00:05:22 ◼   ► running on my my own phone maybe my

00:05:24 ◼   ► wife's maybe a few like a one or two

00:05:27 ◼   ► other people and honestly and then on a

00:05:29 ◼   ► lot of testing devices and I'd never had

00:05:32 ◼   ► that experience of having this big kind

00:05:34 ◼   ► of like wide like I did a similar type

00:05:35 ◼   ► of thing like I just said anybody who

00:05:37 ◼   ► wants to beta test pedometer plus plus

00:05:39 ◼   ► let me know and it went to test flight

00:05:41 ◼   ► and I put them all in and I had this an

00:05:43 ◼   ► interesting thing that was sort of like

00:05:44 ◼   ► similar to your experience where you get

00:05:46 ◼   ► this big wave of comments in this big

00:05:48 ◼   ► wave of feedback early on and then it

00:05:51 ◼   ► sort of dies down and then actually I

00:05:52 ◼   ► found is you ended up with another wave

00:05:54 ◼   ► like a week later with sort of like the

00:05:56 ◼   ► huh now that I've been using it for a

00:05:58 ◼   ► while here's like some other thoughts

00:06:00 ◼   ► and I would say that I had a very

00:06:01 ◼   ► similar kind of experience to you

00:06:03 ◼   ► insofar as there's only a certain number

00:06:05 ◼   ► amount of feedback was actually helpful

00:06:07 ◼   ► and like beyond that it you start to get

00:06:11 ◼   ► a lot more repeats you start to get a

00:06:12 ◼   ► lot more tangential things but like at

00:06:15 ◼   ► its core what I found helpful in the

00:06:17 ◼   ► beta test was validating a that the app

00:06:21 ◼   ► works and is functional in the way that

00:06:23 ◼   ► I need it to be and then to its

00:06:25 ◼   ► validating that it's a good idea that

00:06:28 ◼   ► people are like I'm not getting to like

00:06:30 ◼   ► what this doesn't make any sense or

00:06:32 ◼   ► people who have used the app before and

00:06:33 ◼   ► going to this version are like this

00:06:34 ◼   ► doesn't make you know you're totally

00:06:35 ◼   ► breaking the thing that made the app

00:06:37 ◼   ► good before because I think those are

00:06:39 ◼   ► the things that I find out

00:06:40 ◼   ► struggle with as myself because I have

00:06:43 ◼   ► been working on if you see I've been

00:06:44 ◼   ► working on an update for for several

00:06:45 ◼   ► months my experience with the app at

00:06:48 ◼   ► that point becomes almost exclusively

00:06:50 ◼   ► the new version of the app and not what

00:06:53 ◼   ► the existing version in the App Store

00:06:55 ◼   ► is and I can tend to lose sight of the

00:06:58 ◼   ► distance that I'm creating between those

00:07:00 ◼   ► two things because I never go back to

00:07:01 ◼   ► all right other than for like my final

00:07:03 ◼   ► acceptance testing like I won't go back

00:07:05 ◼   ► to the App Store download the version

00:07:07 ◼   ► and run that for a few days like that's

00:07:09 ◼   ► just not typically the way I'd do it

00:07:11 ◼   ► because obviously I'm constantly running

00:07:12 ◼   ► development builds on my own machine and

00:07:14 ◼   ► the feedback that I got was kind of that

00:07:16 ◼   ► was most helpful is when I have someone

00:07:17 ◼   ► who's like so I used the old version

00:07:20 ◼   ► yesterday and I used the new version

00:07:21 ◼   ► today and this felt weird by going from

00:07:24 ◼   ► there to there and like those types of

00:07:26 ◼   ► feedback are things that are really hard

00:07:27 ◼   ► for me to do because like I said I have

00:07:29 ◼   ► this whole new vision for the app I've

00:07:31 ◼   ► imagined and built features around this

00:07:34 ◼   ► whole new thing and that's what I'm used

00:07:36 ◼   ► to and months later like sometimes the

00:07:38 ◼   ► weirdest one is when you go back to the

00:07:39 ◼   ► App Store version you're like what is

00:07:40 ◼   ► this like I can't believe nothing and

00:07:42 ◼   ► you've not even necessary like oh I

00:07:43 ◼   ► can't believe this shipped but like whoa

00:07:45 ◼   ► this is different like this functions in

00:07:47 ◼   ► a different way this has lots of other

00:07:50 ◼   ► issues and so that was something that I

00:07:53 ◼   ► learned from this feedbacks like look at

00:07:56 ◼   ► these little like huh this was weird

00:07:57 ◼   ► coming from that and that's helpful both

00:07:59 ◼   ► in terms of from a development

00:08:00 ◼   ► perspective but then also from in terms

00:08:02 ◼   ► of what questions are my beta testers

00:08:05 ◼   ► going to have about the app

00:08:07 ◼   ► what's weird to them what's new to them

00:08:09 ◼   ► and then when I take that feedback I can

00:08:12 ◼   ► structure my documentation or my

00:08:14 ◼   ► remember like release notes or things to

00:08:16 ◼   ► be like if you're coming from the old

00:08:18 ◼   ► version to the new version you might

00:08:19 ◼   ► find this weird if you find this weird

00:08:21 ◼   ► this is the answer to your question but

00:08:24 ◼   ► that's something that I was never able

00:08:25 ◼   ► to do before I was able to find test

00:08:27 ◼   ► flight like I have a broader audience

00:08:29 ◼   ► and something that I definitely now I

00:08:31 ◼   ► think will use going forward

00:08:32 ◼   ► whereas before I always view test light

00:08:34 ◼   ► it's like oh it's beta testing it's just

00:08:35 ◼   ► like making sure that there's no

00:08:36 ◼   ► Crashers this making sure there's not a

00:08:38 ◼   ► lot of things but understanding customer

00:08:41 ◼   ► perspective changes from the old to the

00:08:43 ◼   ► new was really helpful

00:08:44 ◼   ► but even when starting out new I mean

00:08:46 ◼   ► the the initial overcast beta I did 41.0

00:08:49 ◼   ► before the app is out was incredibly

00:08:52 ◼   ► valuable in

00:08:53 ◼   ► because when you're developing an app

00:08:56 ◼   ► and you're only using it yourself you

00:08:57 ◼   ► know like like you mentioned I do the

00:08:58 ◼   ► same thing where like I'll use it myself

00:08:59 ◼   ► for like you know months and and as soon

00:09:02 ◼   ► as I can get it running on my phone

00:09:03 ◼   ► that'll be I lose it myself full time

00:09:05 ◼   ► and when you're developing the app

00:09:08 ◼   ► yourself you know how to use it and you

00:09:11 ◼   ► know what you did so everything makes

00:09:13 ◼   ► sense to you and when you first show it

00:09:15 ◼   ► to beta testers especially for a 1.0

00:09:18 ◼   ► where they are not familiar with the app

00:09:19 ◼   ► before the the most valuable perspective

00:09:22 ◼   ► I got was what doesn't make sense or

00:09:25 ◼   ► what is being misunderstood from what I

00:09:28 ◼   ► intended and I made tons of interface

00:09:31 ◼   ► improvements and tons of changes during

00:09:33 ◼   ► that initial test you know I thought

00:09:35 ◼   ► that a beta test would just be like oh

00:09:37 ◼   ► just let me know if anything crashes or

00:09:39 ◼   ► breaks and then I'll ship it in a few

00:09:41 ◼   ► weeks it turned out to be months long

00:09:44 ◼   ► because everybody gave really good

00:09:46 ◼   ► feedback about you know this doesn't

00:09:48 ◼   ► really make sense or I don't understand

00:09:49 ◼   ► what this is and and the app I

00:09:52 ◼   ► dramatically improved the app it was

00:09:54 ◼   ► almost like shipping at version 2.0 you

00:09:56 ◼   ► know we're headed than shipping 1.0

00:09:58 ◼   ► because I had such great feedback just

00:10:00 ◼   ► by asking people and again you don't

00:10:02 ◼   ► need this was only a group like 20

00:10:04 ◼   ► people it doesn't need to be a big group

00:10:05 ◼   ► it just needs to be people who aren't

00:10:07 ◼   ► you because you you get everything you

00:10:10 ◼   ► did because you did it and you designed

00:10:12 ◼   ► it and as soon as you show anybody else

00:10:14 ◼   ► you immediately will see the flaws in

00:10:17 ◼   ► what you did because you will see them

00:10:20 ◼   ► either struggling to to understand what

00:10:23 ◼   ► you did or misinterpreting things or

00:10:26 ◼   ► missing entire big features because they

00:10:28 ◼   ► just don't see them or they don't they

00:10:30 ◼   ► don't see why they would need them or

00:10:32 ◼   ► something and it's great like my effects

00:10:35 ◼   ► panel in overcast look totally different

00:10:37 ◼   ► when when I sipped the 1.0 beta the very

00:10:40 ◼   ► first beta voice boost didn't even exist

00:10:43 ◼   ► by that name it was actually a boost

00:10:46 ◼   ► slider and it had four different modes

00:10:49 ◼   ► and and and smart speed was you know it

00:10:52 ◼   ► was there but everything was kind of

00:10:53 ◼   ► rearranged differently and and over time

00:10:55 ◼   ► and the the wording that the labels were

00:10:57 ◼   ► all different and over that beta I was

00:10:59 ◼   ► able to really refine that panel reduce

00:11:02 ◼   ► voice boost down to either an honor and

00:11:04 ◼   ► off which was actually it's it was at

00:11:05 ◼   ► strongest setting I

00:11:07 ◼   ► just I realized happy to development you

00:11:09 ◼   ► know actually I always just leave it the

00:11:11 ◼   ► strong a setting because that's the best

00:11:13 ◼   ► so obviously let me the other ones and

00:11:15 ◼   ► just make it the strongest setting and

00:11:17 ◼   ► and it you know stuff like that would

00:11:18 ◼   ► reduce user confusion and the beta I

00:11:20 ◼   ► rearranged major parts of the interface

00:11:21 ◼   ► during the beta the directory was was

00:11:24 ◼   ► dramatically changed and added to during

00:11:27 ◼   ► the beta I mean so many things in the

00:11:28 ◼   ► interface so many changes so many you

00:11:30 ◼   ► know boarding of microcopy in the

00:11:32 ◼   ► interface and everything so much of that

00:11:34 ◼   ► was improved simply by asking people

00:11:37 ◼   ► like hey you know what do you think of

00:11:39 ◼   ► this and and watching watching what they

00:11:41 ◼   ► said and seeing what they got and what

00:11:43 ◼   ► they didn't get and what they

00:11:43 ◼   ► misunderstood under the radar this week

00:11:46 ◼   ► is sponsored by image X IMG I XCOM /ut

00:11:51 ◼   ► our image X is basically it's hosted

00:11:54 ◼   ► image processing and image resizing so

00:11:56 ◼   ► so you kind of give them a Quebec end

00:11:58 ◼   ► source of images whether it's your web

00:12:00 ◼   ► server an s3 bucket or even just

00:12:02 ◼   ► arbitrary URLs that you sign and have

00:12:04 ◼   ► them process then you can just serve

00:12:06 ◼   ► their URLs for that for those images in

00:12:08 ◼   ► your apps on your websites anywhere that

00:12:10 ◼   ► you could that you need an image served

00:12:11 ◼   ► over HTTP and you can do real-time

00:12:14 ◼   ► processing on that image just by URL

00:12:16 ◼   ► parameters to their service so I use

00:12:19 ◼   ► image X I used it for a while for

00:12:22 ◼   ► overcast thumbnails it is a fantastic

00:12:24 ◼   ► service for just basic things like

00:12:26 ◼   ► resizing you know like all I need to do

00:12:27 ◼   ► with overcast thumbnails most of the

00:12:29 ◼   ► time is resize them and serve them over

00:12:31 ◼   ► a fast CDN and it does that flawlessly

00:12:33 ◼   ► there I have no complaints about that at

00:12:35 ◼   ► all but also what it does a little more

00:12:38 ◼   ► fancy stuff like for instance you can

00:12:39 ◼   ► serve you know automatically serve

00:12:41 ◼   ► different dpi to different screens so

00:12:43 ◼   ► like if you have a device that it has a

00:12:45 ◼   ► Retina screen versus one that doesn't it

00:12:47 ◼   ► can automatically serve the right dpi to

00:12:49 ◼   ► that to not waste bandwidth or not look

00:12:50 ◼   ► bad you could automatically serve things

00:12:53 ◼   ► like like the WebP e format to devices

00:12:55 ◼   ► that support WebP II things like that

00:12:57 ◼   ► there's all sorts of great stuff you can

00:12:59 ◼   ► do automatically and then also you can

00:13:01 ◼   ► actually adjust the images by using

00:13:02 ◼   ► those URL parameters so you can do

00:13:04 ◼   ► things like you know change the colors

00:13:06 ◼   ► crop them in different ways

00:13:08 ◼   ► rotate them add annotations I mean

00:13:10 ◼   ► there's so much you can do with this

00:13:11 ◼   ► pretty much any kind of like image

00:13:13 ◼   ► filtering tasks that you can do so much

00:13:16 ◼   ► editing technique you can do here just

00:13:18 ◼   ► by changing URL parameters and it all

00:13:19 ◼   ► runs

00:13:20 ◼   ► their proprietary system that is all at

00:13:23 ◼   ► gpu-accelerated it's it is so fast I've

00:13:25 ◼   ► never seen an image processing CDN that

00:13:27 ◼   ► works this quickly and that's why I use

00:13:29 ◼   ► them in matrixes API is very easy to use

00:13:32 ◼   ► I can hurt my own thing myself to do it

00:13:33 ◼   ► in like one function but if you want any

00:13:35 ◼   ► other kind of library support they have

00:13:36 ◼   ► tons of libraries for different

00:13:38 ◼   ► languages including one for Swift from

00:13:40 ◼   ► the developers over at ho dinky so check

00:13:42 ◼   ► this out

00:13:43 ◼   ► image six comm that's IMG I XCOM slash u

00:13:47 ◼   ► TR for under the radar thank you very

00:13:49 ◼   ► much to image chicks for sponsoring our

00:13:50 ◼   ► show once you're out of this beta phase

00:13:53 ◼   ► like you've gotten all this good

00:13:53 ◼   ► feedback from your beta then you have

00:13:56 ◼   ► the interesting thing of how do you

00:13:57 ◼   ► transition to feedback from customers

00:14:00 ◼   ► more generally so you're kind of you're

00:14:02 ◼   ► past this point where fair enough you've

00:14:04 ◼   ► got all this great feedback from a small

00:14:06 ◼   ► group of people you open something up

00:14:07 ◼   ► you put it out as a broader update to

00:14:10 ◼   ► lots of people and then things get

00:14:12 ◼   ► really interesting at least or at least

00:14:14 ◼   ► complicated because suddenly you have

00:14:16 ◼   ► lots and lots of customers who all have

00:14:18 ◼   ► different visions for your app all have

00:14:21 ◼   ► different goals for your app and just by

00:14:24 ◼   ► the volume of like the virtue of having

00:14:25 ◼   ► so many numbers like hopefully your app

00:14:28 ◼   ► is gonna have thousands tens of

00:14:30 ◼   ► thousands hundreds of thousands millions

00:14:32 ◼   ► like you're gonna have such a wide and

00:14:35 ◼   ► varied user base at a certain point that

00:14:37 ◼   ► the feedback you get and the way you

00:14:39 ◼   ► collect and manage that becomes like an

00:14:42 ◼   ► engineering problem in and of itself

00:14:43 ◼   ► it's something that I've over time had

00:14:46 ◼   ► to kind of wrap maybe become more

00:14:48 ◼   ► comfortable with the understanding that

00:14:50 ◼   ► I'm not a I'm never going to make

00:14:52 ◼   ► everybody happy like that's just a given

00:14:54 ◼   ► like right off the bat if you ever are

00:14:56 ◼   ► kind of trying to build an application

00:14:58 ◼   ► catering to everybody you're gonna end

00:15:01 ◼   ► up building like a terrible application

00:15:03 ◼   ► because you just can't do it you're

00:15:05 ◼   ► never gonna make something that makes

00:15:07 ◼   ► everybody happy but you're still are

00:15:09 ◼   ► gonna get a lot of feedback and that's a

00:15:10 ◼   ► good thing like when you get feedback

00:15:12 ◼   ► from a customer you know they send you

00:15:14 ◼   ► an email and say hey I love the app I

00:15:16 ◼   ► wish it did X like that's a good sign

00:15:19 ◼   ► that means they like the app enough to

00:15:21 ◼   ► open up an email their email client then

00:15:23 ◼   ► write down something thoughtful and it's

00:15:25 ◼   ► a big enough part of their life that

00:15:26 ◼   ► they see it as something that could be

00:15:28 ◼   ► better could more fully meet their needs

00:15:31 ◼   ► and that's a good thing

00:15:33 ◼   ► but I've definitely gone down the rabbit

00:15:35 ◼   ► hole many times where I look at that

00:15:38 ◼   ► feedback and be like oh yeah I should do

00:15:39 ◼   ► that I should do that I should do that

00:15:40 ◼   ► and you can end up with a product if you

00:15:42 ◼   ► kept if you kept saying yes to every bit

00:15:45 ◼   ► of that feedback like by version 2 or 3

00:15:48 ◼   ► or what you know several updates down

00:15:50 ◼   ► the road your app is gonna look nothing

00:15:51 ◼   ► like what it really was

00:15:53 ◼   ► especially for fulfilling or like a

00:15:55 ◼   ► smaller shop like what makes my apps

00:15:57 ◼   ► good typically is they're like

00:16:00 ◼   ► simplicity and the design around being

00:16:02 ◼   ► really accessible because I can't build

00:16:05 ◼   ► big monolithic massive structures

00:16:08 ◼   ► because I'm just one guy I have to

00:16:10 ◼   ► always be fighting that tension and so

00:16:12 ◼   ► typically what I'll end up doing is I'll

00:16:14 ◼   ► say hey thank you for the feedback I

00:16:16 ◼   ► appreciate it it helps like inform my

00:16:18 ◼   ► future decisions but I never say or very

00:16:21 ◼   ► rarely will say like yes absolutely

00:16:23 ◼   ► that's a great idea I will definitely do

00:16:24 ◼   ► that it'll be in the next update unless

00:16:27 ◼   ► it's something of course that I'm

00:16:28 ◼   ► already working on but being able to say

00:16:30 ◼   ► no to people was something that I

00:16:32 ◼   ► definitely had to learn it was something

00:16:34 ◼   ► that I had really struggled with early

00:16:35 ◼   ► on how do you deal with feedback from

00:16:38 ◼   ► like the more general public to your

00:16:40 ◼   ► apps you have to consider when you get

00:16:43 ◼   ► feedback you know when somebody is

00:16:45 ◼   ► asking for a feature or asking for a

00:16:47 ◼   ► change it's easy to look at that and say

00:16:49 ◼   ► oh well if I can add this feature or if

00:16:52 ◼   ► I can change the app to work in this way

00:16:54 ◼   ► then I will get X number of people that

00:16:58 ◼   ► will be happier with the app or that

00:16:59 ◼   ► might buy it who wouldn't buy it before

00:17:01 ◼   ► if you keep following the try but you

00:17:03 ◼   ► said like it's very easy to basically

00:17:05 ◼   ► have like the the microsoft office 97

00:17:07 ◼   ► toolbar of app features you know to have

00:17:09 ◼   ► like this giant wall of features really

00:17:12 ◼   ► massive settings areas and and tons of

00:17:14 ◼   ► tons of just complexity and and burden

00:17:17 ◼   ► in the app and I can very easily

00:17:20 ◼   ► overwhelm not just an independent

00:17:21 ◼   ► developer but also the users who have to

00:17:23 ◼   ► see all those options and don't

00:17:24 ◼   ► understand them or might or might

00:17:25 ◼   ► configure them wrong and not understand

00:17:27 ◼   ► how they got there and and so what you

00:17:29 ◼   ► have to consider when when you have

00:17:31 ◼   ► people saying oh if only it had this

00:17:32 ◼   ► feature I would be happier there are

00:17:34 ◼   ► many people who are already happy with

00:17:37 ◼   ► the app the way it is and if you add

00:17:39 ◼   ► things to it or if you change the way

00:17:40 ◼   ► things work they might become less happy

00:17:43 ◼   ► with the app and so that's always been a

00:17:45 ◼   ► very tricky balance for me with overcast

00:17:47 ◼   ► because I when I made overcast it was in

00:17:50 ◼   ► part in response to what I was seeing

00:17:52 ◼   ► from so many podcast apps at the time

00:17:54 ◼   ► which was just so much complexity in the

00:17:57 ◼   ► interface and the settings and

00:17:58 ◼   ► everything and I wanted to make

00:18:00 ◼   ► something simpler a lot of people use

00:18:03 ◼   ► overcast because it was simpler at the

00:18:05 ◼   ► time you know and now you know that now

00:18:06 ◼   ► there's there's a lot of great podcast

00:18:08 ◼   ► after now many of which are that simple

00:18:10 ◼   ► but but at the time that was like a

00:18:12 ◼   ► unique selling point for overcast and I

00:18:14 ◼   ► I never want to ruin that and you know

00:18:17 ◼   ► not only for for myself and for my

00:18:19 ◼   ► customers but also just like for the

00:18:21 ◼   ► quality of the app like if I add too

00:18:23 ◼   ► many features the app gets worse because

00:18:25 ◼   ► it's harder to navigate it's more

00:18:26 ◼   ► complex there's more edge cases that I

00:18:28 ◼   ► might not be able to test as reliably as

00:18:29 ◼   ► I test the core functionality it's a

00:18:31 ◼   ► very tricky balance like in in 2.0 I

00:18:34 ◼   ► added streaming and I thought it would

00:18:37 ◼   ► be amazing if you could just tap any

00:18:39 ◼   ► episode and before tapping an episode

00:18:42 ◼   ► would just download it if you didn't

00:18:43 ◼   ► already have it downloaded and you'd

00:18:44 ◼   ► have to wait for it to download before

00:18:45 ◼   ► it would play and in 2.0 I think well

00:18:48 ◼   ► now I have a streaming engine so if you

00:18:50 ◼   ► tap on an episode now I'm just going to

00:18:52 ◼   ► start playing the episode just start

00:18:54 ◼   ► streaming it and that'll be amazing and

00:18:56 ◼   ► to me it was amazing

00:18:58 ◼   ► but the the number one feedback I've

00:19:00 ◼   ► gotten for 2.0 has been how do I turn

00:19:03 ◼   ► that off and just go back to the old way

00:19:05 ◼   ► of doing it because I want to just go

00:19:07 ◼   ► download a bunch of stuff I don't want

00:19:08 ◼   ► to start playback immediately now

00:19:10 ◼   ► downloading things requires two two

00:19:12 ◼   ► steps you know it's half the input

00:19:13 ◼   ► button and tap downloads look now I've

00:19:15 ◼   ► made the way that people used to do it a

00:19:17 ◼   ► little bit harder because I thought the

00:19:18 ◼   ► new way was better but not everybody

00:19:20 ◼   ► thinks so and so now and so now I have

00:19:23 ◼   ► to weigh this decision of like well do I

00:19:24 ◼   ► add another option for that do I change

00:19:27 ◼   ► the interface to be more like kind I

00:19:28 ◼   ► like the way when you tap a tweet and

00:19:30 ◼   ► Tweetbot it rather than going directly

00:19:32 ◼   ► to something it expands a little like

00:19:34 ◼   ► button panel below it I thought about

00:19:36 ◼   ► maybe doing something like that there's

00:19:38 ◼   ► now I have I have this property to solve

00:19:40 ◼   ► and no matter how I solve it if I leave

00:19:42 ◼   ► it the same as it is now or if I add a

00:19:45 ◼   ► setting to just toggle the old behavior

00:19:46 ◼   ► back on which i think is kind of the

00:19:48 ◼   ► worst way of doing things or leave the

00:19:49 ◼   ► way it is now in which case the you know

00:19:51 ◼   ► somebody's angry or the app is slightly

00:19:53 ◼   ► worse or I can do the Tweetbot button

00:19:55 ◼   ► row thing when you tap an episode cell

00:19:57 ◼   ► which will anger the people who like the

00:19:59 ◼   ► streaming immediately approach

00:20:01 ◼   ► now I'm adding I'm making that two taps

00:20:03 ◼   ► for that instead of one so none of these

00:20:05 ◼   ► are perfect and that's the thing when

00:20:08 ◼   ► you're facing app design decisions like

00:20:10 ◼   ► this and when you're dealing with

00:20:11 ◼   ► people's feedback nothing you do will be

00:20:13 ◼   ► perfect nothing you do will satisfy

00:20:15 ◼   ► everybody and so you basically just have

00:20:17 ◼   ► to fit you kind of have to develop a

00:20:19 ◼   ► sense yourself and you can you can see

00:20:21 ◼   ► the results - you kind of have to

00:20:22 ◼   ► develop a sense yourself of what will

00:20:25 ◼   ► probably please the most people and

00:20:27 ◼   ► result in the best app I feel like it's

00:20:30 ◼   ► it's relatively counterproductive to

00:20:33 ◼   ► think too much about what were people

00:20:36 ◼   ► accustomed to before because all your

00:20:39 ◼   ► new customers just see the new app and

00:20:40 ◼   ► the app at the app as a thing the app is

00:20:44 ◼   ► a concept is what it is today not what

00:20:47 ◼   ► it was two years ago and so even as

00:20:49 ◼   ► you're bringing your customer base

00:20:50 ◼   ► forward through updates I always think

00:20:53 ◼   ► it's way more important to have a better

00:20:55 ◼   ► app today and a better app for tomorrow

00:20:58 ◼   ► than it is to please everybody who

00:21:01 ◼   ► wanted everything done the old way so as

00:21:04 ◼   ► I'm weighing this feedback about

00:21:05 ◼   ► overcast streaming versus downloading

00:21:06 ◼   ► when you tap on the thing I'm not really

00:21:08 ◼   ► considering you know do I do I give that

00:21:11 ◼   ► option to people to just toggle it back

00:21:12 ◼   ► the way it was before because that that

00:21:15 ◼   ► to me is like losing the quality fight

00:21:17 ◼   ► because that is just adding another

00:21:18 ◼   ► option that new new people will go into

00:21:20 ◼   ► the app not knowing or caring what that

00:21:22 ◼   ► does if they accidentally turn it on the

00:21:24 ◼   ► app will start behaving differently and

00:21:25 ◼   ► they'll think it's weird and if they

00:21:26 ◼   ► didn't remember how to turn it on so I'm

00:21:28 ◼   ► not really considering that option I'm

00:21:30 ◼   ► more considering like probably the doing

00:21:32 ◼   ► the tweet button row thing instead

00:21:34 ◼   ► because I think overall if I was

00:21:36 ◼   ► starting from scratch now that I have

00:21:38 ◼   ► many different things you can do on an

00:21:40 ◼   ► episode rather than just tapping it to

00:21:41 ◼   ► download it that is probably the best

00:21:43 ◼   ► approach so that's probably what I'm

00:21:44 ◼   ► going to do because I'm thinking about

00:21:45 ◼   ► what what what will make the best app if

00:21:48 ◼   ► somebody looks at it for the very first

00:21:49 ◼   ► time not how do I please everybody

00:21:52 ◼   ► throughout history because not only is

00:21:55 ◼   ► that not good for app quality but it's

00:21:57 ◼   ► impossible and I think it also speaks a

00:22:00 ◼   ► little bit to one of the other traps

00:22:02 ◼   ► that I know I've run into a lot with

00:22:03 ◼   ► feedback is the trap that it's very easy

00:22:07 ◼   ► to over weight the feedback you get

00:22:11 ◼   ► proportional to the size of your user

00:22:14 ◼   ► base

00:22:15 ◼   ► so like the only who you hear from are

00:22:18 ◼   ► the people who are I typically very

00:22:20 ◼   ► upset or very happy and the entire like

00:22:24 ◼   ► middle of your user base which is

00:22:26 ◼   ► probably in many ways the more important

00:22:27 ◼   ► group of your user base you'd hear

00:22:31 ◼   ► nothing from its I've definitely fallen

00:22:34 ◼   ► into the trap several times where like

00:22:35 ◼   ► I'll get a feature request like once a

00:22:39 ◼   ► week for like six weeks and from

00:22:42 ◼   ► uniforms from six different people and

00:22:45 ◼   ► because it's happening at the sort of

00:22:47 ◼   ► interval in my mind it's like oh wow

00:22:49 ◼   ► people are could keep asking for this

00:22:51 ◼   ► this must be really important but then

00:22:54 ◼   ► you take a step back it's like six

00:22:55 ◼   ► people have asked for this feature like

00:22:58 ◼   ► the app has 1.4 million users and six

00:23:02 ◼   ► people have asked for it like it's very

00:23:04 ◼   ► hard to not conflate those things and

00:23:07 ◼   ► make it feel like wow this is really

00:23:09 ◼   ► important because the only people you

00:23:11 ◼   ► hear from like there's the self

00:23:13 ◼   ► selection for people who want things

00:23:16 ◼   ► changed whereas all the people who want

00:23:18 ◼   ► status quo or at least who are happy

00:23:21 ◼   ► with what it is you never hear from and

00:23:23 ◼   ► that's a really funny dynamic that you

00:23:26 ◼   ► then have to have to like balance with

00:23:27 ◼   ► and get comfortable with to say like

00:23:29 ◼   ► okay like is this when I'm like if I get

00:23:32 ◼   ► what care what it actually is a lot of

00:23:35 ◼   ► feedback like it is has like 10% of my

00:23:38 ◼   ► user base reached out to me to ask me

00:23:40 ◼   ► for a feature like if they do like

00:23:42 ◼   ► that's probably worth paying attention

00:23:43 ◼   ► to

00:23:44 ◼   ► I probably never gotten feedback beyond

00:23:46 ◼   ► like every - every now and then where

00:23:48 ◼   ► I'll you'll accidentally like ship a

00:23:49 ◼   ► horribly horrible crashing bug in which

00:23:52 ◼   ► case fair enough you hear from a lot of

00:23:53 ◼   ► people saying fix the crashing bug and

00:23:55 ◼   ► you know that's like good feedback I

00:23:56 ◼   ► will definitely fix but in general like

00:23:59 ◼   ► you just you just kind of have to go

00:24:01 ◼   ► with it and I think we're to wind this

00:24:03 ◼   ► down is to focus on in order to build

00:24:06 ◼   ► software I think you have to be able to

00:24:09 ◼   ► have a vision for what you want the app

00:24:11 ◼   ► to do like you're trying to build this

00:24:14 ◼   ► vision it's been a bit abstract but it's

00:24:18 ◼   ► like you want have someone to like they

00:24:20 ◼   ► know it's yours they know what the app

00:24:21 ◼   ► is like it has a personality maybe

00:24:23 ◼   ► that's the right way to say it's like

00:24:24 ◼   ► you're trying to create this persona

00:24:26 ◼   ► that your app

00:24:27 ◼   ► and doing things that ultimately will be

00:24:31 ◼   ► counter to that persona are probably

00:24:33 ◼   ► going to be counterproductive when you

00:24:34 ◼   ► get feedback that are people who are

00:24:36 ◼   ► like it's like I like your app but I

00:24:38 ◼   ► want it to be something else it's like

00:24:39 ◼   ► they really want your app to be a

00:24:40 ◼   ► different person to have a different

00:24:42 ◼   ► personality and you have to then build

00:24:45 ◼   ► this you know this whatever the like the

00:24:47 ◼   ► confidence even to say no this app is

00:24:50 ◼   ► about this like it's about simplicity

00:24:52 ◼   ► and focus and ease of use or it's about

00:24:55 ◼   ► you know maybe it is a really strong

00:24:57 ◼   ► like complicated advanced thing in which

00:24:59 ◼   ► case is like yeah let's we every feature

00:25:02 ◼   ► I can think of all the settings all the

00:25:04 ◼   ► options the more the better but you need

00:25:06 ◼   ► as a developer to have that confidence

00:25:08 ◼   ► to be able to say like this is what my

00:25:09 ◼   ► app is this is the way it should work

00:25:11 ◼   ► and to then just be able to go with that

00:25:13 ◼   ► and make that work sounds good alright

00:25:17 ◼   ► that's it for this week thank you very

00:25:19 ◼   ► much for listening please rate us and /

00:25:21 ◼   ► or please recommend us an overcast and

00:25:22 ◼   ► tell your friends about our show help us

00:25:24 ◼   ► grow and we'll talk to you next week bye