Under the Radar

189: Watchsmith


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

00:00:04   I'm Marco Arment.

00:00:06   And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.

00:00:09   So I launched an app.

00:00:12   I mentioned this in the last episode, that this was something that was coming in a slightly vague way.

00:00:17   Now I can be specific and dive into a great detail about it and the journey behind it.

00:00:22   It's called WatchSmith, and it is an app that is all about

00:00:27   pushing the limits about what is possible with WatchOS.

00:00:32   Both in terms of it has this very wide and varied set of complications

00:00:37   that are highly configurable in terms of their appearance,

00:00:42   their font colors, the ones that have little dials, you can choose what the hand on the dial looks like.

00:00:47   It's getting as sort of nitpicky as I could make it.

00:00:52   And then you can schedule them to appear on your watch as you see fit.

00:00:57   So you can say, "I want to see the weather in the morning, my activity rings in the evening,

00:01:00   and during the day, maybe I want to see the day and date, or my next event,

00:01:06   or whatever makes sense for you and your schedule.

00:01:10   And then on the watch side was the interesting experience of taking advantage of SwiftUI

00:01:15   to be able to build our first time building real native watch apps

00:01:20   that I was able to build a whole bunch of different things.

00:01:23   And I have the somewhat unique experience or ability,

00:01:28   because I've built workout apps, weather apps, health apps, calendar apps,

00:01:32   I've built all these different types of applications over the years,

00:01:35   I was able to just sort of combine all that into one.

00:01:38   So the WatchSmith watch app is really like ten apps in one.

00:01:43   All rebuilt from the ground up with SwiftUI, which means that they're able to be so much more

00:01:48   responsive, reliable, and just visually interesting,

00:01:52   without the weird hackiness that I would have to build in with WatchKit stuff.

00:01:58   It was really refreshing to be able to build this in a proper, real way in SwiftUI.

00:02:05   And because it's a brand new app, I can just require WatchUI 6 from the beginning, and it's fine.

00:02:11   And so it's been really a fun process to build.

00:02:14   This is an app that I think I've had in my mind for a long time, and sort of really right around WWDC last year,

00:02:21   when SwiftUI came out, it kind of went from this idea in the back of my mind to this concrete,

00:02:27   "I want to take advantage of this."

00:02:29   I don't know if other people are going to take advantage of this,

00:02:31   but this is something that I want to really dive into, lean on, and see how far you can go on WatchOS right now.

00:02:38   And so I spent longer than I normally do on an app, and building this out has probably been at least six, seven months

00:02:46   that I've been working primarily on WatchSmith.

00:02:50   But I think that's kind of what I had to do, because for better or worse, a lot of the stuff that I'm doing is very...

00:02:58   It's pushing the limits of what WatchOS, and especially what the complication system,

00:03:03   is really intended and designed for, and that is on the plus side, it means that the app is really...

00:03:10   It sort of does stuff that a lot of other apps can't or won't do, but on the flip side,

00:03:16   it took a lot of work to actually get this to where it was something that was shippable and reliable.

00:03:22   And then the other kind of interesting thing with it, just sort of at a high level,

00:03:27   is that it's the first time on iOS that I'm sort of using a subscription model.

00:03:32   This has an auto-renewing sort of subscription in it, and like I think I mentioned in the last episode,

00:03:38   a lot of that is coming from the fact that there are ongoing costs with this,

00:03:41   because a lot of the data sources are going to be things like weather data,

00:03:45   where there's an ongoing... Every time someone makes a weather request,

00:03:49   and especially with complications where I'm having to make weather requests regularly throughout the day,

00:03:55   so that I'm up... It's rather than a usual weather app, you have the benefit of

00:04:00   you only pull data when the user opens the app, whereas in a complication context,

00:04:04   it's more of a pull system, where I'm sort of pulling for new weather data every few hours

00:04:10   to make sure that if the forecast is radically changed, that it's relevant and updated.

00:04:15   So that kind of makes sense. And then it's also this very niche product,

