PodSearch

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.