Under the Radar

263: Pedometer++ 5.0


00:00:00   Welcome to Under the Radar, a show about independent iOS app development.

00:00:04   I'm Mark Orment.

00:00:05   And I'm David Smith.

00:00:06   Under the Radar is usually not longer than 30 minutes, so let's get started.

00:00:10   So Dave, literally, what, an hour ago?

00:00:12   When did you push the button to release pedometer++ 5.0?

00:00:16   So slightly funny story about that is I didn't actually push the button.

00:00:21   It pushed itself.

00:00:22   When I submitted the app a week ago, I had just like, I don't know why I did this.

00:00:28   I said, "Oh, just release yourself at six in the morning on Wednesday, March 1st," and

00:00:34   completely had forgotten that that's what I was doing.

00:00:36   And so this morning I was expecting to, at some point, I'd get my coffee, sit down at

00:00:41   my office, get my help desk up, get everything ready just the way I like it, and then I'd

00:00:46   hit release.

00:00:47   And instead, I'm blearily eyed, had just woken up, walking downstairs, getting an alert on

00:00:52   my phone that says, from App Store Connect, saying, "Your app is now ready for sale."

00:00:55   And it's like, arrooo!

00:00:57   It is.

00:00:59   So that was the exciting part of this morning.

00:01:02   But yeah, so it's been a couple of hours now.

00:01:04   But yeah, not very long that it's been out in the world.

00:01:07   Well, congratulations.

00:01:08   This is a huge update.

00:01:09   And I would honestly be surprised

00:01:12   if this was only one episode worth of content here.

00:01:14   Because here's what you've done.

00:01:15   You've taken an old app that had a huge user base that you made,

00:01:19   Panometer++.

00:01:20   And you've done a number of things relevant to our audience.

00:01:23   So first of all, you totally rewrote the app

00:01:25   in Swift and Swift UI, before it was UIKit and everything.

00:01:28   So that's its own massive thing.

00:01:30   You also dramatically added a huge feature set to it

00:01:35   that takes it in a totally different direction

00:01:37   from where it was before.

00:01:39   And then on top of that, you have also

00:01:42   added a subscription to an app that didn't have one before.

00:01:45   So these are all massive topics for our show.

00:01:48   So we're probably not going to get to all of it today,

00:01:52   but I would love to start with just-- OK,

00:01:55   Okay, so what prompted you to look at this old app that,

00:01:59   while it has tons of users, I assume it was kind of

00:02:05   cruising along without much input from you,

00:02:08   having to baby it over time.

00:02:10   So what prompted you to say,

00:02:11   "You know what, I'm gonna go rewrite that app."

00:02:13   - I think it didn't start,

00:02:15   it's probably the best place to say is,

00:02:17   I didn't start wanting to rewrite the app.

00:02:20   That I started this process, honestly,

00:02:24   the expectation of writing another app to that I was going to I've kind of been on this, this got

00:02:31   started from this desire to make an amazing, like hiking app for the Apple Watch and iPhone. That

00:02:37   was like something that I wanted for me that when I go hiking, I'm frustrated by all the other apps

00:02:42   that exist out in the world that I've tried. And I just none of them think you work the way that I

00:02:47   work. And so I wanted to make my own thing, my own thing that was, for me better and hopefully better

00:02:52   better for other people.

00:02:53   - That is, by the way, that is how all of the best apps

00:02:57   begin, like part of the luxury of being an indie app

00:03:02   developer is if something about the way some app works

00:03:06   irritates us, or if there's some category that we could

00:03:10   really use that doesn't really exist or isn't really

00:03:13   well served by what's out there, we can make that happen.

00:03:17   Not in every case, of course, but a lot of the time,

00:03:20   something that we can, if we care that badly, and if we're willing to stick that much time

00:03:24   into it, we can just say, "You know what? These apps that are out there to do this,

00:03:29   they are not working for me. Let me make my version of it." And that is, and sometimes,

