PodSearch

Under the Radar

25: The Calm Before the Storm

 

00:00:00 ◼   ► Welcome to under the radar a show about independent iOS app development

00:00:04 ◼   ► I'm Marco Arment and I'm David Smith under the radar is never longer than 30 minutes. So let's get started

00:00:09 ◼   ► So today we wanted to talk about

00:00:11 ◼   ► Kind of the what we're calling the calm before the storm

00:00:14 ◼   ► Basically what to do and what to work on and what not to work on in the few months leading up to WWDC

00:00:22 ◼   ► Because the idea here is you know as iOS developers or Mac developers if any of you are listening

00:00:29 ◼   ► WVDC usually includes some kind of major changes,

00:00:33 ◼   ► especially for iOS.

00:00:35 ◼   ► Some kind of major API changes, possibly design changes,

00:00:39 ◼   ► possibly business or marketing changes.

00:00:41 ◼   ► So there's always a lot to do in response

00:00:46 ◼   ► to what's announced at WVDC for the fall.

00:00:50 ◼   ► And so the question is, right now as we record this,

00:00:53 ◼   ► it's late April and WVDC's in mid-June.

00:00:58 ◼   ► So it's close enough that you don't necessarily

00:01:01 ◼   ► wanna get started on some kind of big project now,

00:01:05 ◼   ► right before WWDC, or months before WWDC.

00:01:08 ◼   ► And so the question is kinda like,

00:01:10 ◼   ► what do you do in this quiet time?

00:01:13 ◼   ► So David, what do you do usually?

00:01:15 ◼   ► - So I just got finished with Activity++,

00:01:19 ◼   ► which was my last, probably the last new app

00:01:22 ◼   ► that I launched before WWDC, and it was only launched

00:01:26 ◼   ► it was because 9.3 was new, had this new API, this new capability. Otherwise, this time

00:01:32 ◼   ► of year tends to be a sort of a cleanup phase. I was thinking about this in preparation for

00:01:40 ◼   ► this show of kind of what my normal year looks like, which is probably a good place to start

00:01:44 ◼   ► in some ways. So in many ways, my development year starts at WWDC on whatever Monday that

00:01:52 ◼   ► is. This year, June 13th, is essentially the developer New Year's, where at that point

00:02:00 ◼   ► we will have the roadmap of what's coming, what to expect, what's going to be important

00:02:06 ◼   ► for the next year until the next WWDC.

00:02:09 ◼   ► And like real New Year's, we also might have a hangover.

00:02:12 ◼   ► So that's, it's true.

00:02:14 ◼   ► So from there, we have a few months of time

00:02:21 ◼   ► until whatever's announced at W3C actually gets released.

00:02:24 ◼   ► So typically, recently this has been in June,

00:02:27 ◼   ► everything's announced in September-ish,

00:02:30 ◼   ► late September, early October, somewhere around there,

00:02:32 ◼   ► whenever the new iPhones come out, typically,

00:02:35 ◼   ► is the sort of the window we have to before,

00:02:39 ◼   ► from when the new stuff is announced

00:02:40 ◼   ► when the new stuff is available. So it's usually a pretty busy time for most developers, especially

00:02:46 ◼   ► if it's a big sweeping change. You know, think iOS 7, where it's like, "Okay, all of this

00:02:51 ◼   ► new UI stuff needs to be done," or those types of changes. Or it's like with the watch, like

00:02:56 ◼   ► here's watchOS 2 that's going to be coming out. You have this very busy period, essentially,

00:03:01 ◼   ► over the summer, and then you get all that out. Conceptually for me, my goal is then

00:03:09 ◼   ► to get everything nice and tidy for the holidays. So I want to be—it's not as pronounced

00:03:17 ◼   ► of a bump as it used to be, but around Christmas there's usually a nice solid bump in app

00:03:23 ◼   ► downloads and sales and things, because there's just a lot of people getting new devices,

00:03:28 ◼   ► and people getting new devices seem to be more apt to go and download things. So you

00:03:32 ◼   ► want to be sort of after the summer sort of intense phase, you have this cleanup phase,

00:03:39 ◼   ► running through Christmas, and then the early part of the year is when I tend to kind of

00:03:45 ◼   ► look at it as it's a good opportunity for doing point releases, like doing these kinds

00:03:52 ◼   ► of big updates but not massive changes, not like new apps typically, it's more just these

00:03:59 ◼   ► big changes. And then you get into this period right around now where I don't want to tackle

00:04:05 ◼   ► anything that I don't think I'm going to finish by June. And I don't want to really make new

00:04:13 ◼   ► small things because they may just become worthless or kind of deprecated or all these

00:04:20 ◼   ► types of things in June. And so right now it tends to be more kind of a cleanup phase