00:04:18   where I think it seems like it kind of makes sense to rather than try to have a big...

00:04:24   Have lots of people give you a small amount of money, it makes a lot more sense for it to be...

00:04:28   Kind of have that thousand true fans kind of approach, where there's a smaller group of people

00:04:32   who really like it and get it and are excited about the app and are willing to

00:04:37   kind of be supporters and subscribers to sort of allow me to keep pushing it forward.

00:04:43   And so far, so good. It's been a successful launch, no crazy weird bugs,

00:04:47   only the few bugs that I kind of expected or the weird kind of edge case stuff that I never would have found.

00:04:53   And the subscriber numbers are about what I was hoping for, that it kind of is just steadily growing,

00:05:00   and there's enough in the initial wave to kind of make the app viable going forward,

00:05:05   which was the thing that I was most excited about, because I just... I love making watch apps,

00:05:09   and now I kind of have this playground that I'm kind of being... I can justify spending time working on.

00:05:15   Congratulations on the launch. I know how long you've been working on this,

00:05:19   and it was such a big project. There is so much functionality in there.

00:05:24   Technical achievement, design achievement, math achievement built into this app.

00:05:29   So much math.

00:05:31   There are so many wonderful little touches, little bits of functionality.

00:05:36   I want to start out by congratulating you on an amazing name.

00:05:41   I know that for a while you didn't have this name yet, until fairly recently.

00:05:47   I couldn't come up with a better name than WatchSmith for this app, and it works on so many levels.

00:05:54   The fact that you're building your own watch complications, the fact that your last name is Smith.

00:05:59   I just love this so much. It's such a great name.

00:06:02   And for what the app is, it is such an incredible app and achievement that you were able to do all this on WatchOS,

00:06:13   which is so constrained and just so challenging to develop any kind of functionality for,

00:06:20   let alone non-trivial functionality, let alone complication functionality.

00:06:25   Because I know only a tiny bit, I've only scratched the surface of what the complication API looks like

00:06:31   and what you can do with it. I've done almost nothing with it because it's so limited and so hard to do anything with

00:06:37   and so intimidating and so actively hostile towards apps that try to integrate with it.

00:06:42   The fact that you've been able to pull off all this functionality is even more impressive,

00:06:48   especially knowing what this API is and how it makes you do things and what it allows you to do and what it doesn't.

00:06:56   It's an incredible technical achievement.

00:06:59   I just love all the little design touches you've put into the faces, or into the complication faces at the front of the complications.

00:07:11   My favorite thing is how you have this option that when the watch hands sweep over the complication for, say, the date,

00:07:20   you have this option that the date can kind of scoot out of the way as the hand passes over, so the hand is never covering the date.

00:07:28   That is exactly the kind of thing that Apple should have provided with their own faces,

00:07:35   and exactly the kind of thing that it's such an amazing little design touch,

00:07:40   because this is not a physical watch face.

00:07:44   Physical watches can have limitations based on the fact that they are physical objects and they can't do stuff like scoot the date over when the hand is passing over.

00:07:53   At least they actually kind of maybe could, but it would be extremely complicated and very expensive, so they generally wouldn't do something like that.

00:08:01   One of my great frustrations with the Apple Watch has been, and as a watch lover, I love analog watches,

00:08:10   and one of my great frustrations with the Apple Watch, first of all, is that I'm just not very happy with most of their face designs,

00:08:17   and I can't customize them in ways that matter to me that would improve the nitpicks I have with most of their designs,

00:08:25   but also that they're just not smart. We have this smart watch, it's a computer.

00:08:31   It's supposed to be able to do things that computers allow us to do.

00:08:35   It's supposed to enable dynamic, intelligent functionality, not just displaying a fixed thing in a fixed area on screen all the time.

00:08:46   So often Apple has these opportunities that they could do to make it smarter and they just don't take them.

00:08:51   The watch faces are incredibly dumb for a computer especially, and for a smart watch, so much of the face system is dumb.