00:03:34   you're the only person in the world who wants that, and it goes nowhere. But most of the

00:03:38   time, you're not. Most of the time, there's other people who also want to work the way

00:03:41   you do. And so this is a recipe for how almost all of the best apps are made.

00:03:48   Yeah, and I think there's definitely something about chasing, it's like, rather than having

00:03:54   us like, you can be a solution in search of a problem or a problem in search of a solution.

00:04:00   And I feel like, so like, if you're coming at it from like, you have this thing, this

00:04:05   problem that you want to find the solution for, like you, and you know what that is,

00:04:09   because you encounter it, and it's tangible, and you're not kind of this other way around

00:04:13   where you're just like hoping that this can find a market or you're like imagining a user

00:04:18   who theoretically could exist who might benefit from something like it. As soon as you start

00:04:23   to become esoteric and kind of whimsical in that way, like it just very quickly loses

00:04:28   sort of, I don't know, like ground truth and you start like our mate, you're making stuff

00:04:33   up that isn't nearly as productive as, you know, I go out on a walk. What do I want to

00:04:38   to see what is helpful to me. And like that is so instructive for like making something

00:04:45   that hopefully in practice is going to be intuitive and easy to use and all of those

00:04:50   things that sometimes you have to work for if you aren't like the number one user yourself.

00:04:55   If you're working into, you know, I ran into this a bit with WidgetSmith where there are

00:04:58   some kind of aesthetic features and uses of the app that are not things that I do. Like

00:05:04   I've never done the fully custom app icon homepage thing.

00:05:09   It's just never really been something that I wanted to pursue.

00:05:12   And so when I'm building features for that, it's tricky.

00:05:14   But in this case, I've been an avid hiker my entire life.

00:05:19   I love the wilderness.

00:05:20   This is something that I really am a fan of.

00:05:24   And so when I decided, hey, I want to make this app, it was easy to know where to start

00:05:30   and to start building.

00:05:31   But I went down that road and I started building this app as a separate thing.

00:05:37   And then sort of fairly quickly, it could have hit this point where it's like, "You

00:05:41   know, this shouldn't be a separate app.

00:05:42   I'm just asking for trouble if I go down that road."

00:05:45   And I've done this before where I've launched 60 different apps over the years and it's

00:05:50   like at a certain point, it's worse.

00:05:54   Because I have an app that does step counting, that's related to hiking, they're not like

00:05:58   direct overlap, but there's a very strong Venn diagram intersection there. It was like,

00:06:04   this should just be part of Pedometer++. This should just be a feature that is added into

00:06:09   that rather than a new thing that I have to try and build a new user base for and kind

00:06:15   of establish a brand around and all of those things that are going to be so difficult.

00:06:19   This makes so much more sense to put it in there. And that's the point where suddenly

00:06:23   it's like, "Oh, that's going to be tricky." Because do I want—all of this new stuff

00:06:29   was going to be in Swift and SwiftUI. That was just sort of a given for me. I think that

00:06:33   is clear. The writing is on the wall that that is—any new feature I build should be

00:06:38   written in Swift and SwiftUI because that's where all the effort inside Apple's platforms

00:06:43   and things and the skills I want to develop and the kind of quality of my code, that is

00:06:48   where I should be putting that effort. And so now I'm stuck in this place where I have

00:06:53   these new features in Swift and SwiftUI doing some pretty interesting things that I think

00:06:57   that are in some ways only possible in SwiftUI, like the things I'm doing with live activities

00:07:02   or on the Apple Watch. It's only possible if you use SwiftUI. And so that for sure has

00:07:08   to be the case, but I really didn't like the feeling of jumping back and forth between

00:07:13   Objective-C and UIKit and Swift and SwiftUI. You can make it work. I could do a lot of

00:07:21   wrapping things up and doing UI view representable and making it happen in that way, but very

00:07:27   quickly I was like, "No, this is the time." This app's been around for almost 10 years.

00:07:33   I launched it back in 2013, and so it's been around. It's got a lot of miles on it. There