00:04:24 ◼   ► for me. So I'll look through—this is kind of the process I'm going through right now—I'll

00:04:27 ◼   ► look through my apps, which there are many, and I will kind of see what are the little

00:04:32 ◼   ► niggling things that I can do and things that have been on my to-do list for a while that

00:04:39 ◼   ► overall would make the apps better. And these tend to be updates that are more quality of

00:04:44 ◼   ► life updates, things that are just making the app easier to use or better or more stable,

00:04:50 ◼   ► that kind of thing, rather than like, "I'm going to implement this whole new radical

00:04:55 ◼   ► approach to something." These are things that a lot of them the users won't see directly,

00:05:00 ◼   ► or if they do, they'll just notice them

00:05:02 ◼   ► that things are better rather than totally different.

00:05:05 ◼   ► But for me, that's kind of the cycle

00:05:07 ◼   ► and what a year looks like.

00:05:08 ◼   ► And so now is this kind of fun place where,

00:05:11 ◼   ► I get to, it's a bit more experimental,

00:05:13 ◼   ► like I'm just going in and doing lots of tinkering,

00:05:15 ◼   ► which is kind of nice, I guess.

00:05:17 ◼   ► And it's nice to kind of also rest a bit

00:05:21 ◼   ► before the crazy sprint, or I guess marathon,

00:05:23 ◼   ► that is June to September.

00:05:26 ◼   ► - Oh yeah, I mean, I'm in pretty much complete agreement

00:05:29 ◼   ► with everything you just said.

00:05:30 ◼   ► In fact, you just covered basically my entire outline

00:05:32 ◼   ► for this episode in four minutes.

00:05:34 ◼   ► - Sorry.

00:05:36 ◼   ► - But yeah, basically this is a great time,

00:05:39 ◼   ► as you just mentioned, for anything,

00:05:42 ◼   ► any kind of administrative tasks, cleanup,

00:05:46 ◼   ► especially cleanup that is not the code

00:05:48 ◼   ► of your app necessarily.

00:05:51 ◼   ► Administration stuff, changing, updating your website

00:05:54 ◼   ► or your marketing structure, some kind like that

00:05:58 ◼   ► if you wanna make a better site

00:06:01 ◼   ► or play with certain kinds of advertising or whatever else.

00:06:04 ◼   ► Like this is a decent time to do that kind of stuff.

00:06:06 ◼   ► And as you said, it's also a really good time

00:06:08 ◼   ► to take vacations or to spend time with hobbies

00:06:11 ◼   ► or with family or whatever else

00:06:14 ◼   ► because a lot of people take vacation stuff

00:06:16 ◼   ► in the summertime, but because of the schedule

00:06:19 ◼   ► that we are on, a lot of time developers

00:06:21 ◼   ► can't take vacation or shouldn't take vacation

00:06:23 ◼   ► in the summertime because summer is so busy for us

00:06:26 ◼   ► tackling all the stuff that's gonna be

00:06:27 ◼   ► in the new version of iOS.

00:06:29 ◼   ► And so this is a great time for all that.

00:06:31 ◼   ► I mean mainly, the main thing is what you don't want

00:06:34 ◼   ► to be doing during this time ideally,

00:06:36 ◼   ► unless you really have to, but if you, ideally,

00:06:38 ◼   ► you don't wanna be tackling major updates to existing apps.

00:06:43 ◼   ► It's not a terrible time to write new apps,

00:06:45 ◼   ► which we'll get to, given certain parameters,

00:06:49 ◼   ► but this is not a great time to do major updates

00:06:53 ◼   ► to existing apps because in June,

00:06:56 ◼   ► When we get that WWDC Happy New Year Monday

00:06:59 ◼   ► and we start, we see the state of the unions

00:07:01 ◼   ► and we start seeing some of the new APIs,

00:07:04 ◼   ► what we usually find is that the new APIs

00:07:07 ◼   ► that are released in June to developers

00:07:10 ◼   ► and will be released in the fall to customers,

00:07:12 ◼   ► usually they will make our jobs easier

00:07:15 ◼   ► in some big ways in our code.

00:07:18 ◼   ► And even if they want us to make our jobs easier,

00:07:21 ◼   ► they will at least make our jobs different.

00:07:23 ◼   ► And so any amount of code that you write

00:07:27 ◼   ► in the months before WWDC,

00:07:29 ◼   ► it's kind of a liability that you might need,

00:07:31 ◼   ► that everything you're writing now,

00:07:32 ◼   ► you might need to adapt or rewrite in a few months.

00:07:36 ◼   ► You know, and there's always a liability of that

00:07:38 ◼   ► when you're writing code,

00:07:39 ◼   ► but here the timeline is so close

