¶ Intro / Opening
Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment. And I'm David Smith. Under the Radar is usually not longer than 30 minutes, so let's get started.
¶ Widgetsmith's Unexpected Five-Year Journey
So Widget Smith just celebrated a birthday. A big one. Yeah, it is now five years old, which is a bit of a wild thought. I mean this is I think just a reality of life as you get – Like time, it feels – the days are long and the years are short kind of a thing. Like it's wild to think that Witchesmith has now been a part of my life and a pretty significant major part of my life for five years, for a –
Toddler who's getting ready to go to elementary school kind of thing. It's a long time and a lot has changed in that time. Weirdly and somewhat interestingly, and I think the broad sort of focus I think that would be interesting to unpack this episode is – Some things didn't change in those five years. We talk of that, Under the Radar is a show about independent iOS app development.
And that is something that you and I have now been talking about for almost 10 years. And 10 years ago when we started Under the Radar, it was something we sort of had – it's the time. type of development that we prefer. It's a style and an approach and a philosophy that we are advocates of and enjoy and five years ago when widget smith had its moment you know like i actually just published a blog post about this that kind of walks through um
Widget Smith's sudden rise to popularity, which sort of the long story short, in case you weren't here five years ago, is that Widget Smith was launched alongside iOS 14. This was in the... September of 2020 when we were all kind of struggling through the pandemic and things since we're all at home. And it got – it sort of took advantage of stuff, work that I had done for –
building WatchSmith, which was a complication-oriented app for watchOS. And then when Apple added widgets, I was like, great, I'll just take WatchSmith and port it over to, you know, for the widgets on iOS. I didn't think too much of it. I expected it would have the same audience as Watchsmith, which I will say is small.
And Widget Smith, on the other hand, about two days after iOS 14 launched and I'd launched on day one, which was a whole – story in and of itself, because that was the year that Apple announced during the iPhone video that the iOS update was coming the following day, which was about the most... That was absolutely chaotic, the following 24 hours. But anyway, I got there out to day one. I was ready. I had Widger Smith out there and launched it and initially the –
reception was great, but very similar to Watchsmith. It was just, you know, a nice indie app that was doing nice indie app things. And then that following Friday, it started on TikTok. as best as I can tell, but people started making videos about using it to make very aesthetic home screens for their iPhones, which was...
a brand new thing. Apple had never allowed you to really do much beyond changing your wallpaper before. And so now they had these whole new options available and Widgetsmith was like right there. And it turned out... Rather than it being a small market, it was actually a massive market. And Widgetsmith took off, had tens of millions of downloads that first week, and was the number one app in the world for a couple of weeks thereafter.
¶ The Indie Dilemma: To Scale or Not?
Which is still a wild thing to say even five years on and having been part of my life for so long. But it was a big deal. It was a big thing. And at the time, I remember very distinctly, A, not knowing what – on earth what to do. Like there's nothing – there's no way you can – prepare yourself for something like this happening you just have to do your best like you are just suddenly you know you're just suddenly you know
Your boat is – rather than being calmly going down the river, suddenly you are in the rapids and all you can do is respond and react and hope for the best. And that was what I was doing. And in the back of my mind, I definitely had at that time these thoughts of like – Is this mean that I need to stop being an indie developer? Do I now need to change my company?
fundamentally and structurally and significantly in order to be a good steward and manager of this app. Because the scale that it's operating at is now something that is many orders of magnitude higher. than anything else I'd ever worked on, ever made before.
And so I had these conversations with people and I talked to them and it never really went anywhere. But I was like trying to understand, do I need to hire like an engineering manager who's going to hire two engineers and a designer? Do I need to hire a full-time customer support person? Do I need to?
Hire other people. What is going to happen as a result of this? And the long story short for that is in the end I decided, you know, I don't think I need to. I think I could have and I think that would have been –
And the app would have done – had a different path than it has had the last five years. But in the end, I decided that wasn't the life that I wanted to – to have like in many ways it's not that dissimilar in my mind to if I'd gone down that path it's somewhat similar to if I just like sold the app and just
sold it to some company who would have taken it over and done a thing with it. It wouldn't have been mine in the way that it is still. Like 100% of the code in Widgetsmith five years later is...
code that I've written. It is something that I've – it is mine in a way that – and there's a little bit of obviously like, I don't know, like pride and – sort of selfishness in that but like I like that I can say that it's mine that it isn't as much of you know the actual app itself is something that I made and
¶ Sustainable Indie Development: A Personal Choice
That's interesting. I think I wouldn't have necessarily been able to predict five years ago that it would have been possible. And it's not that I'm saying I'm the only person doing this. I've had people who helped me along the way. I've hired designers to do design work for me. I've had someone who helped me with help desk the whole time. More recently, I hired...
Stephen Hackett and Mike Hurley to do some work on the marketing and on the operationals and the help desk side. I have help for supporting features inside of the app, but the core part, the like... The indie iOS development part of it is something that I've been able to keep doing. And I think that's interesting. And I think I thought that was worth sort of pausing on and reflecting about because indie iOS development is...
is fun, is nice, is I really enjoy it. And while I don't think it's for everybody, and I don't think it's a path to success for many people in the sense of building a sustainable indie app development business is incredibly difficult and incredibly likely unfortunately in many ways in the modern app store that I think there is it's much more likely that indie app development is a hobby or a side hustle or something that is a compliment to another
consulting business or something like that. I think it is very difficult to make a sustainable living from it. But I do think that style is really nice and is really fun. And it's, you know, we've been able to talk about it for 10 years, I think partly because there are some really fun and interesting aspects about being involved in all the different parts that i'm not outsourcing and anything completely out of my day if i want to work on something i can work on it and i have to
be aware and responsible for lots of different things. And I'm someone who really enjoys that. I really enjoy the variety of my days that sometimes I'm working deep down. in the code, you know, fixing old Objective-C libraries and working in...
you know, really low level stuff. Sometimes I'm doing high level UI work. Sometimes I'm doing design. Sometimes I'm doing marketing work and every day is different and every day brings with it its own kind of challenges. And that's something that I've enjoyed. And in a weird way, I'm just glad to be able to report that five years on, I think that it's still possible. And it has trade-offs and things, but it's still possible. It's worked for me to have an app that has...
millions of users, but ultimately not be maintained and managed by this massive team that, you know, even though the size of the audience for the app increased by orders of magnitude, the size of the team did not. And I think... That's cool. That's interesting.
It's not a transferable lesson necessarily because I don't think there's that many other apps in the world who have been made by one person and then went out to that scale of people. Maybe there's some games that have done that that I can think of, but on the app side. pretty rare. And so it's not necessarily a universally applicable lesson, but it is a lesson or something interesting nevertheless. As indie app developers, it's something that I'm very proud of.
¶ Proactive Design for Scalable Apps
You should be. I mean what you have built is – it was not an accident. It was not a fluke. Like you built – you put in a lot of time over the years preceding it to build up a bunch of skills. You made something that a lot of people wanted and took and had value in and it succeeded like that. That's a pretty great, straightforward story. And I think it is interesting to think about like. The aspects of Widgetsmith that made it so that you weren't required to hire a big team as the users went up.
That's something that you can see in different apps. And I've faced a lot of this myself as I've tried to figure out on a much smaller scale, how do I remove the need for my app to require a big staff? or to require a lot more ongoing effort as the number of users goes up in some way. And for most apps, you can look at various factors. If my app suddenly had...
100 times the user count that it has now, what would overflow? Basically, either on the technical side, on the support side, just otherwise, how... If I have 10x or 100x the users, what would need to change about how things are run now? And you can look at things like, obviously, the number one thing that scales up is the support load, I think, for most apps.
If you start getting 10 or 100 times the feedback or support requests that you get now, what do you do about that? Now, the good thing is, as you mentioned, support is if you have to outsource something as an indie developer. Support is one of the more straightforward ones to outsource. It is one of the more scalable things to do there. Obviously, it doesn't scale up infinitely. It's not a perfect scaling thing, but it is more scalable than many other factors.
But also on the tech side, if you're making something where you are having to scale servers, for instance, server-side support is... a very different beast. If you are syncing data to your servers or doing server-based work... That is one of the harder things to scale in a lot of ways, depending on what you're doing. But if you all of a sudden have 100 times the user count and you're maintaining some databases somewhere for your users, that's going to be...
quite a thing to deal with. And that might require staff. And then once you're running a bunch of services or servers, it's like, okay, well, how do you deal with that? Obviously, there's the cost side of things. If you have 100 times the users, Are your costs going to go up 100 times in some factor? Whether you're paying for some AWS resource, are you going to all of a sudden have 100 times the cost? Will you be able to pay for that with the money that these 100 users will bring in?
And again, in this case, it seems like you've made some very smart decisions around how you deal with server-side resources and dynamic resources such that that's not a problem for you either. I think that was a very intentional choice that I made with a lot of these things. And I think it's interesting. I think it's a good – maybe a checkpoint or a learning for people to have when you're building – anytime you build something like –
It's easy in some ways to only think about the expected case. But in many ways, it's like thinking about what happens if it's 100 times. bigger than i expect it to be um and because it's sometimes it's like sometimes you know we think about The biggest problem being if something fails, you know, that if you put an app out and no one downloads it. And it's like, well, it's like the floor of that is zero, but the ceiling can be much higher and much more complicated.
can bring with it a much higher challenge and is something that you may need to scale and deal with quickly. And so it is definitely something that I think is worth thinking about whenever you build anything. It's like, would the scale to... A hundred times the number of people who I think are likely to use it. And if it doesn't, like be very careful and be very aware because it is something that I try very intentionally and very –
¶ Strategic Decisions: Saying No to Scale
consciously about to avoid things that wouldn't scale. And then some of that scaling is also even just from a understanding that you're potentially saying no to opportunities or options. Because they wouldn't scale or wouldn't stand up to the high degree of scrutiny that something being successful would have in a way that is – It's difficult. Like there are things, certain types of popular widgets that I just don't do because – like a classic one is people who have widgets where –
So there's two widgets. You have one on my – I have one on my phone. Someone else has one on their phone. And I can put a picture into their widget essentially. So it's a way for like a couple could be sending each other pictures. Now – The nature of that is something that involves moving personal data and potentially very personal data between two places. And anytime you do that...
you're taking on a massive burden and a massive sort of obligation as a result. And so like, I just don't go near those. Those are opportunities that I just say no to. Or similarly, like if I'm... doing any kind of data thing. I don't do things that require servers to dynamically respond and generate data for customers. Everything is static. Everything is pre-baked and be able to put onto a CDN.
and let Cloudflare deal with that. And that's worked really well. Like I'd recently launched in Widgetsmith a wallpaper feature where people can, you know, I have a bunch of wallpapers that I'm licensing from artists and places to, you know, the people can download inside the app.
All of them are just on the server or on a CDN, and they're being served by Cloudflare. And it really doesn't matter if 10 people download it, 10,000 people download it, 100,000 or a million people download a particular file.
It doesn't really scale, and my costs don't scale because of the way that Cloudflare works. And I think that is a philosophy that has served me well in a lot of ways. And I think there's some shortcuts that I could have taken or things that I could have done that if I had not...
If I'd not had this philosophy, but I think I've benefited from having that very conservative, very thoughtful approach that like if it's if I'm doing something that doesn't scale to lots of people or would carry with it complexity and challenges that would require.
institutional change that I would need to have. Anytime you start dealing with user-generated content, suddenly you need moderation and you need all kinds of other things and you're becoming liable for other stuff that you start potentially needing to hire people to deal with. or exposing yourself to a lot of time and energy that someone...
Like someone's job might then become compliance, this big scary word of just like making sure that if you have user-generated content and someone puts something in somewhere that is problematic in some way, like you have to deal with that. It's like, or the approach that I take is I just don't. I don't store anything. Like none of my systems involve any data storage of any personal data from anybody at all.
Like that is something we talked a few episodes ago about analytics and it's like, I don't store anything. Like there's no, I have no nothing about my users in a direct and concrete way other than the people who email me, which. At some point, obviously, I know him from whatever they've emailed me about. But that is just a strategic and structural choice that I've chosen to make. I don't have user accounts. I don't have all these things because they would –
Bring with them scaling challenges that, you know, in many cases, I don't think if I built a system that, you know, would have been able to deal with it. Like years ago, I launched an RSS syncing service called Feed Wrangler.
This was – oh, gosh. This is – I was talking about a long time ago. It's probably 10 years ago that I launched Feed Wrangler, 10, 15. I don't know. Yeah, it was in the wake of the Google Reader shutdown when all of a sudden everyone is like, oh, crap. We need other services to do this. Yeah, and like I made one. Before I was an iOS developer, I was a web developer. I do not think Feed Wrangler would have stood up to 100 times the number of users.
that it ultimately had and i know that because even at the relatively small level of usership that it had but it had some success I struggled to keep it up and to keep things responsive and had outages and all kinds of problems and things because that was a structural problem in some ways that I built for myself where I had a system that –
made scaling difficult and like scaling is a whole industry and art to itself and i'm sure there are people listening to this who are like systems engineers who that is their specialty is like working out how to shard databases and doing all this kind of stuff and it's like or
You can just not. If that's an opportunity that would require those kinds of skills, I've just chosen over the last five years to say no to that. And I feel good about that because it's allowed me to... keep this business and this structure that I really enjoy, but I'm conscious and very aware that that is a thing that you have to be able to say no to if you want to say yes to staying sort of small and indie.
¶ Resisting Pressure: Indie Business Autonomy
We are brought to you this episode by SQL Pro Studio. If you work with SQL slash SQL, you know the value of a fast, clean, and reliable database client. SQL Pro Studio is an independently developed, powerful database manager built for developers Thank you.
production issues, SQL Pro makes it smooth and efficient. You have things like TAD connections, customizable themes, and syntax highlighting so everything feels like it should, and you can easily filter results or export data with just a couple of clicks. 100% native and it's available for macOS and iOS with full sync between platforms so you can take your queries on the go. If you want a database client that respects your time and helps you stay productive, head to sqlprostudio.com and use code
Relay30 for 30% off. That's sqlprostudio.com with code Relay30 for 30% off. Our thanks to SQL Pro for their support of this show and all of Relay. One of the themes of what you're saying here, of what has enabled Widgetsmith to scale and for you on the business side to almost not scale at all or to scale very little, is a lot of saying no. A lot of, you know, recognizing like...
The user-generated content example is a great one. I've talked about this before with Overcast. I intentionally have not created any way in Overcast for users to write... text or post images that would be visible to other users. Because then you have user-to-user communication, then you have things like harassment, illegal content being posted, takedowns, all sorts of stuff that you have to deal with. And you look at the problem set of a podcast app. It's like I can do 95% of what people want.
Without incurring some of those giant burdens that would require a staff to moderate and things over time. One of the areas that I can't do is if I did have 100x user growth all of a sudden overnight.
My servers would collapse. I don't have the headroom for that in my servers and I would have to – and it wouldn't be just a matter of like, oh, I just start paying more. Certain things would have to be re-architected, things like database spreading and stuff like that. It would be – a significant technical challenge but you know the good thing is the podcast app market doesn't move that quickly so i'll be fine um but
By saying no to some of those big wildcard, those big warning features like user-generated content or even on the content production side, if your app – I had this problem with the magazine. If your app – That produces content as a key part of the app. You need to produce content every day or every week or every month or whatever. That can also be a big burden you have to deal with over time. But at least the need for that doesn't grow with the number of users you have.
And so you can look at your business and you can say like I the decisions you make for the business, what to do with the product, what not to do are very, very important because it's obvious like if you. In many cases, it's like, oh, I can do some high percentage of what you want with zero of the effort. But if I add this one thing or change this one thing about it, it's going to skyrocket the effort needed. And in some ways...
This I feel like we don't as in like American business culture in so many ways. Things are prescribed to you like, well, this is just what you do. After you reach this threshold, then this is the obvious next step. Oh, you have a popular app? You got to go raise some money and really blow it out of the water. Or you got to hire a big staff. You got to start doing email marketing.
All the different things that you, quote, have to do. And one of the things that I respect a lot about you is that you are not fooled by those things. That you have a really good eye to say, like... Do I have to do that? What if I don't do that? What if I instead do this other thing that I want to do that makes more sense? And a lot of people, myself included,
We get easily swayed by the cultural pressures of what everyone says, like, this is what you have to do. This is what a business looks like. This is what the next step is for a business that looks like this. That's just... And that's other people's opinions most of the time. A lot of times it's people who want to sell you things or who want a piece of your business. So they obviously have slanted motives a lot of times. But we have the ability to say no.
¶ The Philosophy of 'Enough' in Business
And to say, actually, that's not how I want to run my business. And to choose a different path. And a lot of times that's going to disappoint people out there in the world because they're going to want you to do things either in a way that benefits them or that they can have a piece of or just the way that they did things.
And so they want to say like, well, this is obviously the next step because this is what everyone does. This is what I did. But you don't have to do it. Like one of the great things about it being your business is that. As long as you're staying in business and you're satisfying your own needs and goals, you can generally do things the way you want to. And if there's certain...
opportunities that other people say you need to take and you just don't want to, you don't have to. If there's certain costs that other people say you have to go into this area even though it will have these costs and you don't want those costs, you can just not go into that area. And it's fine. And I think a huge part of indie scalability has always been. Figuring out what to say no to and what areas not to address, what costs and burdens not to take on, even if it might –
By somebody else's definition of success, even if it might cost you some version of that, or it might not get you as big as you could potentially be. If you can make 75% of the money as the maximum possible... With 20% of the effort, many indies do and obviously can choose that path. And it seems like you are in particular a master of that kind of logic.
being able to look at what everyone says, like this is the obvious next step and just saying like, I don't want to do that. So I'm not going to, let's see what happens. And it works out pretty well for you. Yeah, right. Maybe another way of saying that, and this is getting a little bit, maybe we can end with a little bit of philosophy, but it's the sense of like...
I think one of the more fundamental things in life, and this applies in business or just in so many parts of our life, is sort of being able to have a good definition for enough. And like... What is enough for someone? When are you satisfied? When are you content? When does something feel like enough to you? And that applies in all kinds of areas in life. It's like, why do I eat more food than I actually want to? I should have just stopped when I actually had enough food to eat.
eat that meal. Otherwise, I'm going to stand up and feel like I'm sick. I think there's an element in business that so much of it is structured around a philosophy that there is no enough. It is always about more. There is no enough. It is only ever more. I understand in some ways that philosophy for a publicly traded big company who like in some ways is structured around the idea that it is about maximizing profit and it is about maximizing.
growth or if you're a venture-funded company and that is functionally what – the idea is I'm going to make a – take whatever, $10 million, put it into this thing and at some point I'm going to get back a billion dollars. Like that – is all about growth and about if that's turning that $10 million into $20 million would be a failure or a disappointment in that context.
That is a challenging philosophy to deal with. And I think in my case, and you're very generous in the way that you described me, but I don't – it's like I'm not doing this perfectly. But it is definitely something that I think I'm – have been able to navigate with Widgetsmith in particular, that understanding that if I want to optimize for, I mean, like functionally, I'm making a business because I want to support my family.
And support your family can mean a lot of things. And making more money beyond a certain point will not support my family anymore, will not support my ability to be... An active, engaged part of their life will not set a good example for my children. Like there's lots of things that would stop serving my family and that fundamental goal.
Because if you can frame your business, your work, your career around something that is tangible in that way, like you're able to much better define enough for yourself because you're trying to serve something. Bigger and more concrete. And so like in my case, I'm confident that Widget Smith could have made more money in the last five years than it did. If I had made a whole bunch of choices and pursued a whole bunch of things and spent a whole bunch more money.
Like, I'm pretty confident that would happen. But I'm perfectly content and happy that I didn't have that. because I made choices that meant that it's done very well. Like, don't get me wrong. I mean, it sort of has been a tremendous blessing, and I feel very grateful to it in my life.
It's a choice that I made that it's okay for it not to be always growing, for it to be something that gives me more than enough income and allows me incredible amounts of flexibility and abilities to be around for things that I want to do.
pursue projects and things that i enjoy doing and that has been enough for me and i think that is in some ways the thing that i am most delighted about to be able to report five years later that like That is possible, that it is possible to have a situation like this occur and to stay in Indy because you decide that the Indy life is enough for you, that you don't have to turn into a corporate.
thing that's trying to you know scale up and get bigger and every time it's 10xing itself and all these things like it's like no it can just grow Or it can grow to a place that's stable and nice and comfortable and allow you to do the things that you want to do. And in my case, I'm very grateful that that's where it's landed for me years on.
Who knows if Widget Smith will be around in another five years, but I hope it will be. And I hope it will be in some ways because I'm making lots of small, sustainable choices that... aren't trying to just light it on fire and see how far the rocket can go. It's like, no, no, we're just going to keep incrementally making it better and better and hope that means it'll stay around and, you know, keep being enough for me. Well, congratulations on five years.
It couldn't have happened to a better person. You really have inspired a lot of indies out there, myself included. You've earned all your success, and we're very happy for you. Here's hoping for the next five. Thanks. Thanks for listening, everybody. And we'll talk to you in two weeks. Bye.