00:09:02   By that I mean not smart. It's not dynamic, it's not intelligent, it's not well designed.

00:09:08   You have problems like the hand overlaps the date at certain times and you just can't read it very well or at all.

00:09:14   There are so many issues like that where Apple had an opportunity to make something smart and just didn't.

00:09:20   And in most cases third party developers can't fix it.

00:09:24   In most cases we don't have access to the functionality on watchOS that would enable us to make things like better watch faces.

00:09:33   Except this one little area, the complication, that even that is extremely limited.

00:09:40   Even that there's a lot you can't do. There's a lot of things people would expect that you'd be able to do that you can't,

00:09:45   or that maybe you can't do consistently because you might get throttled or something.

00:09:49   And in this case you found a way to make Apple watch faces smart, maximizing the capabilities of what you're allowed to do right now on watchOS.

00:09:59   And it's really impressive. I'm just so happy that you were able to do this and that it turned out so well.

00:10:06   And I really hope the business side of it works out well for you too because it's so nice to finally have a way for the Apple watch to actually be smart.

00:10:17   In ways that it should have been from day one but never has been.

00:10:21   Thank you. That's very kind of you to say.

00:10:24   I think so much of my design for this is coming from this place of what should a smartwatch do that is different from a traditional mechanical watch.

00:10:35   As part of my research for this app, I went and bought a mechanical watch, a very basic Seiko 5,

00:10:41   and wore it as my primary watch for a good month just to get a feel for what that's like.

00:10:48   Because I haven't worn a traditional watch in years because before the Apple watch I didn't wear a watch.

00:10:53   I think the last time I consistently wore a watch I was probably in high school.

00:10:57   And so I was kind of reminding myself of what that experience is like.

00:11:00   And I think there's so many of these things where I got this feeling of,

00:11:04   "Yeah, I don't think in the near term we're going to get third-party watch faces."

00:11:08   It just doesn't feel like something that is on Apple's roadmap.

00:11:15   It's not something that has ever, as far as I can tell, ever been vaguely rumored.

00:11:19   Like with most of where Apple is heading, there's this sense of you have these vague rumors that tend to come a year or two out.

00:11:28   And then you never know when it's actually going to hit, but there's this sense that someone's working on it and it'll eventually leak out.

00:11:35   Either it's the best-kept secret or it's just not coming.

00:11:38   And I think it's more likely that it's not coming for the time being.

00:11:41   And so I kind of looked at it and it's like, originally I kind of got stuck on the "Man, that's a bummer. I wish I could do more."

00:11:48   And then it's like, "Well, what can I do?"

00:11:50   And so rather than kind of like the glass half empty version is the "I can't change most of the watch face,"

00:11:57   the glass half full version is like, "Well, I can do a whole lot with the part that Apple does let me control with the complications.

00:12:03   And I can do my best to make those kind of smart and relevant in ways that are more true to the device that it is."

00:12:13   Because it's such this funny thing that so many of the Johnny Ive videos that we hear talks about wanting to design a device that is true to itself.

00:12:24   I feel like that's a common refrain that you'll hear.

00:12:28   And I feel like the Apple Watch isn't really necessarily true to itself.

00:12:32   It's trying too hard to be an homage to great watches of the watch industry.

00:12:39   And there's lots of little touches and things that it's doing that are kind of homages to those things.

00:12:43   Not that well.

00:12:45   I'm not saying it's well, but I feel like there's this root of what they're trying to do.

00:12:49   That is, they're trying to make a good watch.

00:12:52   And they're defining watch as compared to other watches.

00:12:56   But things that come to mind, a mechanical watch doesn't have a sense of relevancy to you and your day.

00:13:06   You have to choose the complications that you want to show on it when you buy it.

00:13:12   And those are the complications that will only ever be displayed to you on that mechanical watch.

00:13:17   And thankfully we can change the complications on an Apple Watch.

00:13:20   That's an improvement.

00:13:22   But we have to change them in ways that are very static and not dynamic.

00:13:27   One of the big things of being able to change the complications dynamically is it completely changes your experience of interacting with that watch.