00:07:41 ◼   ► that it's kind of non-ideal.

00:07:43 ◼   ► If you can avoid writing tons of new code

00:07:45 ◼   ► or tons of adjustments to your app now, that's good.

00:07:50 ◼   ► This is especially true,

00:07:51 ◼   ► at least it used to be especially true

00:07:53 ◼   ► if you're writing Swift, since Swift is still so young

00:07:55 ◼   ► and changes so much, although at least now

00:07:57 ◼   ► with the open source roadmap, that should eliminate

00:08:00 ◼   ► most of the surprises that are coming with Swift,

00:08:02 ◼   ► and it's getting more mature.

00:08:04 ◼   ► But in general, the ground will shift in June,

00:08:08 ◼   ► so you don't wanna build a whole bunch of new code

00:08:11 ◼   ► on top of the old ground until you know

00:08:14 ◼   ► what the shift will be, and then maybe you can start

00:08:16 ◼   ► taking advantage of new APIs.

00:08:17 ◼   ► And it used to be the case that a lot of developers

00:08:21 ◼   ► couldn't take advantage of the new APIs yet because they had to support older versions

00:08:26 ◼   ► of iOS. I think over time that need has diminished somewhat. It's certainly not gone and certainly

00:08:33 ◼   ► there are a lot of people who still need to support old versions of iOS and if you do

00:08:37 ◼   ► then therefore some of the ground shifting stuff might not apply to you yet. But I think

00:08:44 ◼   ► most developers, especially most indie developers now can get away with supporting just the

00:08:49 ◼   ► the current version of iOS and the vast majority of the customers in most cases are okay with

00:08:53 ◼   ► that because adoption rates are so good these days. So really you want to avoid being incompatible

00:09:01 ◼   ► or causing more work for yourself for the new stuff coming in the fall. And this applies

00:09:05 ◼   ► not only to code but also to design, marketing, business because design wise there's obviously

00:09:12 ◼   ► there might be design changes to iOS. There's been rumors of more things related to the

00:09:19 ◼   ► True Tone and Night Shift, so maybe like a system-wide dark mode or something like that,

00:09:22 ◼   ► you've got to consider that. There might be design tweaks to the built-in widgets or to

00:09:27 ◼   ► just the conventions. There might be new styles that are, you know, new navigation controller

00:09:33 ◼   ► structures like a split view kind of thing, like, you know, new stuff like that that might

00:09:36 ◼   ► come out that might become like a new standard thing that people expect or want in the next

00:09:40 ◼   ► version of iOS. So it is not, like right now, is not a good time to redesign your UI because

00:09:45 ◼   ► 'cause you don't know what the change will be yet.

00:09:48 ◼   ► Also marketing wise, there's considerations of

00:09:52 ◼   ► do you want to do any kind of smaller,

00:09:55 ◼   ► medium-sized releases now, and then also do

00:09:59 ◼   ► another medium-sized release in the fall,

00:10:02 ◼   ► or do you wanna cluster them together

00:10:03 ◼   ► and just wait, hold the stuff back now,

00:10:06 ◼   ► and then in the fall do a bigger release?

00:10:08 ◼   ► And of course there's pluses and minuses to that as well.

00:10:10 ◼   ► There's obviously more competition in the fall,

00:10:12 ◼   ► but there's also more people looking

00:10:14 ◼   ► and there's chances to be featured,

00:10:15 ◼   ► and we'll probably cover that at a later date.

00:10:18 ◼   ► But also just, it's worth considering

00:10:20 ◼   ► that any assumptions you make now

00:10:23 ◼   ► about the business of selling your app,

00:10:26 ◼   ► however you're making money,

00:10:28 ◼   ► whatever your structure is for collecting money

00:10:30 ◼   ► from people or not, whether you're doing ads,

00:10:33 ◼   ► whether you're doing upgrade payments,

00:10:34 ◼   ► whatever you're doing, the business model that you have now

00:10:38 ◼   ► might need to change once we learn

00:10:40 ◼   ► what we're going to learn in June.

00:10:42 ◼   ► So as you learned, David, like, IAD is shutting down.

00:10:45 ◼   ► So if you were depending on IAD a couple months ago,

00:10:48 ◼   ► well, now you have work to do.

00:10:50 ◼   ► In June, there might be other changes announced.

00:10:52 ◼   ► There might be changes to the App Store.

00:10:53 ◼   ► There might be new policies where maybe

00:10:55 ◼   ► what you're doing now won't be allowed anymore,

00:10:58 ◼   ► or maybe it won't work as well anymore.

00:11:00 ◼   ► And maybe there'll be new things that we can do,

00:11:02 ◼   ► new business models that become available or possible

00:11:05 ◼   ► or more practical than they used to be.