00:07:40   are a lot of files in this that have been around for 10 years. And it's like, at some

00:07:46   point, that old Objective-C code is going to just weigh me down to a point that I'm

00:07:51   not going to be able to take advantage of something. And so this was like the moment

00:07:54   where I was like, you know, I'm just gonna, it's never a great idea sometimes, you know,

00:07:59   sort of conceptually to rewrite something. But eventually, I think, you know, a codebase

00:08:03   reaches that tipping point. And I was like, you know, this is that point. And so I'm just

00:08:07   going to buckle down and rebuild things.

00:08:10   And some of that was a struggle, some of that was a joy.

00:08:12   It's been a bit of a journey to get to where I am now, but it feels amazing that I've rewritten

00:08:18   essentially all of the user-facing code in Swift and SwiftUI.

00:08:22   And there's still some model logic that's Objective-C just because it didn't make any

00:08:27   sort of difference or sense to change that, and it's been very battle-tested.

00:08:31   And I could refer you back to a very old episode of Under the Radar where I talked about how

00:08:35   complicated counting steps is.

00:08:39   The last thing I wanted to do is crack open that code.

00:08:45   Everything from that level up is completely forbidden.

00:08:47   It just feels great now that I have an idea for a feature, I have something I want to

00:08:50   do, I can implement it in SwiftUI.

00:08:53   So often it takes no time at all.

00:08:56   It's just kind of like I feel like I'm running down a hill.

00:08:59   You imagine the little kid who's running down a hill with his arms on the side, big smile

00:09:05   on his face, like that's what it feels like now, rather than I feel like, you know, the

00:09:09   Objective-C days where I have previously had to go and do a feature or make a change, it

00:09:13   felt like I was like, you know, sort of loading on a weight vest and like crawling up a hill

00:09:17   on my hands and knees because it's just so different and so sort of, you know, contrary

00:09:23   to the way I think and the way that I develop now.

00:09:25   Oh my god, you have no idea how much this is speaking to me, but the problem is I'm

00:09:29   still in the, you know, the burden phase and I'm not being the look you're running

00:09:33   the hill yet. The hill seems really far away from me still.

00:09:37   But the only way you'll get there is if you start driving, right?

00:09:40   I know, I know. Alright, we are brought to you with this episode by ISSU. Whether you

00:09:46   work for yourself or you're part of a team, it's time to get creative. Make your online

00:09:50   presence and your business stand out from the rest with ISSU. ISSU is the all-in-one

00:09:54   platform to create and distribute beautiful digital content, from marketing materials

00:09:59   and magazines, to catalogs, portfolios, and so much more.

00:10:03   There is no need for endless scrolling through PDFs.

00:10:05   Issue features your digital content

00:10:08   in an easy-to-view way on every device.

00:10:10   You can make it once and distribute it everywhere

00:10:13   without reformatting.

00:10:14   Your content's automatically optimized for engagement

00:10:17   and ready to share, which saves so much time.

00:10:20   Issue also works seamlessly with the tools

00:10:22   you already use and love, like Canva, Dropbox, MailChimp,

00:10:25   InDesign, and more.

00:10:27   Content on Issue can be published however you need it to be.

00:10:31   Public or private, for instance, and private there only allows users with a shared link

00:10:34   to view it.

00:10:36   Public content will be available for your audience, and it'll be available for others

00:10:39   to discover on the Issue platform.

00:10:41   This is cool.

00:10:42   So the platform also provides statistics on how your content's being consumed, so you

00:10:46   can learn more about your audience with data on impressions, clicks on the content, duration

00:10:50   spent reading, pages viewed, and so much more.

00:10:54   Issue helps creators, marketers, designers, and really anyone who wants to make content

00:10:58   that stands out.

00:10:59   Get started with Issue today for free or sign up with an annual premium account and get

00:11:03   50% off with you.

00:11:05   Go to issue.com/podcast and use promo code radar.

