Under the Radar

237: The Spring Collection


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

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

00:00:09   So, congratulations are in order. I understand you have a major update, having been shipped to WidgetSmith.

00:00:18   I almost said WatchSmith. Yep, WidgetSmith. It's fine.

00:00:21   How often do you get the names confused?

00:00:23   I think there are some contexts where they autocorrect and things can get a little confusing or situations like that.

00:00:31   But most of the time, I think, WidgetSmith has become such an overwhelming part of my life that it is the one that I am much more likely to accidentally say than WatchSmith.

00:00:43   But they certainly have a very similar name and a very similar parentage.

00:00:49   Very different results, though.

00:00:51   Very profoundly different results.

00:00:53   Anyway, so congratulations on the big update to WidgetSmith.

00:00:56   Thanks. Yeah, WidgetSmith 3.0 just went out.

00:00:59   And it's the thing I've been working towards since the end of last year, probably.

00:01:05   And it's sort of trying to be a shift in a lot of ways in terms of, honestly, in some ways.

00:01:12   Taking WidgetSmith seriously and viewing it in a way that I think is more representative of its actual reality in my portfolio.

00:01:22   You and I can joke about how I watch Smith and WidgetSmith and how they're two things that I work with.

00:01:27   But it's in the actual impact and reach and reality of those apps, they are completely separate and don't make any sense to even talk about next to each other.

00:01:38   Because WidgetSmith took off in a way that I never expected and didn't really necessarily even fully understand, but is the reality.

00:01:47   And so this update is the big first of, I think, many updates that are going to be focused around pouring a lot more of my consistent effort into WidgetSmith.

00:01:59   And making it be something that reflects all the opportunities that I can put into it.

00:02:05   And the first area that it's going to do that in is I have added in a weather tool to WidgetSmith that's actually good and nice.

00:02:16   They had one when I first launched it back in 2020, and it was awful.

00:02:22   It was this sort of afterthought project I built in an afternoon at the end of the day, and I didn't really expect anyone to use it.

00:02:30   And it's like, well, now lots of people are using it, and I wanted it to be better.

00:02:35   And so I took a lot of the experience and stuff that I have from building weather apps.

00:02:40   I've built at least two significant weather apps prior to this, one called Check the Weather, and then WidgetSmith has substantial weather components in it.

00:02:50   And they're based on those, and it's built out a really cool weather tool that when you tap on a weather widget, it gets launched into.

00:02:59   And that side of things is very much a question of me understanding that I have all this code, I have all this experience, I have a good ability to do this, and it's like, I should take that.

00:03:11   And there's a part of me that was thinking about building a new weather app, but it's like, no, does it sort of slap my wrist and say, no, no, Dave, there are no new apps.

00:03:19   There are just better improvements. There are better improvements to WidgetSmith.

00:03:23   That's what you have. If you have some creativity, you have some ideas, you have something you want to do, see if you can make that into making WidgetSmith better, because that's where your leverage is.

00:03:33   That's where your point of, if I make a new app and I have to market it and put it out in the store and I'm trying to get new people to see it, it's like, people are already looking at WidgetSmith.

00:03:41   That's a place that I can go to express these ideas in a way that will have much bigger impact and be seen by, you know, benefit so many more customers.

00:03:51   And so this is the first, and it's like, I expect to do this with a lot of my existing apps and things that I've built where it's like, I have a calendar app, and the calendar app in WidgetSmith is not very good.

00:04:04   The calendar app in Calzones, I think, is really good. It's like, maybe those two should be coming together. I have a bunch of workout and fitness-related dashboard apps and things that I'm doing, and so I want to move those into WidgetSmith.

00:04:17   And in some ways it's a bit funny, and it's like the obvious endpoint in some ways of the _DavidSmith approach of the thousand apps is ultimately just like creating this Voltron of all of the apps coming together to form this one super app that is an app of apps.

00:04:36   But it actually makes sense, too. It's not just trying to force it, but if you have a calendar widget and you tap on it and I show you an awesome calendar tool, that seems obvious, it seems good, and it lets me take advantage of a lot of these types of opportunities.