00:11:07 ◼   ► So this is all just a way to say

00:11:10 ◼   ► you should generally try to avoid any kind of major changes

00:11:15 ◼   ► to existing apps during this time period

00:11:17 ◼   ► because you might have to change it all again in two months.

00:11:20 ◼   ► - Yeah, and I think there's, in general,

00:11:22 ◼   ► it's like a lot of this speaks to a more fundamental thing

00:11:26 ◼   ► that I know is important, like an important thing for me

00:11:28 ◼   ► to learn in sort of the discipline of app creation

00:11:32 ◼   ► was the, rather than just, as it's so easy to do,

00:11:36 ◼   ► like just keep barreling ahead on,

00:11:39 ◼   ► like opening up Xcode every morning and just getting in there and writing the codes and

00:11:42 ◼   ► whatever you think of building, is trying to instead make sure that you're being thoughtful

00:11:48 ◼   ► about it and being somewhat disciplined about it. Because when I think about these types

00:11:53 ◼   ► of considerations for getting ready for June, a lot of what I'm trying to do is make sure

00:11:58 ◼   ► that I'm setting myself up so that on June 14th I am ready to dive headlong into whatever

00:12:07 ◼   ► is announced. And I may or may not, like, maybe what they announce isn't really relevant

00:12:12 ◼   ► to me or my app, or maybe it's just not that interesting, whatever it is. But what

00:12:17 ◼   ► I want is to make sure that I'm ready to do that and like I'm poised and capable

00:12:22 ◼   ► of doing that. Like what I don't want to do is to just like have been barreling along

00:12:26 ◼   ► doing something that's like creating all of these sort of responsibilities or commitments

00:12:33 ◼   ► that I'm gonna then have to be responsible for

00:12:36 ◼   ► in June, July, and August.

00:12:38 ◼   ► Like, that's where it would become very problematic.

00:12:40 ◼   ► And so I need to think about it and like, look,

00:12:42 ◼   ► you know, it's a struggle I know for myself

00:12:44 ◼   ► that when I used to work in a more corporate environment,

00:12:48 ◼   ► there was a certain amount of structure imposed on me

00:12:51 ◼   ► by like having a manager and my manager having a manager

00:12:53 ◼   ► and so on.

00:12:54 ◼   ► And we'd have to go through things like sprint planning.

00:12:57 ◼   ► When we work out, what are we gonna work on

00:12:58 ◼   ► for the next two weeks?

00:13:00 ◼   ► and go through all these exercises that,

00:13:03 ◼   ► in a corporate environment, are kind of just the way

00:13:06 ◼   ► you manage larger teams.

00:13:08 ◼   ► But when you're working for yourself,

00:13:10 ◼   ► or with a very small team,

00:13:11 ◼   ► that discipline has to come from yourself.

00:13:13 ◼   ► And so you have to look at these things and say,

00:13:16 ◼   ► well, I would love to add this feature to this app,

00:13:19 ◼   ► or I'd love to implement this new thing,

00:13:21 ◼   ► or do, or whatever that activity is you wanna do.

00:13:25 ◼   ► There's a certain amount of actually having to look at it

00:13:27 ◼   ► and say, "There's, I think, 44 days till WWDC.

00:13:30 ◼   ► "Can I get this done in then?

00:13:33 ◼   ► "And if I do, is that gonna set me up

00:13:35 ◼   ► "to be free and available afterwards?

00:13:38 ◼   ► "Or is it the kind of thing that's like,

00:13:40 ◼   ► "this is this big experimental thing that I'm working on

00:13:42 ◼   ► "that I'm gonna release, and I'm gonna expect

00:13:44 ◼   ► "to have to do a ton of customer support

00:13:46 ◼   ► "or management of it, or I'm creating this thing

00:13:49 ◼   ► "that's gonna then require a lot of my time down the road?"

00:13:52 ◼   ► Those types of considerations,

00:13:55 ◼   ► the only person who's gonna be doing those

00:13:56 ◼   ► like me, I can't rely on someone else to come in and say, "This is what you need

00:14:01 ◼   ► to work on for the next month in the run-up." And so I have to have that discipline myself

00:14:06 ◼   ► to look at it and say, "Yeah, I think I can get this done." The things that I'm

00:14:11 ◼   ► working on for myself are these sort of small improvements to all my apps, that I kind of

00:14:16 ◼   ► have these lists of things, and they're just like, "These small improvements, most

00:14:18 ◼   ► of them are probably like a week's worth of work." And all of them are things that

00:14:23 ◼   ► that I think won't require maintenance in June,

00:14:27 ◼   ► or sort of for the follow-up.

00:14:28 ◼   ► They're very self-contained and neat and tidy.

00:14:30 ◼   ► And that's by choice and intention.

