Developing Perspective

#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:08   I'm doing.

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:19   at WWDC?

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:04   an app.

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:38   release it.

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:00   and so on.

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:47   something.

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:11   customers.

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:26   I guess.

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:36   people.

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:50   And so

00:13:51   this is a great way to kind of just be

00:13:53   told, "Hey,

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:17   on Twitter.

00:14:18   And otherwise, I hope you have a good day.

00:14:20   Happy coding, and I will talk to you tomorrow.

00:14:23   Bye.