00:04:49   Yeah, it's interesting because I think a lot of the factors that would play into that kind of decision have changed in recent times. So first of all, you have, in your particular situation, you have an app that is way more popular than your other apps.

00:05:06   For the first time, to this degree, probably ever, where the math is different for you. It's different if you have a few apps and one's kind of big and the other ones are okay. That's a different situation than when you have one that's really, really big versus others that are just normal.

00:05:26   And so the math is very different on that. But also, I think now that we are in the era of everything's free up front and you monetize via in-app purchase and usually via subscription in-app purchases that auto-renew, I feel like that also changes the calculus.

00:05:44   Whereas before, back in the olden days of the App Store, launching a new app meant that's a chance to get new revenue from your existing customer base. Whereas now, in many ways, it might be easier to get more revenue from your existing customer base by adding features to an existing app that you can then have more people upgrade to a subscription to get those features.

00:06:07   That's a very, very different calculus. And that requires, first of all, that requires subscriptions to be the predominant way that people monetize their apps in the App Store or ads, I guess, that works the same way for this purpose.

00:06:20   But I think also that requires you to have a very large existing customer base where otherwise making a new app, one of the reasons you'd make a new app would be to expand your customer base. Whereas in this case, you already have a customer base that's so large that you can make a very good living just finding new ways to monetize that customer base further.

00:06:44   And I think there's this weird tension that I felt my whole development career about going wide or going deep into a particular project. I've launched 60 apps or something in the last 13 years, and you don't get to 60 apps by going deep and really investing into any particular one of them to a large degree.

00:07:04   And I think WidgetSmith is a weird thing to talk about because it's very unique for an app to take off in this way. And I'm very grateful for that. But it happened, but it isn't something that is this predictable, expected behavior.

00:07:21   I think the concept of that, of trying lots of things and sort of going wide initially and having casting a wide net, trying to find an audience, and then once you serve, if anything you have gets that kind of, you know, if finds its home and kind of get some momentum behind it, then go deep into it, then invest in that in terms of your time, energy, attention.

00:07:43   And I think that was something that I neglected early on in my career that I somewhat not necessarily regret, but I feel like I could have invested more heavily in some of the opportunities I had earlier.

00:07:56   If I had a bit more discipline to sort of, when things had some momentum, really try and get behind that and keep going and push the momentum as far as it can, rather than just moving on to the next thing and sort of being satisfied with it being reasonable.

00:08:14   That is something that I think is a broader lesson that I have. And I'm trying to, at least if it is a lesson that is true, then I'm hoping to apply it now that I have something that has momentum. So it won't always have momentum, you know, which is myth isn't going to be popular forever.

00:08:27   I'm hopeful that it will be popular for a while, but it's not going to be forever. And so, now that I have, it's like in the near term, I have this opportunity to really try and invest my time, energy into that and make it as sticky and long lived as I can, rather than just sort of saying, "Oh, that was great.

00:08:45   It's like I had a successful app, now I can go and work on something else." It's like, no, this is going to be my focus, I think, for the foreseeable future. And in some ways, it works well, but it's, you know, Widget Smith is, by its nature, very multifaceted.

00:08:59   So I have the opportunity to scratch a lot of the development issues that I have in the process. But nevertheless, I think that go wide, then go deep sort of mentality, I think. So is it more broadly applicable lesson that I'm taking from this?

00:09:13   Yeah, I think that last bit, that's really key to what makes this work, or at some point, maybe not work, is the kinds of things that you want to add to it have to be able to fit within what the app is.

00:09:27   And in this case, as you said, it's pretty broad. Like what Widget Smith is for is pretty broad. However, there are still boundaries on it.

00:09:34   Like Widget Smith largely is about displaying information, not processing or inputting information. So it would not be a good fit if you wanted to build a video editor into it.

00:09:44   That wouldn't make a lot of sense. Whereas, you know, there's lots of things that people want to do and that you might want to make or experiment with that are really about displaying information in some way.

00:09:57   Or somehow drawing inferences from information. Anything like that would have a pretty good chance of fitting in this app. But there's still a lot of stuff that would not fit in this app.

00:10:08   But again, I think that's a pretty broad canvas that you have available to you here. So you can go in this direction for a pretty long time.