00:14:33 ◼   ► I'm not really the kind of person,

00:14:35 ◼   ► I don't have, it's not like I have a Gantt chart,

00:14:36 ◼   ► like this big organizational thing that I'm like,

00:14:38 ◼   ► okay, well, I'll do this and this,

00:14:40 ◼   ► and this task is dependent on this task,

00:14:43 ◼   ► and so that's not what I'm saying.

00:14:45 ◼   ► And I don't know, some people love Gantt charts.

00:14:48 ◼   ► They don't really work for me

00:14:49 ◼   ► in the way I think about things.

00:14:51 ◼   ► But having that kind of discipline of at least thinking about it consciously and saying,

00:14:55 ◼   ► "Am I realistically going to be done with all these things so that I'm poised and

00:14:59 ◼   ► ready when the new stuff and the new opportunities appear?"

00:15:02 ◼   ► Because ultimately, that's all this comes down to, is there's going to be new opportunities

00:15:06 ◼   ► because there'll be change.

00:15:08 ◼   ► Am I going to be in a position to set myself up to take advantage of those opportunities?

00:15:12 ◼   ► Because that's most of what—being lucky in a lot of these types of arenas where you

00:15:19 ◼   ► look at somebody, it's like, "Oh man," you know, it's like, "They really lucked out,

00:15:22 ◼   ► and that's why their business is a success." It's like, maybe, or they were just ready

00:15:26 ◼   ► and prepared for when the opportunity presented itself, so that they could dive in headfirst.

00:15:32 ◼   ► It's probably more that.

00:15:34 ◼   ► Usually some of both.

00:15:35 ◼   ► A little bit of both. But if you don't have the one, the other one's not going to really

00:15:39 ◼   ► matter nearly as much.

00:15:41 ◼   ► That's true. All right, so we are sponsored this week, once again, by our friends at Pingdom.

00:15:47 ◼   ► You can start monitoring your websites and servers today

00:15:50 ◼   ► at pingdom.com with a free 14-day trial.

00:15:53 ◼   ► When you enter offer code radar at checkout,

00:15:55 ◼   ► you get 20% off your first invoice.

00:15:58 ◼   ► Now, Pingdom is a web monitoring service.

00:16:01 ◼   ► And I have, I said last time that I've been using Pingdom

00:16:04 ◼   ► for a long time, a very long time.

00:16:06 ◼   ► Today, I actually looked up how long exactly it was

00:16:09 ◼   ► that we use Pingdom.

00:16:10 ◼   ► And so I looked, I found the very first email I got

00:16:15 ◼   ► David Karp, when we were both making Tumblr, from April 2nd, 2007. And he says,

00:16:21 ◼   ► "I think I'm going to sign us up for this." And message body, Pingdom.com. And sure enough,

00:16:26 ◼   ► he did sign up for it. And so that, we've been using Pingdom. First me and that David,

00:16:32 ◼   ► now me and this David, we've been using Pingdom for a very long time. I've been using it personally

00:16:38 ◼   ► since spring of 2007, so for nine years now.

00:16:43 ◼   ► And Pingdom is great for monitoring your websites

00:16:47 ◼   ► and web services.

00:16:48 ◼   ► Anything you can monitor through a basic HTTP access

00:16:53 ◼   ► of some kind, Pingdom can monitor that.

00:16:57 ◼   ► And so this is useful for, of course,

00:17:00 ◼   ► making sure your website is up,

00:17:01 ◼   ► making sure your service is up,

00:17:02 ◼   ► but you can also do things like monitor for changes.

00:17:06 ◼   ► So you can do things like monitor somebody else's website.

00:17:10 ◼   ► Like we mentioned last time, we would monitor the WWDC website to see when WWDC was announced

00:17:16 ◼   ► each year, which mattered a lot, especially back when it was first come, first serve for

00:17:20 ◼   ► tickets.

00:17:21 ◼   ► And so you can monitor any site you want for changes, you can monitor your own sites for

00:17:25 ◼   ► uptime, and you can also monitor anything that you can represent by a binary good or

00:17:32 ◼   ► bad status.

00:17:33 ◼   ► Also, for instance, if you have some kind of health page or health check for your apps,

00:17:38 ◼   ► your services, you can have the health check return a different string and then you can

00:17:42 ◼   ► have Pingdom search for that string on the page so that when things are not just, you

00:17:46 ◼   ► know, not even down, but when things are just not ideal, like one of your services is running

00:17:50 ◼   ► low on disk space or something like that, you can be alerted of that with a separate

00:17:55 ◼   ► check and you can have different alert levels. You can say, "All right, well, if a server

00:17:58 ◼   ► is low on disk space, email me about that, but I don't need to be like texted or notified

