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: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: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: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: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: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: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: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
◼
►
[BLANK_AUDIO]