00:10:17   And I think the next thing that I think is worth pointing out just about this weather tool is another kind of lesson that I drew from this is making sure that you build things that you're actually going to use yourself or that you would use yourself.

00:10:29   Because I think in retrospect, it's kind of a bad sign. Just sort of with a feature where I wasn't using the Widget Smith weather app myself.

00:10:39   I was using other weather apps. That's probably not a good sign if I have this thing that ostensibly I've built and promoting and encouraging people to pay money to use inside of my app.

00:10:52   But it's not the one that I'm using. And I think that was something that I should have picked up on and emphasized more internally.

00:11:00   That if it's not good enough for me, then it shouldn't really be good enough for my customers. That if I'm using other apps, that I should be learning from those apps and using that experience to like, why are those better than the one that I have?

00:11:13   What can I take from that experience and put in here? And just have that in the back of my mind.

00:11:20   That if it isn't good enough for me, then it isn't good enough for my customers. And in this case, I have the slightly weird situation that is probably worth mentioning.

00:11:30   The weather app that I made in Widget Smith is very much inspired by Weatherline, which was an app by Ryan Jones et al.

00:11:38   He's worked with a variety of developers and designers on it, I think. But it's an app that I loved and used for years and was acquired about a year ago and is in the process of being shut down.

00:11:48   And it's one of those funny things where there's certainly in the back of my mind, I didn't want to recreate that app, but part of me, I wanted the benefits that that app gives me.

00:11:58   Rather than trying to copy it, I'm trying to be inspired from it. And I think that's when we've had whole episodes talking about the difference between copying and inspiration and things.

00:12:07   But that is certainly something in the back of my mind here. That when you're designing something, I feel like there's this natural tendency to, if you're solving a problem, you often will try and solve it with the best solution you've ever seen, implemented.

00:12:22   And you're drawing inspiration from that. And I think that's something that I certainly did here.

00:12:28   There are certain choices that were made in Weather Line that I think were really good. And they define in some ways the state of the art. There were periods where I was actively trying to go against that.

00:12:41   Like, "Oh no, I'm going to force this into my own way." And finding that line and being wise about when to try and go your own way, just for the point of being different, or going your own way because you actually have a better solution, was something that I certainly had to learn and navigate here.

00:12:57   But also, I think it was also helpful, just as to mention, I also tried to go about this in hopefully a very respectful process. I reached out to Ryan and talked to him about how he'd feel about something that was reminiscent of Weather Line, and trying to be respectful of that in a way that is hopefully appropriate and polite, but also taking your own spin on something and making it your own.

00:13:18   Yeah, and that's an interesting situation here. We've talked in the past about taking inspiration from multiple sources and what's good inspiration versus just crappy rip-off or copying.

00:13:33   And the situation does change when something beloved goes away. It does make it a different calculus. In this case, Weather Line is a beloved app, a beloved design in particular.

00:13:49   And it got purchased and it's getting shut down, I think, any minute now, right? It's sometime very soon. And so, very soon it's getting shut down, and then that's it. And the acquisition seems to have used that for some other app, but that app is going away.

00:14:11   And so, I know Ryan Jones. He's a friend and he's provided tons of amazing feedback for Overcast over the years, and I've provided feedback for Weather Line to him over the years.

00:14:23   And while it's different for him, he probably can't say, "Hey, everyone make Weather Line," because it was his app and he sold it. So there's probably lots of reasons why he would never be able to or want to say that.

00:14:38   But I'll say that. I'll say, "Everybody, you can make Weather Line copies and it's probably going to be fine with anybody involved in it." Again, I'm not speaking for him. This is not like, you know, covertly he's told me to say this. He hasn't and I might be making him angry. I'm not sure.

00:14:52   But I think in this kind of situation where a beloved thing has gone away for reasons where, like, you know, the creator, you know, it wasn't like a bad thing. Like, you know, he, I'm sure he was, you know, he went to this deal, I'm sure, willingly and everything.

00:15:05   So I hereby bless the indie community to rip off Weather Line as much as you want. And if that happens to be wrong down the line, I'll take the heat for that. That's fine.