00:18:02 ◼   ► with tons of alarms about that.

00:18:03 ◼   ► But if the whole website is down,

00:18:05 ◼   ► set everything on fire and let me know.

00:18:07 ◼   ► Like, do whatever it takes to notify me

00:18:09 ◼   ► that the website is down.

00:18:11 ◼   ► And there's so many customization options with Pingdom.

00:18:13 ◼   ► It's a great service.

00:18:14 ◼   ► They're widely used now.

00:18:17 ◼   ► They say they detect around 13 million outages every month,

00:18:21 ◼   ► which is over 400,000 outages every day.

00:18:24 ◼   ► So you can really do a lot with Pingdom,

00:18:26 ◼   ► and a lot of people do,

00:18:27 ◼   ► and I've been doing it myself for nine years now.

00:18:29 ◼   ► So check it out, Pingdom.com.

00:18:32 ◼   ► You need to be the first one to know

00:18:33 ◼   ► when your website or service is down, not everybody else.

00:18:36 ◼   ► So you need to know first.

00:18:37 ◼   ► Go to Pingdom.com for a 14-day free trial

00:18:40 ◼   ► and 20% off when you enter the offer code radar at checkout.

00:18:43 ◼   ► Thank you very much to Pingdom

00:18:45 ◼   ► for sponsoring our show once again.

00:18:47 ◼   ► So I wanted to talk a little bit about,

00:18:50 ◼   ► I think we both kind of agreed

00:18:52 ◼   ► that this is a good time for cleanup

00:18:54 ◼   ► and minor improvements of our apps.

00:18:57 ◼   ► I wanted to go a little bit more into what that is,

00:18:59 ◼   ► what that means. I've been doing a lot of this myself with Overcast recently. In the

00:19:03 ◼   ► last couple of months, I've integrated analytics. I've integrated what used to be called Crashlytics

00:19:09 ◼   ► and is now called Fabric, which is owned by Twitter, that whole thing. Integrated analytics

00:19:13 ◼   ► and crash reporting more deeply into the app. Before, for a while, I was using hockey, then

00:19:18 ◼   ► I was using Apple, built-in stuff, and now I've found Fabric to be a good combo for me.

00:19:24 ◼   ► And the main reason why is that I really wanted to take this time to improve quality.

00:19:29 ◼   ► And so this is a great time to minimize crashes, to go through and fix little bugs like that,

00:19:35 ◼   ► just little bugs, little annoyances to your users, anything that causes crashing or failures.

00:19:41 ◼   ► This is a great time to do that because that's the kind of stuff that generally, whatever's

00:19:44 ◼   ► announced at W2C is probably not going to affect that kind of code.

00:19:48 ◼   ► It's also a good time to pay off any kind of low-level technical debt, as long as it's

00:19:53 ◼   ► not a ton of work and will cause tons of bugs. But any kind of like, you know, if you have

00:19:58 ◼   ► a technical debt like in your sync or data layers, this is a good time to pay that off

00:20:02 ◼   ► if you can. And to do like minor feature experimentation, like if you want to tweak like small changes

00:20:09 ◼   ► to the app, not any kind of big overreaching change or redesign, but if you just want to

00:20:13 ◼   ► tweak small changes, this is a good time to do that as well. It's also a good time to

00:20:18 ◼   ► solicit or investigate customer feedback

00:20:21 ◼   ► about what kinds of things you want to be doing this summer.

00:20:24 ◼   ► So ask your existing customers, or look at your analytics,

00:20:28 ◼   ► or implement analytics of some kind, don't be creepy,

00:20:30 ◼   ► but implement some kind of analytics to say like,

00:20:34 ◼   ► what should I be thinking about this summer?

00:20:36 ◼   ► When all this stuff is announced,

00:20:37 ◼   ► what should I have on my roadmap feature-wise for my app?

00:20:41 ◼   ► What are my customers really asking for?

00:20:43 ◼   ► How is the app actually being used and not being used?

00:20:47 ◼   ► This is a great time for all that stuff,

00:20:49 ◼   ► basically everything that isn't massive code,

00:20:51 ◼   ► design, or business changes.

00:20:53 ◼   ► This is a great time for all those things.

00:20:54 ◼   ► And so me personally, I have, as I mentioned,

00:20:57 ◼   ► integrated Crashlytics and Fabric and Analytics there,

00:21:01 ◼   ► and so I've taken this time to drop my crash rate

00:21:04 ◼   ► to nearly zero, and through the combination

00:21:07 ◼   ► of the last few versions, plus the version

00:21:08 ◼   ► that I just submitted this morning,

00:21:10 ◼   ► just a whole bunch of minor updates

00:21:12 ◼   ► focused on getting the crashes reduced

