PodSearch

Under the Radar

Under the Radar 118: Original Research

 

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

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

00:00:03 ◼   ► Marco Arment and I'm David Smith under

00:00:06 ◼   ► the radar is never longer than 30

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

00:00:09 ◼   ► so this week as as is often the case I

00:00:13 ◼   ► think when topics can come out of a

00:00:15 ◼   ► current work that where did that do

00:00:17 ◼   ► we're doing I feel like we tend to get

00:00:19 ◼   ► the best topics and and this week's

00:00:20 ◼   ► topic I think comes from work I'm doing

00:00:23 ◼   ► currently in my Apsley plus plus which

00:00:25 ◼   ► is a sleep tracker where I'm working on

00:00:28 ◼   ► doing automatic sleep detection and

00:00:31 ◼   ► sleep analysis which is a feature that

00:00:33 ◼   ► I've long been along been asked for by

00:00:35 ◼   ► my users but I've never hadn't quite

00:00:38 ◼   ► quite gotten to and so I'm good for the

00:00:40 ◼   ► last week or so this is what I've been

00:00:42 ◼   ► working on and the process so far has

00:00:44 ◼   ► been pretty promising that this is

00:00:46 ◼   ► something that I'm going to be able to

00:00:47 ◼   ► do but I think there's an interesting

00:00:49 ◼   ► topic and a broader thing to talk about

00:00:51 ◼   ► in just sort of generally talking about

00:00:54 ◼   ► things that are kind of feel like

00:00:55 ◼   ► original research or a primary research

00:00:57 ◼   ► you could call it so often when we're

00:01:00 ◼   ► developing something when we're making

00:01:02 ◼   ► up an app or a product it's there's much

00:01:06 ◼   ► of it that is is not new or novel in any

00:01:09 ◼   ► real sense you know if you're you know

00:01:11 ◼   ► the process of you know taking data

00:01:14 ◼   ► putting it in a database taking that

00:01:15 ◼   ► data out putting it in a table view like

00:01:18 ◼   ► that there's nothing original and

00:01:20 ◼   ► special there but and often if you want

00:01:24 ◼   ► to have something at an app that's

00:01:25 ◼   ► really compelling or has a hook to it

00:01:28 ◼   ► you're going to have to do things that

00:01:30 ◼   ► are beyond that and so in many ways you

00:01:33 ◼   ► end up kind of doing this kind of

00:01:34 ◼   ► research you kind of inventing something

00:01:36 ◼   ► in a real sense of the word invention

00:01:39 ◼   ► and not every app has to have this

00:01:43 ◼   ► certainly but it is something that I've

00:01:44 ◼   ► found that is good to have in your

00:01:47 ◼   ► toolbox as something that you're not

00:01:48 ◼   ► scared to try that if you have an idea

00:01:51 ◼   ► about I wonder if I could do this kind

00:01:53 ◼   ► of you know usually there's some kind of

00:01:55 ◼   ► processing involved you know maybe it's

00:01:57 ◼   ► image processing you're working on a

00:01:58 ◼   ► camera app and you want to do some kind

00:02:00 ◼   ► of image filters or an audio app and

00:02:02 ◼   ► maybe you're doing some audio processing

00:02:04 ◼   ► or in my case I'm doing you know I'm

00:02:06 ◼   ► analyzing a user's movement and heart

00:02:09 ◼   ► rate and

00:02:10 ◼   ► that kind of thing there's usually some

00:02:12 ◼   ► kind of processing involved and doing

00:02:15 ◼   ► this kind of research I think gives your

00:02:17 ◼   ► app an advantage both in terms of it

00:02:21 ◼   ► being more useful to your customers

00:02:23 ◼   ► which is probably far more important

00:02:24 ◼   ► that you know my goal with doing

00:02:26 ◼   ► automatic sleep detection is that more

00:02:28 ◼   ► people will track their sleep more often

00:02:31 ◼   ► because they won't have to remember to

00:02:33 ◼   ► start and stop the motion tracking like

00:02:35 ◼   ► they do currently it'll just happen

00:02:37 ◼   ► automatically which sounds great but

00:02:40 ◼   ► it's also creates this nice little sort

00:02:42 ◼   ► of competitive advantage that there's

00:02:44 ◼   ► now this little moat around your app

00:02:46 ◼   ► that anybody who wants to compete to

00:02:49 ◼   ► feature by feature with you now has to

00:02:51 ◼   ► go through and build it themselves they

00:02:55 ◼   ► have to do that research they have to

00:02:56 ◼   ► work out how to do it in fair enough

00:03:00 ◼   ► it's easier the second time you know

00:03:01 ◼   ► somebody looking at what you have done

00:03:05 ◼   ► even if they'd never see your code or

00:03:07 ◼   ► understand your methodology and simply

00:03:09 ◼   ► knowing that a solution exists with a

00:03:12 ◼   ► given set of inputs is you know a

00:03:14 ◼   ► tremendous advantage versus the number

00:03:16 ◼   ► of times that I've gone down a road

00:03:17 ◼   ► where I'm like I wonder if I could and

00:03:19 ◼   ► then I spend a week and I work on

00:03:20 ◼   ► something and it doesn't work out and so

00:03:22 ◼   ► I give up and that never sees the light

00:03:24 ◼   ► of day it's easier knowing that a

00:03:26 ◼   ► solution does exist but it's totally

00:03:28 ◼   ► competitive advantage it's still a road

00:03:29 ◼   ► that they have to go down and work that

00:03:31 ◼   ► they have to have to do so it's an

00:03:34 ◼   ► advantage in that regard and as I was

00:03:36 ◼   ► working on my stuff I was thinking with

00:03:37 ◼   ► you buy you Marco and how voice boosts

00:03:40 ◼   ► and smart speed are two kind of similar

00:03:43 ◼   ► types of things that weren't necessarily

