PodSearch

Under the Radar

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:31 ◼   ► - Yes.

00:01:33 ◼   ► Only just.

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:48 ◼   ► - Oh yeah.

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:14 ◼   ► (laughing)

00:27:15 ◼   ► - It worked fine, so I couldn't make any money.

00:27:17 ◼   ► - Exactly.

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:43 ◼   ► - Bye.

00:28:44 ◼   ► [BLANK_AUDIO]