#46: On the Rocket
00:00:00
◼
►
Hello and welcome to Developing Perspective. Developing Perspective is a podcast discussing
00:00:05
◼
►
news of note in iOS development, Apple, and the like. I'm your host, David Smith. I'm
00:00:09
◼
►
an independent iOS developer. This is show number 46, and today is Tuesday, May 15th.
00:00:15
◼
►
The show is never longer than 15 minutes, so let's get started.
00:00:18
◼
►
First, kind of more of a side note, but something that I wanted to mention now when it's a little
00:00:22
◼
►
bit more timely than it would be later, and that is in, I think WWDC is now less than
00:00:28
◼
►
four weeks away. And hopefully you got a ticket, hopefully you'll be there. I'm really looking
00:00:33
◼
►
forward to it. It's definitely a highlight of the year for me as an iOS developer, as
00:00:39
◼
►
an Apple developer. It's just a great place both to learn and to meet people and so on.
00:00:44
◼
►
But specifically I just wanted to mention a thought that I'd had, and something that
00:00:47
◼
►
I try and do as I'm getting ready for WWDC is to kind of be thinking about questions
00:00:54
◼
►
that you have, things that you're thinking about while you're working, while you're coding,
00:01:00
◼
►
while you're doing, you know, sort of going about your job for the next roughly four weeks,
00:01:04
◼
►
for the next month, be thinking about, huh, I wonder if there's a better way to do what
00:01:09
◼
►
Huh, I wonder if there's an API that does this.
00:01:10
◼
►
Wouldn't it be great if there was a lesson that did this?
00:01:13
◼
►
Or what would be a really sweet feature for me to add to my app that I want to learn about
00:01:20
◼
►
You can either keep a journal, write it down, annotate your code, hash warning WWDC, and
00:01:27
◼
►
then you'll get a whole list of warnings, show up when you compile your code.
00:01:31
◼
►
There's all kinds of different ways that you could do it, but I've heard from a lot of
00:01:37
◼
►
people, "Oh, I love the labs at WWDC.
00:01:40
◼
►
They're so helpful."
00:01:41
◼
►
And at first I was like, "Oh, that's great."
00:01:43
◼
►
And so I went along and you kind of show up and the guy's like, "So what do you want to
00:01:49
◼
►
know. What are your questions?" And I'm like, "Oh, I guess I don't have any. I thought
00:01:56
◼
►
you were just going to teach me stuff or I don't know." And I remember that was kind
00:02:00
◼
►
of my experience the first year and I was like, "That didn't work." And so then I've
00:02:04
◼
►
been trying since then to be more mindful about putting together a list of things. Like,
00:02:09
◼
►
here's the three things I want to ask the guy who wrote core data. Here's the two things
00:02:13
◼
►
I want to ask the guy who works on table views. Here's the guy, you know. And you just kind
00:02:18
◼
►
of work through problems you have.
00:02:21
◼
►
And the great thing about the labs at Devdub is that you're working with a guy who wrote
00:02:25
◼
►
the framework.
00:02:26
◼
►
So if there's anybody who knows the answer, it's him.
00:02:29
◼
►
Now, often you can treat the labs as like, "Oh, well, it's time to go and beat up on
00:02:35
◼
►
the guy who isn't doing what I want him.
00:02:37
◼
►
I submitted my radar for a feature and he didn't do it," or whatever.
00:02:39
◼
►
It's like, that's not really constructive.
00:02:41
◼
►
But what really is constructive is when you're like, "I have this nagging problem," or "I've
00:02:46
◼
►
I've been doing this this one way, but it seems to always be underperformant and I just
00:02:50
◼
►
can't fix it.
00:02:51
◼
►
So, kind of bringing those questions, and I just kind of wanted to mention that now,
00:02:55
◼
►
to estimate you want to be thinking about heading towards WWDC.
00:02:57
◼
►
Alright, so now I'm kind of moving on to the main topic for today's show, and that is launching
00:03:05
◼
►
And specifically, and this is timely for me because in about half an hour or so, I will
00:03:11
◼
►
be launching a big major update to my main app, Audiobooks, which is an iOS and an iPhone
00:03:17
◼
►
and iPad app for listening to audiobooks.
00:03:20
◼
►
And it has been something I've been working on for several, several months.
00:03:23
◼
►
And so today is the day that I'm kind of going to be going and doing, hitting the button,
00:03:27
◼
►
and it'll be released to the world and the world will finally see what I've been working
00:03:30
◼
►
on since April, March.
00:03:32
◼
►
Oh, gosh, I don't even know.
00:03:35
◼
►
It's been a long time since I've been working on this update.
00:03:38
◼
►
It feels like forever.
00:03:39
◼
►
And so I kind of wanted to walk through, I've talked about some of the things leading up
00:03:42
◼
►
to that to now, and I've gotten a lot of positive feedback on that being helpful in terms of
00:03:47
◼
►
just to see how that process works.
00:03:49
◼
►
And so I figured I'd continue that all the way through, finish the arc to what happens
00:03:54
◼
►
once you actually launched.
00:03:56
◼
►
And so I haven't actually launched it today, but this is yet.
00:03:59
◼
►
And so I'll probably do one more in this arc about what it's like tomorrow or whatever
00:04:04
◼
►
in terms of once I get a sense of that.
00:04:06
◼
►
But this is the just prepare for launch, where the astronauts are strapped into their chairs,
00:04:12
◼
►
they're on the rocket, they're ready to go.
00:04:14
◼
►
And this is kind of how it works.
00:04:16
◼
►
So first a little bit of the logistics.
00:04:19
◼
►
In iTunes Connect, which is where you submit your apps, you can use that to control when
00:04:25
◼
►
your app will be released to the store in one of two ways.
00:04:28
◼
►
If it's a new app, you set the release date to whenever you want the app to be released,
00:04:32
◼
►
a date far in the future and then move that date forward whenever you want to actually
00:04:39
◼
►
So say you set it for a year from now as the release date and then if you want to release
00:04:42
◼
►
it on the night of tomorrow, you'd set the release date to May 16th and then it will
00:04:46
◼
►
go live at midnight in the local time zone of wherever the app is being sold.
00:04:55
◼
►
So it'll actually go live in New Zealand and Australia first and then China, India, Europe
00:05:01
◼
►
something to keep in mind there, that if you're launching a new app, that you'll actually
00:05:06
◼
►
have users in New Zealand, for example, the day before. And so just something to keep
00:05:14
◼
►
that in mind, like if you're going to be monitoring servers or things, just be mindful of that.
00:05:18
◼
►
But for updates, which is what this is, because it's a major update to an existing app, is
00:05:22
◼
►
you can--there's a little option when you submit it to say, "Hold for developer release"
00:05:28
◼
►
when you're submitting the binary. And I did that, and then that means that now there's
00:05:31
◼
►
just a button in iTunes that I hit and it'll immediately go live. Where immediately is
00:05:35
◼
►
I think some approximation of half an hour or twenty minutes. It depends and it'll become
00:05:42
◼
►
available in different places and different times I think as caches and things get cleared
00:05:49
◼
►
in iTunes. But about half an hour later everyone will be able to do it. So that's kind of how
00:05:55
◼
►
you set it up logistically. And so the next question you're probably going to ask yourself
00:05:59
◼
►
I was like, "Well, when do I actually want to launch?"
00:06:02
◼
►
And so here's kind of what I did.
00:06:03
◼
►
I'm launching today, May 15th, and it's a Tuesday.
00:06:07
◼
►
And I typically try and launch it on Tuesdays and Wednesdays.
00:06:11
◼
►
If my app had been approved last Wednesday when I was hoping it would, and I didn't have
00:06:15
◼
►
the kind of delay to see episode 42, I think it was, but if that hadn't happened, I probably
00:06:21
◼
►
would have launched on that last Wednesday.
00:06:23
◼
►
But once it finally got approved last Friday, or late Thursday night, I knew I didn't want
00:06:29
◼
►
to release it on the weekend, or on Friday anyway, primarily for two reasons.
00:06:35
◼
►
One, if something had gone wrong, it would have really just brutalized my weekend if
00:06:40
◼
►
I'm sort of having to work full time, just trying to get something pulled together, managing
00:06:48
◼
►
And that's not cool.
00:06:49
◼
►
That's not what I want.
00:06:50
◼
►
And then two is typically you get better publicity or attention launching an app in the middle
00:06:59
◼
►
of the week.
00:07:00
◼
►
You'll see that almost every major product announcement that main companies do is early
00:07:04
◼
►
in a week, Monday, Tuesday, Wednesday, because people tend to be more engaged and they're
00:07:10
◼
►
at their jobs, they're doing their work, they're able to do something rather than if I launch
00:07:14
◼
►
it on a Friday night.
00:07:16
◼
►
People are going off and having fun.
00:07:17
◼
►
They're going to the movies, having dinner.
00:07:19
◼
►
people aren't going to be focused on your... and you're trying to build up this moment
00:07:23
◼
►
of attention, so you want to do that at the optimum time.
00:07:26
◼
►
And then two, or third,
00:07:30
◼
►
my app tends to have a very cyclical cycle of sales. So audiobooks' sales
00:07:34
◼
►
on Saturdays and Sundays are many orders of magnitude bigger than they are
00:07:39
◼
►
on Wednesdays and Thursdays, typically.
00:07:42
◼
►
And so I tend to want to release an update
00:07:45
◼
►
a little bit before that. And again, this is so that if something goes wrong or there's
00:07:51
◼
►
something I need to do, I have a bit of a chance to do it rather than launching it on
00:07:55
◼
►
that day when the big spike of sales happens and kind of having to deal with it all sort
00:08:00
◼
►
of the perfect storm of problems. So I picked today, Tuesday. I'll release sometime probably
00:08:06
◼
►
10, 10.30 Eastern, mostly just so that it's early enough in my day that I can be monitoring
00:08:12
◼
►
it for the rest of the day, but people on the West Coast, it will still be somewhat
00:08:19
◼
►
fresh news for them.
00:08:22
◼
►
The way they all go about it, you hit the button, it will release into the store, and
00:08:26
◼
►
then the promotion starts.
00:08:28
◼
►
You touch base with any press or people that you've talked to about or sent betas to and
00:08:33
◼
►
say "Hey, I launched it, I just wanted to let you know."
00:08:36
◼
►
And then you just kind of reach out to your, you know, your sort of your, your following,
00:08:41
◼
►
whether that's on Twitter, whether that's on Facebook, whether that's wherever, you
00:08:46
◼
►
kind of reach out and say, "Hey, I did this."
00:08:48
◼
►
And what you're kind of trying to do with a bit with a new update is to get that little
00:08:52
◼
►
spike of attention that you can kind of have this hopefully this little ride up in the
00:08:55
◼
►
rankings of the store, where a bunch of people who normally wouldn't download your app go
00:09:00
◼
►
and do it all at once.
00:09:01
◼
►
And you can kind of get this little catapult effect and hope that that then grabs the attention
00:09:06
◼
►
of Apple, that grabs the attention of other app reviewers, that grabs the attention of
00:09:12
◼
►
And so then you just kind of launch with a, I don't know, the way I kind of do it is I'll
00:09:17
◼
►
kind of try and come up with a perfect tweet.
00:09:19
◼
►
And it's kind of a silly thing to say, it's only 120 characters once you have a link,
00:09:24
◼
►
but you're trying to have something that you're going to want to be retweeted or mentioned
00:09:27
◼
►
and so you're kind of trying to put the essence of what the update is into 120 characters
00:09:34
◼
►
or ideally I'll try and get mine to 117 in case people do the old school retreat style.
00:09:40
◼
►
But anyway, you know, you just kind of try to put that out and you just kind of hope.
00:09:44
◼
►
And you kind of hope your friends are going to, you know, share those, you know, spread
00:09:49
◼
►
the word, talk about it, things.
00:09:51
◼
►
Hopefully what you did is worthwhile and, you know, it gets attention on its own.
00:09:56
◼
►
But you know, that's kind of what you'll do and then you just kind of wait.
00:09:59
◼
►
Check your servers, make sure things stay up.
00:10:01
◼
►
I use New Relic for performance management on my servers and Pingdom for uptime management
00:10:08
◼
►
or sort of alerts on my servers, which are two great services for just kind of keeping
00:10:12
◼
►
track of things and seeing how they go.
00:10:14
◼
►
I spend a lot of time just SSHing to servers, looking at top, looking at, you know, catting
00:10:18
◼
►
logs and things.
00:10:21
◼
►
Just kind of making sure things go right and you just kind of sit back and sort of celebrate
00:10:27
◼
►
You hope things go well, you hope people like it.
00:10:29
◼
►
One thing I will certainly mention is, the App Store is not a place for thin-skinned
00:10:38
◼
►
No matter what you do when you release a new update, people are going to hate it.
00:10:43
◼
►
Not a lot of people, hopefully, but some people will just hate it and they will delight in
00:10:48
◼
►
letting you know that they are just livid by this feature that you took away, or this
00:10:53
◼
►
thing that you said you may add one day and you did not add in this update, or they don't
00:10:59
◼
►
like the color of your icon or whatever.
00:11:02
◼
►
Like, it is just one of these things
00:11:03
◼
►
that people kind of feel like they have free rein
00:11:07
◼
►
to just yell at app developers.
00:11:09
◼
►
And you just kind of have to get used to it.
00:11:11
◼
►
You just kind of have to deal with the fact
00:11:14
◼
►
that that's just how people are.
00:11:15
◼
►
And hopefully you get much more positive reviews
00:11:18
◼
►
than negative reviews.
00:11:19
◼
►
But I just mentioned that as if you launch an app
00:11:21
◼
►
and you get a lot of negative response or you get some,
00:11:24
◼
►
it's just going to happen.
00:11:25
◼
►
And honestly, I don't read my reviews in the App Store
00:11:28
◼
►
very much anymore because it's just, you know, I'm sort of, it's not even an ego thing, it's
00:11:33
◼
►
just I don't like being yelled at, so just, you know, something to put the hat there,
00:11:38
◼
►
it happens to all of us. And then kind of on the follow-up side, one of the little tools
00:11:42
◼
►
that I use to kind of see how the launch is going is an app called Magic Rank, which is
00:11:48
◼
►
written by a great game developer and he, I'll have a link in the show notes, and basically
00:11:52
◼
►
is an app that pulls the ranking of your app in the various stores around the world unless
00:11:58
◼
►
you update it fairly frequently. So you're not sitting there on iTunes constantly hitting
00:12:01
◼
►
refresh. Like it'll just sit there and you can have it do every five minutes go and pull
00:12:05
◼
►
the ranks. And that's just a little bit of vanity. You can kind of see if you're, you
00:12:09
◼
►
know, see if what you're doing is working, seeing how the app, you know, how the app
00:12:13
◼
►
is progressing, what it looks like in China, what it looks like in the UK, what it looks
00:12:18
◼
►
like in Brazil. You know, just a little bit of fun. I like doing that for managing just
00:12:24
◼
►
because I find that I can kind of let it running. I know that the data is going to be there
00:12:31
◼
►
so I can sort of focus on other things rather than constantly sitting there hitting refresh.
00:12:37
◼
►
And then the last thing, you know, tomorrow morning I hope I'll have a bump in sales.
00:12:40
◼
►
I hope all this work I've done will actually mean that I've made some money and so I want
00:12:44
◼
►
to find that out. And so just a little fun little service, I guess, that AppFigures,
00:12:51
◼
►
which is an iTunes Connect sort of datum scraping management site, has a service called ITC
00:12:58
◼
►
Status, which again I'll have a link in the show notes, which is both a Twitter account
00:13:03
◼
►
for getting an RSS feed for knowing when the new sales reports are available. So typically
00:13:08
◼
►
Usually they're available sort of sometime in the morning Eastern time for you.
00:13:16
◼
►
And so if I look in their site now, the average release time is 7.44 AM Eastern.
00:13:22
◼
►
And so at that point, that's when the new sales reports are in.
00:13:25
◼
►
You can go into iTunes Connect, you can open up AppViz or whatever service you use, and
00:13:30
◼
►
you can look and see if your apps did well.
00:13:33
◼
►
But that's just something that I--a service that I subscribe to, I follow them on Twitter
00:13:36
◼
►
because it kinda keeps me from
00:13:39
◼
►
compulsively sitting there refreshing the iTunes Connect page because once you've
00:13:43
◼
►
launched the app you have no data for how many new users you have really.
00:13:46
◼
►
You can sort of do a little with analytics
00:13:48
◼
►
but what you really want to know is how much money you made.
00:13:51
◼
►
this is a great way to kind of just be
00:13:54
◼
►
the report's available,
00:13:56
◼
►
go check it out."
00:13:57
◼
►
So anyway, that's today's show. Hope it's helpful.
00:13:59
◼
►
Like I said, it was a big day and by the time you listen to this, audiobooks will be
00:14:03
◼
►
available so
00:14:04
◼
►
If you like to support the show, certainly go buy it.
00:14:06
◼
►
I'd appreciate it.
00:14:07
◼
►
And otherwise, if you have any questions, comments, concerns,
00:14:10
◼
►
complaint, hit me up on Twitter.
00:14:12
◼
►
I'm @_davidsmith.
00:14:14
◼
►
And if you want to follow the show, that's @devperspective
00:14:18
◼
►
And otherwise, I hope you have a good day.
00:14:20
◼
►
Happy coding, and I will talk to you tomorrow.