00:03:45 ◼   ► like your app was the first one to ever

00:03:47 ◼   ► do them but the way that you've done

00:03:48 ◼   ► them and the work that you did to you

00:03:51 ◼   ► know to add those to your app is now

00:03:53 ◼   ► this competitive advantage that you know

00:03:56 ◼   ► you can sort of hold over your

00:03:58 ◼   ► competitors yeah I mean I I've said

00:04:01 ◼   ► before that I think kind of a recipe for

00:04:04 ◼   ► a pretty good useful app that is kind of

00:04:07 ◼   ► a good balance between diving in and

00:04:10 ◼   ► spending a whole bunch of time on hard

00:04:11 ◼   ► stuff nobody will ever notice versus

00:04:13 ◼   ► being really basic and having no

00:04:15 ◼   ► competitive advantage and having no

00:04:16 ◼   ► compelling features I think a really

00:04:18 ◼   ► good balance between those two is do

00:04:20 ◼   ► like

00:04:22 ◼   ► or to hard things in your app and do

00:04:25 ◼   ► everything else doesn't need to be like

00:04:26 ◼   ► a hard impressive technical thing but if

00:04:28 ◼   ► you have like one or two that can really

00:04:31 ◼   ► make an app and you know for instant

00:04:34 ◼   ► paper originally that was the text

00:04:35 ◼   ► parser and later on I did like some

00:04:38 ◼   ► Kindle stuff that was a little bit crazy

00:04:39 ◼   ► and and like you know weird like things

00:04:42 ◼   ► with pagination on the iPhone like but

00:04:44 ◼   ► that was a relatively small number of

00:04:45 ◼   ► features ultimately the the great value

00:04:47 ◼   ► of that app was pretty boring stuff and

00:04:51 ◼   ► then you know the text parser was like

00:04:53 ◼   ► the big one and for overcast yeah I

00:04:55 ◼   ► think smart speed and voice booster are

00:04:57 ◼   ► pretty significant features that are you

00:05:00 ◼   ► know that are hard and and you know

00:05:02 ◼   ► require some some deep learning or not

00:05:05 ◼   ► deep learning require like some deep

00:05:07 ◼   ► knowledge of low-level audio

00:05:09 ◼   ► manipulation and and audio mastering and

00:05:12 ◼   ► stuff like that to really do that well

00:05:13 ◼   ► and I had to learn a lot of that stuff

00:05:17 ◼   ► and it was hard I happen to like that

00:05:19 ◼   ► kind of hard work so it was it was fun

00:05:21 ◼   ► for me and it still is fun and whenever

00:05:23 ◼   ► I work on it today but that was really

00:05:26 ◼   ► hard stuff I had to learn mostly by like

00:05:29 ◼   ► Google searches and trial and error of

00:05:32 ◼   ► things like DSP audio processing like

00:05:36 ◼   ► how to do that and what I'm actually

00:05:38 ◼   ► manipulating with the audio signals and

00:05:40 ◼   ► and how not to do it and all the

00:05:42 ◼   ► different ways to do it that make it

00:05:43 ◼   ► sound crappy so I can avoid those ways

00:05:45 ◼   ► and and eventually figuring out ways to

00:05:47 ◼   ► do it that sound good or that that can't

00:05:50 ◼   ► be noticed that that is all really hard

00:05:54 ◼   ► work but I've always enjoyed like that

00:05:57 ◼   ► kind of like low-level data work not

00:05:59 ◼   ► necessarily in a sense like big data but

00:06:01 ◼   ► like just like working like working them

00:06:03 ◼   ► in low-level C functions on in

00:06:05 ◼   ► performance in performance critical like

00:06:08 ◼   ► large blocks of numbers and operations

00:06:11 ◼   ► using things like the like the

00:06:13 ◼   ► accelerate functions in iOS like I

00:06:15 ◼   ► always like that stuff but if I spend

00:06:18 ◼   ► all of my time doing that in overcast

00:06:19 ◼   ► dial I would be unbalanced like you know

00:06:23 ◼   ► right now like I'm kind of battling my

00:06:25 ◼   ► in with my self-discipline what I really

00:06:28 ◼   ► want to be working on a lot of the time

00:06:29 ◼   ► is the work I'm doing for voice boost

00:06:31 ◼   ► too which is just rarely voice boosts

00:06:34 ◼   ► but just it's gonna sound better

00:06:35 ◼   ► work better with more stuff and that's

00:06:39 ◼   ► all this wonderful low-level stuff

00:06:40 ◼   ► making my own audio processing functions

00:06:43 ◼   ► and everything and it's gonna be it's

00:06:45 ◼   ► it's exactly this kind of thing but what

00:06:48 ◼   ► my customers actually want is not it's

00:06:52 ◼   ► for me to make voice boos to for the

00:06:54 ◼   ► most part but my customers really want

00:06:56 ◼   ► is boring stuff like everybody wants me

00:06:58 ◼   ► to give them like a smart playlist that

00:07:00 ◼   ► shows all their starred items that's a

00:07:03 ◼   ► really boring thing that I need to do

00:07:05 ◼   ► because that's what they actually want

00:07:07 ◼   ► most of the app is boring stuff like

00:07:09 ◼   ► that like download management and you

00:07:12 ◼   ► know basic you know UI for things I

00:07:14 ◼   ► still don't have a way for people to

00:07:15 ◼   ► change their email address on their

00:07:16 ◼   ► account because it's stuff like that

00:07:19 ◼   ► that's what people actually want so it's

00:07:22 ◼   ► important at when you're doing like

00:07:24 ◼   ► these kind of like cool fun like low

00:07:26 ◼   ► level math type features or data

00:07:27 ◼   ► analysis type features it's important to

00:07:29 ◼   ► make sure you also keep that balance

00:07:31 ◼   ► though of not spending too much of your

00:07:34 ◼   ► time on it and as much as that this is