00:15:15   But if, you know, if I was in a position like that, where I sold my app, and, you know, suppose I sold Overcast to somebody, and they shut it down. And, you know, suppose it was somebody like Spotify, right? Suppose I sold Spotify, because they want it for like market share or data or whatever.

00:15:31   Again, none of this has happened. They've never even approached me. This is not, none of this is happening with anybody as far as I'm aware. But, you know, if that kind of thing were to happen, and the acquirer then like shut down the original thing, but replaced it with either just their existing thing or something that I thought was worse, I would love if somebody cloned my old Overcast.

00:15:51   That way I could use it. You know, but if I was the one who sold them, I probably wouldn't be allowed to buy some kind of contract or at least you know, it would look bad, you know, even if there wasn't a contract in place.

00:16:02   So, yeah, I hereby bless everyone to copy Weather Line as much as you want. And if that ends up being wrong, I will update you later. And I'll take the heat for it.

00:16:10   Yeah, and I think it's certainly understanding that it's like I'm sure the people involved in Weather Line, it's like it's going to be mixed feelings, right? It's like if you make something that's beloved, that feeling of being some that's beloved is wonderful and cherished and lovely.

00:16:22   And in this case, it seems like in a very amicable way, it found an ultimate end that wasn't continuing to be a consumer app forever, which is like, is in some ways is wonderful in its own right that it's great if it can consist on that way.

00:16:37   But if there's a better opportunity that's better for them, then great, that's wonderful. And yeah, it's like I felt in some ways, there was always in the back of my mind that it's like, oh, I love making weather apps. I've made it many times.

00:16:50   And it's like, it was the best. And I think I've improved on it. I think I've gone in a direction that is slightly different and takes advantage of some things in SwiftUI that would have been difficult previously.

00:17:01   But it's, I mean, in some ways, it's exciting to have the ability to put your own twist on something without feeling like you're stepping on anyone's toes. So I was, you know, it's like it's glad, but that is certainly something that I wanted to mention and talk about.

00:17:15   We are brought to you this time by hover when a relay FM is longest running sponsors. When you have that one big idea, where do you go? Well, you probably start by getting a domain name. That's how I always start anything, any project or business that I want to start up. First thing I do is I go to hover and I search for domain names, because I got to get that name and I got to get a good domain.

00:17:34   Hover has over 300 name extensions to choose from. So no matter what you want to build, there's a domain name waiting for it. They also have I gotta say they have amazing search. This is why I searched there because you know, a lot of times the exact thing you want maybe on.com might not be available, but their search is really good at surfacing really great alternatives that are available from all sorts of domains and from from the big ones too.

00:17:55   So you also have excellent technical support to answer any questions you might have as you're getting set up. They are dedicated only to getting you online, not upselling you into weird packages or anything like that. They always give you free who is privacy so spammers don't get your info.

00:18:08   They have a clean UI for searching and management and buying and everything, monthly sales on popular TLDs. So it's easy to see why hover is the popular choice for people starting businesses.

00:18:18   So we know you value good UX things that just work out of the box. So we know you'll appreciate hover. So buy your domain and start using it today at hover.com/radar. You'll get a 10% discount on all new purchases. Once again, hover.com/radar for 10% off all new purchases. Make a name for yourself with hover. Our thanks to hover for their support of this show and relay FM.

00:18:44   Yeah, I mean, it's like the other big thing this update has in it that is something that is just it's a completely new thing for me. Like this is the very much out of like building weather apps 100% my comfort zone done it many times. Love it. It's awesome.

00:18:58   Fashion and color design and typography, much less my, my forte. And that's the other sort of side of something that I'm starting to do with this update. And, you know, so this update is the if you've been listening to under the radar, you would have I think it was two or three episodes ago, we talked about colors and how I was going through this process of designing a new set of colors and going to start launching these kind of seasonal collections into the app to lean into the more aesthetic and theme based aspects of it and kind of just embrace the fact that that is a really, really, really important thing.

00:19:27   And I think that's the fact that that is a big part of what this app is, even if that's not a big part of me in my life that just like the fact that, you know, like from a fashion perspective, I wear almost the same thing every single day. Like, that's that that's what I feel comfortable in this what I like. I'm not particularly fashionable or stylish or following trends in that regard, but