00:21:15 ◼   ► as low as I possibly can,

00:21:16 ◼   ► just trying to eliminate, like Crashlytics tells you

00:21:19 ◼   ► like a crash free users percentage,

00:21:22 ◼   ► which is kind of cool, it's kind of cool metric,

00:21:23 ◼   ► and it used to be like 99 point something low,

00:21:27 ◼   ► now it's 99.9, and the new version I have in review now

00:21:31 ◼   ► should raise that even higher.

00:21:33 ◼   ► It's just a very satisfying kind of technical debt

00:21:35 ◼   ► payoff period I'm going through here,

00:21:36 ◼   ► where just like, let me just fix as much as I possibly can

00:21:40 ◼   ► that I can fit in this time span.

00:21:43 ◼   ► And then it's also, it's a great time to do any kind of experimentation with other things

00:21:50 ◼   ► that are not your app, that are not like the code of your app. So, you know, I mentioned

00:21:55 ◼   ► experimental, you know, small features or small changes, but this is actually a great

00:22:00 ◼   ► time to step away from your iOS apps and to look at other kinds of, larger kinds of experimentation.

00:22:07 ◼   ► So things like learning a new language, learning a new API, just learning something new that

00:22:13 ◼   ► that will probably not change dramatically in June.

00:22:15 ◼   ► So, you know, other languages, non-Apple platforms,

00:22:18 ◼   ► things like that.

00:22:18 ◼   ► And also just making new apps on different platforms.

00:22:23 ◼   ► So if you've wanted for a long time to make

00:22:26 ◼   ► an Android app or a web app,

00:22:29 ◼   ► maybe arguably even a Mac app,

00:22:31 ◼   ► which I'm kind of been playing with a little bit,

00:22:33 ◼   ► 'cause the Mac doesn't change that much usually at WBC,

00:22:35 ◼   ► so maybe a Mac app would also qualify here,

00:22:37 ◼   ► but any kind of app on different platforms,

00:22:40 ◼   ► this is a great time to experiment with that

00:22:42 ◼   ► because that's probably not gonna change much in June,

00:22:45 ◼   ► doesn't really matter, and you kinda have to like

00:22:47 ◼   ► save your iOS juices for then, you know?

00:22:50 ◼   ► And it's also a great time to just enter

00:22:53 ◼   ► an entirely new business if you wanted to like

00:22:56 ◼   ► start a podcast, start a blog, you know,

00:22:58 ◼   ► start selling t-shirts or something.

00:23:00 ◼   ► Like if you wanted to start something new

00:23:03 ◼   ► that is not an app that won't necessarily

00:23:05 ◼   ► take up your entire life, this is a good time

00:23:08 ◼   ► to experiment with that as well.

00:23:09 ◼   ► So basically it's a time for experimentation

00:23:12 ◼   ► of all kinds, as long as it's not going to be a problem come June.

00:23:16 ◼   ► >>

00:23:42 ◼   ► and launching it at a time when things are quieter,

00:23:45 ◼   ► when there's less going on, when in general,

00:23:48 ◼   ► there's not a whole lot of tech news that's come out.

00:23:52 ◼   ► We're kind of in this quiet bit

00:23:55 ◼   ► between the spring announcements

00:23:57 ◼   ► and the summer announcements.

00:23:59 ◼   ► And so if you have something that you have been working on,

00:24:02 ◼   ► there's certainly some advantage to pushing

00:24:04 ◼   ► to make sure that you get it out in the quiet time

00:24:08 ◼   ► that's now, because if you try and do it

00:24:12 ◼   ► over the summer, there's going to be a lot more competition on the news side.

00:24:16 ◼   ► And if you try and do it in the fall, then you're going to have a lot of competition

00:24:21 ◼   ► just on the competing apps side.

00:24:23 ◼   ► There's just a lot of new apps, a lot of big updates.

00:24:26 ◼   ► You know, if you think about things like the featured page in the App Store, in the fall,

00:24:34 ◼   ► it's going to be full of the apps that take advantage of the new stuff.

00:24:38 ◼   ► Like last fall it was like, "Hey, here's all the apps that are updated for 3D Touch,"

00:24:43 ◼   ► or things like that.

00:24:44 ◼   ► Apple tends to push those types of things, but I don't really—can't think of—there's

00:24:49 ◼   ► not a lot of huge, big, sweeping things right now that would push something out.

00:24:53 ◼   ► And so there's certainly an incentive to—if you've been working on something and you

00:24:58 ◼   ► might be able to get it out, this is a pretty good time.

00:25:02 ◼   ► I can tell from launching Activity++ a couple weeks ago that it was easier in some ways

00:25:08 ◼   ► to get attention for something around now.