00:07:37 ◼   ► kind of cynical but not wasting too much

00:07:40 ◼   ► time on stuff that's really hard to

00:07:42 ◼   ► market to people like one of the one of

00:07:45 ◼   ► the reasons why a lot of people assume

00:07:48 ◼   ► that overcast invented silence skipping

00:07:50 ◼   ► and dynamic processing on podcasts is

00:07:53 ◼   ► because I was the first one to figure

00:07:54 ◼   ► out how to market those features to

00:07:56 ◼   ► people and that like and a lot and that

00:08:00 ◼   ► isn't just like you know dumping money

00:08:02 ◼   ► into ads I didn't actually ever really

00:08:04 ◼   ► do that like it not until recently have

00:08:07 ◼   ► I tried that marketing that you know

00:08:10 ◼   ► this kind of feature is about making

00:08:13 ◼   ► sure people know it's there and telling

00:08:16 ◼   ► them why it's so good in some way and so

00:08:19 ◼   ► for these features like I gave them

00:08:21 ◼   ► names that were not just like you know

00:08:24 ◼   ► plain text descriptions I didn't say

00:08:25 ◼   ► like shortened silences and I didn't say

00:08:28 ◼   ► boost the volume or use a dynamics

00:08:31 ◼   ► compressor like I didn't mean those

00:08:33 ◼   ► features those things I gave them

00:08:35 ◼   ► branded names I trademarked those names

00:08:37 ◼   ► I put those names on everything

00:08:40 ◼   ► I added features like it showed you how

00:08:43 ◼   ► much time you had saved with the silent

00:08:45 ◼   ► skipper feature because I need to show

00:08:48 ◼   ► people that this

00:08:49 ◼   ► that when it's turned on they don't

00:08:51 ◼   ► really notice is doing something for

00:08:53 ◼   ► them and all of that was to help market

00:08:58 ◼   ► these features that I spent a lot of

00:09:00 ◼   ► time on this low level fun stuff because

00:09:02 ◼   ► otherwise nobody would know they were

00:09:04 ◼   ► there and the few people who would find

00:09:06 ◼   ► them and turn them on wouldn't really

00:09:09 ◼   ► understand how good they are because

00:09:10 ◼   ► they're both kind of like subtle effects

00:09:13 ◼   ► most of the time and so they both kind

00:09:16 ◼   ► of like they help you out in a subtle

00:09:17 ◼   ► way but if you don't know that if you're

00:09:19 ◼   ► not being shown or told that in some

00:09:22 ◼   ► compelling way then a lot of that effort

00:09:24 ◼   ► is wasted and so it's very important

00:09:28 ◼   ► when you're when you're planning these

00:09:29 ◼   ► kind of features to make sure that a

00:09:31 ◼   ► you're not spending too much time on

00:09:34 ◼   ► them to the exclusion of features that

00:09:37 ◼   ► people actually need or want more and be

00:09:40 ◼   ► that you're not going to invest a ton of

00:09:41 ◼   ► time into something like this that is

00:09:42 ◼   ► unmarketable in some way like you have

00:09:44 ◼   ► to include in your planning for features

00:09:47 ◼   ► like this how you're going to

00:09:49 ◼   ► communicate the existence and the value

00:09:52 ◼   ► of these features to your customers yeah

00:09:55 ◼   ► and I think what's cool is that once

00:09:57 ◼   ► you've done that like if you work out a

00:09:58 ◼   ► way to communicate to your customer that

00:10:01 ◼   ► you do this you do some hard work you

00:10:04 ◼   ► can find a way to communicate that to

00:10:05 ◼   ► your customer you end up with a

00:10:07 ◼   ► something that is really compelling in a

00:10:10 ◼   ► weirdly insidious way that like I

00:10:13 ◼   ► struggled to I feel bad if I listen to

00:10:16 ◼   ► podcast type

00:10:18 ◼   ► like a long-form audio without the

00:10:21 ◼   ► silences removed now because that in my

00:10:23 ◼   ► back of my mind I feel like I'm wasting

00:10:25 ◼   ► time and so like that is a hook that you

00:10:28 ◼   ► now have like placed in me that if I

00:10:29 ◼   ► listen to something long form I will

00:10:31 ◼   ► find a way to turn that into is

00:10:34 ◼   ► something that I can listen to with

00:10:36 ◼   ► something like smart speed just because

00:10:38 ◼   ► it's now that's what I expect because

00:10:41 ◼   ► you've wrapped it out you've wrapped up

00:10:42 ◼   ► this kind of original like it's not

00:10:44 ◼   ► original in the sense that you were the

00:10:47 ◼   ► first person to come up with it but

00:10:48 ◼   ► original in the sense that you had to do

00:10:50 ◼   ► a lot of a hard low level work to make

00:10:52 ◼   ► it happen

00:10:53 ◼   ► you don't just build it it's not just

00:10:54 ◼   ► like av you're not just doing your ABA v

00:10:57 ◼   ► player dot you know remove silence is

00:11:01 ◼   ► equal true like

00:11:02 ◼   ► that was the case I wish it was that

00:11:04 ◼   ► easy like that would be great right but

00:11:06 ◼   ► that's not the case you had to do all of

00:11:08 ◼   ► this her whole cloth development to make

00:11:10 ◼   ► it work I think now you have this great

00:11:12 ◼   ► little advantage that you know it one of

00:11:15 ◼   ► the things that would keep it keeps me

00:11:16 ◼   ► an overcast rather than another podcast

00:11:18 ◼   ► player is that I don't want to lose that

00:11:21 ◼   ► the this thing that I now have and so

00:11:23 ◼   ► it's this little mote that other people

00:11:25 ◼   ► could certainly build it it's not like

00:11:26 ◼   ► it's technically crazy to build a smart

00:11:29 ◼   ► speed or to build build voice boost but