00:13:35   Because suddenly it is changing itself to be relevant to you.

00:13:41   Right now I'm doing time-based relevancy, where many people have routine enough schedules that showing you some data in the morning versus the afternoon versus the evening is a useful and relevant thing.

00:13:56   I've built and prototyped all kinds of other triggers.

00:13:58   You can imagine ones where, when you're in a particular location, it might change.

00:14:04   When you walk into the gym, it shows you your activity rings.

00:14:06   When you walk into the office, it shows you your calendar.

00:14:09   You can imagine those kinds of things.

00:14:11   I've built them to some degree, but they're even harder to get consistent.

00:14:14   So I haven't shipped those yet.

00:14:16   But that kind of relevancy is something that absolutely I think the Apple Watch should do.

00:14:20   I think absolutely it should have this kind of intelligence.

00:14:24   One of the things, if I think back to the earliest time I had an idea for this app,

00:14:30   I was probably a year into owning an Apple Watch and getting frustrated that when you have a timer running,

00:14:37   unless you have the timer complication on your watch face, the time left on the timer is not visible anywhere.

00:14:45   It seems like that was so silly because why don't you just override one of my watch faces

00:14:51   or put it in the middle or shrink it up or put it where the notification circle is, the red dot.

00:14:57   Just put the time remaining on the timer up there, something.

00:15:01   Make it so that I can easily see the time remaining on my timer.

00:15:04   But it didn't. And so that kind of relevancy, I feel like it just changes your interaction with the watch

00:15:11   because it feels so much more personal where it's anticipating your needs rather than having to keep.

00:15:18   Prior to this, I would sit there with my watch and I would configure a bunch of different watch faces

00:15:22   and then I would just swipe through them during the day, which isn't burdensome.

00:15:25   It's not like, "Oh, this is this big, this arduous thing I have to do,

00:15:29   swiping my finger across a watch on my wrist." But it's even cooler when you're wanting to check,

00:15:35   it's the time of day when you typically check the weather and you raise your wrist and there's the weather.

00:15:40   And then later on in the day when you're interested in your calendar and you look at it,

00:15:43   "Look, there's my calendar." It feels so much cooler.

00:15:46   And so, yeah. Anyway, I'm glad it was possible. Maybe to your point,

00:15:54   many of these things I hope Apple will do someday, I really think they could do them so much better.

00:15:59   The avoiding the watch hands thing is kind of comical because I can only shift the contents inside of the circle that I get.

00:16:08   And so there are certain times of day when it will still be covered because if you imagine at 533, maybe,

00:16:20   when both of the watch hands are both down and roughly sort of equally spaced within that circle,

00:16:27   yeah, there's nothing I can do. I just do my best in that scenario.

00:16:31   I just kind of shift it into the biggest open space that there is.

00:16:35   But Apple could totally just move it out of the circle for those kind of weird times and then slide it back in.

00:16:42   Or they could make the watch hands transparent is another thing.

00:16:45   I've had a bunch of people being like, "Why don't they just make it so that the watch hands are slightly transparent

00:16:50   when they're overlapping content?" Sure, they could do that too. They could take either approach.

00:16:54   But there's so many of these things that I'm limited in what I can do just because I have my tiny little circle that I have to play in.

00:17:04   Right, exactly. And I think, oh god, I have so much to say on this topic. I'll try to limit it to it for time reasons.

00:17:12   But first of all, I think you're right. They're never going to make third-party watch faces, or at least it's not anywhere near the horizon.

00:17:18   But even if they would release third-party watch faces, the way this app is built as a complication app for any of the Apple watch faces,

00:17:26   that's still a great market because most people are still going to be using the stock faces.

00:17:30   Whatever third-party faces do, if they ever come, doesn't actually stomp on this app.

00:17:35   In fact, it would just add the amount of features you could do because you could start making third-party faces as a part of WatchSmith,

00:17:40   which would be perfect, right?