00:11:10   Issue is spelled I-S-S-U-U.

00:11:12   So there's no E. I-S-S-U-U.com/podcast.

00:11:17   Use promo code radar at checkout for your free starter account or 50% off an annual

00:11:21   premium account.

00:11:22   one more time, that's issueissuu.com/podcast,

00:11:26   promo code radar.

00:11:28   Our thanks to Issue for their support of Under the Radar

00:11:30   and all of Relay FM.

00:11:33   So you decided to rebuild the whole app,

00:11:36   Swift and Swift UI, and part of that was

00:11:39   that you had this pretty significant new feature set

00:11:42   that you were adding on with the hiking, tracking,

00:11:44   and the widgets, and the workout modes, and the watch.

00:11:47   Like there's so much you were adding here.

00:11:49   And I know you just talked about the decision making

00:11:52   of why you kept it in this app

00:11:54   and didn't just make a new app.

00:11:56   But I'm curious, are you concerned

00:11:59   that people won't know to look for this in this app?

00:12:02   'Cause it's really hard to take an existing app,

00:12:05   you added this whole massive new feature set to it,

00:12:07   but part of what makes Podometer++ itself

00:12:11   is its root screen, it's iconic,

00:12:14   just nice bar graph root screen

00:12:16   that everyone has been looking at for almost a decade now.

00:12:20   And so how do you balance, like you're adding this massive new feature set to an app that

00:12:27   is known for its simplicity, and how do you balance not eating into that simplicity too

00:12:32   much while also making sure people actually know about the features and might have a chance

00:12:36   to use them?

00:12:37   Yeah, and I think that is definitely a concern that I had.

00:12:41   And it's this thing in the back of my mind of what I really didn't want to do is—and

00:12:47   And it's honestly too early at this point to know for sure, but I don't think this is

00:12:51   what happened.

00:12:52   It's like what I didn't want to have happen is I make this change, I add some features,

00:12:55   I rebuild the app, I do some visual design changes, and then suddenly it turns out the

00:13:00   reason the app was successful, the reason people used it was because of the thing that

00:13:04   I just changed.

00:13:05   Like the thing that I just took away was the linchpin that was holding everything together.

00:13:10   And so if I take it away, like the whole thing falls apart.

00:13:13   that's the terror in the back of my mind that that was going to happen. And I think, because

00:13:19   I had that terror there that I don't think is actually true, that I think is much more likely

00:13:23   that people like it for a variety of reasons. And I can keep the essentials of what they like,

00:13:28   without, you know, while making changes to other things. I think, because I had that terror, I went

00:13:33   as I go about this, everything that I've done is kind of had been filtered through this idea of,

00:13:39   if you're an existing user, what would you expect? What would you like? What would make sense to you?

00:13:45   And I'm trying very hard to structure things around that, that I'm not trying to kind of

00:13:52   confuse people or they, you know, they, like, I mean, I'm sort of, even myself, when I really

00:13:58   don't like it when, you know, an app update happens, and suddenly I can't find anything,

00:14:02   and everything's like backwards and turned around. And, you know, things are very confusing suddenly,

00:14:08   like that is a terrible experience and a feeling as a user because as a user, it takes effort

00:14:15   for me to develop kind of, I don't know, like sophistication, expertise, whatever you wanted

00:14:21   to say it was about, you know, this app that I'm learning how to do it, I'm becoming an

00:14:25   expert in it. And if you know, as an app developer, if we take that expertise that someone has

00:14:30   learned and kind of just like discard it and throw it away, like that's, that's hurtful.

00:14:35   Like that's not a nice feeling for these users who have put time and energy into understanding

00:14:40   how your app works and what they should expect from it.

00:14:43   And so I tried very hard in this update to leave things very similar.

00:14:47   Like that main root home screen where you have been for a long time is communal.

00:14:52   None of the code you're seeing is the same as the old code, but visually it's almost

00:14:57   identical.