00:25:11 ◼   ► And if you just think about the volume of tech news, like if you're this kind of person

00:25:15 ◼   ► who keeps up on tech news, it's a quietish time right now because Apple is probably not

00:25:21 ◼   ► going to be announcing much new because they'll save that for June, and a lot of other big

00:25:26 ◼   ► organizations that create tech news, they're in that same kind of cycle that they have

00:25:32 ◼   ► their big events in the summer or around then, and that's when they'll be doing it.

00:25:37 ◼   ► So there's some advantage to doing that too,

00:25:39 ◼   ► like just taking advantage of it as a quiet time

00:25:42 ◼   ► to maybe get a bit more attention for yourself.

00:25:44 ◼   ► - Yeah, totally, you know, 'cause that's,

00:25:46 ◼   ► you know, as you mentioned, like,

00:25:47 ◼   ► there really isn't a lot else going on

00:25:50 ◼   ► for the most part right now.

00:25:51 ◼   ► So if you have something where you don't necessarily

00:25:54 ◼   ► need to wait until W2DC, so if it's something,

00:25:57 ◼   ► if it's a small app or something that is,

00:26:01 ◼   ► that doesn't really rely too heavily on the frameworks

00:26:05 ◼   ► and the platform staying identical.

00:26:08 ◼   ► And that might include things like games.

00:26:10 ◼   ► You know, we don't know anything about games

00:26:11 ◼   ► for the most part, but that might include things like games

00:26:13 ◼   ► where you're not usually using

00:26:15 ◼   ► most of the platform APIs for games.

00:26:18 ◼   ► Usually you're using OpenGL or more likely

00:26:21 ◼   ► some kind of higher level cross-platform game engine

00:26:24 ◼   ► and doing all your custom coding in there,

00:26:26 ◼   ► and you're not really using UIKit directly

00:26:29 ◼   ► for most stuff and things like that.

00:26:30 ◼   ► So games and everything we just said

00:26:33 ◼   ► might be totally invalid.

00:26:34 ◼   ► We really have no idea.

00:26:36 ◼   ► But this is a good time for things that will not likely be strongly affected by WWDC happening.

00:26:42 ◼   ► >> And the last thing I wanted to mention, too, is if you are going to be at WWDC, something

00:26:48 ◼   ► else you should be doing in this time is preparing yourself for it in terms of keeping an eye

00:26:54 ◼   ► and a list and a checklist of the things that you are going to the conference to get answered.

00:27:01 ◼   ► I have a list in my task management system that's just WWDC questions.

00:27:07 ◼   ► And any time between now and WWDC that I encounter something that I'm thinking, "Hey, maybe

00:27:14 ◼   ► this would be a good introductory question to ask an Apple engineer," it just goes

00:27:17 ◼   ► in there.

00:27:18 ◼   ► And I'll just try and keep track of these things.

00:27:21 ◼   ► And a lot of them, it's probably good to say, they don't have to be amazing questions,

00:27:26 ◼   ► like these groundbreaking novel concepts.

00:27:30 ◼   ► of them as icebreakers. It's so much easier to get a conversation going if you are able

00:27:36 ◼   ► to go to a lab at WWDC if you have something like a jumping off point that you can start

00:27:41 ◼   ► from. And so just be thinking about that so that rather than the morning of the Tuesday

00:27:47 ◼   ► of WWDC, you go into the lab and you're like, "Huh, what would I like to know?" It's going

00:27:53 ◼   ► to be a harder thing to think of the things versus now when you're kind of in the thick

00:27:56 ◼   ► of it in your code, running into little issues, running into little gotchas, things that would

00:28:01 ◼   ► be helpful to talk to someone at Apple about. And if it would be relevant, always good to

00:28:08 ◼   ► file a radar about them and have that number with you when you go to WWDC. It just avoids

00:28:14 ◼   ► the dance that you'll end up doing otherwise with an Apple engineer. We're like, "Oh,

00:28:17 ◼   ► have you filed a radar about this?" And they say no, and it's like, "Well, you should

00:28:20 ◼   ► probably do that." It's kind of a conversation killer versus if you can go in and say, "Yes,

00:28:26 ◼   ► I did, here's the number." And then you can continue the conversation from there.

00:28:29 ◼   ► So just a little tip that I've found very helpful for myself to get ready for WWDC every

00:28:34 ◼   ► year.

00:28:35 ◼   ► - Sounds good. And with that, I think we're out of time this week. So thank you everybody

00:28:39 ◼   ► for listening. Good luck with your technical debt and experimental period that we're entering

00:28:44 ◼   ► now. And I hope you listen next week. Thanks a lot for listening, and we'll see you then.

00:28:50 ◼   ► - Bye.

00:28:50 ◼   ► [BLANK_AUDIO]