61: Back to Work
00:00:00
◼
►
Welcome to Under the Radar,
00:00:01
◼
►
a show about independent iOS app development.
00:00:03
◼
►
I'm Mark Orment.
00:00:05
◼
►
- And I'm David Smith.
00:00:06
◼
►
Under the Radar is never longer than 30 minutes,
00:00:08
◼
►
so let's get started.
00:00:09
◼
►
- Happy New Year, everybody.
00:00:11
◼
►
- Happy New Year.
00:00:12
◼
►
- We decided to talk about what it's like
00:00:15
◼
►
to get back into work after a break,
00:00:17
◼
►
like the New Year's break.
00:00:19
◼
►
Just the kind of getting your brain back into that space,
00:00:22
◼
►
into the pace of work.
00:00:23
◼
►
And then once you finally get there,
00:00:26
◼
►
how do you decide even what to tackle?
00:00:29
◼
►
Because chances are, after a big vacation
00:00:32
◼
►
or after the holiday break,
00:00:33
◼
►
holidays are especially bad at it,
00:00:35
◼
►
but after these things,
00:00:36
◼
►
we tend to have a lot of stuff piled up,
00:00:38
◼
►
a lot of things that we need to address,
00:00:41
◼
►
work that accumulated while we were gone,
00:00:43
◼
►
things that we should probably get going on.
00:00:45
◼
►
And so there's a bit of a tricky question
00:00:47
◼
►
about how do you prioritize those things.
00:00:50
◼
►
And then once you get going with working,
00:00:51
◼
►
like how do you get going?
00:00:54
◼
►
How do you begin work?
00:00:57
◼
►
And then after that, I think we wanna talk a little bit
00:00:59
◼
►
about how do we plan kind of the first few months
00:01:03
◼
►
of the year, you know,
00:01:04
◼
►
that in the case of a New Year's break like this,
00:01:07
◼
►
you know, we have,
00:01:09
◼
►
there's a lot of things about the corporate world
00:01:11
◼
►
that go by years, things like, you know,
00:01:13
◼
►
ad budgets, PR needs, everything else.
00:01:15
◼
►
We talked before about seasonality.
00:01:17
◼
►
And so the first few months of the year
00:01:18
◼
►
is an interesting time to plan for,
00:01:21
◼
►
to get things done, to consider, you know,
00:01:24
◼
►
what to work on, whether to release things,
00:01:26
◼
►
and everything else.
00:01:27
◼
►
We're gonna get into all of that.
00:01:29
◼
►
Dave, are you back to work yet?
00:01:34
◼
►
I think I've essentially did,
00:01:36
◼
►
I mean, it's kind of a strange end of the year
00:01:39
◼
►
because I was launching a new app,
00:01:40
◼
►
which I usually don't like to do that time of year.
00:01:43
◼
►
But for this particular time,
00:01:46
◼
►
like I'd hoped originally to launch Workouts++
00:01:49
◼
►
in probably November or something,
00:01:50
◼
►
but it just didn't end up working out.
00:01:52
◼
►
Like the project took longer than I'd originally expected.
00:01:55
◼
►
And so it was, you know, launched,
00:01:57
◼
►
I think it was December 21st or something,
00:02:00
◼
►
which is not advisable,
00:02:01
◼
►
and especially because you kind of go through the process
00:02:04
◼
►
of launching something, you get it out,
00:02:06
◼
►
and then all of a sudden you have a lot of, you know,
00:02:10
◼
►
delightful but just sort of distracting family obligations
00:02:14
◼
►
and things such that, you know,
00:02:15
◼
►
I really sort of put it,
00:02:17
◼
►
so it's almost like I just took this app,
00:02:19
◼
►
threw it over a wall into the world,
00:02:21
◼
►
and then just like ran away for a couple days,
00:02:24
◼
►
which is not exactly what you want.
00:02:26
◼
►
And I did my best,
00:02:27
◼
►
like I checked into the support thing every now and then,
00:02:29
◼
►
and, you know, I hadn't,
00:02:31
◼
►
there were a few little initial bug fixes
00:02:34
◼
►
that you inevitably have.
00:02:36
◼
►
I was able to get those put together,
00:02:37
◼
►
and they're currently waiting in review.
00:02:40
◼
►
But then you just kind of fall off the map in a good way.
00:02:42
◼
►
And I think it's probably also good
00:02:44
◼
►
to start this discussion off by saying that taking breaks
00:02:47
◼
►
and having periods of time when you're not working
00:02:51
◼
►
is desirable, is a good thing.
00:02:54
◼
►
Like it's a bit of a problem
00:02:55
◼
►
that we're kind of looking at it from the perspective now
00:02:57
◼
►
of how do you deal with that when you come back to work?
00:03:00
◼
►
But there's certainly an advantage
00:03:02
◼
►
to having that separation,
00:03:04
◼
►
to take some time away,
00:03:05
◼
►
both in terms of your just mental health
00:03:08
◼
►
and overall wellbeing,
00:03:10
◼
►
and also probably just to build a little bit of perspective,
00:03:12
◼
►
to come back to things and be like,
00:03:14
◼
►
what do I actually want to work on?
00:03:15
◼
►
What was I doing before that I was just doing
00:03:18
◼
►
out of inertia rather than out of desire?
00:03:20
◼
►
But for me, yeah, now I'm back working again
00:03:24
◼
►
and kind of, it's especially weird for me right now
00:03:27
◼
►
'cause I'm coming back to edit
00:03:28
◼
►
after essentially skewing all work on my side project,
00:03:32
◼
►
on all my other apps except for Workouts++
00:03:35
◼
►
for the last two or three months.
00:03:37
◼
►
So I'd gotten all those apps into a pretty good state,
00:03:40
◼
►
roughly with the launch of iOS 10.
00:03:43
◼
►
Like I'd done a big update and then a bug fix update
00:03:47
◼
►
for most of my apps around iOS 10.
00:03:50
◼
►
They were all in a good place.
00:03:51
◼
►
Then I go from work on Workouts++ for a couple of months.
00:03:54
◼
►
And now I'm in a place where I have to look at all my work
00:03:57
◼
►
and say, like, what do I actually want to work on next?
00:04:01
◼
►
What should I work on next?
00:04:03
◼
►
And I do find it really awkward and like tricky
00:04:07
◼
►
when you end up kind of, it's the paradox of choice,
00:04:10
◼
►
I think it's called, or just being overwhelmed
00:04:13
◼
►
more and more simply, where you look at all of the universe
00:04:16
◼
►
of things that you could do and having to try
00:04:19
◼
►
and understand what the right thing to do.
00:04:22
◼
►
And especially when you have to deal with these weird
00:04:25
◼
►
tensions between like, what do I think is the best thing
00:04:28
◼
►
financially for my business for me to do?
00:04:30
◼
►
What thing would I enjoy most working on?
00:04:33
◼
►
What thing do I think my customers are most expecting?
00:04:36
◼
►
Where should I go in terms of what project
00:04:41
◼
►
do I think I would learn the most from?
00:04:42
◼
►
Like there's lots of different reasons.
00:04:43
◼
►
And I, like my first day back, which I think was on,
00:04:47
◼
►
I guess the day after New Year's Day,
00:04:49
◼
►
whatever that is, January 2nd, January 3rd,
00:04:52
◼
►
looking at, I just sat down and have like opened up
00:04:56
◼
►
Omnifocus for the first time in a long time.
00:04:58
◼
►
Because when I'm in a period where I'm working on an app
00:05:01
◼
►
like Workout Plus Plus, like pretty focused manner,
00:05:03
◼
►
if I come across any things in my other apps,
00:05:07
◼
►
or I get feature requests or things that sound good,
00:05:08
◼
►
I just kind of throw them all into there,
00:05:10
◼
►
which I think is a sane system to just kind of,
00:05:12
◼
►
rather than thinking about them and trying to manage them
00:05:14
◼
►
as you go, just postpone that until it's time.
00:05:19
◼
►
That meant that this week I've been having to sit down
00:05:22
◼
►
and be like, filter through just page after page
00:05:25
◼
►
of ideas, of thoughts, of things.
00:05:28
◼
►
And in general, I think my approach to this kind of thing
00:05:31
◼
►
is I just tend to latch on to one or two things
00:05:36
◼
►
that I think I can reasonably make progress with.
00:05:40
◼
►
And in some ways this kind of makes me think of,
00:05:43
◼
►
like I used to run track in high school
00:05:44
◼
►
and it's sort of like the warmup lab.
00:05:46
◼
►
It's the before you actually can start working properly,
00:05:49
◼
►
you have to go out and do a little bit of work,
00:05:53
◼
►
but not really hard work, just a little bit of something
00:05:55
◼
►
to get you back into the flow of things.
00:05:57
◼
►
And so, like today I've been working on a little,
00:06:00
◼
►
you know, it's like a minor feature in Pedometer Plus Plus
00:06:03
◼
►
that I think is useful and good,
00:06:05
◼
►
and isn't a particularly high stress or high risk feature,
00:06:09
◼
►
but it's something that I think would be useful.
00:06:10
◼
►
And I can kind of go through the process
00:06:12
◼
►
of working on something again,
00:06:14
◼
►
get, you know, sort of get back in the flow,
00:06:16
◼
►
and then once I finish this little,
00:06:18
◼
►
once I finish my warmup lab,
00:06:19
◼
►
I expect to then dive into some of the bigger features
00:06:22
◼
►
and some of the bigger tasks that I think are gonna take
00:06:26
◼
►
more of my mental energy, take more of my focus,
00:06:29
◼
►
and the kind of things that I don't really wanna do cold
00:06:32
◼
►
after spending a week or two with very little work.
00:06:36
◼
►
- One of the challenges I face in getting warmed up,
00:06:41
◼
►
you know, as you put it, the warmup lab is great.
00:06:43
◼
►
One of the big challenges I face is that
00:06:46
◼
►
when you've been away from a project for a while,
00:06:48
◼
►
whether that's just like, you know, a five day weekend
00:06:51
◼
►
and where your mind's totally somewhere else,
00:06:53
◼
►
or whether it's, you know, something like a big break
00:06:56
◼
►
where you're working on something else for a little while
00:06:58
◼
►
and you gotta like sideline something else,
00:07:00
◼
►
one of the big challenges I have is
00:07:03
◼
►
knowing where to even start,
00:07:04
◼
►
because this is the kind of problem where,
00:07:07
◼
►
like, you know, people like us who are indie developers
00:07:10
◼
►
who don't really work with other people,
00:07:11
◼
►
where basically the job of everything falls on us.
00:07:15
◼
►
It's very easy to get lazy with your organizational system
00:07:19
◼
►
about things like your to-do list,
00:07:22
◼
►
your, you know, tracking of what you have to do next,
00:07:25
◼
►
and also like documentation of things like your code
00:07:29
◼
►
and your app and what these things do,
00:07:31
◼
►
what these different parts do.
00:07:33
◼
►
It's very easy to fall into the trap of,
00:07:36
◼
►
well, it's all in my head as I'm working on it,
00:07:38
◼
►
and I can just remember these things,
00:07:40
◼
►
so I don't need to write this down.
00:07:41
◼
►
I don't need to document this code.
00:07:43
◼
►
I don't need to manage a to-do list
00:07:46
◼
►
because I know what I have to do, you know,
00:07:48
◼
►
and I am guilty of this worse than anybody else.
00:07:51
◼
►
Like, I hardly ever write anything down.
00:07:53
◼
►
I keep only a very basic to-do list in task paper
00:07:58
◼
►
of like, you know, things I want to do for this version,
00:08:01
◼
►
and like the entire, like, Overcast 3.0 to-do list
00:08:04
◼
►
is something like 20 lines long.
00:08:05
◼
►
It's not, this is not like a very granular thing to do
00:08:10
◼
►
most of the time,
00:08:11
◼
►
and you know, towards the end,
00:08:12
◼
►
I'll have like a bug puncture list basically
00:08:15
◼
►
that's a little more granular,
00:08:16
◼
►
but otherwise, you know, most of the time
00:08:18
◼
►
I'm working on something, I don't have anything like that.
00:08:19
◼
►
It's just kind of all in my head.
00:08:21
◼
►
So when I'm facing this problem,
00:08:22
◼
►
my biggest challenge is just like,
00:08:24
◼
►
I know what I have to do.
00:08:25
◼
►
I have to keep things more documented.
00:08:28
◼
►
I have to keep my to-dos more organized,
00:08:30
◼
►
but I don't usually do it,
00:08:32
◼
►
or I do it to a very half-hearted degree,
00:08:34
◼
►
and it's more of a challenge of personal discipline
00:08:37
◼
►
than anything else of just like,
00:08:39
◼
►
you know, when you're solo, it's so easy to not do things
00:08:44
◼
►
the way that you have to,
00:08:45
◼
►
like when you work in a job with other people,
00:08:48
◼
►
you kind of always have to be writing things down
00:08:50
◼
►
and coordinating to-dos and having a roadmap
00:08:53
◼
►
because it's kind of impossible to work with the people
00:08:55
◼
►
without having some degree of that,
00:08:57
◼
►
and there's also usually like a well-working place
00:09:00
◼
►
should usually be at least somewhat prepared
00:09:02
◼
►
for somebody leaving or quitting
00:09:04
◼
►
or getting fired at any time,
00:09:06
◼
►
and other people being able to pick up their work
00:09:09
◼
►
where they're left off,
00:09:10
◼
►
and when you're a solo developer like us,
00:09:12
◼
►
it's so easy to not have those kind of safeguards
00:09:15
◼
►
'cause you think you don't need them,
00:09:16
◼
►
but whenever you have to take any kind of break
00:09:19
◼
►
or juggle multiple projects,
00:09:20
◼
►
you really do need to think about
00:09:22
◼
►
those exact same strategies.
00:09:24
◼
►
- Yeah, I mean, and I actually was bit by exactly that
00:09:28
◼
►
the last day or so where,
00:09:30
◼
►
and this work that I've been doing on Podometer++,
00:09:32
◼
►
so I haven't worked on the app for probably since October,
00:09:35
◼
►
I think, so like two or three months,
00:09:36
◼
►
and I sit down and I start using it,
00:09:39
◼
►
and I notice something weird going on in my data system
00:09:42
◼
►
where a certain iOS API call
00:09:44
◼
►
wasn't returning the values that I expected it to,
00:09:47
◼
►
and so I started looking into this,
00:09:48
◼
►
and I was like, man, this is really weird.
00:09:51
◼
►
It's one of these weird edge case bugs
00:09:53
◼
►
where if I give a certain value to the HealthKit API,
00:09:57
◼
►
I get no data back,
00:09:58
◼
►
but if I do lots of other things, it works fine,
00:10:01
◼
►
which is a really weird bug.
00:10:02
◼
►
I'm like, man, this is strange,
00:10:04
◼
►
and I spend about a half a day working on this bug
00:10:06
◼
►
asking if I can find a workaround, if I can avoid it.
00:10:10
◼
►
In the end, I found no solution,
00:10:13
◼
►
and I was like, all right, well,
00:10:14
◼
►
I should probably file a radar about this
00:10:16
◼
►
just to make sure that Apple knows that this is a bug,
00:10:19
◼
►
and I open up bugreport.apple.com,
00:10:22
◼
►
go into my little account,
00:10:25
◼
►
and one of the top radars in there
00:10:27
◼
►
was me reporting this exact bug in August of last year,
00:10:31
◼
►
which I think I was reporting it against
00:10:34
◼
►
beta two or beta three in iOS 10.
00:10:37
◼
►
Clearly, I had completely forgotten
00:10:40
◼
►
that I had done this exact process before,
00:10:45
◼
►
which is a great example, though,
00:10:46
◼
►
of this I just wasted half a day
00:10:49
◼
►
trying to track this thing down that a few months ago,
00:10:51
◼
►
I did exactly the same thing,
00:10:53
◼
►
and I suppose it is such a tricky thing, though,
00:10:56
◼
►
to want to document in great detail
00:11:00
◼
►
all of the various these kinds of things
00:11:01
◼
►
because it is so easy to rely on your own memory,
00:11:04
◼
►
and I think in many ways, I find really,
00:11:07
◼
►
one of the core skills of development is memory,
00:11:12
◼
►
where I am at my most effective programming.
00:11:15
◼
►
The more of an application I can hold in my head at once,
00:11:20
◼
►
where I know where all the features are,
00:11:22
◼
►
I know how they all interconnect,
00:11:24
◼
►
and having that kind of loading all that information
00:11:27
◼
►
into my brain is where it gets really efficient and helpful,
00:11:30
◼
►
where I'm not constantly command-F-ing
00:11:33
◼
►
all over the whole project,
00:11:35
◼
►
trying to find the various things.
00:11:36
◼
►
I just know where they are,
00:11:38
◼
►
but if you take a few months off
00:11:41
◼
►
and you come back to a project,
00:11:42
◼
►
you can find yourself in these situations
00:11:44
◼
►
where you just forgot that you've solved this problem
00:11:47
◼
►
or you've gone through all of the work
00:11:49
◼
►
to determine that no solution exists,
00:11:52
◼
►
and in this case, it's like,
00:11:53
◼
►
what I really should have done
00:11:54
◼
►
when I solved this the first time,
00:11:55
◼
►
I ran into this problem the first time,
00:11:57
◼
►
is I should have just had a little comment in my code
00:11:59
◼
►
that said, "This API fails in this way.
00:12:03
◼
►
"Radar files, here's the radar number,"
00:12:06
◼
►
for my own reference, just so that,
00:12:08
◼
►
this morning, when I ran into this,
00:12:11
◼
►
I could thank past Dave for going back there,
00:12:15
◼
►
reporting this, short-circuiting this whole thing,
00:12:17
◼
►
and knowing that, okay, yeah, it's a bug, it's filed,
00:12:19
◼
►
Apple hasn't fixed it yet, but I can move on,
00:12:22
◼
►
and don't need to worry about it,
00:12:25
◼
►
or at least I already did worry about it.
00:12:27
◼
►
But that discipline about that is, I think,
00:12:29
◼
►
really hard, because, yeah, it doesn't feel like,
00:12:33
◼
►
I think it's really difficult to judge
00:12:35
◼
►
how far into the future you're going to need
00:12:39
◼
►
to know where you are.
00:12:41
◼
►
And on the flip side, obviously,
00:12:42
◼
►
you could take the other extreme
00:12:43
◼
►
and get really carried away,
00:12:45
◼
►
and be documenting everything,
00:12:46
◼
►
and all of your, everything is super detailed,
00:12:49
◼
►
and you end up in a proper, a formal software model,
00:12:52
◼
►
where you have the requirements,
00:12:53
◼
►
and then you have the development,
00:12:54
◼
►
and you have the testing documents,
00:12:56
◼
►
and you can go way overblown as well,
00:12:58
◼
►
but there is definitely something that experiences
00:13:02
◼
►
like I had today definitely reinforces for me,
00:13:04
◼
►
where like, I need to be a little bit more.
00:13:06
◼
►
And honestly, it's probably the kind of thing
00:13:08
◼
►
where just being like 10% more descriptive
00:13:12
◼
►
in my Git commits, in my comments,
00:13:15
◼
►
would have a disproportionate impact
00:13:17
◼
►
in my ability to come back to work,
00:13:19
◼
►
and to feel that I understand what's going on.
00:13:23
◼
►
- It's almost like a hierarchy of caches, you know?
00:13:26
◼
►
It's like, in programmer terminology,
00:13:28
◼
►
it's like, you know, we all know that,
00:13:30
◼
►
you know, as you said, like when you have
00:13:31
◼
►
a whole bunch of the program in your head,
00:13:33
◼
►
you are way more effective.
00:13:35
◼
►
That's what we refer to when we're talking
00:13:37
◼
►
about being in the zone as programmers.
00:13:39
◼
►
Like, it's basically having a whole bunch
00:13:41
◼
►
of the program in your head,
00:13:42
◼
►
which is like the highest level cache,
00:13:44
◼
►
like the L1 cache, or the registers.
00:13:46
◼
►
And then, as things like, you know,
00:13:49
◼
►
get evicted from either time or crowdedness,
00:13:53
◼
►
you have to start, you know, relying on other things
00:13:58
◼
►
to keep this stuff in your head,
00:14:00
◼
►
or to refer to other resources to get it back in your head.
00:14:05
◼
►
And, you know, a quick little comment in the code,
00:14:09
◼
►
or good documentation of like the architecture of the code,
00:14:13
◼
►
is way more effective at like,
00:14:16
◼
►
when you have a cache miss in your brain,
00:14:18
◼
►
and you have to go fetch it from this external resource,
00:14:20
◼
►
that's way faster than like having to repeat
00:14:24
◼
►
eight hours of coding only to make the same mistakes
00:14:26
◼
►
over and over again, only to discover
00:14:28
◼
►
the same eventual truth at the end
00:14:31
◼
►
that you could've discovered with, you know,
00:14:32
◼
►
a quick little comment in the code.
00:14:35
◼
►
- And it's, in many ways, it reminds me of some advice
00:14:37
◼
►
I remember hearing once about when you're like,
00:14:40
◼
►
writing little to-dos for yourself,
00:14:42
◼
►
like if you're capturing those kinds of thoughts,
00:14:44
◼
►
of the importance of capturing complete thoughts,
00:14:47
◼
►
not things that would just make sense at the time.
00:14:51
◼
►
You know, so like if I record a little to-do that says,
00:14:53
◼
►
you know, it's like table view height adjustment.
00:14:57
◼
►
Like, at that moment, I may know exactly what that means,
00:15:01
◼
►
and it sounds completely silly to be able to show you,
00:15:03
◼
►
you know, like fully expanded out,
00:15:05
◼
►
like table view height adjustment
00:15:07
◼
►
in stat screen of pedometer plus plus.
00:15:09
◼
►
Like, that, if I don't include all those other nouns,
00:15:14
◼
►
I'm gonna come back to that later and be like,
00:15:16
◼
►
what does this mean?
00:15:17
◼
►
Like, it becomes just complete gibberish and garbage,
00:15:19
◼
►
even though at the time,
00:15:20
◼
►
it feels like completely unnecessary,
00:15:22
◼
►
because I understand entirely the context.
00:15:25
◼
►
And so, I think in the same way,
00:15:27
◼
►
it's like when you're writing to-dos, it's important,
00:15:28
◼
►
and then, you know, similarly with, you know,
00:15:31
◼
►
in your code or your internal documentation,
00:15:34
◼
►
and I mean, obviously, we have the benefit, though,
00:15:35
◼
►
I will say, of we just have to write things
00:15:38
◼
►
that make sense to us, that we know ourselves better,
00:15:42
◼
►
that it's not like we're trying to write something
00:15:44
◼
►
that anybody with any level of sophistication
00:15:47
◼
►
or understanding would be of the project
00:15:49
◼
►
or of programming in general would be able to pick up.
00:15:51
◼
►
Like, we know ourselves, we know what, you know,
00:15:53
◼
►
like what short hands and what terms and things
00:15:57
◼
►
we can just use, but I think it's very important
00:15:59
◼
►
to have that kind of perspective of like,
00:16:01
◼
►
how can I be kind to my future self in my current self,
00:16:06
◼
►
rather than just assuming that my future self
00:16:08
◼
►
will like, kind of work it out?
00:16:09
◼
►
- Oh yeah, because like, especially like, you know,
00:16:11
◼
►
as the amount of time extends, you know,
00:16:14
◼
►
if you're writing something for your future self
00:16:16
◼
►
of four days from now, that's very different
00:16:19
◼
►
from your future self of four months from now,
00:16:21
◼
►
or four years from now.
00:16:23
◼
►
And as, like, I think it very quickly gets to a point
00:16:27
◼
►
that this is not like a slow progression.
00:16:29
◼
►
I think even after a few weeks or a few months
00:16:32
◼
►
of not working on something, you approach it
00:16:35
◼
►
almost as if a stranger would approach it.
00:16:37
◼
►
Like, your future self is way less familiar
00:16:42
◼
►
with what you're working on right now
00:16:44
◼
►
than your present self might realize.
00:16:46
◼
►
And if you can kind of get that into your head
00:16:48
◼
►
and internalize that and start remembering that
00:16:51
◼
►
as you're doing this kind of documentation
00:16:53
◼
►
or prep work or anything like that,
00:16:56
◼
►
you can really save your future self a lot of hassle
00:16:59
◼
►
because your future self is going to look
00:17:01
◼
►
at your current code and projects
00:17:04
◼
►
almost as if a stranger were looking at them.
00:17:07
◼
►
Anyway, our sponsor this week is somebody
00:17:09
◼
►
who never takes a break because they're a hosting company
00:17:11
◼
►
and you want your hosting company to never take breaks.
00:17:14
◼
►
It's Linode.
00:17:15
◼
►
Linode gives you fast, powerful hosting for your projects
00:17:18
◼
►
that you can set up in just seconds.
00:17:20
◼
►
They have easy to understand tools
00:17:21
◼
►
that let you choose your resource levels
00:17:23
◼
►
and Linux distros, giving you the power
00:17:25
◼
►
and flexibility you need.
00:17:26
◼
►
And Linode plans start at just $10 a month
00:17:28
◼
►
for a two gigabyte RAM Linux server in the Linode cloud.
00:17:32
◼
►
Linode, I mean, this is the best stuff I've ever used
00:17:35
◼
►
in the web hosting world, I'm telling you,
00:17:36
◼
►
I've used a lot between all the different things
00:17:38
◼
►
I've worked on, I've used a lot of web hosting.
00:17:40
◼
►
I've used literally hundreds of servers in web hosting
00:17:43
◼
►
and Linode is by far, by far my favorite.
00:17:48
◼
►
And now, I think almost everything I have is there now.
00:17:51
◼
►
The only things that aren't there are things
00:17:52
◼
►
I just haven't gotten around to moving there yet
00:17:54
◼
►
because moving things is a pain.
00:17:56
◼
►
But if you're looking for a new web host
00:17:58
◼
►
or if you're willing to go through the hassle
00:18:00
◼
►
of moving to a new web host, I'm telling you,
00:18:02
◼
►
you're not gonna be sorry with Linode.
00:18:04
◼
►
It is amazing, their control panel is great,
00:18:06
◼
►
their performance per dollar is, I think,
00:18:09
◼
►
unmatched in the industry.
00:18:11
◼
►
Highly, highly recommended.
00:18:13
◼
►
Anyway, it's never been easier to launch a Linode cloud server
00:18:16
◼
►
where they offer the fastest hardware network
00:18:18
◼
►
with fantastic customer support behind it all
00:18:20
◼
►
if you need it, even on the holidays,
00:18:23
◼
►
even on Christmas Day, New Year's Day,
00:18:24
◼
►
they are working, they are there.
00:18:26
◼
►
Linode guarantees 99.9% uptime for serverability.
00:18:29
◼
►
Once your server is up, they intend to keep it that way.
00:18:32
◼
►
And Linode, you know, this is great for things like
00:18:34
◼
►
running your own private Git servers,
00:18:36
◼
►
hosting a large database, running mail servers,
00:18:38
◼
►
hosting an entire web app like what David and I do,
00:18:41
◼
►
and so much more.
00:18:42
◼
►
So as a listener of this show,
00:18:43
◼
►
if you sign up at linode.com/radar,
00:18:46
◼
►
you will not only be supporting us,
00:18:47
◼
►
but you also get $20 towards any Linode plan.
00:18:50
◼
►
And with a seven day money back guarantee,
00:18:51
◼
►
there's nothing to lose.
00:18:52
◼
►
So go to linode.com/radar to learn more,
00:18:56
◼
►
sign up, and take advantage of that $20 credit,
00:18:58
◼
►
or use the promo code radar2017,
00:19:00
◼
►
that's radar2017, at checkout.
00:19:03
◼
►
Thank you so much to Linode for supporting this show.
00:19:06
◼
►
- So I think it's also probably fair,
00:19:08
◼
►
now that we've kind of come back into our work,
00:19:11
◼
►
to discuss and work through a little bit of
00:19:13
◼
►
what makes sense to plan out for the first part of the year.
00:19:17
◼
►
'Cause we've talked about it before,
00:19:19
◼
►
where like iOS development has a schedule and a cadence
00:19:23
◼
►
kind of dictated to it somewhat externally,
00:19:25
◼
►
where, you know, starting around June 1st or so,
00:19:30
◼
►
you know, we get into the new stuff cycle,
00:19:32
◼
►
where from June until about September,
00:19:34
◼
►
we'll have new iOS betas, new devices,
00:19:37
◼
►
new whatevers that are gonna be announced.
00:19:41
◼
►
The fall is the kind of fallout from that period
00:19:44
◼
►
where we start to, you know,
00:19:47
◼
►
all these things actually go out into the wild,
00:19:48
◼
►
and we get to see how they get used in practice.
00:19:51
◼
►
And then we kind of get into this next phase,
00:19:53
◼
►
which I think is, in some ways,
00:19:55
◼
►
my most enjoyable part of the cycle,
00:19:57
◼
►
where, you know, from roughly now,
00:19:59
◼
►
you know, we've gotten through Christmas and New Year's.
00:20:03
◼
►
So from now until June, we have about six months
00:20:05
◼
►
to just work on whatever we want in a lot of ways.
00:20:09
◼
►
And I tend to like this time of year for polishing,
00:20:14
◼
►
doing a lot of like 0.1, 0.2 releases,
00:20:17
◼
►
working on a lot of things that, you know,
00:20:20
◼
►
didn't make sense to try and squeeze in
00:20:23
◼
►
with a major iOS update, things like that,
00:20:27
◼
►
where I can sit down and I can spend, you know,
00:20:30
◼
►
a significant amount of time
00:20:31
◼
►
without quite the same time pressure as I would
00:20:34
◼
►
if I was doing it over the summer or in the fall,
00:20:37
◼
►
you know, where now I can kind of,
00:20:38
◼
►
if it ends up taking an extra couple weeks, it's fine.
00:20:41
◼
►
There's no external constraints
00:20:43
◼
►
or things that I'm trying to fight around.
00:20:46
◼
►
And so I tend to look at it,
00:20:47
◼
►
and that's kind of like what my planning right now
00:20:49
◼
►
for all of my apps, you know, it's like,
00:20:50
◼
►
essentially, I'm just gonna be sitting there
00:20:52
◼
►
making out these kind of big point releases for all my apps.
00:20:56
◼
►
You know, I have taken these kind of nice features
00:20:58
◼
►
that I think are value adds.
00:21:00
◼
►
And honestly, even a lot of what ends up happening with me
00:21:03
◼
►
is I, as I have so many apps,
00:21:05
◼
►
but they're all kind of related, you know,
00:21:07
◼
►
all my plus plus apps are health and fitness oriented.
00:21:11
◼
►
And so what I've started to do too is
00:21:13
◼
►
I'll end up doing something in one of them
00:21:15
◼
►
that I feel like will make sense
00:21:17
◼
►
to kind of incorporate back into the other ones.
00:21:20
◼
►
And so I expect to be doing a lot of that this,
00:21:23
◼
►
sort of, I guess, what we're gonna call this period,
00:21:25
◼
►
like in the new year slash through the spring,
00:21:29
◼
►
where I can go through and kind of just get everything
00:21:31
◼
►
in a nice, solid, robust, kind of like making
00:21:35
◼
►
these features a little bit deeper.
00:21:37
◼
►
Like, maybe that's a good way to think of it too.
00:21:39
◼
►
Like in the summer and fall, I tend to think of it
00:21:42
◼
►
as kind of widening the apps,
00:21:44
◼
►
making them incorporate these new features,
00:21:47
◼
►
incorporating these new platforms, whatever makes sense.
00:21:50
◼
►
And then, you know, sort of the first half of the year
00:21:52
◼
►
is more about taking those things
00:21:54
◼
►
and kind of digging them deeper
00:21:55
◼
►
and adding all those little touches
00:21:58
◼
►
that make the app richer that you didn't quite,
00:22:01
◼
►
didn't quite have time to do in the first place.
00:22:06
◼
►
- Yeah, because you know, the fall is,
00:22:07
◼
►
we spend so much of the fall, just,
00:22:09
◼
►
and the summer even, just like adapting new things,
00:22:13
◼
►
or adopting new things,
00:22:14
◼
►
and keeping up with all of Apple's new stuff.
00:22:16
◼
►
And you know, from January through June,
00:22:19
◼
►
Apple's pretty quiet usually.
00:22:20
◼
►
And so, yeah, it's a great time,
00:22:23
◼
►
as you said, to work on quality,
00:22:26
◼
►
to broaden your feature base.
00:22:28
◼
►
I would say it's a great time to address things
00:22:30
◼
►
like user requests, like feature requests
00:22:33
◼
►
from people that are very common.
00:22:34
◼
►
'Cause you don't have anything else,
00:22:36
◼
►
for the most part, competing with this time.
00:22:39
◼
►
Most of the rest of the year,
00:22:40
◼
►
you have like external pressure
00:22:42
◼
►
of things you need to be keeping up with
00:22:44
◼
►
or doing or planning for right now.
00:22:46
◼
►
This part of the year is basically like,
00:22:48
◼
►
work on the core, make the app better,
00:22:50
◼
►
make your stuff better, try, you know,
00:22:52
◼
►
if you wanna start experimenting with brand new features
00:22:56
◼
►
or start planning what your next big release might be,
00:22:59
◼
►
this is a good time for that.
00:23:00
◼
►
Of course, I'm following none of this advice myself.
00:23:02
◼
►
I'm actually preparing to launch my 3.0 now.
00:23:06
◼
►
But that's not because it was planned this way,
00:23:07
◼
►
it's because it took too long.
00:23:09
◼
►
I wanted to launch it in the fall and I just didn't.
00:23:11
◼
►
But, you know, this is,
00:23:14
◼
►
and honestly, this is not a bad time to release a big point,
00:23:16
◼
►
you know, a big point 0 update.
00:23:18
◼
►
Because there's not a lot else going on.
00:23:22
◼
►
And there is some concern there that, you know,
00:23:25
◼
►
you need to be aware of things like the PR seasons
00:23:29
◼
►
and calendar and advertising and everything like that.
00:23:32
◼
►
One of the good things is that, well,
00:23:35
◼
►
a good thing if you're looking to buy ads
00:23:39
◼
►
or, you know, things like App Store search ads,
00:23:41
◼
►
you know, or ads on people's podcasts
00:23:43
◼
►
or ads on websites or whatever else, Facebook ads,
00:23:45
◼
►
usually ad inventory is pretty low
00:23:49
◼
►
in January and February.
00:23:51
◼
►
And this is a terrible thing if you make your money via ads,
00:23:55
◼
►
as you taught me and you were right,
00:23:58
◼
►
that basically your ad revenue tends to drop pretty sharply
00:24:01
◼
►
in the first few days of January
00:24:03
◼
►
compared to the year before and, you know,
00:24:05
◼
►
compared to the week before, even like in December.
00:24:08
◼
►
And sometimes it takes big corporate ad budgets
00:24:12
◼
►
a little while to get organized
00:24:13
◼
►
and start buying things for the new year.
00:24:15
◼
►
And so if you are an indie, making money via ads,
00:24:19
◼
►
you know, I think it's important not to freak out
00:24:20
◼
►
too much about that 'cause it's temporary.
00:24:22
◼
►
And if you are buying ads,
00:24:24
◼
►
this is kind of an awesome time to buy ads if you're an indie
00:24:27
◼
►
'cause you don't have to work on the annual corporate budget
00:24:29
◼
►
and get approval from a bunch of different departments.
00:24:31
◼
►
You can just buy the ads right now.
00:24:33
◼
►
And so you actually might be able to get
00:24:35
◼
►
a pretty good deal on ad inventory
00:24:37
◼
►
where things are a little bit cheaper
00:24:38
◼
►
than they normally would be.
00:24:40
◼
►
So that's also worth considering.
00:24:41
◼
►
But for the most part, I think you mainly have to
00:24:45
◼
►
be aware of like, you know, not releasing things
00:24:48
◼
►
too close to a holiday or a slow time or a slow weekend.
00:24:52
◼
►
But I think we're mostly past that now.
00:24:53
◼
►
You know, as we talk about this, it's January 4th,
00:24:57
◼
►
probably coming out on the 5th.
00:24:58
◼
►
So, you know, we're past New Year's Day
00:25:00
◼
►
and like the day or two after.
00:25:02
◼
►
I think pretty much any time now, from now forward,
00:25:04
◼
►
is okay to release things without too much trouble.
00:25:07
◼
►
- Yeah, and it's just a good, like, in some ways,
00:25:11
◼
►
it's just a good time to get back to work,
00:25:15
◼
►
like in a good way.
00:25:15
◼
►
Like I always find that the fall just feels
00:25:19
◼
►
just so disjointed for me.
00:25:22
◼
►
Like it's really hard to really get stuck into things
00:25:25
◼
►
'cause there's just so many things going on externally,
00:25:28
◼
►
both professionally as well as personally,
00:25:30
◼
►
that I kind of like the thought of like,
00:25:34
◼
►
nothing's really gonna happen for the next couple of months.
00:25:37
◼
►
And so getting into a normal rhythm,
00:25:39
◼
►
getting into a, you know, kind of starting some new habits,
00:25:42
◼
►
not necessarily like in the like,
00:25:43
◼
►
have New Year's resolutions perspective,
00:25:45
◼
►
but just by benefit of there not being things
00:25:48
◼
►
that are gonna be messing with your schedule,
00:25:50
◼
►
you know, it's kind of a nice time to be able to look at that
00:25:54
◼
►
and to hopefully, you know, like I really enjoy this process
00:25:57
◼
►
of sitting down and being like, what do I wanna work on?
00:26:00
◼
►
You know, what is actually going to be
00:26:02
◼
►
an interesting thing to build?
00:26:04
◼
►
What's, you know, what would I enjoy in that?
00:26:07
◼
►
And so it's a good time to be thoughtful about that
00:26:10
◼
►
and to kind of think that, you know,
00:26:11
◼
►
what is something that's maybe like,
00:26:13
◼
►
the level of difficulty might be a little higher,
00:26:16
◼
►
you know, 'cause this is a good time too,
00:26:17
◼
►
maybe to try and fail.
00:26:19
◼
►
You know, you try something that's a bit risky
00:26:20
◼
►
that might not work out.
00:26:22
◼
►
Like it's a better time to do that now
00:26:24
◼
►
than, you know, maybe later in the year
00:26:27
◼
►
or when things are a bit more high pressure.
00:26:30
◼
►
You know, like I've, I think it was like two or three
00:26:33
◼
►
Christmases ago, back when the Christmas bump
00:26:36
◼
►
was just dramatic.
00:26:37
◼
►
Like I remember the early days of the App Store,
00:26:40
◼
►
I would, you know, the Christmas day
00:26:42
◼
►
and the day after Christmas were something like 8% or 10%
00:26:45
◼
►
of my yearly revenue.
00:26:46
◼
►
Like it was huge and dramatic.
00:26:49
◼
►
- Thankfully that's kind of settled down a bit.
00:26:51
◼
►
Like as cool as it was to make that much money,
00:26:53
◼
►
like it was a bit terrifying.
00:26:54
◼
►
'Cause I remember a couple years ago,
00:26:56
◼
►
I had a bug in my main app that I released
00:27:01
◼
►
like, I think it was about five, six days before Christmas.
00:27:05
◼
►
I released it and it turned out the bug,
00:27:08
◼
►
like the app worked completely fine,
00:27:10
◼
►
except for all of the in-app purchases didn't work.
00:27:15
◼
►
- It worked fine, so I couldn't make any money.
00:27:18
◼
►
So that was a bit terrifying.
00:27:19
◼
►
And I, you know, did the bug,
00:27:21
◼
►
it was one of these like trivial things
00:27:23
◼
►
that there's a bit of debug logic that I had to flip over.
00:27:25
◼
►
And then, you know, resubmitted to Apple,
00:27:27
◼
►
did the expedited request.
00:27:29
◼
►
And in the end it was fine.
00:27:32
◼
►
Like the app was, you know, working in a functional way
00:27:34
◼
►
on Christmas day, which was super important.
00:27:37
◼
►
But I love that we're sort of past some of these things
00:27:41
◼
►
where you have that high stakes, that high stress,
00:27:43
◼
►
that if that app had been broken on Christmas day,
00:27:45
◼
►
it would have had a dramatic impact.
00:27:47
◼
►
And so I love this kind of time of the year
00:27:50
◼
►
where if something gets busted, if something gets broken,
00:27:53
◼
►
like the stakes are much lower.
00:27:54
◼
►
Like it's still impactful.
00:27:56
◼
►
It's not like I said, I wanna just be cavalier about things.
00:27:58
◼
►
But it's nice to kind of have that pressure
00:28:00
◼
►
taken off a little bit, and to be able to kind of
00:28:02
◼
►
really dive into some bigger projects in that way.
00:28:06
◼
►
- Oh yeah, I mean, and what you said earlier,
00:28:08
◼
►
I mean, like about how this is such a great work time,
00:28:10
◼
►
'cause like there's no interruptions.
00:28:12
◼
►
Like I love this time of year.
00:28:13
◼
►
I mean, I hate winter in general,
00:28:15
◼
►
'cause I can't go outside, because the outside world
00:28:17
◼
►
just hates me, but I'm a huge fan of the amount of work
00:28:21
◼
►
I can get done during this time.
00:28:23
◼
►
Because yeah, there's no holidays, there's no,
00:28:25
◼
►
well there's very few holidays,
00:28:27
◼
►
there's no like family needs really.
00:28:29
◼
►
It's just a solid like couple of months really
00:28:32
◼
►
where there's nothing else to do but work.
00:28:35
◼
►
And I kinda like it.
00:28:37
◼
►
So anyway, thank you everybody for listening.
00:28:39
◼
►
Good luck getting back to work yourselves.
00:28:41
◼
►
And we'll talk to you next week.
00:28:44
◼
►
[BLANK_AUDIO]