00:17:42   Yeah, that's one of my huge goals. I was also positioning myself that if the day ever comes, I have all of the infrastructure and customer base ready to go.

00:17:51   That I can go crazy with building custom watch faces, and I'm in a good place to start that.

00:17:58   I'm not sure that day will ever come, but if it does, I'm right there. All the infrastructure in place, everything's ready to go.

00:18:05   Yeah, so that's step one. But I think also, and this overlaps so much with an idea that I had, relevancy, as you said, is one of the great untapped areas of Apple Watch potential smartness.

00:18:19   They do some of that with the Siri face, and I was kind of excited when they made the Siri face. I thought, "Well, that's good."

00:18:26   They're finally thinking about dynamic relevancy being shown on your watch face.

00:18:31   But first of all, it never really worked as well as I wanted it to. I tried it for a while. It never actually guessed correctly the stuff I would want, anywhere near what I expected it to.

00:18:41   Even basic stuff like, "Yeah, when I have a timer running, show that." Stuff like the iPhone lock screen does a better job of this.

00:18:47   The iPhone lock screen, if you have a timer running, it displays it on the lock screen.

00:18:52   It's very clear. If you have an alarm, it's there too. If you're snoozing an alarm, that's there too.

00:18:58   The iPhone lock screen is actually way more dynamic and smart about what it's showing you than any Apple Watch face does.

00:19:05   Also, the Siri watch face, like everything else about watch faces, it was this one-off thing, and then they never touch it again.

00:19:14   That functionality was never brought to any other faces, so they've kind of just dropped it on the floor and walked away.

00:19:20   It's like, "You could do so much more." There's so many opportunities for that.

00:19:24   For a while, I had this idea for an app that I would, in my head, call "Uncomplicated."

00:19:28   It was similar to this approach. It would be a complication that you could basically define a hierarchy, an ordered list of what's important to me.

00:19:38   You could order that list however you wanted, and you could say things like, "Okay, well, if it's raining, I want to know the weather status.

00:19:45   If it's a clear, sunny day, I don't need to know that. If it's a super high UV index, I want to know that.

00:19:51   If it's not, it's not important to me. If I have a timer going, I want that.

00:19:57   If I have a stopwatch going, I want that. If I have an alarm coming up, I want that."

00:20:01   You could prioritize these things, but there's always an order of what's important right now.

00:20:06   If there's a calendar event going on right now, that's important.

00:20:09   If there's nothing going on for the next three hours, it's not.

00:20:12   There are so many opportunities for that that now, as you said, you have the time-based triggers.

00:20:17   That's wonderful. That's step one. As you mentioned, everything location-based, stuff like,

00:20:23   "If the sunset is happening within the next hour, I want to know the sunset time.

00:20:28   If it's 10 in the morning, I don't need to know the sunset time."

00:20:32   There are so many opportunities for dynamic functionality and for smartness in these smartwatches.

00:20:39   The whole reason these things are so great over regular watches is that they can do stuff like that.

00:20:45   The fact that they still mostly don't because Apple just doesn't seem interested is sad.

00:20:50   Speaking of things that don't make us sad, we are brought to you this week by Linode.

00:20:55   Whether you're working on a personal project or managing your enterprise's entire infrastructure,

00:20:59   Linode has the pricing, support, and scale you need to take your project to the next level.

00:21:03   We use Linode. I use it myself to host Overcast and Marco.org.

00:21:07   I absolutely love using Linode. I have about 25 or 26, 27 now servers there.

00:21:13   It's just such a pleasure to deal with. I've been with them for almost a decade.

00:21:16   They've been a great host that entire time. Great support, an incredible value.

00:21:22   Their plans start at just $5 a month. They have all sorts of plans above and beyond that,

00:21:27   depending on what your needs might be.

00:21:29   Whether you need dedicated CPU, high CPU, high RAM, GPU compute plans, they have all sorts of stuff.

00:21:36   Block storage, they have an S3-compatible block storage.

00:21:39   All this wonderful stuff is backed by great support, a great manager, a great API.

