Under the Radar

Under the Radar 25: The Calm Before the Storm

 

  welcome to under the radar a show about

  independent iOS app development I'm

  Marco Arment mm David Smith under the

  radar is never longer than 30 minutes so

  let's get started so today we wanted to

  talk about kind of what we're calling

  the calm before the storm

  basically what to do and what to work on

  and what not to work on in the few

  months leading up to WB DC because the

  idea here is you know as iOS developers

  or Mac developers know if any of you are

  listening WDC usually includes some kind

  of major changes especially for iOS you

  know some kind of major API changes

  possibly design changes possibly

  business or marketing changes so there's

  always there's always a lot to do in

  response to what's announced at WTC for

  the fall and so the question is like you

  know what you know right now as we

  record this it's late April and you know

  everybody sees in mid June so it's it's

  close enough that like you don't

  necessarily want to get started on some

  kind of big project now right before WTC

  or months before the video you see and

  so the question is kind of like what do

  you do in this quiet time so David what

  do you do usually so I just got finished

  with activity post applause which was

  like my last probably the last new app

  that I launched before WTC and it was

  only launched when it was because 9.3

  was new had this new API this new

  capability like otherwise this time of

  year tends to be a sort of a cleanup

  phase like I wasn't seen about this in

  preparation for the show of kind of what

  my normal year looks like which is

  probably a good place to start in some

  ways we're so in many ways like my

  development

  year starts at WWDC on whatever Monday

  that is like this year it's like June

  13th is essentially like the new like

  developer New Year's where at that point

  we will sort of have the roadmap of what

  to come what's coming what to expect

  what's going to be important for the

  next for the next year until the next

  WWDC

  and like really new years we also might

  have a hangover at

  that's it's it's true he is from there

  we have a few months of time until

  whatever is announced WC actually gets

  released

  so typically recently this has been in

  June everything's announced in September

  ish late late September early October

  somewhere on there whenever the new

  iPhones come out typically is the sort

  of the window we have to before from

  when the new stuff is announced to when

  the new stuff is available so it's

  usually a pretty busy time for most

  developers because especially if it's

  like a big sweeping change you know it's

  like I think iOS 7 where it's like okay

  all if this new UI stuff needs to be

  done or those types of changes or it's

  like with the watch this like here's an

  watch OS 2 it's going to be coming out

  you have these bay this this very busy

  period essentially over the summer and

  then you get all that out then you are

  at least conceptually for me my goal is

  then to get everything nice and tidy for

  the holidays you know so I want to be

  like it's not as pronounced of a bump as

  it used to be but around you know around

  Christmas there's usually a nice solid

  bump in app downloads and sales and

  things because there's just a lot of

  people getting new devices and you know

  people getting new devices seem to be

  more apt to go and download things so

  you get you want to be sort of after the

  summer sort of intense phase you have

  this cleanup phase sort of running

  through Christmas and then the early

  part of the year when I tend just to

  kind of look at it as it's like it's a

  good opportunity for doing like point

  releases like do we doing these kinds of

  big updates but not like massive change

  you know and not like new apps tepa

  typically it's more just these big

  changes right and then you get into this

  period right around now where I don't

  want to tackle anything that I don't

  think I'm going to finish by June and I

  don't want to really like make new new

  praten like new small things because

  they may just become you know worthless

  or or kind of you know deprecated or all

  these types of things in June and so

  right now it tends to be more kind of a

  cleanup phase for me so I look

  kind of the process I'm going through

  right now as I look through my apps

  which of which there are many and I will

  kind of see like what are the little

  niggling things that I can do and things

  that have been on my to-do list for a

  while that I you know overall would make

  the apps better and these tend to be

  updates that are more quality of life

  updates you know things that are just

  like making the app easier to use or

  better or more stable that kind of thing

  rather than like I'm gonna implement

  this whole new you know radical approach

  to something it's like these are things

  that a lot of them the users won't see

  directly or if they do they'll just

  notice them and things are better rather

  than like totally different but for me

  that's kind of this cycle and what a

  year looks like and so now is this kind

  of fun place where you know I get to

  it's a bit more experimental like I'm

  just going in and doing lots of

  tinkering which is kind of nice I guess

  and it's like nice to kind of to also

  rest a bit before the crazy sprint

  vergis marathon that is June to

  September oh yeah I mean I I'm in pretty

  much complete agreement with everything

  you just said in fact you guys cover

  basically my entire outline for this

  episode in four minutes

  all right but yeah basically like you

  know this this is a great time you know

  as you just mentioned for anything any

  kind of like administrative tasks like

  you clean up especially clean up that is

  not like the code of your app

  necessarily you know administration

  stuff changing like updating your

  website or your marketing structure you

  know some kind like that if you want to

  like make you know make a better side or

  play with certain kinds of advertising

  or whatever else like this is a decent

  time to do that kind of stuff and as you

  said it's also a really good time to

  take vacations or to spend time with

  hobbies or with family or whatever else

  because a lot of people take vacations

  stuff in the summer time but you know as

  we'd because of the schedule that we are

  on a lot of time developers can't take

  vacation or shouldn't take vacation in

  summer time because some are so busy for

  us tackling all the stuff that's gonna

  be in the new version of iOS and so this

  is a great time for all that I mean

  mainly the main thing is what you what

  you don't want to be doing during this

  time ideally unless you really have to

  but if you ideally you don't want to be

  cackling major updates to existing apps

  it's not a terrible time to write new

  apps which we'll get to you know to do

  with given certain parameters but this

  is a this is not a great time to do

  major updates to existing apps because

  in June when when we get that WBC Happy

  New Year Monday and we start and you

  know we see the state of the unions and

  we start seeing some of the new api's

  what we usually find is that the new API

  is that are that are released in June to

  developers and mobile to be released in

  the fall to customers usually they will

  make our jobs easier in some big ways in

  our code and even if even if they wanted

  to make our jobs easier they will at

  least make our jobs different and so

  there's a any any amount of code that

  you write in the months before WDC it's

  kind of a liability that you might need

  that everything you're writing now you

  might need to adapt or rewrite in a few

  months you know and only and it's that

  there's always liability that when

  you're writing code but here the

  timeline is so close that it's kind of

  non-ideal if you can avoid writing tons

  of new code or tons of adjustments to

  your app now that's good this is

  especially true at least it used to be

  especially true if you're writing

  Swift's and Swift is still so young and

  changes so much although at least now

  with the open-source roadmap that that

  should eliminate most of these surprises

  that are coming with Swift and it's

  getting more mature but you know in

  general the ground will shift in June so

  you don't want to build a whole bunch of

  new code on top of the old ground until

  you know what the shift will be and then

  you know maybe you can start taking a

  vanishing api's and it used to be the

  case that a lot of developers really

  couldn't take advantage of the new API

  yet because they just they had to

  support older versions of iOS I think

  over time that that need has has

  diminished somewhat is certainly not

  gone and certainly there are a lot of

  people who still need to support old

  versions of iOS and if you do then

  they're for like you know the some of

  the some of the ground shifting stuff

  might not apply to you yet but I think

  most severely especially most indie

  developers now can get away with

  supporting just the current version of

  iOS and the vast majority of their

  customers in most cases are

  okay with that because adoption rates

  are so good these days so really you

  want to avoid being incompatible or

  causing more work for yourself for the

  new stuff coming in the fall and this

  applies not only to code but also to

  design marketing business because you

  know design wise like there's obviously

  there might be design changes to iOS

  there you know there's been rumors of

  like you know more things related to

  true tone and nightshift so maybe like a

  system-wide dark mode or something like

  that you got to consider that there

  might be designed tweaks to the built-in

  widgets or to just the conventions there

  might be new new styles that are you

  know new navigation controller

  structures like a split view kind of

  thing like you know new stuff like that

  that might come out that might become

  like a new standard thing that people

  expect or want in the next version of

  iOS so it is not like right now is not a

  good time to redesign your UI because

  you don't know what those changes will

  be yet also marketing wise you know

  there's there's considerations of like

  do you want to do any kind of small or

  medium sized releases now and then also

  do like another medium size release in

  the fall or do you want to cluster them

  together and just wait you know hold the

  stuff back now and then in the fall do a

  bigger release and of course there's

  pluses and minuses to that as well it

  was obviously more competition in the

  fall but there's also more people

  looking and there's chances to be

  featured and we'll probably cover that

  at a later date but also just it's worth

  considering that any any assumptions you

  make now about the business of selling

  your app however you're making money

  whatever your structure is for

  collecting money from people or not

  whether you're doing ads whether you're

  doing upgrade payments whatever you're

  doing the business model that you have

  now might need to change once we learn

  what we're going to learn in June you

  know so as you learned David like I add

  is showing down so like if you were if

  you were depending on I add a couple

  months ago well now you have work to do

  in June there might be other changes

  announced there might be changes to the

  App Store there might be new policies or

  maybe what you're doing now won't be

  allowed anymore or maybe it won't work

  as well anymore

  and maybe there will be new things that

  we can do new business models that

  become available or possible or more

  practical than they used to be

  so this is all just a way to say like

  you should generally try to avoid any

  kind of major changes to existing apps

  during this time period because you

  might have to change it all again in two

  months yeah and I think there's in

  general it's like a lot of this speaks

  to a more fundamental thing that I know

  is important it like an important thing

  for me to learn in sort of the

  discipline of of app creation was the

  rather than just as it's so easy to do

  like just keep barreling ahead on like

  opening up Xcode every morning and just

  getting in there and writing the codes

  and whatever you think of building is

  trying to instead make sure that you're

  being thoughtful about it and like being

  somewhat disciplined about it because

  when I think about these types of like

  considerations for getting ready for

  June is a lot of what I'm trying to do

  is make sure that I'm setting myself up

  so that on June 14th I am ready to dive

  head headlong into whatever is announced

  and I may or may not like maybe what

  they announce isn't really relevant to

  me or my app or maybe it's just not that

  interesting whatever it is but what I

  want is to make sure that I'm ready to

  do that and like I'm poised and capable

  of doing that like oh but I don't want

  to do is to just like have been

  barreling along doing something that's

  like creating all of these sort of

  responsibilities or commitments debt

  that I'm gonna then have to be

  responsible for in June July and August

  like that's where it would become very

  problematic and so I need to think about

  it I like look you know it's a struggle

  I know for myself that when I used to

  work in a more corporate environment

  there was a certain amount of structure

  imposed on me by like having a manager

  and my manager having a manager and so

  on and we'd have to go through things

  like sprint planning only work out what

  are we going to work on for the next two

  weeks and go through all these exercises

  that in a corporate environment are kind

  of just the way you manage larger teams

  but when you're working for yourself or

  with a very small team that discipline

  has to come from yourself and so you

  have to look at these things and say

  well like I would love to add this

  feature to this app or I'd love to

  implement this new thing

  or do you know whatever it whatever that

  activity is you want to do there's a

  certain amount of actually having to

  look at it and say there's I think 44

  days till WDC like can I get this done

  and then and if I do is that gonna set

  me up to be free and available

  afterwards or is it the kind of thing

  that's like this is this big

  experimental thing that I'm working on

  that I'm gonna release and I'm gonna

  expect to have to do a ton of customer

  support or management of it or like I'm

  creating this thing that's gonna then

  require a lot of my time down the road

  like those types of considerations you

  have well the only person who's going to

  be doing those is like me I can't rely

  on someone else to come in and say this

  is what you need to work on for the next

  month in the run up and so I have to do

  to have that discipline myself to look

  at it and say yeah I think I can get

  this done like the things that I'm

  working on myself are these sort of

  small improvements to all my apps that I

  kind of had these lists of things and

  they're just like these small

  improvements most of them are probably

  like a week's worth of work and oh and

  that all of them are things that I think

  won't require maintenance in June or you

  know sort of a follow up they're very

  self-contained and neat and tidy and

  that's by choice and intention you know

  I'm not really the kind of person I know

  it's like I have a Gantt chart like this

  big organizational thing that I'm like

  okay well I'll do this and this and you

  know this task is dependent on this task

  and so you'd like that's not what I'm

  saying and I don't know some people love

  Gantt charts that's they don't really

  work for me in the way I had to think

  about things but I mean that kind of

  discipline of thinking about it

  consciously and saying like am i

  realistically going to be done with all

  these things so that I'm poised and

  ready when the new stuff and the new

  opportunities appear because ultimately

  that's all this all this comes down to

  is like there's going to be new

  opportunities because they'll be change

  am I going to be in a position to set

  myself up to take advantage of those

  opportunities

  cuz like that's most of what like being

  lucky in a lot of these types of you

  know every nough is where you look at

  subjects like ah man you know it's like

  they really lucked out and that's why

  their business is a success it's like

  maybe or or they were just ready and

  prepared for when the opportunity

  presented itself that they could dive in

  had the head first it's probably more

  that usually some of both

  a little bit of both but you can't do if

  you don't know if though if you don't

  have the one the other ones not gonna

  really matter nearly as much that's true

  alright so we are sponsored this week

  once again by our friends at Pingdom you

  can start monitoring your websites and

  servers today at Pingdom comm with a

  free 14-day trial when you enter offer

  code radar at checkout you get 20% off

  your first invoice now Pingdom is a web

  monitoring service and I have I said

  last time that I've been using Pingdom

  for a long time a very long time today I

  actually looked up how long exactly it

  was that I used that we use Pingdom and

  and so I looked I found the very first

  email I got from David Carr but we were

  both making tumblr from April 2nd 2007

  and he says I think I'm going to sign us

  up for this and then message body

  penguin comm and sure enough he did sign

  up for it and so that we've been using

  Pingdom first me and me and that David

  now me and this David

  we've been using picked them for a very

  long time I've been using it personally

  since spring of 2007 so for nine years

  now and Pingdom is great for monitoring

  your web sites and web services anything

  you can monitor through a basic HTTP

  access of some kind Pingdom can monitor

  that and so this is useful for of course

  making sure your website is up making

  sure your service is up you can also do

  things like monitor for changes so you

  can do things like monitor somebody

  else's website like we mentioned last

  time you can would monitor the WWDC

  website to see when WTC was announced

  each year and that which mattered a lot

  especially back when it was like

  first-come first-serve for tickets and

  so you can monitor any site you want for

  changes you can monitor your own sites

  for uptime and you can also monitor any

  anything that you can represent by like

  a kind of a binary like good or bad

  status so for instance if you have some

  kind of health page or health check for

  your apps your your services you can

  have the health check returned a

  different string and then you can have

  Pingdom search for that string on the

  page so that when things are not just

  debt you know not even down but when

  things are just not I

  deal like one of your servers is running

  low on disk space or something like that

  you can be alerted of that with a

  separate check and you can have

  different alert levels you can say or I

  will if a servers load is spaced email

  me about that but I don't need to be

  like texted or notified with tons of

  alarms about that but if the whole

  website is down set everything on fire

  and let me know like don't do whatever

  it takes to notify me that the website

  is down and there's so many

  customization options with Pingdom it's

  a great service they they're widely used

  now they say they detect around 13

  million outages every month because over

  400,000 outages every day so you can

  really do a lot with Pingdom and a lot

  of people do and I've been doing it

  myself for nine years now so check it

  out Pingdom comm you need to be the

  first one to know when your website or

  service is down not everybody else so

  you need to know first go to Pingdom

  calm for a 14-day free trial and 20% off

  when you enter the offer code radar at

  checkout thank you very much to Pingdom

  for sponsoring our show once again so I

  wanted to talk a little bit about you

  know I think we both kind of agreed that

  this is a good time for cleanup and

  minor improvements of our apps I want to

  go a little bit more into what that is

  what that means I've been doing a lot of

  this myself with overcast recently in

  the last couple of months I've

  integrated analytics I've integrated

  what used to be called crashlytics and

  is now called fabric located on my

  Twitter that whole thing integrated

  analytics and crash reporting more

  deeply into the app before I was just I

  was for a while using haki then I was

  using Apple's built-in stuff and now

  found fabric to be a good combo for me

  and the main reason why is that I really

  wanted to take this time to improve

  quality and so this is a great time to

  you know minimize crashes to go through

  and fix like little bugs like that just

  little little bugs little annoyances to

  your users anything that causes crashing

  or failures this is a great time to do

  that because like that's the kind of

  stuff that generally like whatever is

  announced that everybody you see is

  probably not going to effect that kind

  of code it's also a good time to pay off

  any kind of low-level technical debt as

  long as it's not a ton of work and you

  know will cost tons of bugs but any kind

  of like you know if you have a technical

  debt like in your in your sink or data

  layers this is a good time to pay that

  if you can and and to do like minor

  feature experimentation like if you want

  to tweak like small changes to the app

  not any kind of big overreaching change

  or redesign but if you just want to

  tweak small changes this is a good time

  to do that as well it's also a good time

  to solicit or investigate customer

  feedback about what kinds of things you

  want to be doing this summer so ask your

  existing customers or look at your

  analytics or implement analytics of some

  kind don't be creepy but implement some

  kind of analytics to to say like you

  know what should I be thinking about

  this summer when all this stuff is

  announced what should I have in my

  roadmap feature wise for my app what are

  what are my customers really asking for

  how is the app actually being used and

  not being used this is a great time for

  all that stuff it basically everything

  that isn't massive code design or

  business changes this is a great time

  for all those things and so me

  personally I have as I mentioned

  integrated crashlytics and fabric and

  and analytics there and so I've taken

  this time to drop my crash rate to

  nearly zero and through the combination

  of the last few versions plus the

  version that I just submitted this

  morning just a whole bunch of minor

  updates focused on getting the crashes

  reduced as low as I possibly can just

  trying to eliminate like crashlytics

  tells you like a crash free users

  percentage because kind of cool it's

  kind of cool metric and it used to be

  like 99 point something low now at 99.9

  and the new version I have in review now

  should raise that even higher it's just

  a very satisfying like kind of technical

  debt payoff period I'm going through

  here we're just like let me just fix as

  much as I possibly can that that I can

  fit in this time span and then it's also

  it's a great time to do any kind of

  experimentation with other things that

  are not your app that are not like the

  code of your app so you know I mentioned

  experimental you know small features or

  small changes but this is actually a

  great time to step away from your iOS

  apps and to look at other kinds of

  larger kinds of experimentation so

  things like learning a new language

  learning a new API is just learning

  something new that will probably not

  change dramatically in June so you know

  other languages

  non-apple platforms things like that and

  also just making new apps on different

  platforms so if you if you want if

  you've wanted for a long time to make an

  android app or a web app maybe arguably

  even a Mac app which I'm kind of

  implying with a little bit because the

  Mac doesn't change that much usually WC

  so maybe a Mac app would also qualify

  here but any kind of app on different

  platforms this is a great time to

  experiment with that because that's

  probably not gonna change much in June

  doesn't really matter and you kind of

  have to like save your iOS and juices

  for for then you know and it's also a

  great time to just enter an entirely new

  business if you wanted to like start a

  podcast start a blog you know start

  selling t-shirts or something like if

  you wanted to start something new that

  is not an app that won't necessarily

  take up your entire life this is a good

  time to experiment with that as well so

  basically it's a time for

  experimentation of all kinds as long as

  it's not going to be a problem come June

  exactly and I think there's also

  something to be said for I haven't

  actually I mean it knowing me I'll

  probably pull a chart for this after the

  show but I'm like I imagine the number

  of new submissions this time of year is

  lower than the typical like seasonal

  rate and so if you have something that

  you've been thinking about launching

  like a small little project or something

  like there's a certain amount of wisdom

  and launching it at a time when things

  are quieter when there's less going on

  when in general like there's not a whole

  lot of tech news that's come out like

  we're kind of in this quiet bit between

  the spraying announcements and the

  summer announcements and so if you have

  something that you have been working on

  there's certainly some advantage to

  pushing to make sure that you get it out

  in the quiet time you know that's now

  because if you try and do it over the

  summer there's gonna be a lot more

  competition on the news side and if you

  try and do it in the fall then you're

  gonna have a lot of competition just on

  the competing apps side you think

  there's just a lot of new apps a lot of

  big updates you know the this if you

  think about things like the you know the

  featured page

  in the AppStore like there in this in

  the fall it's gonna be full of like the

  the apps that take advantage of the new

  stuff you know like last fall it was

  like hey here's all the apps that are

  updated for 3d touch or things like that

  like Apple tends to push those types of

  things but I don't really can't think of

  like there's not there's not a lot of

  huge big sweeping things right now that

  would push something out and so there's

  certainly an incentive to you know if

  either if you've been working on

  something and you might be able to get

  it out this is a pretty good time you

  know it's I can tell from you know

  launching activity plus plus a couple

  weeks ago that it was easier in some

  ways to get attention for something

  around now and you know if you just

  think about the volume of tech news like

  if you just you know if you're the kind

  of person who keeps up on tech news like

  it's a quiet ish time right now because

  most Apple is probably not going to be

  announcing much new because they'll save

  that for June and a lot of other the big

  organizations that you know like you

  know create tech news they're in that

  same kind of cycle that they have their

  big events in the summer or around then

  and that's when they'll be doing it so

  there's some advantage to doing that too

  like just taking advantage of it as a

  quiet time to maybe get a bit more

  attention for yourself yeah totally you

  know cuz that's you know as you

  mentioned like there there really isn't

  a lot else going on for the most part

  right now so if you have something where

  you don't necessarily need to wait until

  WDC so if it's something if it's a small

  app or something that is that doesn't

  really rely too heavily on the

  frameworks and the platform staying

  identical and things that might include

  things like games you know we don't know

  anything about games for the most part

  but but that might include things like

  games were like you're not usually using

  most of the platform api's for games

  usually you're using like OpenGL or or

  more likely some kind of higher level

  cross-platform game engine and doing all

  your custom coding in there and you're

  not really using like UI kit directly

  for most stuff and things like that so

  like you know that games are my

  everything we just said might be totally

  invalid we really have no idea but this

  is a good time for like things that will

  not likely be strongly affected by WTC

  happening

  yeah and the last thing I wanted to

  mention too is if you are going to be a

  W or DC something else you should be

  doing in this time is preparing yourself

  for it in terms of keeping an eye and a

  list and a checklist of like the things

  that you are going to the conference to

  get answered like I have a list in in my

  life in my task management system that's

  just like WWC questions and any time

  between now and do you see that I

  encounter something that I'm thinking

  like hey maybe this would be a good

  introductory question to ask an Apple

  engineer it just goes in there and I'll

  just try and keep you know keep track of

  these things and a lot of them it's

  probably good to like say it doesn't

  have don't have to be amazing questions

  like these groundbreaking novel concepts

  they're mote think of them as

  icebreakers like it's night it's so much

  easier to get a conversation going if

  you are able to go to a lab at WWDC if

  you have you know something like a

  jumping-off point that you can start

  from and so just be thinking about that

  so that rather than you know the morning

  of the Tuesday of WotC you go into the

  lab and you're like huh

  what would I like to invoke what I like

  to know like it's going to be a harder

  thing to think of the things.when versus

  now when you're kind of in think of it

  in your code running into little issues

  running into the little gotchas things

  that would be helpful to you know talk

  to someone an apple about and if they

  are if it would be relevant always good

  to file a radar about them and have that

  with have that number with you when you

  go to WWDC it just avoids the dance that

  you'll end up doing otherwise with an

  Apple engineer we're like Oh have you

  followed the radar about this and they

  say no it's like well you should

  probably do that and then kind of kits

  kind of a conversation killer versus if

  you can go in and say like yes I did

  here's the number and then you can

  continue the conversation from there so

  just a little tip that I've found very

  helpful for myself to get ready for WotC

  every year sounds good and with that I

  think we're out of time this week so

  thank you everybody for listening good

  luck with your technical debt at an

  experimental period that we're entering

  now and I hope you'll listen next week

  thanks a lot for listening and we'll see

  you then bye