00:00:09 ◼ ► So recently, as listeners of ATP might know, my family purchased our favorite restaurant
00:00:35 ◼ ► And so as a result of that, I have been doing almost no work on Overcast for maybe two months
00:00:45 ◼ ► That has put me in kind of an interesting position of, first of all, like, kind of every day kind
00:01:06 ◼ ► It's just just a question of getting things, you know, finishing up all the transfers and
00:01:14 ◼ ► So in the meantime, it kind of got us thinking, like, designing or considering self-sufficiency
00:01:22 ◼ ► in our products and our apps and our services so that, you know, right now the reason I've
00:01:27 ◼ ► been able to mostly not work on Overcast for a couple of months is the result of having built
00:01:34 ◼ ► a lot of headroom into things, having designed things to not need frequent or constant daily
00:01:40 ◼ ► interaction and for the very few things that do need, you know, regular interaction, making
00:01:51 ◼ ► You know, I have spanned in my career lots of different roles and product roles from needing
00:01:58 ◼ ► constant attention, like, you know, like at the peak of Tumblr, like most of my time at
00:02:03 ◼ ► Tumblr, I was needed to be constantly on call because the growth of the service was so strong
00:02:10 ◼ ► and we had so relatively limited resources and staff that, like, I was constantly on call
00:02:17 ◼ ► to deal with servers that were exceeding capacities and breaking and falling over and failing and
00:02:23 ◼ ► And over the course of my career since then, you know, Tumblr was kind of the peak of that,
00:02:33 ◼ ► And then Instapaper after that was like a little bit less because it was just way less traffic.
00:02:42 ◼ ► And then, you know, I had to often deal with, with Instapaper, like the article parser is
00:02:48 ◼ ► now broken on some popular website and I have to go make a, you know, make a definition or
00:03:12 ◼ ► And so there's been, you know, different design decisions in place there, different feature
00:03:20 ◼ ► And I've kind of landed in a place now where I'm still running servers and a decent amount
00:03:28 ◼ ► Like I'm still running servers, but things are much more stable now than they used to be.
00:03:36 ◼ ► So I'm wondering, Dave, like, how have you found your journey through that and what have
00:03:45 ◼ ► I think in some ways, the same as you, where you, if you don't think about this kind of self-sufficiency
00:03:53 ◼ ► or the degree to which you are putting yourself or some person specifically into an essential
00:04:00 ◼ ► role of your app, eventually that is going to come back and bite you because there will
00:04:05 ◼ ► inevitably, and in some ways that maybe it makes me think of how, like, it is so easy in
00:04:10 ◼ ► the early days of designing and building something to not think about the downsides of success where
00:04:18 ◼ ► it is, you know, you start to think about like, oh, well, I just wanted to succeed or exist in
00:04:24 ◼ ► I don't think about, well, what if it exists and exists 10 years into the future and is going
00:04:37 ◼ ► Like I think the most, the biggest place I ran into this was when I launched Feed Wrangler.
00:04:40 ◼ ► Gosh, this is probably like, I don't even know, that was 10, 15 years ago, a long time,
00:04:47 ◼ ► And it's like, I launched it and didn't necessarily, like, it was initially built just in a very
00:04:55 ◼ ► And it was more successful than I thought it would be, which was a great problem to have,
00:05:00 ◼ ► but meant that I had architected a lot of the backend of that system to not, you know, to be
00:05:06 ◼ ► running close to its thresholds and to be using things in such a way that eventually, like, as
00:05:14 ◼ ► And I was just constantly in there getting notifications, you know, oh, this service is
00:05:19 ◼ ► down, this service is down, or this aspect of something is above, you know, the CPU load that
00:05:28 ◼ ► I was the thing that was holding, like, I was the duct tape holding the whole system together.
00:05:38 ◼ ► Because if I, if it meant that I, you know, I took a couple of days away from the system
00:05:46 ◼ ► And in the case of Reed Wrangler is a sort of, I guess now a famous story where I went,
00:05:50 ◼ ► you know, spent a couple of days in a cabin in the woods and, you know, 10 minutes after
00:05:57 ◼ ► And for two or three days, it was completely down and it started off, people were grumpy
00:06:05 ◼ ► Because I had built this thing that was, it didn't have margin, didn't have headroom, didn't
00:06:17 ◼ ► And in the case of Reed Wrangler, eventually I just solved it with money where I went and went
00:06:22 ◼ ► from shared hosting to dedicated hosting that was substantially more expensive, but gave
00:06:27 ◼ ► me so much headroom that I didn't have to be, you know, it's like my, the servers could
00:06:37 ◼ ► But I think in the same time on iOS and on the apps that I've built, there's an element
00:06:43 ◼ ► where I intentionally now try my best to build and structure my apps so that they don't rely
00:06:54 ◼ ► And this has been very, it was very, you know, there's situations where like, you know, when
00:06:58 ◼ ► Widgetsmith had its moment and massively sort of had this massive explosive growth in users,
00:07:04 ◼ ► the, I was incredibly glad that no part of that app had a server component at that point.
00:07:11 ◼ ► There was nothing it did that required something other than locally on the user's device.
00:07:17 ◼ ► And if you can push and maintain, you know, the user's device as the extent of largely what
00:07:29 ◼ ► But subsequently, as I've been building out features or building things, you inevitably find
00:07:38 ◼ ► But that would require me to build a server or to become responsible for something or to deal
00:07:45 ◼ ► And that is a tension that now I have this feeling of like, if it, you know, I'm pushing
00:07:51 ◼ ► as much logic, as much thoughtfulness I can into the client, into the iPhone app itself,
00:08:12 ◼ ► Like right now you're in a season where you are running a restaurant and setting that up.
00:08:16 ◼ ► And as you say, like, that's not going to be probably forever, but it's going to be for
00:08:20 ◼ ► And I've definitely had periods, you know, for health or personal or family reasons where
00:08:25 ◼ ► I have to step back from work for extended periods for, you know, for weeks or a couple
00:08:37 ◼ ► indie, like you don't have this big staff or team who could just step in and, you know,
00:08:48 ◼ ► complicated and difficult to do, especially if the reason you're taking this break is unplanned
00:08:54 ◼ ► and awkward and you're not in a great, you know, physical and health, emotional, whatever
00:09:03 ◼ ► And so, yeah, it's like it is the self-sufficiency aspect is something that I am so grateful that,
00:09:09 ◼ ► you know, past me has transitioned into this mindset that I want to not be the linchpin or
00:09:20 ◼ ► And as a result, when things come up, when I have to take step back, it's usually totally
00:09:32 ◼ ► be worried that something is going to horribly have, you know, blown up in the meantime because
00:09:48 ◼ ► And when it comes to making a plan, there's no better tool than the award-winning to-do app,
00:09:55 ◼ ► You create a project for each of your goals, add the steps to reach those goals, then schedule
00:10:00 ◼ ► Then each morning when you wake up, Things has already prepared your list of to-dos for
00:10:04 ◼ ► Just spend a few minutes reviewing the list, put your to-dos in the order you plan to do
00:10:10 ◼ ► It doesn't matter which device you're on, your to-dos sync through the cloud so they're
00:10:18 ◼ ► You can also connect your calendars to see your events, schedule to-dos that automatically
00:10:21 ◼ ► repeat, you can write your notes and things with markdown on each item, and so much more.
00:10:26 ◼ ► But when it comes to Things, what you'll love more than any single feature is the app's amazing
00:10:35 ◼ ► This is a native app made to a very high standard of quality, and it's a two-time winner of Apple
00:11:29 ◼ ► So I think number one thing that you want to avoid if you want your app to be reasonably
00:11:41 ◼ ► So, like, in my extreme case, when I was running the magazine, the entire product was the editorial
00:11:50 ◼ ► So there was no way for me to run that myself and have it be any kind of self-sufficient
00:11:56 ◼ ► and have it tolerate any temporary losses of my time and resources because the whole thing
00:12:04 ◼ ► You know, in Overcast, what that could look like would be things like featured podcasts
00:12:11 ◼ ► in the directory or any kind of, like, you know, this week we're featuring this or here's
00:12:22 ◼ ► Like, anything like that, I have intentionally not implemented human editorial content in Overcast
00:12:29 ◼ ► because if I did, that would require that I go and make that or do that or process that.
00:12:39 ◼ ► Like, if it's podcast featuring, for instance, for the editorial directory content, that could
00:12:43 ◼ ► require things like not only me finding the right podcast to feature, but also maybe, like,
00:12:55 ◼ ► And it's better off if I don't rely on that kind of thing, rely on myself for that kind
00:13:05 ◼ ► Kind of an offshoot to editorial is anything that is content in your app that is written
00:13:21 ◼ ► And you can think if there's any venue for users of your app to write things visible to
00:13:27 ◼ ► other users, then you create the possibility for spam and abuse and copyright violation and
00:13:34 ◼ ► all sorts of, you know, problems that you'd have to monitor and moderate and deal with and
00:13:46 ◼ ► So there is no way in Overcast for users to post or create or write things to other users.
00:13:57 ◼ ► You have to deal with not only, you know, what's decent and right, but you have to deal
00:14:07 ◼ ► So there's lots of potential mess there if you can design your app not to have, you know,
00:14:52 ◼ ► In my case, Overcast has ad banners for the free version, and I sell those ads on the website.
00:15:05 ◼ ► So I have then created a job for myself that, like, when people buy an ad, it does not go live
00:15:27 ◼ ► Like, if I don't do that, those ads will just sit there, and the advertisers might get mad
00:15:44 ◼ ► But that's still, you know, if I was going to be so, you know, disconnected that I couldn't
00:15:57 ◼ ► And then as you move up the ladder from that, I think the next up is support, like user technical
00:16:04 ◼ ► This is probably the biggest one of these, but I think it's the easiest to deal with in the
00:16:16 ◼ ► If you've designed your app to not have editorial, to not have human-to-human contact, to not
00:16:22 ◼ ► have, like, tricky or high-maintenance infrastructure, to not have, you know, high business development
00:16:33 ◼ ► And the good thing is that support is also usually the least pressing and the easiest to outsource.
00:16:39 ◼ ► So if you fall behind in your support inbox by three or four days, probably doesn't matter that much.
00:16:50 ◼ ► It's also the easiest thing if you want to hire a service or a person to cover your support for you.
00:17:00 ◼ ► I've had very mixed success there myself, but it is the easiest to outsource of all these other
00:17:12 ◼ ► And you can also choose or design your app in such a way that it either doesn't need a lot of
00:17:19 ◼ ► support, hopefully, or in a slightly worse case, you can do what I do and set expectations to people
00:17:30 ◼ ► And then it becomes more of a kind of feedback or user request channel, which is very valuable in its own way.
00:17:37 ◼ ► But it's far less engaging and far less demanding of your constant, never-ending time than support.
00:17:43 ◼ ► And then finally, after all of that, if you cover all those things, then you have actually the code of the app,
00:17:54 ◼ ► And that is the best thing to be the thing that's falling on you because that's the part that you can do best and that you can often do on your own time, in your own schedule, in your own priorities.
00:18:08 ◼ ► So that part, like we all have to deal with occasional bug fixes, you know, but for the most part, until, you know, the OS changes under our feet, which does happen, but until the OS changes from under our feet, we can usually do that when we are good and ready.
00:18:23 ◼ ► And so, you know, in my case with Overcast, I did a whole lot of work on the app during all of last year and the year before.
00:18:47 ◼ ► And so I'm able to take a brief time off now for a few months while I get all this stuff sorted.
00:18:53 ◼ ► And then I'll be able to go back to the app on my own time, most likely this summer, and, you know, get back into the full bandwidth swing of things with the actual bug fixes and improvements and new features and new designs, stuff like that.
00:19:05 ◼ ► Yeah, and I think in that, it's like you've made those choices as you work your way up that.
00:19:14 ◼ ► And I think it's interesting, it's important probably to understand that if at those, as you're working up that hierarchy, if you have a project or something in mind that requires you to not, you know, to not decline a feature or to deal with something.
00:19:31 ◼ ► Like, if you need user-generated content, if you need to deal with moderation or regular updates or business-to-business stuff, like, if that is essential for your thing, in my opinion, it's like, most likely, it's good to keep in mind, you're likely going to need a staff.
00:19:46 ◼ ► You're likely going to need people to, or maybe not necessarily a staff, but you are going to need outside help to accomplish those things if they become important.
00:19:55 ◼ ► Because it is unlikely or unwise, perhaps moreover, to think that you would be able to just indefinitely manage that yourself.
00:20:03 ◼ ► It's like, maybe you don't need the outside support initially until the thing actually happens, but as soon as it actually happens and you've suddenly created this, you know, sort of situation that you exist in, you may need that outside help.
00:20:17 ◼ ► And something like on the servers and services side, it's like something I've gotten into a lot more recently is, like, a lot of my services, they rely on these small, dedicated, sort of one-stop APIs that are necessary for something.
00:20:31 ◼ ► So, like, in, you know, Pedometer++, there's a thing that does directions for hikes as you walk around.
00:20:37 ◼ ► And that could have been, as I was deciding, it's like, do I want to build something like this myself?
00:20:45 ◼ ► I could have used OpenStreetMap data and, like, this whole thing, infrastructure I could have built.
00:20:53 ◼ ► And so I use Mapbox, which is a, like, a dedicated API provider who that's what they specialize in.
00:20:59 ◼ ► And it's now become, in some ways, their problem that if their service goes down or there's some data change or some aspect of this needs to be updated, it's like they have an expertise and a specialty and a sort of an obligation to some degree to take care of that for me.
00:21:15 ◼ ► And I think that has worked out really well for me in a lot of ways where, in some of our things, like, I think both you and I, we tend on our, the actual, you know, the code at the bottom of our app, we have a lot of, tend to exert a fair amount of control on.
00:21:34 ◼ ► And I think that's, for both of us, it's kind of worked well insofar as we have a deep understanding and control over that part.
00:21:53 ◼ ► But as soon as it gets outside of the iPhone itself, I look for other ways that I can do this, that I can get external help.
00:22:01 ◼ ► And, you know, last year, I've subsequently hired someone who helps me with a lot of the other things that I can't do because some of these roles are essential and are inevitable and are just part of the deal.
00:22:13 ◼ ► But it's important, I think, to understand that where you're going to need external help, that's going to happen.
00:22:20 ◼ ► And if you don't think about it ahead of time, eventually the situation will present itself where you will have to think about it.
00:22:36 ◼ ► One of the things that is easy for me to get sucked into in the early days of being indie was that I was very adverse to spending money on anything.
00:22:51 ◼ ► And while there may have been a very narrow, brief window where that was actually necessary in terms of getting the business up and running,
00:23:04 ◼ ► And I probably held on to that mindset for a few years, that I was holding on to this view that I needed to be involved in all aspects of things and didn't get the help I needed or try to take on things that I probably shouldn't have.
00:23:16 ◼ ► And I not treated it like, if I can exchange money for my time, that is usually a pretty good exchange.
00:23:27 ◼ ► And in terms of making my apps more sustainable, it's like as long as the app is generating enough income to do that thing, that to pull me out of the critical path of something, that's a great thing.
00:23:36 ◼ ► And if it doesn't, if the business doesn't generate that income to provide that, to externalize that need, it's like the business isn't really a business.
00:23:49 ◼ ► It's not sustainable and it's not going to live up to the long-term turbulence of life, I suppose.
00:23:55 ◼ ► Yeah, I mean, and that's, I think it's really important to recognize that like no matter what you think when you're designing something, when you're, you know, in your 20s, no matter what you think, you will have times where you are needed to, like you need to pull away from things.
00:24:12 ◼ ► You need to not be available for various reasons, you know, maybe it's, you know, a health thing or, you know, a major family event or a loss or just something, something really important is pulling you away.
00:24:25 ◼ ► And even, you know, look, every night you have to sleep at some point, you know, so every night, like there's, there's like, there's small scale versions of this happening every day for you.
00:24:33 ◼ ► And then, you know, there's, there's possible big scale versions of it happening, you know, when life throws you a curveball.
00:24:45 ◼ ► And then on the other side of that, what I'm not saying is that you can just set things in motion and then just never think about your business again.
00:24:54 ◼ ► Like, I'm, I'm definitely not saying that, you know, like the way, the way I view a lot of these, these kind of, you know, life curveballs is more like, you know, you have like the short term versions of sleeping every night and maybe, you know, having a weekend to yourself.
00:25:11 ◼ ► But then you, you have longer term versions and those are kind of like sabbaticals or, you know, like, like parental or, you know, maternity leave.
00:25:24 ◼ ► If you are always on leave for many years, that's, you're not really doing that job anymore.
00:25:32 ◼ ► But you should build your job in such a way that you can take leave when you need to and the whole thing doesn't fall apart.
00:26:02 ◼ ► In a weird way, it reminds me of, I had a friend who used to work in finance, like doing kind of, you know, stock trading and all kinds of things.
00:26:09 ◼ ► And his company had a policy where every year he had to take two weeks consecutive leave where they completely shut him out of all of his work systems.
00:26:23 ◼ ► And for the company, it was this thing, it was a sort of a safe, it's like this, this way for them to safeguard against someone who was doing dodgy trading or doing things and was, you know, like doing this thing where they were, you know, wash trading or finding ways to hide a big loss or a big problem by continuously doing things that, you know, sort of hit it.
00:26:46 ◼ ► But if after, you know, if most of those kinds of schemes or trades or things would unravel if they weren't sustained for, you know, in this case, a two week period.
00:26:59 ◼ ► And in some ways, that makes me think of as a, just a mental exercise for, it's probably useful for us all to have.
00:27:06 ◼ ► It's like, if we had a two week period where we were completely disconnected from our work, what would suffer as a result of that?
00:27:17 ◼ ► You know, in this case, it's what are these, you know, what maybe in your case, like your ads wouldn't be sold.
00:27:27 ◼ ► But it's probably just a useful mental exercise to think about if I completely logged out of all of my, you know, all of my systems, never went, didn't check my email, didn't log into my servers, didn't look at my stats, all those kinds of things.
00:27:40 ◼ ► What would be the consequence for, you know, I think two weeks is a reasonable amount of time to think about where some, so many things, you know, will probably be fine for a couple of days, maybe a week.
00:27:54 ◼ ► And if you have things in your app, in your business, in your situation that couldn't survive two weeks of you being away, that's probably something that's worth looking at and understanding and making sure that you have at least a vague notion of how, what you could do to address that.
00:28:20 ◼ ► And so being ready for it is just a wise move to do when, you know, when the sun is shining and things are straightforward is much better when, you know, you're in the middle of the hurricane and things aren't as great.
00:28:30 ◼ ► I love the idea of that as like a safeguard against, you know, fraud in the financial industry, but also like showing you like, are you irreplaceable?
00:28:40 ◼ ► And if you design something like that, you're also making sure, like in the case of your friend's business there, they're also making sure nobody's irreplaceable.
00:28:49 ◼ ► Like that, you know, if somebody got hit by a bus, like no one is irreplaceable because if their job just doesn't get done for a while, the business can continue and, you know, the system will not fail.
00:29:01 ◼ ► And that's a hard thing to design for when you are a one person business, but it's not totally impossible.
00:29:07 ◼ ► So I like the idea of challenging yourself to start thinking about that, like to say, start thinking like if I had to drop everything with no preparation, if I just got pulled away, maybe I was knocked unconscious for two weeks.
00:29:31 ◼ ► So, yeah, just one of these things to keep in the back of our mind, especially in perhaps the quieter time that we're in before, you know, the summer busyness.