00:21:45   You'll see for yourself when you go to Linode.com/Radar and use promo code "undertheradar2020"

00:21:51   when creating a new account to get a $20 credit.

00:21:54   They're also hiring right now, Linode.com/careers, if that interests you.

00:21:57   Otherwise, Linode.com/Radar, promo code "undertheradar2020" for that $20 credit.

00:22:04   Our thanks to Linode for their support of this show and all of Relay FM.

00:22:08   There's this funny element where, as an independent developer,

00:22:15   I feel like so often the best opportunities are for picking the areas that it doesn't seem like the platform owner that you're working on.

00:22:25   For whatever reason, they're taking full advantage of.

00:22:29   There's a great opportunity to fill in these gaps and fill in these niches.

00:22:34   The nature of doing that is that I've had many people ask, "Oh no, you're going to get Sherlock'd if Apple does this."

00:22:42   It's like, "Maybe, I guess."

00:22:44   But the reality is, the time between today and when they might implement any of these features, who knows what that is.

00:22:52   I've been waiting for Apple to Sherlock sleep++ for four years, three years, something like that.

00:22:58   If I didn't make sleep++ because I thought Apple was going to make a sleep tracker,

00:23:04   then I would have had three or four years where I wouldn't have had this app out in the world helping people and being part of my business.

00:23:12   That's not a very particularly useful way.

00:23:14   I think so often these opportunities are there because they're a bit more niche,

00:23:20   because they're not the mainstream feature.

00:23:24   I don't think WatchSmith is necessarily for every user.

00:23:28   I think every user could benefit from it.

00:23:30   I think everyone could enjoy some of the aesthetic differences between watch faces,

00:23:37   even if they didn't get into the more dynamic or nuanced and complicated stuff that's in there.

00:23:42   The basic functionality of, I like showing the date on a lot of my watch faces,

00:23:48   but I really don't like that all of Apple's date complications have the day of the week be red.

00:23:54   I don't really like red on my watch face.

00:23:57   You're missing out.

00:23:59   I get it. Some people do. This is fashion. This is the thing. I like blue.

00:24:05   I love my watch face to be very blue.

00:24:08   Blue's my color.

00:24:10   If I was going to a store, and I'm at a watch store,

00:24:13   and there's a bunch of different watches with the second hand being different colors,

00:24:18   I'm going to choose the blue one probably.

00:24:20   Or maybe some days I want orange.

00:24:22   But the fact that it always is red, that's the thing that's frustrating.

00:24:26   I think that's the part where hopefully it's useful for everyone.

00:24:29   But I like being able to provide that kind of customization in ways that just aren't available otherwise.

00:24:37   And if one day Apple comes along and does some of the stuff,

00:24:40   either it'll expand my market because it makes people interested in dynamic stuff,

00:24:44   and say it only comes to some watches,

00:24:47   or they do it in one way and I can do it in three others.

00:24:50   Sometimes being Sherlock'd is actually a good thing and it expands your market.

00:24:53   Or if some day it does happen and the business case for it goes away,

00:24:59   it's like, "Okay, the app served its time and had its purpose,

00:25:02   and then I'll just move on to something else."

00:25:04   And I feel like I'm a better developer having built this app

00:25:10   because it's forced me to stretch myself in ways that I don't normally get stretched.

00:25:15   The amount of math, for example, that I've had to do and relearn is good for me.

00:25:22   I have these periods where my desk is just covered in paper

00:25:25   and I'm just sitting there sketching out equations and trying to work this stuff out

00:25:28   because I'm not a mathematician.

00:25:30   We talked about this a couple of episodes ago.

00:25:32   Math can be intimidating, but if you have just about enough to get by,

00:25:38   you can do quite a lot.

00:25:40   The thing where I'm doing where I'm shifting the contents to avoid the hands

00:25:44   is some relatively basic geometry.

00:25:47   I can work out the angle that the hand is making on the circle based on just the time.

00:25:52   360 divided by 12 for the hour hand or 60 for the minute hand.