00:11:31 ◼   ► it's you know building building an app

00:11:33 ◼   ► in general is difficult and then taste

00:11:35 ◼   ► tackling one of these features you know

00:11:38 ◼   ► is also kind of hard so it's just this

00:11:40 ◼   ► nice little it's it's undertaking one of

00:11:43 ◼   ► these I think you're definitely right

00:11:44 ◼   ► though be careful that you're like

00:11:45 ◼   ► taking on something that you can show

00:11:47 ◼   ► you can show you have something to show

00:11:48 ◼   ► for at the end but if you do and it does

00:11:50 ◼   ► make sense like it's a wonderful little

00:11:53 ◼   ► it's a wonderful way to create value

00:11:56 ◼   ► that is heart you know it's defensible

00:11:58 ◼   ► rather than you know easily easily

00:12:00 ◼   ► copied by somebody else but it's also

00:12:02 ◼   ► it's important to also realize that like

00:12:04 ◼   ► nothing is gonna be yours forever like

00:12:06 ◼   ► overcast was the only mass-market

00:12:09 ◼   ► podcast player that had these features

00:12:11 ◼   ► for a while but now it isn't and in you

00:12:15 ◼   ► know and it ever really was the absolute

00:12:16 ◼   ► only one but it was it was you know the

00:12:18 ◼   ► only like really mass-market one and now

00:12:21 ◼   ► it's not and it's and more of them are

00:12:24 ◼   ► gonna keep adding features like this

00:12:26 ◼   ► like I had a couple good years there it

00:12:28 ◼   ► bought me some time you know similar to

00:12:30 ◼   ► like Apple with the iPhone launched the

00:12:31 ◼   ► original iPhone and you know Steve

00:12:33 ◼   ► famously said that it was five years

00:12:35 ◼   ► ahead of the competition and that

00:12:36 ◼   ► basically proved to be true it that was

00:12:38 ◼   ► that was roughly correct like it took

00:12:40 ◼   ► Android a long time to to reach like the

00:12:42 ◼   ► minimum quality that the iPhone had you

00:12:44 ◼   ► know years earlier and so it you know it

00:12:47 ◼   ► buys you some time when you have

00:12:49 ◼   ► something like this but not necessarily

00:12:52 ◼   ► tons of time and it's definitely a

00:12:53 ◼   ► limited amount like it it will it will

00:12:55 ◼   ► end and so it's important not to rest on

00:12:58 ◼   ► your laurels and and not to assume that

00:13:00 ◼   ► something cool you do is going to be

00:13:02 ◼   ► yours forever so maybe that's doing

00:13:05 ◼   ► cooler things maybe that's finding other

00:13:07 ◼   ► ways to remain competitive you know in

00:13:10 ◼   ► in the future but you know keep in mind

00:13:13 ◼   ► that you know when you're when you're

00:13:14 ◼   ► deciding what to do when you're planning

00:13:16 ◼   ► out

00:13:16 ◼   ► your app when you are trying to allocate

00:13:19 ◼   ► time keep in mind again the value of

00:13:20 ◼   ► these features will not last forever so

00:13:23 ◼   ► let that inform how much time that you

00:13:25 ◼   ► allocate to them anyway we are brought

00:13:29 ◼   ► to you this week by Squarespace enter

00:13:31 ◼   ► offer code radar at checkout to get 10%

00:13:33 ◼   ► off your first purchase make your next

00:13:35 ◼   ► move with Squarespace

00:13:37 ◼   ► Squarespace lets you easily create a

00:13:39 ◼   ► website for your next idea with a unique

00:13:41 ◼   ► domain award-winning templates and much

00:13:43 ◼   ► more whether you want to create an

00:13:45 ◼   ► online store or a portfolio site or a

00:13:47 ◼   ► blog or even a podcast Squarespace is an

00:13:51 ◼   ► all-in-one platform that lets you do any

00:13:53 ◼   ► of those things or all of those things

00:13:55 ◼   ► there's nothing to install no patches or

00:13:58 ◼   ► updates to worry about no upgrades to do

00:14:00 ◼   ► you don't have to worry about any of

00:14:01 ◼   ► that stuff because Squarespace has it

00:14:04 ◼   ► covered and if there's anything that you

00:14:06 ◼   ► need help with or if anything goes wrong

00:14:07 ◼   ► they have award-winning 24/7 customer

00:14:10 ◼   ► support if you need any help they let

00:14:12 ◼   ► you quickly and easily grab a unique

00:14:14 ◼   ► domain name and your getting started and

00:14:15 ◼   ► all of these award-winning templates

00:14:17 ◼   ► they have are beautifully designed for

00:14:19 ◼   ► you to show off your great ideas and you

00:14:21 ◼   ► can customize the template to your

00:14:23 ◼   ► heart's content really make it yours

00:14:25 ◼   ► Squarespace plans start at just $12 a

00:14:28 ◼   ► month and you can start a free trial

00:14:30 ◼   ► with no credit card required by going to

00:14:33 ◼   ► Squarespace com

00:14:34 ◼   ► when you sign up make sure to use the

00:14:35 ◼   ► offer code radar to get 10% off your

00:14:37 ◼   ► first purchase and show your support for

00:14:39 ◼   ► under the radar

00:14:40 ◼   ► we thank Squarespace for their support

00:14:42 ◼   ► Squarespace make your next move make

00:14:44 ◼   ► your next website so now that you

00:14:48 ◼   ► decided that you're going to go down the

00:14:49 ◼   ► road of doing some kind of an original

00:14:51 ◼   ► research project to like add a new

00:14:53 ◼   ► feature to your app I was thinking how

00:14:55 ◼   ► do you say it's like it's like there's

00:14:58 ◼   ► lots of different approaches I think you

00:14:59 ◼   ► can take to something like that and one

00:15:01 ◼   ► thing that I wanted to start off talking

