00:00:05 ◼ ► And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.
00:00:33 ◼ ► And I'm just grasping onto it, and at some point I just have to release my grasp and off it goes.
00:00:38 ◼ ► It is not like I'm pushing it out into the world, it is not like it is ready or something.
00:00:52 ◼ ► April 17th, assuming app review goes well, which is in about two weeks, which, given that we're a fortnightly show,
00:01:02 ◼ ► And so there's a lot of interesting questions and choices and things that I have to be dealing with now that I think make interesting
00:01:32 ◼ ► and it's kind of exciting to have finally gotten to there. It looks like it will be about two months
00:01:57 ◼ ► Recent is a funny question, because it's been about two years since I launched another app.
00:02:17 ◼ ► I think two months is enough time to make something worthwhile, to make something that's
00:02:47 ◼ ► I think two months is a good enough point. The app is good, it works, I use it every day.
00:02:57 ◼ ► But now is the point that it needs to go out into the world and see what people actually think of it.
00:03:02 ◼ ► It seems a good amount of time for me in the way that I work. Obviously everyone's productivity
00:03:07 ◼ ► and the amount of time they have to devote to something varies, but that's a good amount of time. I feel good about it.
00:03:27 ◼ ► The stakes get higher and higher. I think in a lot of ways raising those stakes, unless it really is
00:03:52 ◼ ► but I have an established base of other apps that are my line of business that I need to make sure I'm not
00:04:07 ◼ ► every one of these things could be an entire episode of this show, and some of them have been.
00:04:12 ◼ ► I'm curious, even just at the beginning here, stage number one of developing a new app for you is the curiosity stage.
00:04:17 ◼ ► This kind of plays into the time budgeting thing. What made you decide to work on this app
00:04:27 ◼ ► more maintenance stuff on your other apps or instead of a different type of app idea completely?
00:04:32 ◼ ► Sure. Before we get into that, I'll just go through briefly my stages of developing an app that I
00:05:07 ◼ ► any kind of app where you're going to have some little hook, there will be some kind of twist
00:05:37 ◼ ► I don't maintain that list quite as much as I used to because at a certain point, ideas aren't
00:05:42 ◼ ► actually worth very much. Ideas are just things that you have, and sometimes they're good, sometimes they're bad,
00:05:47 ◼ ► and unfortunately you won't really know if it's good or bad until you really get farther down the process.
00:05:52 ◼ ► But for this specific app, what got me from curiosity to excitement, which I think is the
00:06:07 ◼ ► deep maintenance work in Podometer++, and I had this idea, I was like, "Oh, let me just spend," kind of hit the
00:06:22 ◼ ► in Podometer, and so I was like, "Hey, I'll quickly throw something together." And then I showed that to
00:06:42 ◼ ► was the thing that sort of flipped it over in my head, where it went from something that was just
00:06:52 ◼ ► would use this on a very regular basis, like, "My ideal user thinks this is really cool
00:07:12 ◼ ► this idealized user in your mind, and especially if that idealized user is a person. Sometimes it's you, sometimes it's
00:07:17 ◼ ► your spouse, a friend, whoever that is, but someone who else is excited about the app, who sees
00:07:32 ◼ ► It would be great if it did this, and that's where the excitement builds, and I think you kind of have to
00:07:42 ◼ ► without that excitement, it's going to be really hard to move forward, because if all you have is an idea
00:07:47 ◼ ► and you're not really excited about it, but you just kind of want to do it because reasons,
00:07:52 ◼ ► like, it's next couple of phases where you're going to start actually having to dig into the code and work and do
00:07:57 ◼ ► all that, it's just going to feel like a grind. It isn't going to be productive. It isn't going to
00:08:17 ◼ ► what apps to create, whether to create an app or not, so that actually makes a ton of sense.
00:08:22 ◼ ► Yeah, and I think the key thing there about that is, it's like you can work on anything,
00:08:37 ◼ ► it's a good idea to work on is just purely financial, like, "Huh, maybe this would be a good way to make money"
00:08:52 ◼ ► The difference between what makes a good, like, will actually make a good app in the end, you know,
00:08:57 ◼ ► is that actual, just genuine excitement, and you can't stop thinking about it, and you keep
00:09:07 ◼ ► you, and that's the thing that will actually make you make a good app, rather than other
00:09:12 ◼ ► kind of more amorphous reasons. I think that's the switch, that as soon as you hit that,
00:09:32 ◼ ► because if you're not, like, moving on to the next stage of development where you're trying to get into productivity is just going to be
00:09:37 ◼ ► painful. And this is, I think, in my own experience, when I go into apps with that kind of
00:09:42 ◼ ► thing in the back of my mind, either I never emerge from that productivity phase, like, I never
00:09:47 ◼ ► actually make anything, or that productivity phase takes forever, and it feels bad while I'm
00:10:22 ◼ ► like, the excitement phase is great, but it's also, it's kind of like you have, it's like a
00:10:27 ◼ ► firework has gone off, and it's one of those fireworks that just, like, explodes in every direction. Like,
00:10:37 ◼ ► that's cool, and that's fun, but the transition from that into productivity is all about
00:10:47 ◼ ► It's about saying, you know, the app is going to be this and not this. Like, this is the, you know, the
00:10:57 ◼ ► drawing the lines around your ideas and say, like, this idea is one that is worth pursuing,
00:11:02 ◼ ► this one is not, because otherwise you have no vision for the app, and you won't, honestly, you just won't have
00:11:07 ◼ ► a direction to work in. So very quickly, like, you kind of, in this, my case, it's like I had to decide, like,
00:11:17 ◼ ► kind of, hopefully, like, unique or novel and interesting things about this app, and those are the ones that
00:11:22 ◼ ► I'm going to kind of build my hedges around and start working in, and the, you know, the productivity
00:11:27 ◼ ► comes, I think, from focusing in in that way. Like, whatever that is, whatever that hook is,
00:11:37 ◼ ► it is, and no more. You know, if you, if you stay in the excitement phase too long, you'll just kind of keep, and
00:11:42 ◼ ► keep coming up with these creative ideas, and you'll end up with all of these things, but you won't actually make anything.
00:11:47 ◼ ► Like, ultimately, you have to say, you know, like, these two or three things are what make the app the app,
00:11:53 ◼ ► and I'm just going to dive into building those, and, you know, I tend to take an approach of, I just, like,
00:11:58 ◼ ► pick something and just kind of quickly work at it from top to bottom to actually get it working,
00:12:03 ◼ ► and then, like, in this case, what's very great with that is I can take that and show it to people,
00:12:08 ◼ ► show it to, you know, people who I think would use the app and get feedback very quickly, you know, that kind of,
00:12:13 ◼ ► that iterative approach, and I tend to take the, sort of the narrow, deep approach of that,
00:12:18 ◼ ► so, like, I had, you know, often in an app you'll think about it with different screens or different
00:12:23 ◼ ► modes of the application, and it's like, here's what I'm thinking for event editing, here's what I'm thinking
00:12:28 ◼ ► for, like, the timeline view, this is what I'm thinking for the calendar view, and, like, just, you know,
00:12:39 ◼ ► is something that I find does really well with productivity, and I think that's what helps, sort of,
00:12:49 ◼ ► I really try and have the discipline of, like, there's two or three things, and I want to make those two or three things
00:12:54 ◼ ► as good as I can, and I have to keep reminding myself that if those two or three things are really good,
00:13:00 ◼ ► the other ideas that I have that I've captured and thought about will make grade, you know, 0.1, 0.2, 2.0,
00:13:06 ◼ ► like, I can keep extending the app from there, but productivity requires that discipline of
00:13:11 ◼ ► narrowing down that giant, you know, firework to just, like, the two or three streamers that, you know,
00:13:16 ◼ ► you're most excited about, that you think are most captivating or most, like, unique to you and what you can do.
00:13:25 ◼ ► We are sponsored this week by Linode. With Linode, you can instantly deploy and manage an SSD server in the Linode cloud.
00:13:35 ◼ ► resources, node location, and so much more. Linode serves their customers with the help of ten data centers around the globe,
00:13:42 ◼ ► and they're about to add more. Mumbai, India, and Toronto, Canada will both have data centers before 2020.
00:13:49 ◼ ► All of Linode's servers feature native, enterprise-grade SSD storage, and there's a 40-gigabit network backing them all,
00:13:56 ◼ ► and they all use Intel Xeon E5 processors. This is really high-end gear. This means you're able to serve your customers
00:14:02 ◼ ► even faster than before. And, so you don't have to worry about overspending, Linode has designed their pricing tiers
00:14:08 ◼ ► to feature hourly billing with monthly caps on all plans and add-on services, including the backup service,
00:14:14 ◼ ► node balancers, and all of their servers. And right now, Linode is hiring. So if you want to learn more about that,
00:14:19 ◼ ► check out what they're looking for, go to linode.com/careers. So Linode has pricing options to suit everyone.
00:14:26 ◼ ► Their plans start at one gig of RAM for just $5 a month, and they offer high memory plans starting with 16 gigs of RAM.
00:14:33 ◼ ► And they have a special offer for our listeners. Listeners of the show can go to linode.com/radar
00:14:39 ◼ ► and use promo code radar2019 to get $20 towards any Linode plan. So on that one gig of RAM plan, that could be four months for free.
00:14:47 ◼ ► And with a seven-day money-back guarantee, you have nothing to lose. So give Linode a try today.
00:14:53 ◼ ► I use Linode. Dave uses Linode. I've been using it since long before they were a sponsor of ours.
00:14:58 ◼ ► I absolutely love Linode. I have all my stuff hosted there because it's just the best web host I've used.
00:15:09 ◼ ► To learn more, sign up and make the most of that $20 credit. Thank you to Linode for their support of this show and all of Relay FM.
00:15:16 ◼ ► So then, sadly, after the productivity phase comes the least desirable phase of developing a new app,
00:15:23 ◼ ► which I think is an important one to focus on, though, because I feel like so often we see the finished products of things
00:15:30 ◼ ► and don't necessarily think about sometimes some of the anguish or despair that went into their creation.
00:15:37 ◼ ► And so I say the fourth phase of developing a new app is despair. And what I mean by that is probably twofold.
00:15:43 ◼ ► It is sad. But it is true, though. I've never built anything where it was always happy.
00:15:51 ◼ ► It always felt like it was going great. It was always a good thing. There's always this phase.
00:15:56 ◼ ► And it's usually kind of after you've gotten most of it ready, you've solved all the big problems, typically the easy problems,
00:16:08 ◼ ► And it's usually about there's difficult, either sometimes there's a technical problem that you've been putting off
00:16:15 ◼ ► that sometimes you just kind of have to then actually face and deal with, and you kind of get this feeling of,
00:16:20 ◼ ► "Will this ever work? I want to make this happen, but I'm just not sure I'm good enough or the problem is just too big."
00:16:28 ◼ ► Or the second part of it is the fear that often I feel around actually showing it to the world.
00:16:41 ◼ ► And honestly, the more I've done this is the knowledge that definitely people won't like it.
00:16:45 ◼ ► There will be some group of people who will not like what you did, who will say it is silly and foolish
00:16:57 ◼ ► That is the inevitable result of putting something out into the world. There will be people who don't like it.
00:17:04 ◼ ► And the closer you get to actually putting something out into the world, especially something that you really like,
00:17:10 ◼ ► you've built this beautiful thing and you want to show it to the world, and then you start having the anxiety around
00:17:16 ◼ ► dealing with that negativity, knowing that hopefully it'll be balanced and there'll be a lot more positivity around it,
00:17:24 ◼ ► that it will go well and people will like it. The majority of people will like it and it'll be good,
00:17:30 ◼ ► but the reality is that negativity will impact you more specifically than the positivity will, unfortunately.
00:17:40 ◼ ► And so you end this awkward phase. And it's also just that last little grind feels more like a grind.
00:17:48 ◼ ► We're long past the excitement phase. We're long past the part of the project where you were really just like the initial
00:17:55 ◼ ► honeymoon phase of excitement and joy and you're solving all the cool problems first and it feels great.
00:18:01 ◼ ► A few weeks into just dealing with low-level bugs or weird layout issues or whatever it is, eventually that excitement
00:18:08 ◼ ► will wear off and it's just a question of moving through. And the biggest positive that I have from that
00:18:16 ◼ ► is the knowledge that that is totally normal to feel despairing in the development of an app.
00:18:25 ◼ ► The key is to just not get stuck there, to just keep moving forward from there, knowing that you'll get through.
00:18:33 ◼ ► And I always have. I've shipped literally dozens of apps. All of them included this phase where I get really down
00:18:39 ◼ ► and kind of sad about it and I start worrying about if anyone's going to like it and there'll be a complete failure
00:18:48 ◼ ► And generally it hasn't been a complete waste of time. And generally it has been something that I could benefit from
00:18:54 ◼ ► either financially or learn something from or just creating something that I'm proud of.
00:18:59 ◼ ► And ultimately that is enough for it to be kind of worth doing. But I think it's important to just put out there
00:19:06 ◼ ► that it is totally normal and natural to hit a point where you're like, "What am I doing? This is terrible.
00:19:21 ◼ ► But you just kind of have to push through and hopefully on the other side you can get into finishing up the app,
00:19:31 ◼ ► So probably everybody making an app goes through this phase and they probably assume that experienced developers
00:19:48 ◼ ► I go through it with almost everything I do, too. There's always that self doubt of, "What if no one likes this?"
00:19:57 ◼ ► And I think about that not only with every new thing I create, which isn't that frequent,
00:20:02 ◼ ► but even with every update I do. I still have that feeling every single time I issue an update.
00:20:13 ◼ ► And it can be paralyzing. It can prevent you from shipping anything, or once you do, it can prevent you from changing anything.
00:20:25 ◼ ► And if you are, too, know that A, you're not alone, and B, it is possible to work through that and to ship things anyway.
00:20:34 ◼ ► And chances are, you are being way more critical of your own work than anyone else will be.
00:20:41 ◼ ► Yeah, and I think, too, that point there is the thing that you have to be self-aware enough to know that
00:20:53 ◼ ► And most of those problems are things that your customers won't notice or won't be aware of.
00:21:01 ◼ ► Like the compromises you had to make, or the choices you made. It's the difficulty of being so intimately familiar with an application.
00:21:09 ◼ ► You know where all the problems are, where all the little glitches are. If you do this, this, and this, and this, then this bad thing will happen.
00:21:16 ◼ ► And because you're aware of all of those things, you kind of start to see all of those things in a way that
00:21:36 ◼ ► Obviously, if your problems are immediately as you launch the app, you may need to go back to the productivity phase and keep working.
00:21:42 ◼ ► But hopefully, your problems and your issues and the things that you're worried about are going to be pushed off to the edges.
00:21:51 ◼ ► And they're going to start with all the good stuff, all the great stuff that you got right.
00:21:55 ◼ ► And that's going to be their experience. Whereas your experience, all that stuff you take for granted,
00:22:00 ◼ ► and you just focus on the stuff that you're not sure about, or the design questions that you don't feel great about, or whatever it is.
00:22:10 ◼ ► Whereas the reminder I have to keep saying is that no one else is going to notice those, or at least not initially.
00:22:15 ◼ ► And they're not going to be as big of a deal because typically, the issues or the things or the things that I don't like as much at the app,
00:22:21 ◼ ► or the problems that I see are going to affect smaller and smaller proportions of users.
00:22:31 ◼ ► But ultimately, your perspective of your own app is very different than a typical customer's perception of what the app is and how it will be.
00:22:39 ◼ ► So don't worry too much about that and just kind of push through it knowing that it will be fine.
00:22:51 ◼ ► The worst thing you're imagining is unlikely to be the case. It's much more likely to be a more positive experience than the worst thing you can come up with.
00:23:03 ◼ ► I know a lot of people who this applies to their cooking, where they know as they're cooking,
00:23:16 ◼ ► But when the whole family is eating it and enjoying it, no one else is nitpicking it to that degree,
00:23:24 ◼ ► And you're the chef, and you're sitting there thinking, "Damn it, I wish I would have done this part better."
00:23:35 ◼ ► And this is where I think it's probably an important thing, too, to have other people that are supporting you in this process.
00:23:42 ◼ ► Like, my wife is great at doing this with me, where she'll focus on the good stuff, the things that I'm doing well,
00:23:50 ◼ ► And that helps diminish a little bit the sting of the things that I feel like are compromises,
00:24:15 ◼ ► it's good to have someone to celebrate that with you, just to help push you through this phase,
00:24:32 ◼ ► That was my official kind of, like, I am at the point, and actually, I had to take a piece of paper,
00:24:44 ◼ ► Like, I've hit the point where I need to remind myself that if I want to get this out the door,
00:25:08 ◼ ► Like, "This is what you're looking for." You know, weird layout issues, performance issues.
00:25:12 ◼ ► This is where I, like, I tend to crack over, you know, you crack open the time profiler and instruments,
00:25:21 ◼ ► that takes up huge amounts of time in my application. Why is that? What can I do about it?"
00:25:30 ◼ ► You're not adding functionality, you're not typically adding, you know, much code to it.
00:25:38 ◼ ► And two, I would say this is also a great phase, this is the phase where you go through and do stuff like
00:25:47 ◼ ► like you start doing those little kind of things that maybe don't make as much sense early in the process
00:26:07 ◼ ► things aren't moving around anymore. I have a great understanding of kind of what the app is,
00:26:11 ◼ ► and how it should function, and the flow, and you just polish. And don't go crazy with this phase.
00:26:40 ◼ ► You know, so like sometimes for me, it's I'll load it up on a different device than I'm used to,
00:26:46 ◼ ► you know, so I do most of my development on my iPhone X, you know, I load it up on an iPhone SE,
00:26:56 ◼ ► and so it can kind of give me a fresh set of eyes for it, for like, does everything feel consistent,
00:27:00 ◼ ► does everything feel right, and kind of helps go through there, so you can kind of just spend this little period
00:27:05 ◼ ► polishing everything up before you finally, you know, actually ship it off to the store.
00:27:19 ◼ ► Yeah, I mean, so my hope right now is to launch April 17th, which is two weeks from yesterday,
00:27:24 ◼ ► as we were recording, I think, which means, in my mind, I want to submit to the app store,
00:27:35 ◼ ► So at this point, it's just like polishing it up, submitting it, and then in the hopes that, you know,
00:27:39 ◼ ► App Review is quick now, but you just never know if anything is going to come up and catch you.
00:27:46 ◼ ► And then obviously the shipping stage is not just nothing, because also I have to do all the screenshots
00:28:04 ◼ ► and in the hopes of just getting this thing out and being able to show it to the world,
00:28:16 ◼ ► And I don't know, it's kind of fun. I feel like this is going to be a really great episode of this show
00:28:22 ◼ ► to refer people to as their first episode of this show, because I feel like this is like our entire show
00:28:38 ◼ ► because they're trying to get started. And if that is you, then know that it is a rewarding process,