00:14:58   Like I tried very hard to, like there may come a point in the future where I can evolve

00:15:04   that, where I could change it, where I could tweak or adjust it in a way that might be

00:15:08   interesting. Like, I don't know, that may be something that makes sense in six months,

00:15:12   you know, a year from now. But for this update, when I'm changing so many other things, my

00:15:16   goal was to keep it exactly the same, to change only what I have to, rather than to get kind

00:15:24   of carried away in one of these just like, you know, graphic design, vision quests, where

00:15:30   where you start coming up with these new ideas and these things and kind of like this radical

00:15:34   re-imagining of something. It's like, "No, no. This is the, you know, the rebuild is

00:15:38   for me and for my ability to technically do this. And visually for the user, I want you

00:15:43   to be as happy as can be with that." Some users may even think like nothing changed,

00:15:48   that if you just like, "Oh, huh," you know, the app just looks slightly different. There's

00:15:52   not even any kind of big obvious thing there. And then these other features, these new like

00:15:56   workout modes and things are kind of, I'm not, I'm intentionally not trying to be in

00:16:02   your face about them, that I want you to discover them when you're at the point where you might

00:16:07   be interested in looking rather than, you know, it's not this kind of update where I've,

00:16:13   you know, and I've experienced these in some other apps where you have the sense of like,

00:16:16   this new update comes and then now every time you launch the app, there's like a pop up

00:16:19   that's like, "Hey, hey, hey, have you seen our new stuff? It's awesome. You know, come

00:16:22   Come over here, check this out.

00:16:24   I have a little link at the top of the home screen now, just to be able to play the videos.

00:16:29   It's like a 30-second video, essentially, like, here's what's new in version 5.

00:16:33   But that's the extent of it, and once you've seen it, it goes away and it won't come back.

00:16:38   I'm trying to be as thoughtful as I can about making this something that hopefully, I mean,

00:16:45   both for the existing user and the new user, that your initial core experience, the thing

00:16:49   that hopefully has gotten you to download Pedometer++ in the first place and you are

00:16:53   using it is still there, is still great, and now there's this other place that you can

00:16:58   go that, you know, "Huh, counting my steps is great, but what if I could track, you know,

00:17:03   the walks I do to get my steps?" And if that's a thought you have, then now I have a way

00:17:08   to address that, and that hopefully is kind of a logical next step. And, you know, similarly,

00:17:14   it's like, "Huh, now I'm going on these walks. It'd be great if I could, you know, look at

00:17:18   a map while I do that, or look at my, you know, track my walk on my lock screen using

00:17:23   live activities, like, wouldn't that be cool? Or on my Apple Watch, I'd love to have a map.

00:17:27   Like these are these kind of extension features that I'm trying hard trying to kind of structure

00:17:31   things with this graduated sort of disclosure that I think hopefully will make that transition

00:17:37   sort of easier for people that it's not turning things around not doing anything dramatic

00:17:41   and radical, and kind of just keeping it the same as much as I can.

00:17:46   So I'm curious, you built a pretty substantial feature here that involves being able to track

00:17:54   hiking or walking workouts with just an iPhone without an Apple Watch.

00:17:58   Because as you mentioned in the blog post, 70% roughly of your customer base does not

00:18:02   have an Apple Watch paired to their phone.

00:18:05   And I would imagine that's probably a pretty average number for the iPhone as a whole.

00:18:10   So it might even be greater than that, depending on what kind of app usage you have.

00:18:15   But anyway, so I'm curious, what made you decide to build that particular feature as

00:18:21   somebody who was so into the Apple Watch yourself?

00:18:23   And do you frequently go out and test that without your Apple Watch?

00:18:27   And what's the market impact of that, do you think?

00:18:31   'Cause I think this is a, as far as I know, fairly untapped or underserved market of people

00:18:36   who want some kind of active workout role with their iPhone who don't have an Apple

00:18:42   watch and will be solely using the iPhone to track that. How do you, like, what are