00:15:02 ◼   ► about is how when I do these types of

00:15:05 ◼   ► things I always take a very guess you

00:15:08 ◼   ► call it the empirical approach rather

00:15:10 ◼   ► than the theoretical approach that I try

00:15:14 ◼   ► and just you know I get in there and I

00:15:17 ◼   ► just start to build things I try a lot

00:15:19 ◼   ► of things and it's just experiment I try

00:15:22 ◼   ► and generate a lot of data as best I can

00:15:24 ◼   ► and then we will run you know run the

00:15:28 ◼   ► test a test you know test cases through

00:15:31 ◼   ► my system whatever it may be because I

00:15:34 ◼   ► find that I'm just not very academic and

00:15:36 ◼   ► I used to I think earlier in my career

00:15:40 ◼   ► be intimidated about by the fact that I

00:15:42 ◼   ► just wasn't particularly academic in

00:15:44 ◼   ► that way that I'm not coming at it from

00:15:45 ◼   ► a you know a theoretical approach that

00:15:49 ◼   ► I'm then trying to work out how to

00:15:51 ◼   ► implement ice in many ways I start with

00:15:54 ◼   ► implementations I start with just like

00:15:55 ◼   ► well let me see if this works well let

00:15:57 ◼   ► me see if this works and I in theory a

00:16:00 ◼   ► theoretical approach would help you get

00:16:02 ◼   ► to the right solution more directly or

00:16:05 ◼   ► at least in a more straightforward way

00:16:06 ◼   ► but it would encourage anybody who

00:16:09 ◼   ► doesn't have who's slightly intimidated

00:16:11 ◼   ► by the feeling that oh man's like this

00:16:14 ◼   ► needs to be super theoretical it's like

00:16:15 ◼   ► maybe medium depending what you're

00:16:18 ◼   ► working on but often a more direct

00:16:20 ◼   ► empirical just like kind of where do

00:16:23 ◼   ► your do your best approach will often

00:16:24 ◼   ► get there and in my experience you know

00:16:27 ◼   ► gets you gets you there well enough and

00:16:28 ◼   ► can you know that allow you to create

00:16:31 ◼   ► these features without needing a lot of

00:16:33 ◼   ► theoretical knowledge without a lot of

00:16:34 ◼   ► deep and potentially like the deep

00:16:36 ◼   ► understanding you may not understand

00:16:37 ◼   ► exactly why yeah particularly method is

00:16:40 ◼   ► working but it can work for you and you

00:16:42 ◼   ► know you could bargain with it that's

00:16:44 ◼   ► good or not but I found it to work well

00:16:45 ◼   ► so do you know just an encouragement it

00:16:47 ◼   ► don't be don't be too scared of things

00:16:50 ◼   ► if you can just sort of approach them

00:16:52 ◼   ► more directly yeah I I too am pretty

00:16:55 ◼   ► weak on the academic side I'm especially

00:16:57 ◼   ► weak in in the advanced math really like

00:17:00 ◼   ► things like you know calculus I really

00:17:03 ◼   ► never took or I took it but failed it um

00:17:06 ◼   ► you know most of the advanced like

00:17:07 ◼   ► linear algebra stuff I have a very very

00:17:10 ◼   ► weak understanding of really almost all

00:17:12 ◼   ► advanced math I really just either never

00:17:15 ◼   ► took in college and just never learned

00:17:17 ◼   ► it afterwards or I took it and took it

00:17:19 ◼   ► so poorly that I really just know

00:17:21 ◼   ► nothing about it

00:17:21 ◼   ► so whenever I'm looking up online

00:17:24 ◼   ► looking up some kind of algorithm and

00:17:26 ◼   ► and I started to see the mathematic

00:17:27 ◼   ► notation I'm just like ah crap I'm

00:17:30 ◼   ► probably not gonna figure this out and

00:17:32 ◼   ► sometimes like try and plow through and

00:17:34 ◼   ► the simpler ones I can I can kind of

00:17:36 ◼   ► work out like the pseudocode of how to

00:17:38 ◼   ► do in my language that I know what there

00:17:42 ◼   ► trying to tell me how to do but like you

00:17:44 ◼   ► know once something comes to like oh you

00:17:46 ◼   ► have to read these academic papers to

00:17:48 ◼   ► understand how to do this algorithm or

00:17:50 ◼   ► something that's usually when I bail out

00:17:52 ◼   ► because I try sometimes but it's I can't

00:17:56 ◼   ► usually get through them and so what I

00:17:59 ◼   ► do with with a lot of my approaches to

00:18:01 ◼   ► like these hard you know math or data

00:18:02 ◼   ► problems is really fairly simple things

00:18:05 ◼   ► like I I'm pretty good at coming up with

00:18:08 ◼   ► just all semi I'll stop my head coming

00:18:10 ◼   ► up with some kind of heuristic of like

00:18:12 ◼   ► oh maybe if I you know look for this

00:18:14 ◼   ► pattern and I give it this some kind of

00:18:16 ◼   ► like wait in a scoring you know

00:18:19 ◼   ► algorithm that maybe this will be better

00:18:20 ◼   ► and sometimes that works most of the

00:18:24 ◼   ► time it doesn't but occasionally I get

00:18:25 ◼   ► something out of it that that is pretty

00:18:27 ◼   ► useful and and that's that's how I tend

00:18:29 ◼   ► to do that these kind of things it's

00:18:31 ◼   ► it's basically like trial and error to

00:18:34 ◼   ► develop some kind of heuristic or

00:18:36 ◼   ► algorithm that is really not a very

00:18:39 ◼   ► mathematically advanced algorithm it's

00:18:41 ◼   ► really just like you know large amounts

00:18:44 ◼   ► of dumb math large amounts of like basic

00:18:46 ◼   ► arithmetic that I can do but you don't

00:18:51 ◼   ► need necessarily an advanced knowledge