00:26:00   I can work out where it is.

00:26:02   Then I can work out what line it makes to the edge of the thing,

00:26:06   and then it's this question of intersecting that with another circle.

00:26:09   That math is not easy, but it was the kind of thing that I could learn and I could pick up.

00:26:15   Once I have it, the cool thing is now that's a tool in my toolbox that I didn't have before.

00:26:20   I guess I'm just encouraging people,

00:26:22   if you think of these kind of interesting gaps that you want to fill, go for it.

00:26:27   So far it seems like there are people who are interested in that,

00:26:30   and the response to this app I think has validated that, at least in my own mind.

00:26:34   I launched it fully expecting that it would flop,

00:26:37   that it would be one of the many apps that I've launched in flops,

00:26:40   because it is so niche and it is so specialized,

00:26:44   and you have to wrap your head around it.

00:26:46   So far that hasn't been the case.

00:26:48   Lots of people seem interested in making their Apple watches feel more like their own.

00:26:53   That's fantastic to hear.

00:26:54   I'm so glad that it's working out for you, because I was so concerned.

00:26:58   Any time you invest a whole lot of time into something before it ever sees the market in the light of day,

00:27:05   you run a pretty big risk.

00:27:06   Maybe that's just not going to do that well.

00:27:08   And until you actually ship it and it's actually for sale and it's actually done,

00:27:12   you really have no idea what it's going to be like.

00:27:15   You could have spent a year on this and had it be almost nothing

00:27:21   and had it be just, "Well, that didn't work. Try again."

00:27:25   The more complicated the app is before it can get to 1.0,

00:27:28   the larger risk you're taking of that.

00:27:31   So the fact that this was a very substantial effort of seven or eight months

00:27:36   and the fact that it's doing well now, that's very good news.

00:27:41   So congratulations.

00:27:42   Thanks.

00:27:43   And I will say it was an exercise in discipline to actually ship it.

00:27:47   I have at least as many--I think I launched with 50 complication types,

00:27:54   and I have at least that many again on my to-do list of types of complications

00:28:00   and things that I want to build and features that I prototyped

00:28:04   and then didn't quite get ready for shipping.

00:28:06   But I think it's an important reminder--at least this is me talking to myself more than anything--

00:28:11   that build enough that you can prove the idea of what it is.

00:28:15   Show people where it's going, and then hope that adding one more complication

00:28:21   was not going to be the thing that made or broke this app.

00:28:25   It's like having 51 versus 50 wasn't going to do it.

00:28:28   Fifty was enough.

00:28:30   So it was important for me to--at some point I just had to draw a line and say,

00:28:33   "This is enough. The app is good enough right now. I can ship this.

00:28:37   And if there is interest in this, there's going to be interest in the next 50 complications I'm going to make.

00:28:43   And if there isn't, then I'm glad I haven't built those extra 50."

00:28:48   But now I'm thankfully in the position where I have this little playground that I can keep.

00:28:53   I've added, I think, seven in the week since it launched.

00:28:58   So I'm at a pretty good clip to catch up with those 50 that I've had.

00:29:03   And I'm obviously getting lots of suggestions from other users and people,

00:29:06   and that's really fun and validating too.

00:29:08   The way that I show tied data is apparently not the way that certain fishermen want to see tied data.

00:29:14   And so they have a different kind of visualization for that, and it's like, "Great. I'll do that."

00:29:18   I'm happy to make--especially tied data is something that's only available for subscribers.

00:29:22   So if you want to visualize it in a particular way, I'll totally do that.

00:29:26   And I enjoy this process of just continuing to add and expand.

00:29:30   And the great thing about a subscription model is that my goal is to just keep those subscribers subscribing.

00:29:34   So if I have the fun of keep building it and they have the fun of keep discovering new features,

00:29:40   then we all win.

00:29:42   That's awesome. Well, congratulations.

00:29:44   Thank you.

00:29:45   Thanks for listening, everybody, and we'll talk to you next week.

00:29:47   Bye.