00:18:46   the capabilities you can and can't do with that? How does it compare to the watch? And,

00:18:50   you know, how do you find, like, do you actually end up using it a lot to test it out? And,

00:18:55   you know, I would imagine for you leaving the house without a watch is like leaving

00:18:58   the house without pants. Like, how do you feel?

00:19:01   Yeah.

00:19:02   Like, how do you feel?

00:19:03   I'm wearing at least one Apple Watch. Maybe two, maybe three. Yeah, like, I think the,

00:19:10   Honestly, it's one of these things where I was,

00:19:13   earlier I was saying how I'm building a feature

00:19:15   for myself, for a lot of this.

00:19:19   The iPhone aspect of it, the part of it that is for me

00:19:24   is the map-based version of that.

00:19:26   That's something that I find I will use

00:19:29   when I'm going on a, I'm out on a hike

00:19:31   and I wanna see where I am, I wanna follow a route.

00:19:34   Having that on a nice big screen is great

00:19:36   in a way that I will, it's amazing and I love

00:19:39   I can put a map on my Apple Watch and I will use that every time I'm going on a proper

00:19:43   adventure I will have it on my Apple Watch. Having it on my iPhone is useful there. But

00:19:48   I think it definitely feels like a feature that so many people can benefit from, like

00:19:54   at least 70% of my user base currently can't do this in Pedometer++ and now they can. And

00:20:01   And I wanted to bring that into, sort of onto the iPhone as a result.

00:20:09   And I think I use it more now especially.

00:20:12   When I first started building this app, when I started thinking about this, we didn't have

00:20:16   live activities or the Dynamic Island or any of those things.

00:20:20   Those are sort of new arrivals since I was working on this.

00:20:23   And I think they have especially made it much more compelling on the iPhone to track a workout

00:20:29   because one of the reasons that on the Apple Watch, tracking a workout is so compelling

00:20:35   is when you're in a workout, your metrics take over the watch, you know, the screen,

00:20:42   and you don't see your watch face. All you see is your workout metrics. And live activities

00:20:46   aren't quite that, like it's not like they're taking over your lock screen in a way that

00:20:50   like the, you know, if you started driving directions in the Maps app, it actually kind

00:20:55   of like takes over the lock screen. You know, live activities aren't quite that big, but

00:20:59   it now puts that data somewhere that is immediately obvious and visible and you can quickly reference

00:21:05   without having to unlock, you know, take out your phone, unlock it, you know, swipe up and then

00:21:10   you'll see it. It's being able to just pick it up, you know, glance at it and look at it. Or even if

00:21:15   you have it in, you know, a case or something where it's visible externally, you can just glance at it

00:21:20   and look at it. And I think that really was one of those things where when live activities were

00:21:26   announced, I was like, Oh, this is perfect. Like this is suddenly turning it into something

00:21:30   that is super useful for me. And especially in a world where, while like I do all my,

00:21:38   you know, I love the Apple Watch Ultra, and its battery life is amazing. So if I'm going

00:21:42   for a very long hike, it's still going to be fine. Not everyone, you know, likes that.

00:21:47   And I think having even if you have an Apple Watch, you might sometimes want to track a

00:21:51   a long walk, like if you were going for a 20-mile walk, you might struggle to capture

00:21:57   that in a Series 4 Apple Watch. That might just be a struggle for you just from a pure

00:22:01   battery life perspective. And so doing it on your phone is much easier. You can actually

00:22:06   charge your iPhone while you're walking. You can plug it in in a way that you can't easily

00:22:10   do with your Apple Watch. You can run a charging cable up under your wrist or something. I

00:22:17   don't know. That seems like you're blocking the heart rate sensor. I don't even know if

00:22:20   that would work.

00:22:21   it would remain in the locked mode the whole time because it would think it's off your

00:22:24   wrist the entire time.

00:22:25   Yeah. Like, it just doesn't work great. And so I think those kind of things have made

00:22:30   that a much more compelling, like being able to do live activities. And really the main