00:18:54 ◼   ► of you know sophisticated math and you

00:18:57 ◼   ► know the more advanced stuff that being

00:18:59 ◼   ► said I do think my lack of knowledge

00:19:01 ◼   ► there holds me back to some degree like

00:19:04 ◼   ► there's a lot of you know statistical

00:19:06 ◼   ► methods things like you know especially

00:19:09 ◼   ► when dealing with things like large data

00:19:10 ◼   ► sets dealing with things like data

00:19:12 ◼   ► clustering and and you know statistical

00:19:15 ◼   ► analysis of large pools of data I

00:19:17 ◼   ► basically don't understand any of that

00:19:18 ◼   ► and that is holding me back to some

00:19:21 ◼   ► degree so I do want to want to get

00:19:23 ◼   ► better at some of that stuff but

00:19:24 ◼   ► ultimately you don't necessarily need to

00:19:27 ◼   ► if you if you can't or don't want to

00:19:29 ◼   ► like you can get pretty far without the

00:19:31 ◼   ► knowledge of some of that advanced math

00:19:33 ◼   ► stuff yeah and the thing that's key

00:19:36 ◼   ► there is that you can your solution may

00:19:38 ◼   ► not be optimal but you may get a

00:19:40 ◼   ► solution I mean it's sort of in a weird

00:19:43 ◼   ► way it makes me think of how like if you

00:19:47 ◼   ► don't under if you didn't understand

00:19:48 ◼   ► what multiplication was but you knew how

00:19:50 ◼   ► to do addition you could still end up

00:19:52 ◼   ► with the same result

00:19:53 ◼   ► you're writing for loop the best

00:19:55 ◼   ► sure right like which is obviously kind

00:19:57 ◼   ► of like a trivial example of this but

00:19:59 ◼   ► that is often I think the approach that

00:20:01 ◼   ► the impression that I have is that often

00:20:04 ◼   ► my approach is repeated addition

00:20:06 ◼   ► rather than multiplication because I

00:20:07 ◼   ► don't understand the higher concept but

00:20:09 ◼   ► you don't get it like like I still end

00:20:12 ◼   ► up with 20 with 4 so you know 4 times 5

00:20:15 ◼   ► I just may even add the fact that I add

00:20:17 ◼   ► 5 to itself 4 times versus just enough

00:20:20 ◼   ► to do it directly with multiplication

00:20:21 ◼   ► that's less efficient but this is the

00:20:23 ◼   ► answer the same is still 20 and I'm like

00:20:25 ◼   ► computers are so fast even on our phones

00:20:27 ◼   ► and our watches like micro processors

00:20:30 ◼   ► theses are just so ridiculously fast

00:20:32 ◼   ► that for a lot of problems like this

00:20:35 ◼   ► even if you just have kind of like a

00:20:37 ◼   ► brute force solution or even if it's

00:20:40 ◼   ► like an imprecise solution that is

00:20:42 ◼   ► probably both fast enough and good

00:20:44 ◼   ► enough for a lot of times yeah and so

00:20:47 ◼   ► you know it's it's it's which is an

00:20:49 ◼   ► encouragement that it's like yeah it's

00:20:50 ◼   ► like you did you it's okay and that's

00:20:52 ◼   ► like that's fine and it's you know as

00:20:54 ◼   ► with any all out of these kind of

00:20:55 ◼   ► discussions you can get into like is it

00:20:57 ◼   ► well well is it certainly better is it

00:20:58 ◼   ► more efficient to have this have a more

00:21:00 ◼   ► theoretical approach or fundamental

00:21:02 ◼   ► understanding of course but you know if

00:21:05 ◼   ► in order to gain that level of

00:21:07 ◼   ► understanding you almost certainly have

00:21:09 ◼   ► to be spend a lot more time and you know

00:21:13 ◼   ► like like to become an expert in that

00:21:15 ◼   ► area is gonna take a lot of time and be

00:21:17 ◼   ► a lot of distractions away from other

00:21:19 ◼   ► things so it may not be worth getting

00:21:21 ◼   ► that level of understanding so you know

00:21:23 ◼   ► just worth worth keeping in mind yep

00:21:25 ◼   ► definitely um in terms of the actual

00:21:27 ◼   ► building of these things I think it

00:21:29 ◼   ► seemed worth to actually sort of diving

00:21:30 ◼   ► into the way that the approach that I've

00:21:32 ◼   ► taken I'll talk to my recent example

00:21:36 ◼   ► with automatic sleep tracking where so

00:21:39 ◼   ► you know I'm gonna add this to an app my

00:21:41 ◼   ► usual approach is to create a completely

00:21:44 ◼   ► separate app I've try and then

00:21:46 ◼   ► eventually it'll end up being a branch

00:21:48 ◼   ► in the main ow but usually I just create

00:21:50 ◼   ► a completely new app that has none of

00:21:53 ◼   ► the overhead and none of the other

00:21:54 ◼   ► things going on and mostly I do that

00:21:57 ◼   ► because then I can just kind of if it

00:22:00 ◼   ► goes if I go down if I go down a bad

00:22:02 ◼   ► line of thinking and it just ends up in

00:22:04 ◼   ► a dead end I can just throw it away and

00:22:05 ◼   ► start again and it's it's easier I find

00:22:08 ◼   ► me to just kind of have the Super's

00:22:10 ◼   ► focused lightweight app you know I don't

00:22:12 ◼   ► need to go to a particular place in the

00:22:13 ◼   ► app like often I end up doing stuff just

00:22:16 ◼   ► in the you know view did finish

00:22:17 ◼   ► launching like it's basically a command

00:22:19 ◼   ► line app just running on an iPhone like

00:22:21 ◼   ► I end up doing that kind of thing where

00:22:23 ◼   ► you make it as quick and as simple as

00:22:26 ◼   ► possible and it's focused in on exactly

