Under the Radar

Under the Radar 102: Procrastiworking


  welcome to under the radar a show about

  independent iOS app development I'm mark

  Worman and I'm David Smith

  under-the-radar is never longer than 30

  minutes so let's get started so I have a

  problem and I think it's a problem that

  I think you can probably help me with

  Marco and I think it's something that we

  need to talk about are you breaking up

  with me no no nothing like that

  but it's it's an area that I hear that

  you're an expert in and I feel like I

  just need some advice so this last week

  I have been you know have dealing with

  kind of a tricky situation broker

  programmatically so I'm working on

  workouts plus plus I have been we're

  adding a whole bunch of new features to

  it it's been it's really nice like

  update that I've planned for the fee at

  the end of this year and there's one one

  thing left basically like I have this

  one big task I need to undertake I need

  to redesign the workout configuration

  screen and it's kind of this big

  multi-day task that I'm kind of honestly

  scared about and the thing that I'm

  struggling with is what is the best

  methods that I can use to procrastinate

  and not do it because that is

  essentially what I have found myself

  doing for the last week and you know it

  all I thought would be interesting thing

  to discuss because I started to keep

  track of what things I should what about

  will all the strategies that I have come

  up with to avoid doing this task and so

  far my list is 19 different things that

  I have done in the last week to avoid

  doing this and so hey this is a little

  bit of comedy in that and you know I'm

  sure you have your own and I think it

  actually is interesting to unpack a

  little bit of what the things that I do

  are because the more I think about this

  and like as from slightly self-aware

  like the thing that is likely most most

  likely to get me to actually you know

  attack this problem and to solve it is

  to recognize when I'm doing the things

  that are avoidance and when I'm you know

  and recognize them for what they are and

  you know maybe sometimes that's okay but

  the reality is like when I do some of

  these things like I you know the first

  one on my list is implementing random

  small features I like I've just been

  doing that random and like the whole

  which is in somebody's is great like

  I've added some really cool interesting

  ideas to work out to plus plus but at

  the same time I was like I'm just why am

  i adding these random features that are

  not core to you know the core experience

  of the app when all I'm really doing is

  just putting off this thing that is

  absolutely essential that I cannot ship

  this update without doing so anyway I

  hear you're an expert in avoiding work

  so you seem to you seem the right the

  right person to talk to about this

  problem I'm having

  oh yeah it's like procrastinate

  you do other things that make you feel

  productive that maybe are productive but

  are still not the thing you're really

  supposed to be doing or like the one big

  thing that you have to do like it's not

  that thing but you're doing other things

  that nevertheless are either useful or

  valuable or productive in some other way

  so that this happens to me all the time

  it is really hard for me to motivate

  myself to work on something I don't feel

  like doing this it was always a problem

  in my entire schooling when I was a kid

  and you know like doing any any ever

  motivate myself to do homework or

  anything it was just like impossible for

  me like it was like there was a brick

  wall this is probably just my lack of

  work ethic or being lazy or something

  like that I don't think there's any kind

  of clinical estimation for this but

  basically just in making it impossible

  for me to do things I don't feel like

  doing or that I'm discouraged from doing

  what I don't want to do so I've always

  suffered from that or had problems with

  that I have never found ways to manage

  it and I probably never will find ways

  to manage it if I had if I hadn't even

  started by the time I'm now 35 and I

  still figured out how to how to do

  things I want to do I'm probably this

  probably is not the kind of thing I'm

  gonna get better at over time I just to

  figure out ways to manage it and work

  around it I - and facing large barriers

  for me it's it's almost debilitating for

  overcast development right now because

  I'm very susceptible to convincing

  myself that a crazy UI hack is worth

  doing because it makes the app nicer or

  achieve something I want

  to achieve in the UI and so over time in

  all of my apps I have always even though

  I've told you and the listeners on this

  show just stick with stock uikit stuff

  don't hack it don't do crazy stuff don't

  do crazy custom stuff if you don't have

  to like you're better off sticking with

  customs you're sticking with stock stuff

  the reason I say that is because I keep

  not following that advice myself and I

  keep doing crazy UI stuff that takes

  massive amounts of development time

  creates huge numbers of weird little

  bugs and animation bugs and everything

  else that I don't have to spend more

  development time on and then if Apple

  changes some critical thing or I want to

  adopt some new kind of style like you

  know like moving from a collection of

  you to it or from a table view to a

  collection view or something like that

  if I wanted to do something fancy or

  something new or in the case of iOS 11

  things like adopting drag and drop for

  reordering that then requires me to

  throw out my giant pile of hacks that I

  did before and possibly create a new one

  and so my iOS 11 update has been plagued

  with massive amounts of messing with the

  UI if first of all iOS 11 basically

  seems to have rewritten UI tableview

  like the way you eye table view works in

  iOS 11 is so different especially in the

  ways it manages sizing anime and

  animations basically it broke all my

  table views in in some way or another

  and it broke all my custom cells it

  broke everything about how I do it and

  the only reason overcast runs on iOS 11

  at all right now

  in the in the public version is that and

  when it's built against a previous SDK

  like at the iOS 10 SDK it runs in a

  compatibility mode and Apple seems to be

  using mostly the old UI tableview code

  for apps that are built against it which

  is nice but I can't just keep building

  my app against I guess the iOS 10 SDK

  forever so I and I can't use iOS 11

  features without building against a I

  was 11 SDK so I have to basically in the

  process of adopting some pretty basic

  iOS 11 stuff I have had to rewrite many

  of my core tableview logic and cells and

  fuse and everything else and it turns

  out podcast apps have a lot of those so

  so it's it has been a massive

  undertaking and it's incredibly

  demoralizing because all I want to do is

  work on like features like that's all I

  want to do I have so many great ideas

  for cool features I want to do and I'm

  stuck working for months on and months

  and months and months on animation

  glitches and minor UI stuff that I that

  all I'm doing is trying to restore it

  from where it was before to the new iOS

  11 version and and it is horrible so

  instead of doing that I will hurt rather

  in addition doing that really I have

  also taken lots of time here to do other

  things so I've been you know modifying

  the UI to accommodate things people

  actually want like the one tap play

  thing you know that I didn't have to do

  that in this update but I kind of shoved

  it in because I needed a break to bring

  all the incredibly tedious and

  demoralizing tableview hacking so I did

  that I have debated and tweaked and even

  shared on Twitter the process of doing

  lots of different UI details I have also

  added you know a couple new settings and

  fix that long-standing copy in the

  search box crashing bug thanks to Brent

  Simmons for that and so there have been

  so many things that I've done in the

  meantime I have set up a whole new

  laptop I have currently I'm recording on

  a laptop because I finally brought in my

  iMac for repair because the warranty

  expires in nine days and I might look at

  it repaired so that's a whole review

  like prepare and imact

  prepare your main computer to go into

  the Apple for a week then prepare

  another computer to be your main

  computer in the meet

  I'm getting my dog a haircut this

  afternoon my kitchen has never been

  cleaner than it has been these last few

  weeks because it's like any time there's

  a speck of anything in the kitchen or

  anything is out I clean it immediately

  because that's something to do that

  feels productive

  I mean we've we've played a lot of story

  that it's just a star to valley in our

  house it has a few weeks that for some

  reason peels productivity gain that

  feels like work it's it's it is crazy

  how much I have done in the in the app

  in the last few months really and in the

  last few weeks solely to keep myself


  while I have either been procrastinating

  or been slogging through working on

  these horrible UI things that I honestly

  just do not want to do not want to work

  on and I just cannot wait for it to be

  done and shipped oh not to mention the

  iPhone 10 and adopting to that all that

  like all the in sets the and everything

  like it turns out that while Apple has

  made a pretty good system with the safe

  area in sets and safe area guides and

  everything like the API is actually

  pretty complete and pretty rich for that

  and I'm really happy working with it

  when I do but if your app supports

  landscape orientation at all you

  probably have to work on every single

  screen in the app to adopt 2.2 the

  iPhone 10 any screen that supports

  landscape on an iPhone probably needs

  work not to mention every screen you

  know in portrait orientation it needs at

  least consideration if you have anything

  beyond a very basic navigation bar and

  tool bar stock set up anything else

  where you put anything anywhere near an

  edge or the top or the bottom or a

  corner and by the way for for the past

  decade stock iOS design has meant

  putting things in corners now we have no

  corners so that's a challenge it's not

  like things there are so much like

  tedious demoralizing work that I've had

  to do just to catch up to iOS 11 and the

  iPhone 10 that I'm just starving for

  ways to procrastinate and and other

  things to do that can that can kind of

  give me a little like that a little

  happy boost to having accomplished

  something beyond just slogging away at

  another safe area in sets thing or

  another UI tableview animation bug

  well that's somewhere that I can help

  you cuz I have a long list of other

  approaches that you haven't many things

  to avoid work so like I there's

  organizing your to-do list which is

  great and then oh yeah I did that I did

  that last night I I merged all the beta

  feedback from multiple sources until one

  document that I'm now working and then

  the best part once you've done that

  right is then you then you start to

  question your to-do list method in the

  first place yeah and if you're usually

  using the right app for it you want

  explore try out a few other apps or try

  you know I think think about home what

  if there's a different method or

  approach so I did that I've done that

  for a while I've gone through all my

  emails I was supposed to respond to for

  you know several weeks that have been

  you know backing up in my inbox I

  watched a few WWDC videos oh that's a

  good one to you for a while which is

  great it feels so productive I'd be in

  there like there's code and be like I'm

  learning I went field testing so like I

  have a workout app right so like listen

  go for a walk yeah I feel good for you

  means I went for a walk

  it was sleep trackers like oh I took a

  nap to test my head I have to test this

  app I mean perfect right thank that's

  exactly this is this is the right

  mindset that one run that we're on the

  same wavelength here mm-hmm I've been

  solving other people's problems like any

  time so you have any time you mention

  any kind of design issue with overcast

  and like right there like you all right

  let me let me get in there let me solve

  other people's problems because their

  problems are better than mine your

  feedback has been awesome very detailed

  yeah I got I got lots of attention


  you mean I surprised you I've heard at

  least one or maybe two apps of course

  why not that's a typical Tuesday you

  know just like hey I have this idea why

  don't I try it out hey great there goes

  there goes half a day I decide you know

  what I need to do to build this feature

  like I'm just I'm just scared of it

  because I don't know what its gonna look

  like I haven't designed it yet so you

  know you know I usually just designing

  code but maybe what I should do is I

  should design in paper and then I need

  to explore different ways of you know

  designing in paper and like finding the

  right grid and they reach the right dot

  grid that I need to within that I mean

  you have to buy in a notebook maybe some

  drafting pens yeah I mean I thought

  about buying a note with problem is the

  shipping and it doesn't feel productive

  if you have to wait on shipping it's

  much more productive if I can just spend

  a while going through PDFs of like

  printable guides and deciding which one

  is exactly right

  rather than just you know buying the

  that the the pano book the new book that

  the student guys came out with and then

  I'd be done like that take five minutes

  no no no I need to I need to really

  research this and make sure I'm doing it

  the right way

  the ability I worked on other apps which

  was fun naturally just like some of my

  other apps that had been slightly

  neglected I was like oh great I really

  have I need to work on them instead and

  CIA spent a while trying to find just

  the right music to listen to while I was

  trying to solve this problem because

  clearly that's the problem that's

  definitely the problem and now you have

  to also research headphones streaming


  maybe maybe get into the weird worlds of

  like ASMR and other weird stuff that you

  could be listening to instead of music

  there's you know maybe it would help

  maybe that would be me that's my problem

  I'm just listening to the wrong music

  you can maybe maybe work on your desk

  set up like if you if you easily clean

  your desk or that's that rearrange my

  list that's number 17 in my office I

  mean it is amazing how how you

  I mean I will confess my office is not

  really clean but I have moved stuff

  around a lot like nothing is where it

  was at the beginning of the week it's

  not really clean it's just moved it's

  just different I've gone upstairs and I

  it's like you know what I need I need to

  take a break in like make it maybe make

  a cup of coffee get a snack maybe it's

  like blood sugar issues like new that's

  why I can't focus and work on this thing

  I need to like you know have a nice

  snack and need to get a little caffeine

  I'll solve me even bout some hardware

  like you got a new hard drive set up for

  our media at home like you know you did

  that I totally needed to do that they

  have like it is amazing how creative you

  can be when you're trying to avoid doing

  something like all those things that I

  just went through like are things that I

  did and are like sort of productive like

  sort of useful but in reality I'm not

  really not really so isn't it's like

  lots of movement not moving in the right

  direction you know like it's so

  frustrating when you've been when I

  start to like actually like self reflect

  about it and like see what I'm doing

  because like I feel like when I was in

  some ways I really appreciated when I

  worked like I mean it feels like like a

  lifetime ago but back when I worked for

  him more tradition

  programming job where I had a boss who

  would tell me to do something even if I

  didn't want to do it like I could just

  sort of I could begrudgingly do it

  because I kind of had to I could have I

  mean not that I was like perfectly

  productive in that environment and there

  were many times that I still like found

  things to do to avoid doing it but there

  was certainly something powerful and

  having somebody at the end of the day

  being like so where you you know should

  show me how far you've gotten on this

  feature and if I didn't have anything to

  show like that would reflect poorly on

  me and I'd be embarrassed or you know

  like feel like I hadn't been you know

  sort of doing things right you know be

  socially awkward and I mean I'll do a

  lot to avoid being socially awkward or

  avoid socially awkward situations and so

  I would I could work could work on it

  and I could get things done in that way

  but without that without somebody who is

  like I'm accountable to for building

  something it is so easy to just come up

  with a reason to to not and if it's like

  I think the thing that is so rough I

  think you mentioned this like it feels

  like physics it's like from a physical

  perspective like it actually feels good

  because you're able to like get the like

  I in certain think the awkward thing is

  you probably I probably get just as much

  like immediate satisfaction from you

  know reorganizing my desk as I will in

  two or three days when I finally

  finished this big redesign and like

  that's kind of awkward because it's not

  like it grows proportionally with the

  different with the difficulty of the

  task if it did like in some ways I'd

  have this like built-in incentive like

  oh man once I solve this really big

  problem I'll feel really really good but

  the reality is least for myself is like

  I'll probably feel just as productive

  and just as a sense of accomplishment or

  maybe like I'll feel 10% more than I

  will for just moving stuff around on my

  desk and then not remembering where

  anything is we were sponsored this week

  by Linode Linode has fast and powerful

  hosting options that you can set up in

  just seconds their tools are easy to

  understand and they let you choose your

  resource level and your Linux distro

  giving you the power and flexibility

  that you need and the node plans now

  started just five dollars a month for a

  Linux server

  with one gig of ram in the Linode cloud

  whether you're getting started with just

  your first server or whether you're

  deploying a complex system I think I

  have something like 25 Lin ODEs

  something like that Linode is the right

  choice for you

  Linda offers the fastest hardware and

  network with fantastic customer support

  behind at all it has never been easier

  to launch a Linode cloud server and they

  have lots of great tutorials if you like

  even if you're not using Linode if you

  want to know how to do something with

  Linux system administration if you just

  search the web for like you know a guide

  to set up nginx doesn't like that

  there's a very good chance Linn ODEs

  support documents are gonna show up in

  that search and that's gonna be the what

  helps you out they make it so easy they

  have great documentation great customer

  support if you need it little guarantees

  99.9% uptime for server availability and

  once your server is up they keep it that

  way a little it's great for tasks like

  hosting databases running a mail server

  running private get servers operating

  entire powerful applications and so much

  more so check it out today at lynda.com

  slash radar they have fantastic pricing

  options you can get a server with one

  gigabyte up to 16 gigs of RAM for just

  60 bucks a month across the board this

  is twice the amount of RAM that you'll

  get elsewhere once again if you sign up

  at lynda.com slash radar you will

  support our show and you'll get 20 hours

  towards any Linode plan and with a 7 day

  money-back guarantee there's nothing to

  lose so go to lynda.com slash radar to

  learn more sign up and take advantage of

  that $20 credit or use promo code radar

  2017 at checkout thank you so much to

  Linode for supporting this show so I

  think one thing you've touched on is

  there's different value to how you spend

  your time and there's there's value to

  you and there's value to your customers

  or your users or your apps and there

  needs to be a balance of both really

  like you know you mentioned like it

  feels great to clean up your desk and

  rearrange things or do things in other

  apps but like so that in that way like

  you are like you're kind of paying

  yourself there you're doing something to

  satisfy yourself but your customers are

  getting nothing - very little from that

  your customers and your apps

  also need their needs to be satisfied

  and so and and your business needs its

  needs to be satisfied so ultimately the

  the correct balance is both and like you

  know like in my case I again I'm not

  great at this but like I have tried to

  do that myself where I am some of the

  ways I'm procrastinating are adding

  features to the app that people actually

  want anyway

  you know I'm not just doing the UI stuff

  and also I'm having to do things like

  that just to keep myself motivated to

  keep going at all because otherwise I

  would just fall into a big rut and just

  not get anything done for months which

  has happened before and will probably

  happen again

  but you know like in order to avoid

  falling into a rut and and doing nothing

  for a while I have to do things that are

  interesting to me sometimes but I can do

  like you know one of those a week and

  then try to spend the rest of the week

  doing what I actually have to do and I

  feel like that's a good balance if I

  only did things that weren't the big

  thing I had to do then that big thing

  wouldn't get done and then I would be

  like you know doing these interesting

  things that meet them you know things

  like oh this would be a great time to

  adopt you know rx Swift or unit testing

  or some other thing that Casey likes and

  like if I did that like that would be

  nice that might be interesting that

  might be satisfying that might bring

  other benefits but if a major version of

  my app is being delayed while I you know

  mess around with other stuff like that

  that's ultimately hurting the app and

  that's not gonna make that big need go

  away like you're still gonna need to do

  the big thing you're still gonna need to

  finally do the thing that you've been

  putting off now you're doing it later

  so there is a balance to be struck but

  and it you can't it's like it's like you

  know queue starvation or priority a

  priority starvation like you can't

  totally ignore the big thing you have to

  eventually do it what do you think our

  strategy is to actually finally just do

  it yeah and I think that's the thing

  that I've been thinking about I mean in

  some ways that well this is the thing

  that I love about having a podcast right

  because it kind of like I started

  working in earnest on this feature that

  I haven't been I've been putting off

  this morning like a couple hours ago

  when I decided that we were going to

  talk about it on the show

  and partly it's like a not everyone as a

  podcast that they can talk about and

  then like feel bad if they hadn't

  actually started but I think the key

  thing that I was realizing is hey it's

  like the importance of being honest with

  ourselves because as much as I would

  like to say like it's that you can't

  just will yourself to be more productive

  or be more motivated like maybe that

  works for some people but certainly

  doesn't work for me and from my

  experience that's most talking to other

  people like it is the kind of thing that

  you all you can do is put yourself in an

  environment where you are likely to be

  motivated but you cannot like directly

  affect motivation itself like it is

  somewhat more ephemeral in that way and

  so what you end up with are like what

  are things that you can do to try and

  make it make yourself more motivated or

  at the very least to short-circuit the

  things that are unmotivated you and so

  like as an example of something that I

  honestly have started to do that I think

  has been very helpful in shortening the

  amount of time I spend doing you know

  they sort of these things that feel

  productive but aren't actually working

  towards my fundamental goals is to be

  just trying to be more mindful of what

  that when I'm doing that and so it's

  like being aware of like it was actually

  really productive for me to sit down and

  you know make this list of 19 things

  that I've done to avoid working on this

  feature because now that it's a list

  like it feels less scary and it feels

  more like it just it's it's very this

  concrete thing and I can choose to add

  something to that list or I can work on

  feet work on the actual feature and at a

  certain point adding another thing to

  the list feels worse than working on the

  feature and so that's like a productive

  thing to just be aware of when you're

  doing it and not end up just spending

  three days doing something you know work

  adding random features to the app as an

  avoidance mechanism and not be aware

  that you're doing it and why you're

  doing it because it's totally fine to do

  those things and to be like you know I

  don't want to work on that today I'm

  going to do this other random thing

  there but at least then it's a conscious

  choice at least it's like a thing that

  I'm choosing to do rather than sort of

  doing letting my subs you know

  subconscious avoid the work on its own

  you know it's a knife if I make a choice

  then at least that's slightly better and

  I think to the other thing that I was a

  strategy that I was thinking about when

  I was trying to think of like wow look

  what's the actual like you know DV end

  advice to give at the end of this

  episode and I think the other thing is

  to try and understand why you don't want

  to do it because a it's probably useful

  to make sure like is this actually

  something that I need to do like am i

  avoiding it because I don't think it's

  actually a good feature alright because

  I don't think it's actually gonna be

  useful or like I'm doing it for the

  wrong reason like I'm doing this feature

  because I think is like it's what all

  the cool kids are doing but it's not

  really isn't fit with the style of my

  app or something like that for example

  like if you're adding it right you're

  adding this feature because you think

  Apple will love you because you're

  implementing a new API or something like

  if it's for a reason that's external

  like that like make sure that it's you

  internally actually want to do it

  because if you don't like sometimes

  there are certainly things that are

  externally you know foisted on you that

  you have no choice about like you have

  to follow your taxes with the IRS every

  year like otherwise really bad things

  happen but not implementing the hot new

  API the Apple isn't gonna come knocking

  on your door in the same way so being

  aware of that and making sure that it is

  something that you need to do and you

  actually should do and if if that is the

  case then like what is it about it that

  makes it scary you know like for me in

  this case like what I've come to

  understand is that I just point out but

  with guts what made me scared is that it

  felt like something that I couldn't wrap

  my arms around like it was the sister of

  this slightly too big problem and so to

  get started like what I did this morning

  when I got she got started on working on

  it is I said okay I'm not gonna worry

  about like this crew this crazy

  complexity tree that I'm about to have

  to go down I'm just gonna worry about

  the first step I'm just going to do this

  thing I'm gonna get that going and then

  that was a lot less scary and then from

  here you know I'll implement the next

  screen and then some of the next screen

  and in the back of my mind like there's

  that little part of me that says you

  know Dave there's probably gonna be like

  2030 screens you're gonna have to

  implement to make this work like isn't

  that crazy and scary

  and it's just like consciously saying to

  myself like it's okay I'm just gonna

  worry about this one right now I know

  and and that made it a little bit better

  for me and maybe just it's like it's a

  little bit silly that I'm you know I'm a

  grown man but I have to like you know

  coach myself through doing my job but

  that's where I am and so like whatever

  that's that's who I am and I found that

  it works and you know to break it down

  into something that's slightly less

  scary when I was able to realize that

  the thing that made it scary was how big

  it was

  yeah that's really good way to look at

  it because you know I think part of one

  of the biggest challenges of indie work

  is that humans really like the the boss

  effect goes away mostly you know there

  are external deadlines and imposes like

  you know when a new iPhone comes out and

  stuff like that but for the most part

  like the boss goes away and and so you

  have to really get to know yourself and

  get to know you know like the same

  basically what your bosses always did

  when you had jobs which is like figure

  out how you know how you work figure out

  what you're motivated by what you're not

  motivated by and figure out how to

  manage your motivation levels and how to

  get how to get good work out of you your

  bosses I think you know our bosses

  throughout our jobs always had to figure

  that about us now that is gone and we

  have to figure that about ourselves and

  we have to start learning how you know

  how we fail what motivates us what

  doesn't and how to get good work out of

  ourselves and because there's no one

  else to do it then you know you're you

  know when you're on your own the way we

  are like you have to be the person to

  motivate yourself in some way now and

  and manage the way you work and find a

  way to get good output out of yourself

  just despite your flaws yeah and I think

  too it's the importance of not beating

  yourself up about it as you learn and

  discover and are able to sort of better

  manage yourself because I know that is

  something that I have struggled with a

  lot is that I feel like my biggest

  impostor syndrome moments come at these

  times when I am struggling with

  motivation and I feel like as like wow I

  did not get anything done this week like

  what I Who am I kidding I'm not anything

  like I'm not there's no way I'm gonna be

  a successful

  belapur there's no way I'm gonna be able

  to make a living of this and like this

  is the things that I tell myself like

  now eight years on into this process and

  I think it's the importance of Mike

  don't don't beat yourself up about it

  like this is just the process just try

  and be patient with yourself and

  understand that this is a process you

  have to actively manage that doesn't

  happen on its own it's not like this

  magic thing and there are people who

  just like are always productive it's

  like the people who are probably the

  most productive or just the people who

  understand what makes them unproductive

  the most and have strategies around

  minimizing those things over time and

  like that's what makes them those that's

  what makes them productive is by just

  being aware of themselves and managing

  themselves accordingly

  Thanks listening everybody will talk to

  you next week bye