00:22:34   downside is you don't get heart rate tracking. I think other than that, you know, there's,

00:22:40   it can do all of the, you know, the speed estimation, the, you know, the stuff that

00:22:44   I can write into health, you'll get a record of it with a route tracking and all like,

00:22:49   much the only difference between a workout that's tracked on your wrist and a workout

00:22:53   that's tracked on your phone is going to be that there's no heart rate data, obviously.

00:22:57   And so I think that's turned into a feature that I think is actually much more compelling

00:23:02   than I would have thought. And as someone who, you know, I am first and foremost, you

00:23:06   know, an Apple Watch fanboy, like I love my Apple Watch, like so much of this actually,

00:23:12   this concept for this app, like I feel like so often when I'm developing, there's a feature

00:23:18   I kind of get sort of stuck on and I decide like, if this is possible, if I can do this,

00:23:24   then suddenly like it's much more worthwhile to do. And for me, it was once I got like

00:23:29   mapping built for in SwiftUI for the Apple Watch was just like, Oh, this is cool. Now

00:23:37   I need to now I need to make this app. Because the engineering side of that was a really

00:23:42   tricky, challenging problem, but once I cracked it,

00:23:45   it was like, oh, this is amazing.

00:23:47   And so, that was kind of the, you know,

00:23:50   the Apple Watch is so important for me in that way,

00:23:53   but like, turns out this feature, I think,

00:23:55   is gonna be, you know, it's much more useful,

00:23:57   and it's like, any time you can build a feature

00:23:59   that benefits the 70 rather than the 30 side

00:24:02   of your user base, like, you're definitely on a right path.

00:24:06   - That makes a lot of sense.

00:24:07   It's funny, like, I forgot until halfway through

00:24:10   your answer to the question,

00:24:12   I've actually written an iPhone workout myself.

00:24:14   (laughs)

00:24:16   That's what Town Painter was.

00:24:18   - Yeah.

00:24:19   - And I never even made the Apple Watch version.

00:24:20   And like what you've done here is pretty much

00:24:23   all of the work that would be required

00:24:24   if I ever wanted to make Town Painter as a watch app.

00:24:28   (laughs)

00:24:29   But anyway, no that's really cool to look at it that way.

00:24:32   And you know, and we've all had those moments.

00:24:35   Like you know, my moment of like, you know,

00:24:38   the engineering made me wanna do something

00:24:40   badly was when I first made smart speed and voice boost prototypes. In the old app that

00:24:45   I, it was called Castaway Prototype because I didn't have a good name yet. And I was

00:24:48   like, "Oh man, I should make a podcast app around these features. These are really compelling."

00:24:53   And there's been, you know, stuff over time I've done like that as well. And that's

00:24:57   a great feeling when you get some kind of prototype and you're like, "Oh wait a

00:25:00   minute, this actually works." Like I actually, this is kind of a spoiler, but I'm actually

00:25:03   about to sort of release something that's sort of a game, but it's not as big of a deal

00:25:11   as it sounds at all. It's not even a separate app, it's just a part of Overcast, but you'll

00:25:16   see. But anyway, I had a similar feeling there of like, "Hmm, this is an interesting thing

00:25:21   to do here." But it's not a big deal, don't get too excited. It's a very small deal.

00:25:28   But I think too with that though is the sense of like the engineering win though is such

00:25:33   a powerful thing in terms of like I've had so many of these in this this app in particular

00:25:39   I've had to learn something new like I've had to learn how like map tiles work I've

00:25:44   had to learn all these geo like geometric algorithms and these things that are just

00:25:48   really like I feel like I'm a better developer as a result of that and so I think like it's

00:25:53   always cool to just if you can find a problem that you think is interesting to pursue it

00:25:58   and tackle it because that engineering solution

00:26:00   can be so motivating to make you want to keep going.

00:26:04   - Totally, and that's, I think, one of the best things

00:26:07   about being a nerd like us.