00:22:28 ◼   ► what the problem is now I find that to

00:22:31 ◼   ► be a very helpful approach I tend to do

00:22:33 ◼   ► my work there to validate that the you

00:22:35 ◼   ► know is that something is possible and

00:22:38 ◼   ► then I'll start to work on how will I

00:22:40 ◼   ► take that and turn it into the you know

00:22:43 ◼   ► the final version and that first version

00:22:44 ◼   ► I have no consideration at all to code

00:22:48 ◼   ► quality often I will completely throw

00:22:51 ◼   ► that code away I will just repeat you

00:22:53 ◼   ► know how we'll end up reimplemented it

00:22:54 ◼   ► just using all the lessons I learned

00:22:56 ◼   ► from all of that throwaway code but by

00:22:59 ◼   ► taking such a quick and dirty approach

00:23:01 ◼   ► to it it means that I can work much more

00:23:03 ◼   ► quickly and iterate on it that I don't

00:23:05 ◼   ► need to feel like you know I'm writing

00:23:07 ◼   ► code that is going to end up needing to

00:23:09 ◼   ► be production quality you know I can

00:23:11 ◼   ► ignore all the errors I can just sort of

00:23:14 ◼   ► make it so that it just works on exactly

00:23:16 ◼   ► what I'm trying to do you know and so in

00:23:18 ◼   ► this case I have yeah hadn't had us you

00:23:20 ◼   ► know built a separate app that you know

00:23:22 ◼   ► tries to automatically detect and

00:23:25 ◼   ► analyze you know lease lease leaked data

00:23:28 ◼   ► out of all the various health inputs

00:23:30 ◼   ► that we have and I just sat there and

00:23:32 ◼   ► iterated on and that until I got it to

00:23:34 ◼   ► work and then now I'm going through the

00:23:35 ◼   ► process of actually you know turning

00:23:38 ◼   ► that understanding and the data that I

00:23:40 ◼   ► can get out of that yeah completely

00:23:41 ◼   ► reimplemented from from scratch that all

00:23:45 ◼   ► those algorithms and methods that I came

00:23:46 ◼   ► up with again in this case was actually

00:23:49 ◼   ► slightly amusing because I built my

00:23:51 ◼   ► prototype app in Swift and then my

00:23:54 ◼   ► supposed suppes plus is an objective-c

00:23:56 ◼   ► app and so I was I was going to be

00:24:00 ◼   ► implemented anyway and it actually kind

00:24:01 ◼   ► of worked well to keep me from being

00:24:02 ◼   ► lazy and just copy pasting things that I

00:24:04 ◼   ► actually went through and had to be

00:24:06 ◼   ► thoughtful in that translation from the

00:24:09 ◼   ► prototype app to the actual app to make

00:24:11 ◼   ► sure that I'm actually taking care of

00:24:12 ◼   ► all the edge cases and things but that's

00:24:15 ◼   ► an approach that I find works pretty

00:24:17 ◼   ► well and then once you can get it into

00:24:19 ◼   ► the app then you can actually start

00:24:21 ◼   ► you sort of start working through the

00:24:23 ◼   ► actual you know making it of a higher

00:24:25 ◼   ► quality but I find you're doing it as

00:24:28 ◼   ► developing and prototyping in a separate

00:24:29 ◼   ► app and then graduate and then moving in

00:24:31 ◼   ► once you kind of have the basics worked

00:24:33 ◼   ► out works pretty well for me so and I'm

00:24:36 ◼   ► curious you know because I think it goes

00:24:37 ◼   ► back to are like you know competitive

00:24:39 ◼   ► advantage argument earlier why are you

00:24:41 ◼   ► at in this feature mostly because I

00:24:44 ◼   ► think it makes the app better and I

00:24:46 ◼   ► think I wish I I wish I did it and I

00:24:49 ◼   ► know I often hear from people who use my

00:24:51 ◼   ► competitors app because they do it and

00:24:54 ◼   ► so and it turned out to be much easier

00:24:58 ◼   ► than I thought it was gonna be I had in

00:25:00 ◼   ► my mind it was gonna be really hard and

00:25:02 ◼   ► so I've been putting off working on it

00:25:03 ◼   ► and I because I have a lot of existing

00:25:08 ◼   ► sleep data calculated my old method I

00:25:10 ◼   ► was able to much more quickly I think

00:25:13 ◼   ► work out and work out a way to process

00:25:15 ◼   ► all this data and end up with very

00:25:17 ◼   ► similar results because I could just

00:25:19 ◼   ► kind of try lots of things and I could

00:25:21 ◼   ► very quickly see if it worked or worked

00:25:23 ◼   ► or wasn't gonna work and I think it will

00:25:25 ◼   ► you know it's a competitive advantage

00:25:26 ◼   ► and I know it's a feature that I will

00:25:28 ◼   ► use myself you know the ability to have

00:25:30 ◼   ► your Apple watch just track your sleep

00:25:32 ◼   ► without all you have to do is wear it

00:25:34 ◼   ► while you sleep and then it's all taken

00:25:36 ◼   ► care of and so I think it's an advantage

00:25:38 ◼   ► in that regard because you'll actually

00:25:39 ◼   ► use the app more because right now you

00:25:42 ◼   ► have to remember to use it which is

00:25:43 ◼   ► always difficult yeah and that makes a

00:25:46 ◼   ► lot of sense like that that obviously is

00:25:48 ◼   ► a compelling feature and you know i-i've

00:25:49 ◼   ► heard podcast when people talk about how

00:25:51 ◼   ► you know they're comparing your app to

00:25:53 ◼   ► one of the competitors that there's

00:25:54 ◼   ► automatic stuff and like and I thought

00:25:56 ◼   ► oh that sounds compelling but you know I

00:25:57 ◼   ► too would have assumed that was really

00:25:59 ◼   ► hard and that's also kind of a you know