00:19:44   I'm sure to our audience of programmers, this will be a totally foreign concept. No one has ever heard of anybody like this. Yeah, no. And but I think in many ways, it's like that point you just said, it's like that is exactly the thing that I want to talk about is that sense of it was really interesting and like helpful growing experience for me to look at a feature like that. And rather than just saying, like, well, that's not me, so I'm not going to go there. It's like to have the humility to be open to learn about it, and understand that, you know, that's not what I want to do.

00:20:13   And understand that that's just an opportunity for me to learn and to grow in and be like rather than feeling like I have to be an expert at everything I do, I can be an office and I can sort of just sort of humbly come into design and fashion and be like, okay, what are the basics? What could I understand here, knowing that I'm not going to be an expert, knowing that this isn't something that I expect to have at the level of like being a programmer, which is something I've been professionally doing for 22 years.

00:20:42   It's like, that's going to be difficult to get to that level very quickly, but that I could come in and be as long as I have an openness, sort of mind to learn that I could get somewhere with that and feel like I'm getting somewhere and doing a reasonable job.

00:20:56   And I think so far that experience has been positive and I feel good and refreshed by the experience and it's something that I'm glad that I expect now every three months. I'm kind of committing to myself or to my customers that this is something I'm going to do, like be launching a new set of themes and looks for the app.

00:21:17   And it was interesting, I think both in terms of the actual process, technically, like that color episode that we did a couple ago was just really interesting. I think there's some really cool technical problems and ways that I can view a problem that someone who is potentially more traditionally in the fashion industry would solve in a different way.

00:21:36   That when they're looking at colors to complement each other, there's a certain more intuition and feel that they have for that or the way that they might do that is by sitting there with color swatches and be, you know, thumbing through books and holding them up next to each other to see how they go.

00:21:51   And I'm doing it computationally and algorithmically. And like, that's kind of cool that we have different approaches but can end up with results that are both pretty cool.

00:22:00   And I think also, it's just really interesting to try and let go of preconceived notions that you may have that I think I very much before I went into this, had a perspective in some ways where I was like, not necessarily like, I mean, there's a slight snobbiness to it, but sort of that looking down on fashion as arbitrary and made up.

00:22:20   That it's like, it's like, how could someone declare that this is the, you know, these are the cut, these are the new colors for the season. And so they're somehow like predicting the future. Whereas the more I get into it is this more of this understanding that that isn't that maybe in some ways the words that you're using, but much more of what you're doing is you're saying, every so often we need to refresh this look, we need to have a turnover and that's in fashion, it's because they need to sell more clothes.

00:22:46   And in this case, it's like, because I'm trying to create something fresh and new. And it isn't that this is actually like, these are the magic colors for the moment. It's like, here's a new set of colors that I think look good and feel appropriate for right now.

00:23:00   And I could have if I'd started with a new set, you know, a different set of sort of seeds in this, I could have ended up with a completely different set of six colors themes with different, you know, with different looks, and that would have been equally valid, but in just as useful for this purpose. And it's like the fact that that's somewhat feels arbitrary. And there's like the programming part of me, my brain rebels against it and says like, well, that's arbitrary. It doesn't mean that means it doesn't matter. It's like, well, just because it's arbitrary doesn't mean that it can't matter.

00:23:26   And so that was certainly a personal growth thing for me to kind of go through and to feel that sense of just because I don't fully understand this, or this isn't my isn't my area of expertise doesn't mean I can't learn here and grow. And so I'm very thankful for having gone through that process. And like, who would have to who would have thought, you know, in three months, I'll be looking forward to launching my summer collection. And this is like, just who I am now.

00:23:48   Yeah, exactly. I think that's, you know, looking at something like fashion, I think it's very healthy to realize that as developers, we, I mean, as people, we don't understand everything in the world. And we never can and we never will.

00:24:04   There are reasons that people have for making the choices they make. And to us, you know, if we think very logically about things, normally, things that are based more on, you know, personal preference, or intuition, or, you know, style, that's harder for for logical reasoning to appreciate.

00:24:25   And so we might think, oh, this, the reason why people do this is, is somehow inferior or invalid, or it's arbitrary, but it's not, we just don't understand it as much as, you know, as they might.