00:26:10   There's a lot of people who make apps who are in it,

00:26:13   kind of what you were saying earlier,

00:26:14   who are in it for business reasons.

00:26:17   They know there's a market here,

00:26:21   they want to do it for business reasons,

00:26:23   they might not necessarily get the same nerdy satisfaction

00:26:27   that a lot of programmers get out of solving a nerdy problem. And as a result, people with

00:26:33   those priorities tend not to tackle very difficult problems or tend not to make it – not to

00:26:40   think it's worth the time to tackle those big problems. Whereas nerds like us, one of

00:26:44   our great downfalls is that we will pour infinite time into something we think is a cool problem

00:26:50   to work on, even if it's not even worth it. Like that's – we go the opposite direction.

00:26:54   We spend too much time doing things that are not worth it.

00:26:57   But I think ultimately, much of the time, that can result in some really cool stuff.

00:27:02   Even though if you actually chart out your hours for what you spent on it, it's like

00:27:07   my wife makes a lot of art and a lot of art projects and art products.

00:27:11   And art is one of those things where you really shouldn't start budgeting out your hours

00:27:15   and seeing, "What's my equivalent hourly rate here?"

00:27:18   Because a lot of times it's terrible.

00:27:20   It's like, if I budged them at my hourly rate out here for what I'm going to make

00:27:24   on this, it's like below minimum wage, you know.

00:27:27   But nerds like us are willing to do that a lot of times to our own detriment often, but

00:27:30   we're willing to do that a lot of times because we want the cool outcome.

00:27:33   And I feel like that is, there's so much of that in your work.

00:27:39   And I love that.

00:27:40   Like, you'll find some nerdy thing, like, you know, your recent post about the gradients

00:27:43   around the square.

00:27:44   Like, you'll find some nerdy thing and you'll dive deep on it and find, like, the

00:27:48   right solution or the most pragmatic solution at a level of detail or for a feature entirely

00:27:54   that most people wouldn't have noticed or cared about those details. But it's worth

00:27:59   it to you. And I love, you know, because I have those things myself and I love that part

00:28:03   of the nerd outlook.

00:28:04   Yeah, and I think there's an element too of that's how you can make things that are

00:28:11   distinctive. Like being distinctive doesn't always mean that you'll be successful. But

00:28:16   I think it's much easier to be successful if you are distinctive. If you're doing something

00:28:20   that took effort, that if someone else can reproduce your work trivially in a short amount

00:28:27   of time, that's not a great place to be. Whereas a lot of what I've been doing with some of these

00:28:34   updates and these algorithms, it's like, "Sure, it's not like I'm doing something that's impossible.

00:28:39   It's not like this wild genius thing. I'm building on the shoulders of others and I'm putting

00:28:45   together a variety of different algorithms and things that are very well known, but there's

00:28:50   a difficulty there. If you want to put a map in a live activity, good luck. It's going

00:28:56   to take a while. It is not a trivial thing to be able to do. And so that's like, you

00:29:04   call it a moat, you could call it a barrier, or you could call it just like a bit of distinctiveness

00:29:08   that hopefully helps you to set apart from everyone else. And that's a wonderful place

00:29:13   to be.

00:29:14   I call it craft.

00:29:16   To me, that's like being able and willing

00:29:18   to occasionally tackle hard stuff

00:29:20   to make a high quality outcome.

00:29:22   That's our craft.

00:29:23   And I think we're lucky to have the time

00:29:26   to be able to do it.

00:29:28   We don't have a boss telling us,

00:29:29   you aren't allowed to spend eight hours on this feature,

00:29:32   like you have to have it done in 30 minutes.

00:29:34   We can sometimes take those times,

00:29:36   and that's my favorite part of the job.

00:29:38   - Absolutely.

00:29:39   - Anyway, congrats on the release.

00:29:41   I hope it's going well for you,

00:29:42   and we will talk about it more next episode. Thank you everybody for listening. Talk to you in two

00:29:47   weeks. Bye.