00:26:00 ◼   ► another I think it may be good close

00:26:02 ◼   ► note here is like a lot of the like if

00:26:04 ◼   ► you're a developer and and you think of

00:26:06 ◼   ► or you see some other app that that you

00:26:08 ◼   ► know or you know you were to think of a

00:26:10 ◼   ► feature that you want to do that sounds

00:26:11 ◼   ► really hard or impossible try it because

00:26:15 ◼   ► it might not be like I first thought

00:26:17 ◼   ► that you know like that doing pagination

00:26:19 ◼   ► and Instapaper would be really hard and

00:26:22 ◼   ► it turned out it really wasn't i'm

00:26:24 ◼   ► similar like if you think like oh you

00:26:26 ◼   ► know i would love to do this kind of

00:26:27 ◼   ► analysis on you know some feature in

00:26:30 ◼   ► with but with data but the iphone

00:26:33 ◼   ► probably can't handle it it's probably

00:26:34 ◼   ► like you know to but

00:26:35 ◼   ► to computationally intensive try it

00:26:37 ◼   ► because it might not be yeah that's

00:26:40 ◼   ► another area where I've found like I

00:26:41 ◼   ► always assume that oh maybe I I probably

00:26:44 ◼   ► can't do things like run a live FFT on

00:26:47 ◼   ► the audio stream without having a big

00:26:49 ◼   ► battery impact and the answer so a lot

00:26:52 ◼   ► of times is nope you totally can it's

00:26:54 ◼   ► totally fine the device is really fast

00:26:55 ◼   ► these days yeah and it's just kind of a

00:26:58 ◼   ► nice thing to be like there is something

00:27:02 ◼   ► just really fun and encouraging when you

00:27:04 ◼   ► hit on something that you thought would

00:27:06 ◼   ► be really hard that actually turned out

00:27:07 ◼   ► to not be crazy hard and like that was a

00:27:09 ◼   ► really fun thing and it speaks to

00:27:11 ◼   ► actually the last thing I want to

00:27:13 ◼   ► mention too is I've found tremendously

00:27:14 ◼   ► valuable as quickly as I can working out

00:27:17 ◼   ► how to visualize the problem that I'm

00:27:19 ◼   ► working on in a way that I can see

00:27:21 ◼   ► rather than just like data that's you

00:27:23 ◼   ► know being NS logged out to the console

00:27:26 ◼   ► that's a good time so in a lot in like

00:27:28 ◼   ► in a lot of my apps like in this book in

00:27:30 ◼   ► this case with you know sleep tracking

00:27:31 ◼   ► there's a lot it's essentially it's very

00:27:33 ◼   ► timeline based you know I'm looking at a

00:27:35 ◼   ► variety of inputs over time and so I

00:27:37 ◼   ► just have a really simple app or a view

00:27:40 ◼   ► controller that just has a has a scroll

00:27:42 ◼   ► view in it and all of the data points

00:27:44 ◼   ► that I have on it I just create a UI

00:27:46 ◼   ► view and they throw it into it which is

00:27:48 ◼   ► horrific aliy you know unperformed I

00:27:50 ◼   ► have like 10,000 UI views in one scroll

00:27:52 ◼   ► view it's fine there's better ways to do

00:27:56 ◼   ► graphing you know like actually doing

00:27:58 ◼   ► pagination and stuff so I'm only

00:28:00 ◼   ► rendering the stuff that I need to but

00:28:01 ◼   ► like it's fine it's in this purse iPad

00:28:04 ◼   ► but visualizing it making it so that I

00:28:05 ◼   ► can see the connections and like in this

00:28:07 ◼   ► case it was you know I ended up

00:28:09 ◼   ► visualizing the outputs of my first

00:28:11 ◼   ► first couple of attempts and aligning

00:28:13 ◼   ► them with the outputs of my previous

00:28:15 ◼   ► method and they lined up perfectly and I

00:28:17 ◼   ► was like well this works well that's

00:28:19 ◼   ► amazing

00:28:20 ◼   ► and so visualizing that as quickly as

00:28:23 ◼   ► you can it's just some that I can't

00:28:25 ◼   ► emphasize enough that and I know you

00:28:27 ◼   ► know something I think I saw you were

00:28:29 ◼   ► talking about with your your voice boost

00:28:30 ◼   ► to stuff you do the same thing but like

00:28:32 ◼   ► as soon as you can see it it's both

00:28:34 ◼   ► motive motivating in terms of

00:28:36 ◼   ► encouraging you that you're on the right

00:28:37 ◼   ► track as well as you know very quickly

00:28:39 ◼   ► showing you the areas that aren't

00:28:42 ◼   ► working and the things you need to

00:28:42 ◼   ► change exactly it makes a huge

00:28:44 ◼   ► difference yeah anyway so go forth do

00:28:48 ◼   ► some

00:28:49 ◼   ► research try and you know not be

00:28:52 ◼   ► intimidated by things do you think are

00:28:53 ◼   ► too hard and see no see what you can

00:28:55 ◼   ► come up with because I think if you can

00:28:56 ◼   ► come up with these things like and it

00:28:58 ◼   ► turns out that they're easier than you

00:28:59 ◼   ► thought maybe like you can make it you

00:29:01 ◼   ► can create it creates a tremendous value

00:29:03 ◼   ► in your app that I think you know as

00:29:06 ◼   ► especially if you as a smaller team or

00:29:09 ◼   ► as a smaller developer there is an

00:29:10 ◼   ► immense advantage to having these little

00:29:12 ◼   ► things that are hooks that are marketing

00:29:14 ◼   ► lines that are reasons why someone might

00:29:17 ◼   ► want to try your app versus something

00:29:19 ◼   ► else

00:29:20 ◼   ► Thanks listening everybody I'm gonna

00:29:22 ◼   ► talk to you next week bye