00:24:37   And so it's important to appreciate that for what it is and to realize, okay, well, if there's going to be the system that we can't understand, or that we don't yet understand, or, you know, maybe just are unwilling to understand, if there's going to be the system that influences people's decisions in big ways, we need to respect it, even if we don't understand it.

00:24:59   And we need to find ways, maybe, you know, bringing in help from people who do understand it, or developing the skill ourselves to start to understand it, whatever that, whatever that form that has to take.

00:25:11   These are real forces out there that that do influence a lot of people's decisions. And that's, that's an important part of business. And in the same way that, like, it's important for us to understand things like pricing, and where our customers come from, like, it's also important for us to understand things like why people choose or don't choose our apps or our offerings.

00:25:31   And if fashion is gonna be one of those things, we have to understand it on some level, and we definitely have to respect it.

00:25:37   Yeah, I think that expertise and understanding where you don't have an appreciation or an understanding of something and understanding that there are people who do and being respectful of that expertise is something that I think this experience was certainly a strong reminder for me of where, both in terms of for the color things, like I think I talked in that color episode about the friend of mine who that's what she does, she's a sort of a textile color designer, that's what she does.

00:26:04   And it was really interesting and helpful for me to talk through someone with someone how this works and why they do it the way they do it and what that process looks like.

00:26:13   And that fills in some gaps for me and helps me to have a deeper respect of this. And it's in the same way too, like even like you're one of my experts with type design, like in this app, this update I also updated, I included a couple of new fonts, and it's like, I sort of get a lot of the choices and rules of fonts, but there are a few times where you reach it where like I was doing things with small caps,

00:26:33   that I just should not have been doing. And at the time I thought it looked cool. And in retrospect, you were absolutely right. And I was doing the wrong thing and going in a direction that I shouldn't. And it's like being humble enough to respect when someone with more expertise in something than you says, "Hey, maybe go in this other direction." To be like, "Okay, let me try that. Let me not get too stuck in my own way and be open to the fact that expertise comes with benefit."

00:26:57   And so I was like, "Hey, thank you for helping me through some of my font choices where I was going through some awkward..." It's like, you know, as with many things in fashion, I'm sure there's an awkward period and I was working my way through it. But also just I think in general...

00:27:10   My entire life is an awkward period.

00:27:28   Find someone who does, either personally or directly, or just seek that out in terms of there's a world of blog posts and articles and medium posts that I'm sure can walk you through any topic you want at least to improve your understanding or at least help you to know what questions to ask, even if you don't know what the answers are initially.

00:27:49   Yeah, definitely try to expose yourself to as much feedback in areas that you don't understand as possible. And also realize that this is not some magical thing that is not understandable.

00:28:02   If you want to develop these skills, you probably can, or at least you can get some headway there. Read some books, read some articles on the web about things like color theory and matching clothes and stuff like that. There are ways to learn this stuff.

00:28:20   Just because you... If you start from a place where you don't understand some major area of design or fashion or style or something, that doesn't mean you can't ever learn it. It just means right now you don't know it. But think about when you first learned how to program. It was pretty hard, you didn't understand most of it, but you did it for a while and then you learned it.

00:28:40   That's how that works. And so these things are learnable if you put in a little bit of effort.

00:28:47   Yeah, and the benefit is wonderful because I very rarely regret learning something new is the reality. That it becomes another tool in your toolbox, you never know when it's going to come in handy. And that's just one of those things that trying to...

00:29:00   ...being humble enough in your own self to be able to admit that you're an novice and want to learn is just a great starting point for anything.

00:29:09   Yeah, because everyone started from zero at some point and you can learn the same way everyone else did. Anyway, congratulations on the release. I hope it's received very well from everybody and I hope it does well for you. And yeah, what are you going to do now?

00:29:23   I don't know. I'm just trying to work out right now. It's like, what other thing that I've made in the past am I going to smush into Widgetsmith somehow? Maybe it's going to be calendars next. Stay tuned.

00:29:34   Yeah, maybe first take a weekend off. Sure, maybe I'll do that.

00:29:39   Thanks for listening everybody and we'll talk to you in two weeks. Bye.